EFF ha abogado por mucho tiempo que los sitios Web deberían soportar HTTPS en vez del plano HTTP para encriptar y autenticar los datos transmitidos sobre Internet. Sin embargo, aprendimos el pasado 7 de abril sobre un catastrófico error. Apodado “Heartbleed”, que tiene críticamente amenazada la seguridad de algunos sitios con HTTPS desde 2011. Según las estimaciones, Heartbleed afecta a 2 de cada 3 servidores Web en la Internet.1
Heartbleed no es como tal un error en el diseño de HTTPS. Sino más que todo el resultado de un error simple de programación en una pieza de software ampliamente usada llamada OpenSSL.
Este permite a un atacante quien se conecte a un servidor HTTPS que esté corriendo una versión vulnerable de OpenSSL. Acceder al espacio de memoria privada de 64 KB del servidor.
Atacando una vez puede fácilmente causar que el servidor filtre cookies, emails, y contraseñas. Atacando repetidamente puede filtrar potencialmente las claves de encriptación enteras, como por ejemplo las claves privadas SSL usadas para proteger el tráfico HTTPS.
Si unos atacantes tienen acceso a un las claves privadas SSL de un sitio Web, pueden utilizar una versión falsa del sitio Web. Los que les permite robar cualquier información que el usuario envie, incluyendo contraseñas, mensajes privados, y números de tarjetas de crédito. Ningún usuario o sitio Web puede detectar que este ataque ha ocurrido.
Vale la pena enfatizar que algunos servicios importantes que los usuarios acceden todos los días fueron afectados por Heartbleed, incluyendo Yahoo Mail y LastPass.
No fuimos inmunes tampoco, ya que muchos servidores de la EFF estaban ejecutando versiones vulnerables de OpenSSL. Incluso las claves de identidad privadas usadas por los servicios ocultos de Tor podrían haber sido comprometidas. Potencialmente colocando a algunas organizaciones de comunicación de periodistas con fuentes anónimas en riesgo.
Afortunadamente, hay una importante mitigación que podría actualmente proteger a algunos usuarios en el escenario en el peor de los casos: Perfect Forward Secrecy.
Si un servidor fue configurado para soportar Forward Secrecy, entonces un compromiso de su clave privada no puede ser utilizado para desencriptar comunicaciones privadas.
En otras palabras, si alguien filtra o roba una copia de la clave privada de la EFF el día de hoy. Cualquier tráfico enviado al sitio Web de la EFF en el pasado está todavía seguro. Ya que la EFF comenzó a soportar Forward Secrecy.
Desafortunadamente, muchos sitios Web con HTTPS todavía no soportan Forward Secrecy. Lo cual significa que una gran cantidad de sus comunicaciones pasadas con aquellos servidores son vulnerables a la desencripción. Especialmente cuando las claves privadas SSL están comprometidas.
Por ejemplo si algunas personas durante los años pasados, hubiesen estado interceptando sus mensajes (encriptados con HTTPS) hacia y desde los servidores de Yahoo. Y luego ayer robasen una copia de las claves privadas de Yahoo.
Entonces ellos hoy podrían buscar sus mensajes anteriormente inintelegibles y desencriptarlos y leer sus viejas comunicaciones. Si esas comunicaciones no fueron hechas usando una comunicación que tuviese habilitado Forward Secrecy.
En este momento, Forward Secrecy es más crucial que antes. Ahora que los detalles de Heartbleed son públicos. Cualquier persona puede usarlas contra los servidores que no han parchado aún el error del OpenSSL y cambiado sus certificados SSL2.
Podría fácilmente tomar semanas o meses para los desarrolladores desplegar nuevos certificados SSL. E incluso, para los sistemas de revocación de certificados que son poco confiables y pobremente utilizables en la Web moderna.
Mientras tanto, cualquier información que envie ahora a los servidores afectados que no soportan Forward Secrecy estará abierta al espionaje. Y a las maliciosas falsificaciones que a las que pronto sus claves privadas SSL están expuestas.
En las secuelas de los eventos del 7 de abril, es claro que Forward Secrecy es necesario para protegerse contra las inpredecibibles amenazas a las claves privadas SSL.
Si esta amenaza es un existente o error futuro, un intruso que robe la clave, una agencia secreta del gobierno demandando el habilitar la vigilancia, o un nuevo avance criptográfico. La belleza de Forward Secrecy es que la privacidad de las sesiones de hoy no depende de mantener en secreto la información mañana3.
Aunque hemos parchado este error en los servidores de la EFF y estamos cambiando los parámetros para rotar nuestra claves tan rápido como sea posible. Nosotros estamos tranquilos que el potencial daño de Heartbleed en nuestros servidores es bajo debido a que habilitamos Forward Secrecy el pasado verano. Es claramente el momento para que otros sitios Web lo hagan también.
PD: Afortunadamente, la integridad de las descargas de HTTPS Everywhere para Firefox y Chrome no están comprometidas por Heartbleed.
Esto es porque, además que las descargas del servidor estaban sobre SSL/TLS, firmamos las actualizaciones de HTTPS Everywhere con una clave fuera de línea. Esto para garantizar la autenticidad incluso si el nivel de seguridad de la capa de transporte está roto.
Puede usar estas instrucciones para chequear que su copia de HTTPS Everywhere tiene la clave correcta de actualización. Teniendo en cuenta a Heartbleed, nos alegra que Chrome Web Store permita que los desarrolladores de la extensiones poder incluir sus propios códigos para firmas las claves. En el caso que los certificados SSL de Google estén comprometidos. Hasta que la Mozilla Addons Store hago lo mismo, planeamos mantener alojado al HTTPS Everywhere para Firefox en nuestros propios servidores.
1 Dada la severidad de este error urgimos a los operadores que estén usando las versiones 1.0.1-1.0.1f de OpenSSL para que actualicen inmediatamente a OpenSSL 1.0.1g. O recompilen OpenSSL con la bandera -DOPENSSL_NO_HEARTBEATS. Además, cualquier servidor afectado debería obtener un nuevo certificado SSL y rotar cualquier clave que pudiese haber sido filtrada de la memoria después de actualizar. Por favor recuerden reiniciar sus balanceadores de carga despues de actualizar.
2 Qualys SSL Labs tiene una excelente herramienta en línea para chequear si su sitio Web es actualmente vulnerable a los ataques de Heartbleed. La sección “Protocol Details” en los resultados también muestra el soporte para Forward Secrecy.
3 Esto es asumiendo que un atacante no está ejecutando un ataque man-in-the-middle durante la validación de la transacción SSL. Sin embargo, esta amenaza probablemente será mitigada en el futuro por esfuerzos como Certificate Transparency.
Traducción no oficial del artículo tomado de la EFF: https://www.eff.org/deeplinks/2014/04/why-web-needs-perfect-forward-secrecy
Imagen tomada de: https://www.eff.org/files/2014/04/09/heartbleed-01-sm.jpg