nDPI 4.4 llega con mejoras de soporte para protocolos y mas
Los desarrolladores del proyecto ntop (que desarrollan herramientas para capturar y analizar el tráfico) dieron a conocer hace poco la liberación de la nueva versión de nDPI 4.4, la cual es un superconjunto de mantenimiento continuo de la popular biblioteca OpenDP.
nDPI se caracteriza por ser utilizado tanto por ntop como por nProbe para agregar la detección de protocolos en la capa de aplicación, independientemente del puerto que se esté utilizando. Esto significa que es posible detectar protocolos conocidos en puertos no estándar.
El proyecto permite determinar los protocolos de nivel de aplicación utilizados en el tráfico mediante el análisis de la naturaleza de la actividad de la red sin vincularse a los puertos de la red (puede determinar los protocolos conocidos cuyos controladores aceptan conexiones en puertos de red no estándar, por ejemplo, si se envÃa http no desde el puerto 80, o, por el contrario, cuando intentan camuflar otra actividad de red como http ejecutándose en el puerto 80).
Las diferencias con OpenDPI se reducen a compatibilidad con protocolos adicionales, portabilidad para la plataforma Windows, optimización del rendimiento, adaptación para su uso en aplicaciones para monitorear el tráfico en tiempo real (se han eliminado algunas caracterÃsticas especÃficas que ralentizaban el motor), capacidades de construcción en el formulario de un módulo del kernel de Linux y soporte para definir subprotocolos.
Principales novedades de nDPI 4.4
En esta nueva versión que se presenta se destaca que se agregaron metadatos con información sobre el motivo de llamar al controlador para una amenaza en particular.
Otro cambio importante es en la implementación integrada de gcrypt que está habilitada de manera predeterminada (se sugiere la opción –with-libgcrypt para usar la implementación del sistema).
Ademas de ello tambien se destaca que se ha ampliado la gama de amenazas de red detectadas y problemas asociados con el riesgo de compromiso (riesgo de flujo) y que tambien se agregó soporte para nuevos tipos de amenazas: NDPI_PUNYCODE_IDN, NDPI_ERROR_CODE_DETECTED, NDPI_HTTP_CRAWLER_BOT y NDPI_ANONYMOUS_SUBSCRIBER.
Se agregó la función ndpi_check_flow_risk_exceptions() para habilitar los controladores de amenazas de red, asi como tambien se han agregado dos nuevos niveles de privacidad: NDPI_CONFIDENCE_DPI_PARTIAL y NDPI_CONFIDENCE_DPI_PARTIAL_CACHE.
Tambien se destaca que se han actualizado los enlaces para el lenguaje Python, se reemplazó la implementación interna de hashmap con uthash, asi como tambien que se realiza la división en protocolos de red (por ejemplo, TLS) y protocolos de aplicación (por ejemplo, servicios de Google) y se añadió la plantilla para definir el uso del servicio WARP de Cloudflare.
Por otra parte, tambien se destaca que se añadió la detección de protocolos para:
- UltraSurf
- i3D
- RiotGames
- TSAN
- TunnelBear VPN
- collectd
- PIM (Protocol Indipendent Multicast)
- Pragmatic General Multicast (PGM)
- RSH
- GoTo products (mainly GoToMeeting)
- Dazn
- MPEG-DASH
- Agora Software Defined Real-time Network (SD-RTN)
- Toca Boca
- VXLAN
- MDNS/LLMNR
De los demás cambios que se destacan para esta nueva versión:
- Correcciones para algunas familias de clasificación de protocolos.
- Puertos de protocolo predeterminados fijos para protocolos de correo electrónico
- Varias correcciones de memoria y desbordamiento
- Varios riesgos deshabilitados para protocolos especÃficos (por ejemplo, deshabilitar ALPN faltante para CiscoVPN)
- Arreglar la desencapsulación de TZSP
- Actualizar listas de ASN/IP
- Perfilado de código mejorado
- Use Doxygen para generar la documentación de la API
- Se agregaron CDN de Edgecast y Cachefly.
Finalmente si estás interesado en poder conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace.
¿Como instalar nDPI en Linux?
Para quienes estén interesados en poder instalar esta herramienta en su sistema, pueden hacerlo siguiendo las instrucciones que compartimos a continuación.
Para poder instalar la herramienta, debemos descargar el código fuente y compilarlo, pero antes de ello si son usuarios de Debian, Ubuntu o algún derivado de estos, primero debemos instalar lo siguiente:
sudo apt-get install build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev
En el caso de los que son usuarios de Arch Linux:
sudo pacman -S gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c numactl pcre2 libmaxminddb rrdtool
Ahora, para poder realizar la compilación debemos de descargar el código fuente, el cual puedes obtener tecleando:
git clone https://github.com/ntop/nDPI.git cd nDPI
Y procedemos a comprilar la herramienta tecleando:
./autogen.sh make
Si estás interesado en poder conocer más al respecto sobre el uso de la herramienta, puedes consultar el siguiente enlace.