Éramos pocos y… FREAK Attack, nueva vulnerabilidad SSL/TLS

Con ese nombre podría referirse perfectamente a un concurso cutre de televisión pero no, se trata de una nueva vulnerabilidad SSL/TLS, que viene sembrado ya desde el año pasado. La naturaleza de este problema se trata de una vulnerabilidad fruto del uso de suites de cifrado débiles que consecuentemente son fáciles de descifrar en un ataque de hombre en el medio (MitM, Man in the Middle).

¿Y por qué se permite actualmente el uso de cifrado débil que puede ser fácilmente descifrado? Para ello tenemos que hacer una retrospectiva a los años 90. Por aquel entonces y hasta 1999, las compañías en Estados Unidos tenían prohibido por ley exportar productos que pudieran utilizar cifrado fuerte. En cualquier caso, las suites de cifrado de las que se podía hacer uso (“export-grade encryption”) eran más que suficientes para la época… pero los tiempos cambian, la capacidad computacional ha crecido de forma exponencial y reventar esos algoritmos de cifrado que antaño protegían las comunicaciones hoy en día es mucho más fácil. La cuestión es que bien por motivos de retrocompatibilidad, falta de actualizaciones o sencillamente dejadez muchos dispositivos, aplicaciones y servidores siguen permitiendo a día de hoy el uso suites de cifrado débil. Un atacante que intercepte comunicaciones que admitan esas suites puede forzar al uso de las mismas (downgrade) y una vez que se estuviera utilizando el cifrado débil, le sería relativamente fácil descifrar las comunicaciones interceptadas en cuestión de unas horas.

Afortunadamente, en freakattack.com han puesto a nuestra disposición información sobre la vulnerabilidad, sitios web, software y dispositivos afectados así como diversas herramientas bastante útiles para determinar si nuestro navegador o servidor es vulnerable y recomendaciones generales de actuación al respecto. En concreto resaltaría el generador de reglas seguras SSL/TLS para Apache, Nginx y HAProxy que pone a nuestra diposición la Fundación Mozilla. Basta con que rellenemos algunos parámetros como el tipo de servidor web, versión del mismo y versión de OpenSSL. Por ejemplo, en el caso de un Apache 2.4 con OpenSSL 1.0.1e-fips con HSTS y configuración moderna:

Mozilla SSL Configuration Generator

Mozilla SSL Configuration Generator