Compania Cisco despre formarea candidatelor pentru lansările unui sistem complet rescris de prevenire a atacurilor , cunoscut și sub numele de proiectul Snort++, care este dezvoltat cu întreruperi încă din 2005. O versiune stabilă este planificată să fie publicată în termen de o lună.
În ramura Snort 3, conceptul produsului a fost complet reinterpretat, iar arhitectura a fost rescrisă. Printre direcțiile cheie de dezvoltare a Snort 3 se numără: simplificarea configurării și lansării Snort, automatizarea configurării, simplificarea limbajului de construcție a regulilor, determinarea automată a tuturor protocoalelor, oferirea unui shell pentru gestionarea din linia de comandă, utilizarea activă a multithreading-ului cu acces comun al diferitelor procesatoare la o configurație unică.
Au fost implementate următoarele inovații semnificative:
- A fost trecut la un nou sistem de configurare care oferă o sintaxă simplificată și permite utilizarea scripturilor pentru generarea dinamică a setărilor. LuaJIT este utilizat pentru procesarea fișierelor de configurare. Se oferă pluginuri bazate pe LuaJIT cu implementarea de opțiuni suplimentare pentru reguli și sistemul de logare;
- Motorul de detecție a atacurilor a fost modernizat, regulile au fost actualizate, a fost adăugată posibilitatea de a lega bufferele în reguli (sticky buffers). A fost folosit motorul de căutare Hyperscan, care a permis utilizarea unor șabloane rapide și mai precise bazate pe expresii regulate;
- A fost adăugat un nou mod de introspecție pentru HTTP, care ține cont de starea sesiunii și acoperă 99% dintre situațiile suportate de setul de teste . A fost adăugată o sistem de inspectare a traficului HTTP/2;
- A fost semnificativ crescută performanța modului de inspecție profundă a pachetelor. A fost adăugată posibilitatea de procesare multi-threaded a pachetelor, permițând executarea simultană a mai multor fire cu gestionarii de pachete și asigurând scalabilitate liniară în funcție de numărul de nuclee CPU;
- A fost implementat un depozit comun de configurare și tabele de atribute, utilizate în comun în diferitele subsisteme, ceea ce a permis reducerea semnificativă a consumului de memorie prin eliminarea duplicării informației;
- Un nou sistem de jurnalizare a evenimentelor, care utilizează formatul JSON și se integrează ușor cu platforme externe, cum ar fi Elastic Stack;
- Tranziție la o arhitectură modulară, posibilitatea de a extinde funcționalitatea prin conectarea de pluginuri și implementarea subsystemelor cheie sub formă de pluginuri interschimbabile. În prezent, pentru Snort 3 sunt deja disponibile câteva sute de pluginuri, acoperind diverse domenii de aplicare, cum ar fi adăugarea de codec-uri personalizate, moduri de introspecție, metode de jurnalizare, acțiuni și opțiuni în reguli;
- Detecție automată a serviciilor active, eliminând necesitatea de a specifica manual porturile de rețea active.
- A fost adăugat suport pentru fișiere pentru o modificare rapidă a setărilor, în raport cu configurația implicită. Pentru simplificarea configurării, utilizarea snort_config.lua și SNORT_LUA_PATH a fost încetată.
A fost adăugat suport pentru reîncărcarea setărilor în timp real; - În cod a fost asigurată posibilitatea utilizării construcțiilor C++, definite în standardul C++14 (pentru compilare este necesar un compilator care suportă C++14);
- Adăugat un nou handler VXLAN;
- Îmbunătățit căutarea tipurilor de conținut în funcție de conținut folosind implementări alternative actualizate ale algoritmilor și ;
- Pornirea accelerată prin utilizarea mai multor fire pentru compilarea grupurilor de reguli;
- Adăugat un nou mecanism de jurnalizare;
- A fost adăugată un sistem de inspectare RNA (Real-time Network Awareness), care colectează informații despre resursele disponibile în rețea, gazde, aplicații și servicii.
Sursa: opennet.ro
