Projekt , rozwijający narzędzia do przechwytywania i analizy ruchu, wypuszczenie narzędzi do głębokiej inspekcji pakietów , kontynuującego rozwój biblioteki . Projekt nDPI został zainicjowany po nieudanej próbie przetransferowania zmian do OpenDPI, który pozostawał bez wsparcia. Kod nDPI napisany jest w języku C i jest licencjonowany na podstawie LGPLv3.
Projekt określa w ruchu używane protokoły na poziomie aplikacji, analizując charakter aktywności sieciowej bez związku z portami sieciowymi (może określać znane protokoły, których obsługa przyjmuje połączenia na niestandardowych portach sieciowych, na przykład, kiedy http jest udostępniane nie z portu 80, lub odwrotnie, gdy jakaś inna aktywność sieciowa jest kamuflowana jako http przez uruchomienie na porcie 80).
Różnice w stosunku do OpenDPI sprowadzają się do wsparcia dodatkowych protokołów, portowania dla platformy Windows, optymalizacji wydajności, dostosowania do zastosowania w aplikacjach monitorujących ruch w czasie rzeczywistym (usunięto niektóre specyficzne funkcje, które spowalniały silnik),
możliwości kompilacji w formie modułu jądra Linux oraz wsparcia dla określania subprotokołów.
W sumie wspierane jest określenie 238 protokołów i aplikacji, od
OpenVPN, Tor, QUIC, SOCKS, BitTorrent i IPsec do Telegrama,
Viber, WhatsApp, PostgreSQL oraz zapytań do GMail, Office365,
GoogleDocs i YouTube. Posiada dekoder serwerowych i klienckich certyfikatów SSL, umożliwiający określenie protokołu (na przykład, Citrix Online i Apple iCloud), wykorzystując certyfikat szyfrowania. Do analizy zawartości dumpów pcap lub bieżącego ruchu przez interfejs sieciowy dostarczana jest narzędzie nDPIreader.
$ ./nDPIreader -i eth0 -s 20 -f "host 192.168.1.10"
Wykryte protokoły:
DNS pakiety: 57 bajty: 7904 przepływy: 28
SSL_No_Cert pakiety: 483 bajty: 229203 przepływy: 6
FaceBook pakiety: 136 bajty: 74702 przepływy: 4
DropBox pakiety: 9 bajty: 668 przepływy: 3
Skype pakiety: 5 bajty: 339 przepływy: 3
Google pakiety: 1700 bajty: 619135 przepływy: 34
W nowym wydaniu:
- Informacje o protokole są teraz wyświetlane od razu po wykryciu, bez czekania na otrzymanie pełnych metadanych (nawet gdy specyficzne pola nie zostały jeszcze zinterpretowane z powodu braku odpowiednich pakietów sieciowych), co jest istotne dla analizatorów ruchu, które muszą natychmiast reagować na określone rodzaje ruchu. Dla aplikacji, które wymagają pełnej analizy protokołu, wprowadzono API ndpi_extra_dissection_possible(), pozwalające upewnić się, że wszystkie metadane protokołu są zdefiniowane.
- Zrealizowano głębszą analizę TLS z wydobywaniem informacji o prawidłowości certyfikatu oraz skrócie SHA-1 certyfikatu.
- Do aplikacji nDPIreader dodano flagę „-C” do eksportu w formacie CSV, co umożliwia korzystanie z dodatkowego narzędzia ntop dość złożone próby statystyczne. Na przykład w celu określenia IP użytkownika, który najdłużej oglądał filmy na NetFlix:
$ 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
- Dodano wsparcie dla techniki zaproponowanej w Zaoferowano klasyfikację protokołów według kategorii.
- Dodano wsparcie dla obliczania IAT (Inter-Arrival Time) w celu identyfikacji anomalii w wykorzystaniu protokołu, na przykład do wykrywania użycia protokołu podczas przeprowadzania ataków DoS.
- Dodano możliwości analizy danych w oparciu o obliczone metryki, takie jak entropia, średnia, odchylenie standardowe oraz wariancja.
- Zaproponowano wstępną wersję bindingów dla języka Python.
- Dodano tryb identyfikacji w ruchu tekstów czytelnych do wykrywania wycieków danych. W
- ndpiReader tryb ten włącza się za pomocą opcji „-e”.
Dodano wsparcie dla metody identyfikacji klientów TLS - JA3 Dodano wsparcie dla metod identyfikacji implementacji SSH (
- ) oraz DHCP.Dodano funkcje do serializacji i deserializacji danych w
- formatach Type-Length-Value (TLV) oraz JSON.
форматах Type-Length-Value (TLV) и JSON. - Dodano wsparcie dla protokołów i usług: DTLS (TLS przez UDP),
Hulu,
TikTok/Musical.ly,
WhatsApp Video,
DNSoverHTTPS,
Datasaver,
Line,
Google Duo, Hangout,
WireGuard VPN,
IMO,
Zoom.us. - Ulepszono wsparcie dla analizy TLS, SIP, STUN,
Viber,
WhatsApp,
AmazonVideo,
SnapChat,
FTP,
QUIC
OpenVPN UDP,
Facebook Messenger i Hangout.
Źródło: opennet.ru
