Hola,
Estos días está teniendo lugar en Berlín el 25C3, 25 Chaos Communication Congress. En él se están presentando interesantes ponencias en temas relacionados con la seguridad.
En concreto, hoy se ha presentado MD5 considered harmful today, Creating a rogue CA Certificate, un PoC en el que describen cómo aprovechar las colisiones MD5, para generar un certificado válido y realizar ataques de suplantación de identidad, afectando directamente a las redes de confianza, concepto en el que se basa la Public Key Infrastructure (PKI), y sobre el que se consolida gran parte de Internet.
Los investigadores en cuestión son Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger.
El problema de fondo es que existan CAs que continúen usando MD5 para sus firmas, aún cuando MD5 se sabe que está roto desde 2004, en relación a la posibilidad de encontrar colisiones y ya en 2007 se presentó un paper teórico de como atacar a una CA basado en estas premisas.
Ha tenido que ser en 2008, con la ayuda de un CPD de 200 PS3 equivalente a 8000 CPUs estándar o $20k de tiempo en amazon EC2, cuando un equipo de investigadores de seguridad informática ha demostrado como explotar esta técnica en la práctica para afectar al protocolo HTTPS, (si, el candadito que sale en la parte inferior derecha del navegador), y en realidad cualquier protocolo que use SSL . Pero la pregunta es, quien sigue usando MD5 a día de hoy para cosas serias? y la triste respuesta es que muchos sistemas…, de los 30k certificados que cogieron para realizar el ataque, 9k estaban firmados con md5, a rapidssl.com se le ha atribuido el 97% de ellos.
Para saber si el sitio que visitamos puede correr peligro de ser suplantado y por lo tanto permitiría ataques ‘man-in-the-middle’ sobre SSL, desde Firefox, podemos ir a “Herramientas” -> “Información de la página” -> “Seguridad” -> “Ver Certificado” -> “Detalles” -> “Algoritmo de firma del certificado”. Si veis algo como “PKCS #1 SHA-1 con cifrado RSA” estais a salvo, sin embargo si aparece “MD5” entonce ese sitio es vulnerable.
Este tipo de ataques podrían conducir a ataques de phising “perfectos” o indetectables, con certificados SSL válidos o bien se podrían combinar junto con el fallo descubierto por Dan Kaminsky hace unos meses sobre DNS Poisoning, por lo que serían totalmente eficaces y de muy dificil detección, debido a que la victima no podría darse cuenta que el sitio está siendo suplantado. Este tipo de vulnerabilidades podría llegar a afectar o “salpicar” a la banca o comercio online, ya que son el tipo de tecnologías que usan como medida de seguridad para el protocolo de datos entre el cliente y el servidor, es un tema bastante serio.
La solución pasa porque ningún CA firme con MD5, y sólo se utilice SHA1 o algoritmos más seguros (SHA-2 todavia está en desarrollo y no está totalmente soportado), al mismo tiempo los navegadores tienen que actualizar sus blacklist para revocar esos certificados, mozilla y microsoft se han pronunciado, más abajo os dejo los enlaces.
Enlaces:
Información detallada
Más información técnica
Presentación en el congreso
Sitio de demo (poner la hora del sistema anterior a Agosto 2004 antes de hacer click
Certificados:
Certificado real
Certificado modificado
Respuesta de Mozilla/Microsoft:
Mozilla
Referencias:
ISC SANS: MD5 Considered harmful today – Creating a rogue CA certificate
ISC SANS: MD5 SSL Summary