Microsoft acaba de arreglar (a medias) un método que permitía alterar un
fichero firmado con Authenticode. Aunque el método fue descubierto en
2009, no ha sido hasta ahora, cuando se ha observado que ciertos
programas han comenzado a usar la fórmula, que ha introducido una
corrección (que todavía no se activa por defecto). Se trataba de
aprovechar un fallo de diseño de Authenticode. Veamos cómo funcionaba.
Varios métodos para cambiar la integridad sin alterar la firma
Existían varios métodos para alterar una imagen de un binario firmado
sin que el sistema se quejase de que la firma era incorrecta (de que se
había alterado su integridad). El parche MS12-024,
de abril de 2012, corrige algunos. Tiene el CVE-2012-015 y lo
descubrieron Robert Zacek e Igor Glucksmann, de Avast. No se había
observado en malware aún. Pero sí que existía un problema pendiente de
arreglar. El truco era muy sencillo.
Ya hemos hablado en varias ocasiones de Authenticode
en este blog. Fundamentalmente, cuando se firma un binario, se calcula
el hash de todo el flujo de datos del menos algunos pequeños huecos que
"se salta": La cabecera del fichero llamada "Security directory RVA"
(también llamada Certificate Table RVA) y el checksum del fichero
completo.
En 2009 se comprobó que era posible además añadir código al final de un ejecutable,
sin alterar la firma. Aunque publicaron herramientas para conseguirlo,
se demuestra manualmente de manera muy sencilla, con cualquier editor
hexadecimal. El truco consiste en que se puede añadir código más allá
del final del fichero y modificar las cabeceras correspondientes de
tamaño. La última parte del fichero (entre 1 y 4 kbs), cuando se firma,
corresponde a la estructura PKCS que contiene la firma en sí. En esta
estructura se encuentra el certificado y toda la información
criptográfica de la firma. Para engañar a Authenticode, se le puede
simplemente indicar al fichero en su cabecera que la estructura PKCS es
un poco más larga (cambiar el valor del tamaño) y que abarque la parte
añadida. Así de simple.
Contenido completo en fuente original ElevenPath
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario