Google cuenta con una herramienta que puede usarse para evaluar si las conexiones cifradas SSL/TLS abiertas por aplicaciones o dispositivos son vulnerables a ataques tipo ‘hombre en el medio’.
Un ataque tipo ‘hombre en el medio’ -MitM, por sus siglas en inglés- se refiere a una situación en donde un atacante se encuentra en una posición para interceptar y manipular el tráfico entre un cliente y un servidor. Es el tipo de amenaza contra el que los protocolos SSL (Secure Sockets Layer) y TLS (Transport Layer Security) nos deben defender.
Sin embargo, en la práctica las conexiones cifradas SSL/TLS pueden usualmente ser vulnerables contra este tipo de ataque debido a la mala configuración del cliente o vulnerabilidades no parchadas en las librerías que son usadas por los desarrolladores de software para implementar esos protocolos en sus aplicaciones.
“La mayoría de las plataformas y dispositivos tienen defaults de seguridad, pero algunas aplicaciones y librerías ignoran los defaults, y en algunos casos hemos visto plataformas que también comenten errores”, sostuvo Chad Brubaker, ingeniero de seguridad de Android en Google, en una entrada de blog. “A medida que las aplicaciones se hacen más complejas, se conectan a más servicios y usan más librerías de terceros, se hace más fácil introducir este tipo de errores”.
La herramienta creada y lanzada por Google se llama nogotofail y ha sido utilizada de forma interna por los ingenieros de la compañía para encontrar errores de implementación SSL/TLS en aplicaciones por ya un cierto tiempo. Fue lanzada en GitHub el martes como proyecto de código abierto.
Nogotofail puede ser desplegada como un router, servidor VPN o proxy en una red para simular ataques MitM contra dispositivos que establecen conexiones SSL/TLS con Internet. Usa inspección profunda de paquetes para descubrir todo el tráfico SSL/TLS en lugar de simplemente monitorear los puertos típicamente asociados con los dos protocolos, como el puerto 443.
La herramienta incluye un componente cliente para los sistemas Android y Linux que dice al componente MitM qué evaluaciones específicas realizar. El cliente también es importante para registrar qué aplicaciones pueden correr en los sistemas evaluados con ciertas conexiones SSL/TLS abiertas, algo que puede ser difícil de determinar solo del lado MitM.
Nogotofail puede revisar debilidades como vulnerabilidades en las librerías SSL/TLS de terceros, susceptibilidad a los ataques que superan el cifrado SSL/TLS o STARTTLS y las validaciones de certificados impropias, un problema generalizado en las aplicaciones.
– Lucian Constantin, IDG News Service