26 ene 2017

Herramienta para verificar la seguridad de conexiones TLS/SSL en dispositivos y aplicaciones

Nogotofail (una broma referida a Goto Fail de Apple) es una herramienta de prueba de seguridad de red diseñada por Google para ayudar a los desarrolladores y los investigadores de seguridad a detectar y corregir conexiones TLS/SSL vulnerables y tráfico que se transporta texto sensible, en dispositivos y aplicaciones, de una manera: flexible, escalable y potente. Incluye pruebas para problemas comunes de: verificación de certificados SSL, bugs de bibliotecas HTTPS y TLS/SSL, SSL y STARTTLS.

Nogotofail se compone de una red de rutas para realizar MiTM y clientes opcionales para los dispositivos que se están probando. Depende sólo de los paquetes Python 2.7 y pyOpenSSL 0.13 o superior. El proceso de MiTM está diseñado para trabajar en máquinas Linux y los modos transparentes de captura de tráfico son específicos de Linux y también requieren iptables. Nogotofail fue desarrollado para ser una herramienta automatizada, potente, flexible y escalable, para probar los problemas de seguridad de red en cualquier dispositivo en el que se pueda hacer pasar el trafico de la red. El propósito de esta herramienta es poder abarcar los siguientes aspectos:
  • Encontrar bugs y vulnerabilidades.
  • Verificación de correcciones y observación de regresiones de trafico.
  • Comprender qué aplicaciones y dispositivos generan qué tráfico.
Nogotofail es completamente agnóstico al puerto usado y en su lugar detecta el tráfico vulnerable utilizando DPI en lugar de basarse en número de puertos. Además, debido a que utiliza DPI, es capaz de probar tráfico TLS/SSL en protocolos que utilizan STARTTLS.

Nogotofail no ataca destructivamente todas las conexiones TLS/SSL que ve, porque tales ataques llevan a clientes no vulnerables a abortar las conexiones atacadas. Si se atacan todas las conexiones, es posible que nunca se lleguen a ver conexiones vulnerables, que tengan una dependencia en una conexión no vulnerable. Por ejemplo, digamos que hay que iniciar sesión en un servicio a través de HTTPS, antes de poder realizar alguna acción que arroje como resultado un tráfico vulnerable, si el inicio de sesión nunca tiene éxito, nunca se llegara al tráfico vulnerable. Además, la lógica de reintento típica enmascara errores de conexión transitorios.

Por lo tanto, el uso de una baja probabilidad de ataque deja los dispositivos en un estado utilizable. Esto permite dejar los dispositivos en Nogotofail durante largos períodos de tiempo y seguir utilizándolos normalmente, lo que resulta un marco de prueba mucho mejor. Con un 10% de probabilidad, las tentativas de conexión ocultan los problemas causados por el ataque a las conexiones TLS/SSL y la mayoría de los dispositivos que hemos visto tienden a funcionar sin problema. Por supuesto, es posible probar una conexión específica agresivamente, poniendo la probabilidad hasta el 100%.

Al realizar pruebas en dispositivos reales, puede ser muy difícil determinar qué componente o aplicación ha creado una conexión vulnerable. Incluso ver el contenido y el destino no siempre es suficiente para ayudar a averiguar lo que hizo la conexión. Las conexiones realizadas por una aplicación en segundo plano, por ejemplo, pueden ser casi imposibles de atribuir si se está conectando a un punto final común. Es mucho mejor poder simplemente preguntar al dispositivo que hizo la conexión. Esto se logra al tener el cliente opcional Nogotofail ejecutado en el dispositivo comunicándose con el proceso de MiTM.

Fuente: Gurú de la Informática

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!