Una mirada técnica (y curiosa) al sistema Authenticode (I)Sergio de los Santos 10 julio, 2013 Los robos de certificados para firmar ejecutables son muy habituales en los últimos años. Opera, Adobe… incluso la propia Microsoft han sufrido este problema. Certificar un ejecutable es importante para darle veracidad. Si además se consigue certificar robando la identidad a otro, la suplantación de identidad es casi perfecta. Authenticode es la tecnología de Microsoft que comprueba la validez de las firmas de los ficheros. Vamos a estudiarla un poco en profundidad, deteniéndonos en sus curiosidades. Authenticode es un método integrado en Windows para comprobar la firma de un ejecutable: su integridad y origen. Usa criptografía asimétrica y simétrica estándar, además de certificados. Los binarios son comprobados al vuelo en cuanto se ejecutan en cualquier Windows actual. En Vista además se introdujo un código de colores para dar visualmente una mejor impresión de quién firmaba los archivos y su confianza. Pero todo esto ya está muy visto. Veamos otras curiosidades. Esquema oficial de Authenticode sacado de sus especificaciones Utiliza SHA-1… pero no del todo Cuando se firma criptográficamente un flujo de datos, normalmente lo que se hace es calcular su hash y firmar el resultado, por simple cuestión de eficiencia. En Authenticode el hash utilizado es habitualmente SHA-1, aunque soporta todavía MD5. En las especificaciones se puede leer: «This algorithm [MD5] is supported only for backwards-compatibility requirements and should not be used to sign new content.« Pero nada de esto es totalmente cierto. Como veremos en la siguiente entrega, no es raro encontrar ficheros en los que se usa MD5 para firmar su contenido. También hay que aclarar que el SHA-1 calculado no se realiza sobre todos los bits del archivo original, sino que se omiten algunas partes en la cabecera porque luego, una vez firmado, cambiarán. Así que el hash original del fichero antes de la firma no es el hash firmado por Authenticode. Según la documentación oficial: «Hashing the PE Header, omitting the file’s checksum and the Certificate Table entry in Optional Header Data Directories.» Demostrarlo es fácil. Por ejemplo según la documentación el checksum de la cabecera de un archivo PE no se usa para calcular el hash que será firmado y comprobado por Autenticode. Si tomamos como ejemplo la última versión del ejecutable de Opera firmado, podemos modificar ese pequeño trozo de binario y seguirá siendo válido a ojos de Windows una vez ejecutado. Se puede realizar la prueba de forma sencilla. Sobre el fichero original, se modifica el checksum con cualquier programa que permita la modificación de cabeceras. El resultado no altera la firma Authenticode. Se modifica el valor del checksum en la cabecera con cualquier programa: La firma sigue siendo válida, puesto que se omite ese checksum al calcular el hash. Sin embargo (y evidentemente), cualquier cambio en el binario en sí (por ejemplo la cabecera DOS), hará que se invalide la firma. Ante cualquier cambio en el binario, lógicamente, la firma queda invalidada. En la siguiente parte veremos cómo calcular específicamente el hash SHA-1 «especial» y otras curiosidades. Una mirada técnica (y curiosa) al sistema Authenticode (II) Una mirada técnica (y curiosa) al sistema Authenticode (y III) El fallo en el proceso de validación de firma de Android, y el foco del miedoUna mirada técnica (y curiosa) al sistema Authenticode (II)
José Vicente Catalán Tú te vas de vacaciones, pero tu ciberseguridad no: 5 consejos para protegerte este verano Las vacaciones son una necesidad, está claro. Todo el mundo necesita relajarse, pasar tiempo de calidad con la familia y amigos, desconectar. Pero, irónicamente, para desconectar acabamos conectando (el...
Jennifer González Qué es la huella digital y por qué es importante conocerla para proteger a los menores en internet Como explicaba en mi anterior artículo sobre las cibervictimizaciones en los menores y el aumento que cada año se registra, hoy querría hablar sobre la importancia de concienciarnos sobre...
Telefónica Tech Boletín semanal de ciberseguridad, 16 — 22 de julio Lightning Framework: nuevo malware dirigido a entornos Linux El equipo de investigadores de Intezer ha publicado información relativa a un nuevo tipo de malware que afecta a entornos Linux y...
Telefónica Tech España necesita 83.000 profesionales en ciberseguridad en los próximos dos años Universidad Loyola y Telefónica Tech han puesto en marcha el nuevo Máster en Ciberseguridad para CISO
Roberto García Esteban Cloud computing: abierto por vacaciones Llegan las vacaciones de verano y con ellas el merecido descanso para casi todos nosotros. La actividad de la mayoría de las empresas se reduce drásticamente, aunque también hay...
Diego Samuel Espitia Qué son los “Martes de parches” de seguridad para tecnología operativa (OT) En el mundo de la ciberseguridad estamos acostumbrados a la publicación de paquetes que corrigen las vulnerabilidades detectadas en software para empresas, los conocidos como actualizaciones o «parches» de...