Projekt ntop, opracowywanie narzędzi do przechwytywania i analizowania ruchu, opublikowany udostępnienie narzędzi do głębokiej kontroli opakowań nDPI 3.0, kontynuując rozwój biblioteki OpenDPI. Projekt nDPI powstał po nieudanej próbie przeniesienia zmian do magazyn OpenDPI, który pozostawiono bez opieki. Kod nDPI jest napisany w C i dystrybuowane przez licencjonowany na podstawie LGPLv3.
Projekt pozwala on określić protokoły poziomu aplikacji wykorzystywane w ruchu, analizując charakter aktywności sieciowej bez wiązania się z portami sieciowymi (potrafi zidentyfikować dobrze znane protokoły, których procedury obsługi akceptują połączenia na niestandardowych portach sieciowych, na przykład jeśli http nie jest wysyłane z porcie 80 lub odwrotnie, gdy niektórzy próbują zamaskować inną aktywność sieciową jako http, uruchamiając ją na porcie 80).
Różnice w stosunku do OpenDPI sprowadzają się do obsługi dodatkowych protokołów, portowania na platformę Windows, optymalizacji wydajności, przystosowania do stosowania w aplikacjach monitorujących ruch w czasie rzeczywistym (usunięto niektóre specyficzne funkcje spowalniające silnik),
możliwości montażu w postaci modułu jądra Linux i wsparcie dla definiowania podprotokołów.
Obsługiwanych jest łącznie 238 definicji protokołów i aplikacji, od
OpenVPN, Tor, QUIC, SOCKS, BitTorrent i IPsec do Telegramu,
Viber, WhatsApp, PostgreSQL i połączenia z Gmailem, Office365
Dokumenty Google i YouTube. Istnieje dekoder certyfikatu SSL serwera i klienta, który pozwala określić protokół (na przykład Citrix Online i Apple iCloud) za pomocą certyfikatu szyfrowania. Narzędzie nDPIreader służy do analizowania zawartości zrzutów pcap lub bieżącego ruchu poprzez interfejs sieciowy.
Informacje o protokole są teraz wyświetlane natychmiast po zdefiniowaniu, bez czekania na odebranie pełnych metadanych (nawet jeśli określone pola nie zostały jeszcze przeanalizowane ze względu na nieodebranie odpowiednich pakietów sieciowych), co jest ważne dla analizatorów ruchu, którzy muszą natychmiast reagować na określone rodzaje ruchu. W przypadku aplikacji wymagających pełnej analizy protokołu dostępna jest funkcja API ndpi_extra_dissection_possible(), która zapewnia zdefiniowanie wszystkich metadanych protokołu.
Zaimplementowano głębszą analizę TLS, wydobywającą informacje o poprawności certyfikatu oraz hash SHA-1 certyfikatu.
Do aplikacji nDPIreader dodano flagę „-C” umożliwiającą eksport w formacie CSV, co umożliwia wykorzystanie dodatkowego zestawu narzędzi ntop wykonać dość złożone próbki statystyczne. Przykładowo, aby określić adres IP użytkownika, który najdłużej oglądał filmy w NetFlixie:
$ ndpiReader -i netflix.pcap -C /tmp/netflix.csv
$ q -H -d ',' "wybierz src_ip,SUM(src2dst_bytes+dst2src_bytes) z /tmp/netflix.csv gdzie ndpi_proto jak grupa '%NetFlix%' według src_ip"
192.168.1.7,6151821
Dodano obsługę tego, co zaproponowano w Cisco Joytechnicy identyfikowanie szkodliwej aktywności ukrytej w zaszyfrowanym ruchu na podstawie rozmiaru pakietu i analizy czasu/opóźnienia wysyłania. W ndpiReader metodę aktywuje się opcją „-J”.
Podano klasyfikację protokołów według kategorii.
Dodano obsługę obliczania IAT (czasu między przybyciem) w celu zidentyfikowania anomalii w użyciu protokołu, na przykład w celu zidentyfikowania użycia protokołu podczas ataków DoS.
Dodano możliwości analizy danych w oparciu o obliczone metryki, takie jak entropia, średnia, odchylenie standardowe i wariancja.
Zaproponowano wstępną wersję powiązań dla języka Python.
Dodano tryb wykrywania czytelnych ciągów znaków w ruchu w celu wykrywania wycieków danych. W
Tryb ndpiReader włącza się opcją „-e”.
Dodano obsługę metody identyfikacji klienta TLS JA3, który pozwala określić, na podstawie charakterystyki koordynacji połączenia i określonych parametrów, jakie oprogramowanie służy do nawiązania połączenia (na przykład pozwala określić użycie Tora i innych standardowych aplikacji).
Dodano obsługę metod identyfikacji implementacji SSH (HASSZ) i DHCP.
Dodano funkcje serializacji i deserializacji danych w
Formaty typu-długość-wartość (TLV) i JSON.
Dodano obsługę protokołów i usług: DTLS (TLS przez UDP),
hulu,
TikTok/Musical.ly,
Wideo WhatsApp,
DNSoverHTTPS
Oszczędzanie danych
Linia,
Google Duo, Hangout,
WireGuard VPN,
IMO,
Zoom.us.
Ulepszona obsługa analiz TLS, SIP, STUN,
Wibracja,
WhatsApp,
Wideo Amazona,
Snapchat
ftp,
QUIC
OpenVPN UDP,
Komunikator i Hangout na Facebooku.