Proyecto , desarrollando herramientas para la captura y análisis de tráfico, lanzamiento de herramientas para la inspección profunda de paquetes , continuando con el desarrollo de la biblioteca . El proyecto nDPI se basa en un intento fallido de transferir cambios a OpenDPI, que ha quedado sin soporte. El código de nDPI está escrito en C y bajo licencia LGPLv3.
Proyecto determina los protocolos de nivel de aplicación que se utilizan en el tráfico, analizando la naturaleza de la actividad de la red sin estar vinculada a puertos de red (puede identificar protocolos conocidos cuyas implementaciones aceptan conexiones en puertos de red no estándar, por ejemplo, si http se sirve en un puerto que no es el 80, o, a la inversa, cuando se intenta camuflar otra actividad de red como http ejecutándose en el puerto 80).
Las diferencias con OpenDPI se reducen al soporte de protocolos adicionales, la portación para la plataforma Windows, la optimización del rendimiento, la adaptación para su uso en aplicaciones de monitoreo de tráfico en tiempo real (se eliminaron algunas capacidades específicas que ralentizaban el motor),
la posibilidad de compilar en forma de módulo del núcleo de Linux y el soporte para la detección de subprotocolos.
Se soporta la detección de 238 protocolos y aplicaciones, desde
OpenVPN, Tor, QUIC, SOCKS, BitTorrent e IPsec hasta Telegram,
Viber, WhatsApp, PostgreSQL y accesos a GMail, Office365,
GoogleDocs y YouTube. Hay un decodificador de certificados SSL de servidor y cliente que permite identificar el protocolo (por ejemplo, Citrix Online y Apple iCloud), utilizando el certificado de cifrado. Para analizar el contenido de los volúmenes pcap o el tráfico actual a través de la interfaz de red, se proporciona la herramienta nDPIreader.
$ ./nDPIreader -i eth0 -s 20 -f "host 192.168.1.10"
Protocolos detectados:
DNS paquetes: 57 bytes: 7904 flujos: 28
SSL_No_Cert paquetes: 483 bytes: 229203 flujos: 6
FaceBook paquetes: 136 bytes: 74702 flujos: 4
DropBox paquetes: 9 bytes: 668 flujos: 3
Skype paquetes: 5 bytes: 339 flujos: 3
Google paquetes: 1700 bytes: 619135 flujos: 34
En esta nueva versión:
- La información sobre el protocolo ahora se muestra inmediatamente al detectarlo, sin esperar a recibir los metadatos completos (incluso cuando los campos específicos aún no se han analizado debido a la falta de los paquetes de red correspondientes), lo que es relevante para los analizadores de tráfico que necesitan reaccionar instantáneamente a ciertos tipos de tráfico. Para las aplicaciones que requieren un análisis completo del protocolo, se ha ofrecido la API ndpi_extra_dissection_possible(), que permite asegurarse de que todos los metadatos del protocolo estén definidos.
- Se ha implementado un análisis más profundo de TLS, extrayendo información sobre la validez del certificado y el hash SHA-1 del certificado.
- Se ha añadido una bandera "-C" a la aplicación nDPIreader para exportar en formato CSV, lo que ofrece la posibilidad, a través de herramientas adicionales de ntop, muestreos estadísticos bastante complejos. Por ejemplo, para determinar la IP del usuario que ha visto películas en NetFlix por más tiempo:
$ ndpiReader -i netflix.pcap -C /tmp/netflix.csv
$ q -H -d ',' "select src_ip,SUM(src2dst_bytes+dst2src_bytes) from /tmp/netflix.csv where ndpi_proto like '%NetFlix%' group by src_ip"192.168.1.7,6151821
- Se ha añadido soporte para la técnica propuesta en Se ha garantizado la clasificación de protocolos por categorías.
- Se ha añadido soporte para el cálculo de IAT (Inter-Arrival Time) para detectar anomalías en el uso del protocolo, por ejemplo, para identificar el uso del protocolo en ataques DoS.
- Se han añadido capacidades de análisis de datos basadas en métricas calculadas como entropía, promedio, desviación estándar y varianza.
- Se ha propuesto una versión inicial de los bindings para el lenguaje Python.
- Se ha añadido un modo de detección en el tráfico de cadenas legibles para identificar fugas de datos. En
- ndpiReader, el modo se activa con la opción "-e".
Se ha añadido soporte para el método de identificación de clientes TLS - JA3 Se ha añadido soporte para métodos de identificación de implementaciones de SSH (
- ) y DHCP.Se han añadido funciones para la serialización y deserialización de datos en
- formatos Type-Length-Value (TLV) y JSON.
formatos Type-Length-Value (TLV) y JSON. - Se ha añadido soporte para protocolos y servicios: DTLS (TLS sobre UDP),
Hulu,
TikTok/Musical.ly,
WhatsApp Video,
DNS sobre HTTPS,
Datasaver,
Line,
Google Duo, Hangout,
WireGuard VPN,
IMO,
Zoom.us. - Se ha mejorado el soporte para el análisis de TLS, SIP, STUN,
Viber,
WhatsApp,
Amazon Video,
SnapChat,
FTP,
QUIC
OpenVPN UDP,
Facebook Messenger y Hangout.
Fuente: opennet.ru
