Firma de código con MD5 en Windows 8

5

Descubrí que un paquete de instalador firmado que es informado como firmado correctamente en Windows 7 y versiones anteriores, se informa como "dañado" en IE10 en Windows 8.

Investigaciones posteriores demostraron que la firma se realizó con MD5.

Si bien es completamente sensato que Microsoft elimine el soporte para MD5, no he podido encontrar ninguna referencia para este hecho.

Parece que también recuerdo haber visto un aviso acerca de que Microsoft eliminará la compatibilidad con MD5 en versiones anteriores pronto, pero tampoco he podido encontrarlo.

¿Tengo razón al pensar que MD5 no es compatible con Windows 8? ¿Alguien tiene una referencia para ello? ¿El soporte para MD5 también se eliminará en Windows 7 y versiones anteriores?

    
pregunta Rasmus Faber 20.09.2012 - 10:31
fuente

2 respuestas

5

En Windows 7, los requisitos para la firma de código fueron los siguientes:

  • Para las aplicaciones, se prefiere SHA1, se acepta MD5.
  • Para los controladores, se requiere SHA1.

En Windows 8, los requisitos cambiaron a lo siguiente:

  • Para las aplicaciones, se requiere SHA1, y SHA256 es opcional.
  • Para los controladores, se requiere SHA1 y SHA256 es opcional.
  • Para compatibilidad cruzada, Microsoft admite la firma dual, en la que la carga útil se firma con ambos SHA1 y SHA256. En Windows 7, se verificará el hash SHA1 antiguo. En Windows 8, se comprobará el hash SHA256.

No se sabe si esto es en respuesta a Flame, o simplemente una progresión estándar de la tecnología de seguridad.

El problema con la modificación de los requisitos en Windows 7 es doble. En primer lugar, hay decenas de miles de aplicaciones existentes firmadas con certificados basados en MD5. En segundo lugar, es mucho esfuerzo modificar el kernel, las utilidades de firma de código, Visual Studio, etc. para reflejar los nuevos requisitos. Sin embargo, Microsoft (supuestamente) ha tomado medidas para asegurarse de que ningún certificado interno de firma de código permita MD5 y haya revocado certificados ofensivos.

    
respondido por el Polynomial 20.09.2012 - 10:57
fuente
0

signtool.exe incluido en el SDK de Windows 8 se niega a crear firmas MD5. signtool sign /fd md5 dice:

  

Error de SignTool: el algoritmo especificado no se puede usar o no es válido.

Pero las firmas MD5 creadas por otros medios, como el venerable signcode.exe , siguen siendo válidas. Incluso Windows 10 después de la la eliminación de los certificados SHA-1 el 1/1/16 todavía acepta firmas MD5.

Este 47K ejecutable (que muestra un par de ojos que siguen el puntero del mouse) tiene un Firma MD5 basada en un certificado SHA-256 y con una marca de tiempo SHA-1 con fecha 1/18/2016. Windows XP SP3 a través de Windows 10 trata esto como un archivo debidamente firmado incluso cuando tiene la Marca de la Web.

    
respondido por el Jan Goyvaerts 18.01.2016 - 05:53
fuente

Lea otras preguntas en las etiquetas