viernes, 21 de febrero de 2014

Netalyzr para Android

Hace un tiempo recibimos en Seguridad Jabalí un mail...

Me llamo Narseo Vallina-Rodríguez. Soy un investigador científico en el Instituto Internacional de Computer Science en la Universidad de Berkeley (ICSI). Te escribo debido a que soy uno de los desarrolladores detrás de la aplicación Netalyzr para Android dentro del grupo del Prof. Vern Paxson. La aplicación para el desktop http://netalyzr.icsi.berkeley.edu ha sido exitosa y ha registrado más de un millón de pruebas en apenas dos años. Los resultados se han publicado en Internet Measurements Conference (IMC). Y aquí os dejamos el artículo de Narseo...

Netalyzr para Android 
Netalyzr es una herramienta gratuita de diagnostico de red desarrollada en el International Computer Science Institute (ICSI) en Berkeley. Permite identificar problemas en tu conectividad – incluyendo desde soporte para DNSSEC y IPSEC,

dimensionado de buffers, latencia, filtrado de puertos y rendimiento de los protocolos de transporte, hasta posibles manipulaciones en el trafico causadas por servidores DNS, proxies, y vulnerabilidades en la seguridad de dispositivos UPnP como tu Gateway/NAT. Los resultados del test son presentados en un detallado informe.

Netalyzr está operativa desde Junio del 2009 aunque en continua evolución, y desde entonces ha sido usada por más de un millón de usuarios desde prácticamente cualquier país del mundo.

Además de una herramienta de debuggeado de red, Netalyzr forma también las bases de un amplio estudio del estado y la evolución de Internet desde los clientes.

Recientemente, ICSI ha publicado una versión gratuita para Android que está disponible en… Enlace a la Aplicación.


Diseño del Sistema
La filosofía de Netalyzr es poder analizar tanto como sea posible de una forma automatizada sin afectar a la red, y garantizando la mejor experiencia de usuario posible hasta para aquellos que no tengan conocimientos técnicos.

Al comienzo de una sesión, Netalyzr redirecciona al usuario a un único nodo de varios posibles que conforman el back-end, el cual corre íntegramente en Amazon EC2. El nodo tiene una serie de servidores que permiten analizar y verificar varios protocolos.

El cliente móvil ejecuta una serie de tests con el servidor y otras máquinas que configuran su red (por ejemplo el home gateway, o el servidor de DNS). En la versión móvil, los tests pueden realizarse en el background. Una vez finalizada la batería de tests (más de 110 en total), los resultados son subidos al servidor para ser procesados y destilados en un informe detallado que destaca los servicios que se están ejecutando correctamente, los problemáticos y otros que están completamente rotos. Los resultados pueden ser compartidos con otros usuarios o con los propios desarrolladores para facilitar la interpretación de los resultados y el debuggeo del sistema.

Los Test
La meta principal de Netalyzr es desarrollar una batería de tests que permitan a un usuario entender bajo qué tipo de restricciones y vulnerabilidades se encuentra su conexión a Internet. Dejando de lado los tests orientados a medir el rendimiento de la conexión (como latencia, tamaño de los buffers, ancho de banda  y filtrado básico de puertos UDP y TCP), nos centraremos en tres aspectos que afectan a la seguridad del usuario:
  • DNS: Netalyzr intenta activamente identificar la localización del servidor DNS y DNSSEC para el cliente. Esto permite probar, verificar y validar la resolución del servidor para identificar su correcta operación.
  • HTTP PROXIES: Netalyzr comprueba la fidelidad de los proxies HTTP instalados en los end-points (como antivirus y software de seguridad) como los desplegados en la red. Esto permite comprobar si el contenido de los usuarios está siendo modificado por los mismos, por los operadores o por terceras partes.
  • UPnP: Muchos problemas de los usuarios son debidos a la configuración de la NAT o el “home Gateway” en su red local. Netalyzr activamente determina la localización del Gateway usando UPnP (Universal Plug and Play) y así poder alertar al usuario sobre posibles problemas.
Resultados Relevantes
Los resultados de Netalyzr demuestran que DNS es una herramienta muy potente para control, redirección, inyección de contenido y bloqueo de tráfico. Por ejemplo, uno de los ISPs retornaba deliberadamente la dirección IP de su proxy cuando un cliente ejecuta lookups hacia buscadores populares como google, bing o yahoo. Este tipo de práctica puede ser utilizada para monetizar o incluso hacer un perfil de los usuarios.

Los servidores recursivos son poco fiables en práctica ya que usan frecuentemente técnicas como NXDOMAIN wildcarding. De la misma forma, Netalyzr también puede detectar ataques originados por malcode instalado en el cliente para inyectar publicidad, así como ataques asociados a técnicas de cache poisoning en el que un atacante es capaz de inyectar información  falsa en las cachés de los servidores.

Las redes, especialmente las redes móviles, están controladas por middleboxes como proxies para mejorar el rendimiento de la red. Algunos ejemplos pueden ser aceleradores web con un comportamiento inapropiado de sus caches y técnicas de transcoding (utilizadas para ahorrar ancho de banda en el downstream). Netalyzr ha sido capaz de detectar proxies que modifican las cabeceras e inyectan contenido en el tráfico de los usuarios como JavaScripts, así como proxies cuyo objetivo principal es censurar cierto tráfico de los usuarios. De la misma manera que se utiliza DNS para monetizar errores de tráfico, estas técnicas son utilizadas por algunos ISPs que modifican las respuestas para un propósito similar.

Finalmente, Netalyzr ha sido capaz de identificar vulnerabilidades en varios home gateways. Muchos de ellos presentan implementaciones de UPnP con brechas de seguridad como las explotadas por DNSChanger y que afectó a 20000 usuarios en el Reino Unido en 2011. Dicho virus es capaz de cambiar la configuración de los gateways para forzar al usuario a visitar páginas web fraudulentas. Para conocer más sobre los resultados y los problemas que pueden identificarse con Netalyzr, te invitamos a echar un vistazo a los artículos publicados a partir de los resultados proporcionados por la herramienta.

 
El Futuro 
En un update reciente, Netalyzr incorpora la capacidad para extraer certificados TLS, así como de los certificados de las autoridades certificadoras que se encuentran por defecto en los dispositivos móviles. Estos tests están motivados por los recientes escándalos de espionaje por la NSA. Esto permitirá en un futuro próximo validar los certificados obtenidos por los dispositivos para inferir ataques Man In the Middle, y debilidades en los certificados que se encuentren instalados por defecto en el móvil (o que hayan sido incorporados por operadores, agencias gubernamentales, proxies o fabricantes de dispositivos). 
Los investigadores quieren agradecer a todos aquellos que hayan probado Netalyzr en el pasado, y están abiertos a cualquier sugerencia y dispuestos a ayudar a los usuarios a solucionar sus problemas en la medida de lo posible a través del correo electrónico proporcionado en la aplicación.
Autores del Proyecto:
Narseo Vallina-Rodríguez, Nick Weaver, Christian Kreibich y Vern Paxson


NOTA: Es un privilegio para Seguridad Jabalí publicar este tipo de artículos y participar en la difusión de proyectos de este tipo que intentan proteger la privacidad y seguridad de todos en la Red, mucho más al comprobar cómo instituciones tan prestigiosas como International Computer Science Institute (ICSI) en Berkeley investigan y publican los resultados destapando prácticas fraudulentas y abusos de Grandes Multinacionales, ISPs, etc. Por ese mismo motivo os animo a TODOS a participar activamente en este proyecto, descargar la aplicación y utilizarla. 

Seguridad a lo Jabalí para Todos!!

2 comentarios:

Archivo del blog

Consultor e Instructor de Sistemas y Seguridad Informática en Asturias