Buscar en este blog

sábado, 29 de octubre de 2011

Entendiendo DPI: Wireshark & OpenDPI

En posteriores posts se irá analizando como trabaja "Deep Packet Inspection (DPI)" en aspectos tanto software como hardware. Antes de ello es interesante ver, aunque sea de modo simplificado, un ejemplo del análisis que ofrece esta tecnología. Para ello se emplean dos versiones 'open source' de las varias que hay disponibles, una es la herramienta de captura de tráfico Wireshark, y la otra el codigo OpenDPI de Ipoque. Con ellas se puede ver como distinguen entre diferentes tipos de tráficos y de flujos.

Se ha hecho una captura del tráfico generado en una sesión estándar de usuario, tráfico web, tráfico P2P, cliente de mensajería, etc mediante el propio Wireshark. El tráfico capturado corresponde al uso de estas aplicaciones durante unos 5 minutos. Veamos como muestran los protocolos las dos herramientas empleadas.

Wireshark es una herramienta de análisis y captura de tráfico que emplea DPI, aunque a un nivel superficial (podríamos hablar más bien de SPI). Se suele emplear en entornos educativos y a nivel de usuario ya que no soportaría un análisis masivo de tráfico. Ofrece un entorno gráfico con algunas opciones interesantes que facilitan la visualización de las particularidades de cada protocolo. En la siguiente imagen se muestra una de las visualizaciones que permite esta herramienta.



Por otro lado, OpenDPI es una versión limitda de la que el proveedor de soluciones de gestión de ancho de banda Ipoque ofrece en sus productos, el motor PACE (Protocol and Applicaton Classification Engine). Por ello, el número de protocolos que es capaz de detectar es considerablemente inferior al de la versión comercial, así como la velocidad y rendimiento del análisis. No emplea análisis heurístico o de comportamiento, por lo que no es capaz de detectar conexiones cifradas o enmascaradas. La misma captura realizada con esta herramienta da el siguiente resultado que se muestra a continuación.



Como se puede observar el número de paquetes que considera la herramienta OpenDPI son los paquetes IP, que suman 31.468. A diferencia de la visualización que ofrece Wireshark, OpenDPI solo muestra la capa L7, que es la que contiene la información sobre el tipo de aplicación. Se puede observar que existe una mayor precisión en el análisis realizado por OpenDPI, aunque como ya se preveía por ser una versión reducida no ha logrado identificar alrededor de un 15% de los paquetes (esta cifra en el análisis de Wireshark es notablemente superior). 

Este mismo ejercicio se realizará cuando se hable de "Deep Flow Inspection (DFI)", pero habilitando la opción de cifrar el tráfico que poseen la mayoría de clientes P2P. Así se mostrará como responde la herramienta OpenDPI ante este tráfico cifrado, que en principio no puede ser detectado solo con DPI.

domingo, 9 de octubre de 2011

Deep Packet Inspection (DPI)

Como se ha venido diciendo en el blog, la capacidad de acceder a Internet se está viendo desbordada. El crecimiento del consumo de datos es mayor que el de la tecnología que se empela para su tratamiento, dando lugar la necesidad de "La Gestión de Tráfico". Esta gestión se lleva a cabo para solventar o prevenir problemas de congestión mediante el análisis y posterior clasificación del tráfico que atraviesa las redes. En principio, si no se hiciese una "Violación de recomendaciones y normas en Internet", bastaría con analizar a que puerto se dirige un paquete o flujo de paquetes para saber de que tipo de tráfico se trata, ya que existen una serie de asignaciones sobre que protocolo o aplicación debería emplear dicho puerto. 

Pero la realidad es bien distinta, muchas aplicaciones pretenden no ser descubiertas para que así su tráfico no se vea afectado por las medidas de gestión de la congestión. Para ello hacen uso de puertos indebidos, abren varias conexiones en paralelo (ver "Cómo funciona Internet? (II)"), o en el caso más extremo encriptan u ofuscan su tráfico para dificultar la identificación. Por este motivo, empresas como Sandvine, Ipoque, Allot o Procera e incluso grandes fabricantes de equipos de red como Cisco o Ericsson, han desarrollado en los últimos años elementos capaces de identificar de forma muy precisa el tráfico que atraviesa la red. Estos equipos se basan en DPI (Deep Packet Inspection) y en DFI (Deep Flow Inspection) o análisis heurístico.

La tecnología DPI es capaz de analizar los datos que contiene un paquete más allá de las cabeceras del L3 (que es la única necesaria para transmitir los paquetes) y la del L4 (que aunque no es necesaria, es dónde se encuentra información sobre el flujo de datos y el puerto conexión). Para comprender algo mejor el tema de las cabeceras ver "Cómo funciona Internet?". Esto supone que la información de la capa de aplicación (L7) e incluso el contenido del usuario puede ser analizado para buscar ciertos patrones característicos de la aplicación o protocolo en uso, o también para prevenir ataques o malware.


El hecho de que se pueda analizar la información de usuario es uno de los aspectos más críticos en el debate de "La Neturalidad de Red" debido a que según los detractores de DPI, este viola la privacidad de los usuarios. En su defensa, fabricantes e ISPs alegan que para nada se lee o comprende la información del usuario ya que tan solo se buscan palabras en concreto. Como todo, la peligrosidad depende del uso que se le dé.