Projekt , der Entwickler von Tools zur Erfassung und Analyse von Verkehr, stellt ein Werkzeug für tiefgehende Paketinspektion bereit , das die Bibliothek weiterentwickelt. Das nDPI-Projekt wurde nach einem gescheiterten Versuch gegründet, Änderungen in die OpenDPI zu übertragen, das ohne Unterstützung blieb. Der nDPI-Code ist in C geschrieben und unter der LGPLv3-Lizenz.
Projekt Diese Technologie ermöglicht es, die in den Datenströmen verwendeten Anwendungsprotokolle zu bestimmen, indem sie das Muster der Netzwerkaktivität analysiert, ohne an Netzportnummern gebunden zu sein (sie kann bekannte Protokolle identifizieren, deren Handler Verbindungen an nicht standardmäßigen Ports annehmen, zum Beispiel, wenn HTTP nicht über Port 80 bereitgestellt wird, oder umgekehrt, wenn andere Netzwerkaktivitäten als HTTP getarnt werden, indem sie auf Port 80 ausgeführt werden).
Die Unterschiede zu OpenDPI liegen in der Unterstützung zusätzlicher Protokolle, der Portierung auf die Windows-Plattform, der Leistungsoptimierung und der Anpassung für den Einsatz in Echtzeit-Verkehrsüberwachungsanwendungen (einige spezifische Funktionen, die den Engine verlangsamt haben, wurden entfernt).
Möglichkeiten zur Modulkonfiguration des Linux-Kernels und Unterstützung von Subprotokollerkennung.
Insgesamt werden 238 Protokolle und Anwendungen unterstützt, darunter
OpenVPN, Tor, QUIC, SOCKS, BitTorrent und IPsec bis hin zu Telegram,
Viber, WhatsApp, PostgreSQL sowie Zugriffe auf GMail, Office365,
GoogleDocs und YouTube. Ein Dekodierer für Server- und Client-SSL-Zertifikate ist vorhanden, der es ermöglicht, das Protokoll (z.B. Citrix Online und Apple iCloud) mithilfe des Verschlüsselungszertifikats zu identifizieren. Zur Analyse des Inhalts von pcap-Dumps oder des aktuellen Traffics über die Netzwerkschnittstelle wird das nDPIreader-Tool bereitgestellt.
$ ./nDPIreader -i eth0 -s 20 -f «host 192.168.1.10»
Erkannte Protokolle:
DNS Pakete: 57 Bytes: 7904 Flows: 28
SSL_No_Cert Pakete: 483 Bytes: 229203 Flows: 6
FaceBook Pakete: 136 Bytes: 74702 Flows: 4
DropBox Pakete: 9 Bytes: 668 Flows: 3
Skype Pakete: 5 Bytes: 339 Flows: 3
Google Pakete: 1700 Bytes: 619135 Flows: 34
In der neuen Version:
- Informationen zum Protokoll werden jetzt sofort bei der Erkennung ausgegeben, ohne auf vollständige Metadaten zu warten (auch wenn spezifische Felder aufgrund des nicht empfangenen entsprechenden Netzwerkpakets noch nicht analysiert wurden). Dies ist wichtig für Traffic-Analyzer, die sofort auf bestimmte Traffic-Arten reagieren müssen. Für Anwendungen, die eine vollständige Protokollanalyse benötigen, wurde die API ndpi_extra_dissection_possible() eingeführt, um sicherzustellen, dass alle Protokolldaten definiert sind.
- Eine tiefere TLS-Analyse wurde implementiert, einschließlich der Überprüfung der Zertifikatgültigkeit und des SHA-1-Hashes des Zertifikats.
- Im nDPIreader wurde die Flagge „-C“ für den Export im CSV-Format hinzugefügt, was ermöglicht, mit zusätzlichem Werkzeug von ntop relativ komplexe statistische Abfragen. Zum Beispiel, um die IP eines Benutzers zu bestimmen, der die meisten Filme auf NetFlix angesehen hat:
$ 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
- Die Unterstützung der vorgeschlagenen Methode in Identifikation schädlicher Aktivitäten, die in verschlüsselt gesendetem Datenverkehr verborgen sind, durch Analyse der Paketgröße und der Sendezeiten/Delay. Im ndpiReader wird die Methode über die Option „-J“ aktiviert.
- Die Klassifizierung von Protokollen ist in Kategorien erfolgt.
- Die Unterstützung zur Berechnung der IAT (Inter-Arrival Time) wurde hinzugefügt, um Anomalien in der Protokollnutzung zu erkennen, beispielsweise um den Einsatz von Protokollen bei DoS-Angriffen aufzudecken.
- Neue Analysefunktionen basierend auf berechneten Metriken wie Entropie, Mittelwert, Standardabweichung und Varianz wurden ergänzt.
- Eine erste Version der Bindings für die Programmiersprache Python wurde bereitgestellt.
- Ein Modus zur Erkennung von lesbaren Zeichenfolgen im Datenverkehr zur Identifizierung von Datenlecks wurde hinzugefügt. Im
ndpiReader wird der Modus über die Option „-e“ aktiviert. - Die Unterstützung zur Identifizierung von TLS-Clients wurde ergänzt. , welches es ermöglicht, anhand der Merkmale der Verbindungsaufnahme und der gesendeten Parameter zu bestimmen, welche Software für die Verbindungsherstellung verwendet wird (z. B. kann es den Einsatz von Tor und anderen typischen Anwendungen erkennen).
- Die Unterstützung für Identifikationsmethoden von SSH-Implementierungen () und DHCP wurde hinzugefügt.
- Funktionen zur Serialisierung und Deserialisierung von Daten wurden hinzugefügt in
den Formaten Type-Length-Value (TLV) und JSON. - Unterstützung für Protokolle und Dienste hinzugefügt: DTLS (TLS über UDP),
Hulu,
TikTok/Musical.ly,
WhatsApp Video,
DNSoverHTTPS,
Datasaver,
Line,
Google Duo, Hangout,
WireGuard VPN,
IMO,
Zoom.us. - Verbesserte Unterstützung für die Analyse von TLS, SIP, STUN,
Viber,
WhatsApp,
AmazonVideo,
SnapChat,
FTP,
QUIC
OpenVPN UDP,
Facebook Messenger und Hangout.
Quelle: opennet.ru
