Azienda Cisco sulla formazione del candidato per il rilascio di un sistema di prevenzione degli attacchi completamente rivisitato , noto anche come progetto Snort++, il cui sviluppo è in corso a intermittenza fin dal 2005. Una versione stabile è prevista per essere pubblicata entro un mese.
Nel ramo di Snort 3, il concetto del prodotto è stato completamente ripensato e l'architettura è stata ristrutturata. Tra le principali aree di sviluppo di Snort 3 ci sono: semplificazione della configurazione e avvio di Snort, automazione della configurazione, semplificazione del linguaggio di costruzione delle regole, riconoscimento automatico di tutti i protocolli, fornitura di un'interfaccia di gestione da riga di comando e applicazione attiva del multithreading con accesso condiviso di diversi gestori a una singola configurazione.
Sono state realizzate le seguenti significative innovazioni:
- È stato effettuato il passaggio a un nuovo sistema di configurazione che offre una sintassi semplificata e consente l'uso di script per la generazione dinamica delle impostazioni. Per l'elaborazione dei file di configurazione viene utilizzato LuaJIT. Vengono forniti plugin basati su LuaJIT con implementazione di opzioni aggiuntive per le regole e il sistema di logging;
- Il motore di rilevazione degli attacchi è stato aggiornato, le regole sono state attualizzate e è stata aggiunta la possibilità di associare buffer nelle regole (sticky buffers). È stato implementato il motore di ricerca Hyperscan, che consente di utilizzare regole con modelli più veloci e precisi basati espressioni regolari;
- È stata aggiunta una nuova modalità di introspezione per HTTP, che considera lo stato della sessione e copre il 99% delle situazioni supportate dal set di test. . È stato implementato un sistema di ispezione del traffico HTTP/2;
- Le prestazioni della modalità di ispezione profonda dei pacchetti sono state significativamente aumentate. È stata aggiunta la possibilità di elaborazione multithreading, che consente l'esecuzione simultanea di più thread con gestori di pacchetti e garantisce una scalabilità lineare in base al numero di core della CPU;
- È stato implementato un archivio di configurazione condiviso e una tabella degli attributi, utilizzati congiuntamente in diverse sottosistemi, il che ha portato a una significativa riduzione del consumo di memoria grazie all'eliminazione della duplicazione delle informazioni;
- Nuovo sistema di registrazione degli eventi che utilizza il formato JSON e si integra facilmente con piattaforme esterne come Elastic Stack;
- Transizione a un'architettura modulare, con possibilità di estendere le funzionalità attraverso l'aggiunta di plugin e implementazione di sottosistemi chiave come plugin sostituibili. Attualmente, per Snort 3 sono già stati realizzati centinaia di plugin che coprono varie aree di applicazione, ad esempio per aggiungere codec personalizzati, modalità di introspezione, metodi di registrazione, azioni e opzioni nelle regole;
- Determinazione automatica dei servizi attivi, eliminando la necessità di specificare manualmente le porte di rete attive.
- Aggiunta la supporto per file per una rapida sovrascrittura delle impostazioni rispetto alla configurazione predefinita. Per semplificare la configurazione, è stata sospesa l'utilizzo di snort_config.lua e SNORT_LUA_PATH.
Aggiunta la supporto per il ricaricamento delle impostazioni al volo; - Il codice supporta l'uso di costrutti C++ definiti nello standard C++14 (è necessario un compilatore che supporti C++14 per la compilazione);
- Aggiunto un nuovo gestore VXLAN;
- Migliorata la ricerca dei tipi di contenuto in base al contenuto utilizzando versioni alternative aggiornate degli algoritmi e ;
- Avviato più rapidamente grazie all'uso di più thread per la compilazione dei gruppi di regole;
- Aggiunto un nuovo meccanismo di registrazione;
- Introdotto un sistema di ispezione RNA (Real-time Network Awareness) che raccoglie informazioni sulle risorse, host, applicazioni e servizi disponibili in rete.
Fonte: opennet.ru
