Il progetto ntop, che sviluppa strumenti per la cattura e l'analisi del traffico, ha pubblicato un toolkit per l'inspection approfondita dei pacchetti nDPI 5.0, continuando lo sviluppo della libreria OpenDPI. Il progetto nDPI è stato avviato dopo un tentativo infruttuoso di trasferire modifiche al repository di OpenDPI, rimasto senza manutenzione. Il codice nDPI è scritto in linguaggio C ed è distribuito sotto licenza LGPLv3.
Il sistema permette di identificare i protocolli di livello applicativo nel traffico, analizzando il carattere dell'attività di rete senza vincoli a porte di rete specifiche (è in grado di riconoscere protocolli noti i cui gestori accettano connessioni su porte di rete non standard, ad esempio, se l'http è servito da una porta diversa dalla 80, o viceversa, quando un'altra attività di rete cerca di camuffarsi sotto http eseguendola sulla porta 80).
Le differenze rispetto a OpenDPI riguardano il supporto per protocolli aggiuntivi, la portabilità sulla piattaforma Windows, l'ottimizzazione delle prestazioni, l'adattamento per l'uso in applicazioni di monitoraggio del traffico in tempo reale (sono state rimosse alcune funzionalità specifiche che rallentavano il motore), la possibilità di essere compilato come modulo del kernel Linux e il supporto per la determinazione dei sottoprotocolli.
Viene supportata l'identificazione di 56 tipi di minacce alla rete (flow risk) e oltre 450 protocolli e applicazioni (da OpenVPN, Tor, QUIC, SOCKS, BitTorrent e IPsec a Telegram, Viber, WhatsApp, PostgreSQL e accessi a Gmail, Office 365, Google Docs e YouTube). È presente un decoder per server e client certificati SSL, che consente di identificare il protocollo (ad esempio, Citrix Online e Apple iCloud) utilizzando il certificato di crittografia. Per l'analisi dei contenuti dei dump pcap o del traffico attuale tramite l'interfaccia di rete, è fornuto l'utility nDPIreader.
Nel nuovo rilascio:
- È stato implementato un meccanismo universale per l'identificazione del traffico, che combina in un unico fingerprint informazioni sui campioni TCP, hash del certificato TLS e JA4 (identificatori per la determinazione dei protocolli e delle applicazioni di rete). Questo nuovo meccanismo consente di identificare e confrontare con maggiore precisione il traffico crittografato o offuscato.
- Aggiunta la possibilità di identificare i flussi TLS, QUIC e HTTP che contengono nomi di host (ad esempio, in SNI per TLS/QUIC e nell'intestazione Host per HTTP), per i quali non veniva effettuata la risoluzione tramite DNS. Questa attività può essere utilizzata per rilevare anomalie, canali di comunicazione nascosti e metodi di elusione della filtrazione.
- Il limite sul numero di protocolli e categorie di traffico identificabili è stato elevato fino a 2^16, consentendo così di riconoscere praticamente un numero illimitato di protocolli durante l'ispezione del traffico. Tutti i protocolli disponibili sono ora inclusi per impostazione predefinita.
- Sono state aggiunte nuove opzioni alle regole per la classificazione del traffico basate su fingerprint, identificatori JA4 di applicazioni e protocolli, URL HTTP e categorie.
- Migliorato il supporto per la tecnologia FPC (First Packet Classification), progettata per identificare protocolli, applicazioni e servizi dal primo pacchetto inviato durante l'instaurazione della connessione. FPC consente di ridurre notevolmente il carico sulla CPU durante l'ispezione del traffico.
- Rimossa la supporto per pseudoprotocolli come ADULT_CONTENT, LLM e ADS_ANALYTICS_TRACK, sostituiti ora con una classificazione basata su categorie.
- Aggiunto il supporto e la possibilità di analizzare nuovi protocolli, tra cui Microsoft Delivery Optimization, Rockstar Games, Kick.com, MELSEC, Hamachi, GLBP, Matter, TriStation, Samsung SDP, ESPN e Akamai.
- Aggiunte nuove sottocategorie e ampliata la classificazione dei servizi Amazon/AWS.
- Aggiunte circa 30 nuove categorie e aumentata la granularità nell'analisi del traffico.
- Aggiunto un analizzatore delle dimensioni dei blocchi di dati per le connessioni TLS.
- Aggiunta la possibilità di creare stack di protocolli che coprono due o più protocolli nella classificazione del traffico.
- Aggiunti nuovi API per il ranking del traffico e per la codifica/decodifica di sequenze esadecimali.
- Aggiornati gli elenchi di bot, scanner di rete e pool di mining.
- Aggiornato il codice per l'analisi dei protocolli HTTP, TLS e STUN.
- Inizializzazione accelerata e maggiore efficienza nella gestione della memoria.
Fonte: opennet.ru
