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!!