domingo, 30 de septiembre de 2012

¿Qué ha pasado con el certificado de Adobe?

Vuelve a darse un golpe a la confianza en la criptografía en general y a las PKI en particular. Se ha robado un certificado de Adobe y se ha utilizado para firmar código ajeno. En estos momentos, un programa firmado en los últimos meses por un certificado válido de Adobe, no ofrece garantías sobre su legitimidad.

El jefe de seguridad de Adobe reconoció el jueves que sus sistemas habían sido vulnerados y que, de alguna forma, habían conseguido firmar código ajeno con sus certificados. En la práctica, significa que recibieron varios ficheros.

El primero es PwDump7.exe. Es una evolución de los clásicos pwdump, programada por los conocidos hermanos Tarasco, y de la que particularmente hacemos uso en nuestras auditorías. Sirve para volcar los hashes LM o NTLM de Windows. Normalmente es detectada como malware o PUA (Potentially unwanted application) por los antivirus. A pesar de no pertenecer a Adobe, estaba firmada por ellos. Junto a este recibieron libeay32.dll, que necesita pwdump para funcionar y un tercero también firmado myGeeksmail.dll, que al contrario que el resto, no es una herramienta pública.


Aclarando conceptos

Por supuesto, no tiene por qué existir relación alguna entre los creadores de la herramienta (conocidos programadores e investigadores de seguridad) y el robo del certificado. En principio, la herramienta firmada parece que no ha sido alterada. Probablemente un tercero necesitaba que esta herramienta pasase desapercibida por los antivirus, y la firmó con el certificado de Adobe. De hecho, algo ha conseguido.


El resultado de la herramienta (sin firmar) en VirusTotal es de 34 positivos:

La misma herramienta firmada con Adobe, da 20 positivos:

Y es que a los antivirus les gustan los ficheros firmados... algo que deben empezar a replantearse. Resulta un poco extraño vulnerar una PKI de una gran compañía con el único objetivo de pasar desapercibido para algunos antivirus, puesto que existen otras maneras más sencillas... Pero aún es pronto para cualquier hipótesis.

Esta es la misma técnica que usó TheFlame al firmar con un certificado de Microsoft su código: pasó desapercibido años y consiguió el sueño de todo creador de malware... Pero lo usó para ataques mucho más sofisticados. Quizás en el futuro aparezcan otros ficheros de malware firmados por Adobe (aunque ya esté revocado el certificado). Quién sabe.

Tampoco significa que las herramientas de Adobe firmadas con este certificado que tenemos en nuestro sistema (que seguro tenemos, se puede usar esta herramienta para saberlo), se encuentren comprometidas. No se sabe desde cuándo ha podido estar comprometido el certificado y un potencial atacante ha podido firmar código propio de Adobe con diferentes intenciones... pero lo más probable es que las herramientas firmadas y descargadas desde el sitio oficial de Adobe, sean perfectamente válidas aunque se encuentren firmadas con un certificado que ha sido robado. Lo que sí se sabe es que el pwdump7 fue firmado el 27 de julio de 2012 con lo que, al menos, desde entonces el atacante ha podido firmar cualquier cosa. Si hubiera conseguido además distribuir código de Adobe desde sus canales habituales se hubiera producido una catástrofe. Pero parece que no es el caso y que la alarma no debe ir mucho más allá. El problema real ha sido pues para Adobe, el varapalo a su credibilidad en cuestión de seguridad (que nunca ha sido excesiva) y la tarea de encontrar ahora el cómo y el cuándo han entrado en sus redes.

No se tienen demasiados detalles de cómo ha ocurrido. Por supuesto, Adobe aduce que se trata de un ataque de altísimo nivel y con un objetivo muy claro. También, que su PKI cumplía todos los requisitos de seguridad.

Qué pasa ahora

Dos cosas: Primero es necesario actualizar las herramientas de Adobe. Estas serán las mismas o una versión posterior pero firmadas por otro certificado.

Segundo, Adobe ha pedido a Microsoft que revoque el certificado. De nuevo, se añadirá uno o varios certificados robados al sistema de desconfianza. Sería la quinta revocación masiva de certificados en 11 años. Cuatro de ellas en los últimos dos. Esto da una idea de cuánto se ha movido últimamente el asunto de los ataques a certificados. Por supuesto, el referente ha sido TheFlame, que consiguió robar un certificado de Microsoft con métodos sorprendentes. Con Adobe parece que el robo ha sido más "mundano".

Para los usuarios que deseen mover ya el certificado al repositorio de no confiables antes incluso de que se produzca la revocación, deben saber que por defecto no detendrá la ejecución de un hipotético código firmado por atacantes.


Aunque Adobe no especifica por qué, no funcionará con solo marcar el certificado como no confiable. Es necesario realizar un cambio en el sistema. En concreto, activar authenticodeenabled con el valor 1 en la rama:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifier

Una vez realizado este cambio, sí que se bloquearán las herramientas con él firmadas.


Pero no se recomienda porque según Adobe, sí que podría tener algún efecto negativo sobre el código legítimo del usuario (el funcionamiento de sus programas reales). Muy probablemente, a lo que se refiere es a que supondría un problema para el proceso de actualización. El certificado se bloqueará el día 4 de octubre y tiene el número de serie 15e5ac0a487063718e39da52301a0488.

Más información:

Inappropriate Use of Adobe Code Signing Certificate

Security Advisory: Upcoming Revocation of Adobe code signing certificate

Searching For That Adobe Cert





Sergio de los Santos
Twitter: @ssantosv

No hay comentarios:

Publicar un comentario en la entrada