¿Es MD5 tan peligroso en PKI como dicen?

¿Conoces algún enlace que quieres compartir con todos?

Moderador: Moderadores

¿Es MD5 tan peligroso en PKI como dicen?

Notapor Sor_Zitroën » Lun Ene 05, 2009 11:13 am

Supongo que ya todos os habreis enterado del uso de las conocidas colisiones MD5 en las PKI. Hay gente que ha comentado que existía un gran peligro, que los certificados ya no eran seguros y más comentarios alarmistas por el estilo, y otros han defendido que el impacto real es relativamente pequeño por el poco uso de MD5 en los certificados.

De la mano de Security By Default, Jesús Yago ha programado una herramienta para comprobar el peligro en los certificados raíz de Windows. Yo no lo puedo probar porque no tengo un Windows a tiro, si alguien lo pudiera hacer y comentar los resultados con los demás creo que sería un punto.


Un saludo!
[Padre] ¿Crees en el fracaso?
[Hijo] Sí
[Padre] Entonces lo experimentarás
Avatar de Usuario
Sor_Zitroën
-<|:·þ
-<|:·þ
 
Mensajes: 2064
Registrado: Vie Nov 25, 2005 2:01 am

Notapor Kit99a » Lun Ene 05, 2009 6:30 pm

Hola,

He bajado y probado la herrameinta, que se llama md5out.exe, y me ha identificado más de 40 certificados que utilizen md5.

Bueno, lo que hace realmente es mostrar información sobre los firmantes de los certificados. Lo siguiente es un pequeño ejemplo de los resultados:

C:\>md5out

[**] MD5 Hash detected in:
CN=Microsoft Root Authority, OU=Microsoft Corporation, OU=Copyright (c) 1997 Mic
rosoft Corp.

[**] MD5 Hash detected in:
CN=Microsoft Authenticode(tm) Root Authority, O=MSFT, C=US

[**] MD5 Hash detected in:
OU=Copyright (c) 1997 Microsoft Corp., OU=Microsoft Time Stamping Service Root,
OU=Microsoft Corporation, O=Microsoft Trust Network

[**] MD5 Hash detected in:
OU="NO LIABILITY ACCEPTED, (c)97 VeriSign, Inc.", OU=VeriSign Time Stamping Serv
ice Root, OU="VeriSign, Inc.", O=VeriSign Trust Network

[**] MD5 Hash detected in:
O=C&W HKT SecureNet CA SGC Root, C=hk

[**] MD5 Hash detected in:
CN=Certiposte Classe A Personne, O=Certiposte, C=FR

[**] MD5 Hash detected in:
E=feste@feste.org, CN="FESTE, Verified Certs", O=Fundacion FESTE, L=Barcelona, S
=Barcelona, C=ES

[**] MD5 Hash detected in:
CN=NetLock Expressz (Class C) Tanusitvanykiado, OU=Tanusitvanykiadok, O=NetLock
Halozatbiztonsagi Kft., L=Budapest, C=HU

[**] MD5 Hash detected in:
CN=GTE CyberTrust Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation,
C=US

etc...

Después tenia que mirar en el Internet Explorer bajo Opciones de Internet --> Contenido --> Certificados para ver los detalles de cada uno.

Un saludo.
Kit99a
:-D
:-D
 
Mensajes: 82
Registrado: Mar Ago 14, 2007 8:32 pm

Notapor TuXeD » Lun Ene 05, 2009 8:26 pm

Para mí la respuesta es fácil: no. :)

DISCLAIMER: Los datos técnicos que hay abajo se derivan de lo que yo he entendido del trabajo publicado. Aunque creo haber entendido bien las bases del ataque, puede que haya algo incorrecto. Si alguien detecta algún error (o si estoy completamente equivocado) que lo comente en el foro así todos entenderemos mejor lo que ha pasado.

En primer lugar, dejando de lado totalmente los aspectos técnicos, un par de frases con las que estoy 100% de acuerdo:

http://layer8.itsecuritygeek.com/layer8/why-the-md5-cert-hack-doesnt-matter/ escribió:What I’m here to say is, I don’t really think this matters all that much except to security researchers. Here’s why: normal users’ trust has very little to do with certificates.


Bruce Schneier escribió:This isn't a big deal. The research is great; it's good work, and I always like to see cryptanalytic attacks used to break real-world security systems. Making that jump is often much harder than cryptographers think.


Yendo ahora al apartado técnico, que es el que más nos interesa aquí... significa esto que se ha roto la PKI? Significa esto que cualquier certificado en el que se haya usado MD5 es falsificable?

Para entender por qué la respuesta (que es de nuevo no), hay que mirar cómo funciona el ataque:

  • Paso 1: Obtener un certificado válido, del que podamos predecir todos sus campos firmados, que use md5 como hash y en el que introducimos un bloque para provocar la colisión en el módulo RSA.
  • Paso 2: Generar un nuevo certificado usando esa misma firma, de forma que el md5 de la parte a firmar sea el mismo que el original. Esto se consigue ayudados del bloque añadido al módulo RSA del certificado firmado de verdad y ayudándose de un campo de comentario en el certificado, en el que introducimos basura para conseguir la colisión.
  • Paso 3: Somos los reyes del phishing. Tenemos un certificado que dice que somos la web www.banesto.es (por decir algo) firmado por una CA de confianza.


Ahora bien, si no ha ocurrido ya (y no se ha detectado todavía), después de este aviso yo no creo que vaya a ocurrir.

Por qué? Porque los vendedores de certificados han sido avisados, y por ejemplo RapidSSL ya lo ha resuelto (el mismo día en que se publicó el trabajo en el CCC).

Y aunque fuera posible clonar certificados, a quién le importa malgastar tiempo y dinero haciendolo si los usuarios van a dar a Aceptar cuando les salga el cartelito de que el certificado no es de confianza?

En resumen, el problema no está en que haya certificados ahí afuera que usen MD5, sino en que siga habiendo CAs que firmen los certificados nuevos en MD5, y que todos los campos del certificado sean predecibles.

La mejor solución es obviar MD5 y pasarse a SHA-256 o algo similar. Hay que tener en cuenta que SHA1 sufre problemas similares a MD5 y aunque no está demostrado que sea posible, la gente que trabaja en el tema cree que no debería tardar mucho en aparecer problemas de ese estilo (Benne de Weger, coautor del trabajo, ya nos lo comentó en una de sus clases de Cryptography 2 a mitad del año pasado en Eindhoven).

Y por último, para obtener una visión completa del asunto, lo mejor es leerse el trabajo original si no se tienen problemas con el inglés: http://www.win.tue.nl/hashclash/rogue-ca/

Saludetes!
TuXeD
Wadalbertita
Wadalbertita
 
Mensajes: 1053
Registrado: Sab Ene 29, 2005 12:46 pm

Notapor Sor_Zitroën » Mar Ene 06, 2009 10:38 am

Estoy de acuerdo en que no es tan tan peligroso como se ha comentado en algunos sitios, pero sin ir más lejos muchos certificados usan hash tanto md5 como sha1, y no sólo md5.

Pienso que ahí se jode el juego sin ir más lejos, pero si estoy equivocado hacédmelo saber.


@Kit99a, gracias por probarlo ;)


EDIT: cuando dije que se usa tanto md5 como sha1 me refería a los fingerprints y no a las firmas. Los fingerprints es un cálculo que hace un navegador (Firefox en mi caso) al vuelo y no consta en el propio certificado; así que no aplica al caso.
Última edición por Sor_Zitroën el Mié Jun 24, 2009 7:34 pm, editado 1 vez en total
[Padre] ¿Crees en el fracaso?
[Hijo] Sí
[Padre] Entonces lo experimentarás
Avatar de Usuario
Sor_Zitroën
-<|:·þ
-<|:·þ
 
Mensajes: 2064
Registrado: Vie Nov 25, 2005 2:01 am

Notapor Sor_Zitroën » Lun Ene 12, 2009 11:21 am

Gracias de nuevo a Security By Default me entero de que existe SSL Blacklist. Es una extensión para Firefox que informa de certificados que utilicen MD5, o que hayan sido creados con la versión vulnerable de OpenSSL.

Dejo el enlace para gente que esté interesada en el tema.
[Padre] ¿Crees en el fracaso?
[Hijo] Sí
[Padre] Entonces lo experimentarás
Avatar de Usuario
Sor_Zitroën
-<|:·þ
-<|:·þ
 
Mensajes: 2064
Registrado: Vie Nov 25, 2005 2:01 am


Volver a La Biblioteca

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado