La necesidad de seguir innovando en el SSL

Toda protección termina quebrantándose antes o después, por lo que es mejor que sigamos mejorando nuestras defensas en materia de seguridad.

La exitosa creación de una autoridad de certificación “cebo” por parte de un grupo de ingenieros de seguridad utilizando un ataque de colisión de certificados demuestra que si no avanzamos en lo que a estándares de seguridad se refiere, iremos hacia atrás.

sslcracked.jpg

Parece que últimamente vamos de un ridículo a otro en lo que se refiere a los certificados digitales empresariales. Primero, los procedimientos poco estrictos de un afiliado a Comodo terminaron con la venta de un certificado “mozilla.com” a alguien que no pertenecía al grupo. Ahora, se ha producido un error técnico más serio con la manera en la que algunos certificados se generan, aunque el verdadero problema sigue siendo humano.

Fue anunciado en el Congreso Chaos Computer de Berlín que tuvo lugar del 27 al 30 de diciembre: un ataque de colisión práctico en los hashes MD5, llamado ataque de colisión de certificados, permitió a un grupo de brillantes hackers crear un certificado de firma para una autoridad de certificación legítima.

Los navegadores web más populares y otras muchas aplicaciones se distribuyen con los certificados raíz de autoridades de certificación fiables, de tal forma que los navegadores puedan verificar que los certificados que se encuentran en los sitios web han sido, en realidad, emitidos por una de las autoridades de confianza. Con la creación de este certificado “cebo”, los ingenieros pudieron crear certificados que fueron verificados por los navegadores web como si hubiesen sido emitidos por la autoridad legítima de certificación, que, en este caso, era RapidSSL, autoridad de certificación de bajo coste propiedad de VeriSign. Los ingenieros mostraron lo suficiente para dejar claro lo que intentaban explicar, pero no tanto como para permitir que otros pudieran aprovechar los atajos.

El experimento es brillante y los ingenieros se desenvolvieron tan bien que fueron muy aplaudidos, incluso por parte de VeriSign, que reconoció los problemas con el ataque de colisión en los certificados y está actuando rápidamente para quitarlos de todos sus productos certificados. Todo cliente que tenga un certificado de este tipo puede conseguir uno nuevo de forma gratuita si se dirige a la compañía.

Antes de que pase a explicar lo que creo es la lección principal de esta anécdota, hablaré un poco de las funciones hash, el punto de mira de este ataque. Las funciones hash se utilizan para coger un bloque de datos, potencialmente grande, y crear un valor a partir de él con el que puedan realizarse otras operaciones. Una función hash siempre creará el mismo hash para el mismo bloque de datos, aunque en la práctica no se quiera revertir el proceso y crear el bloque de datos desde el hash. Y aunque es verdad que en algún lugar del mundo hay dos bloques de datos que crean el mismo hash, en la práctica no quieres encontrarlos.

Este último problema es lo que ocurrió con el ataque de colisión de certificados: los ingenieros utilizaron un cluster de 200 PlayStation 3 para encontrar un hash de colisión para el certificado de registro RapidSSL.

La función hash utilizada en este caso fue MD5, una función bastante vieja y que se sabe desde hace años que ha sido objeto de numerosos ataques de colisión. Otras autoridades de certificación que los ingenieros descubrieron que seguían utilizando hashes MD5 son FreeSSL, TC TrustCenter, RSA Data Security, Thawte y Verisign.co.jp. Se han ido introduciendo una serie de funciones mejoradas con los años, de ellas, la más famosa es la SHA-1.