Strumenti IDS open source: Confronto tra Suricata, Snort, Bro (Zeek), Linux

Originariamente scritto da Joe Schreiber, riscritto e modificato da Guest Blogger, ri-editato e ampliato da Rich Langston

Se avete bisogno di monitorare gli host o le reti che li collegano per identificare le ultime minacce, ci sono alcuni ottimi strumenti open source di rilevamento delle intrusioni (IDS) a vostra disposizione.

Elenco degli strumenti IDS open source

  • Snort
  • Suricata
  • Bro (Zeek)
  • OSSEC
  • Samhain Labs
  • OpenDLP

Tecniche di rilevamento delle minacce

Ci sono due tecniche principali di rilevamento delle minacce: rilevamento basato sulla firma e rilevamento basato sulle anomalie. Queste tecniche di rilevamento sono importanti quando si decide se scegliere un motore di rilevamento basato sulla firma o uno basato sulle anomalie, ma i fornitori sono diventati consapevoli dei vantaggi di ciascuno, e alcuni li stanno incorporando entrambi nei loro prodotti. Imparare i loro punti di forza e di debolezza permette di capire come possono completarsi a vicenda.

Strumenti IDS basati sulle firme

Con un IDS basato sulle firme, noto anche come IDS basato sulla conoscenza, ci sono regole o modelli di traffico dannoso conosciuti che vengono ricercati. Una volta trovata una corrispondenza con una firma, viene inviato un avviso all’amministratore. Questi avvisi possono scoprire problemi come malware noti, attività di scansione della rete e attacchi contro i server.

Gestione unificata della sicurezza

Un’unica piattaforma che combina le funzionalità di sicurezza essenziali, tra cui IDS, rilevamento delle risorse e gestione dei log SIEM.

Per saperne di più

Strumenti IDS basati sulle anomalie

Con un IDS basato sulle anomalie, ovvero un IDS basato sul comportamento, l’attività che ha generato il traffico è molto più importante del carico utile consegnato. Uno strumento IDS basato sulle anomalie si basa su linee di base piuttosto che sulle firme. Cercherà attività insolite che si discostano dalle medie statistiche delle attività precedenti o delle attività viste in precedenza. Per esempio, se un utente si collega sempre alla rete dalla California e accede ai file di ingegneria, se lo stesso utente si collega da Pechino e guarda i file delle risorse umane, questa è una bandiera rossa.

Entrambe le tecniche di rilevamento basate sulle firme e sulle anomalie sono in genere distribuite nello stesso modo, anche se si potrebbe (e la gente lo ha fatto) creare un IDS basato sulle anomalie su dati di netflow raccolti dall’esterno o informazioni sul traffico simili.

Svantaggi e svantaggi

Meno falsi positivi si verificano con il rilevamento basato sulla firma, ma solo le firme note vengono segnalate, lasciando un buco di sicurezza per le nuove minacce ancora da identificare. Più falsi positivi si verificano con il rilevamento basato sulle anomalie, ma se configurato correttamente cattura le minacce precedentemente sconosciute.

Network-Based IDS (NIDS)

I sistemi di rilevamento delle intrusioni basati sulla rete (NIDS) operano ispezionando tutto il traffico su un segmento di rete al fine di rilevare attività dannose. Con i NIDS, una copia del traffico che attraversa la rete viene consegnata al dispositivo NIDS facendo il mirroring del traffico che attraversa gli switch e/o i router.

Un dispositivo NIDS monitora e avvisa sui modelli di traffico o sulle firme. Quando gli eventi dannosi sono segnalati dal dispositivo NIDS, vengono registrate informazioni vitali. Questi dati devono essere monitorati per sapere che un evento è accaduto. Combinando queste informazioni con gli eventi raccolti da altri sistemi e dispositivi, è possibile vedere un quadro completo della postura di sicurezza della vostra rete. Si noti che nessuno degli strumenti qui correlati ai log da soli. Questa è generalmente la funzione di un Security Information and Event Manager (SIEM).

Snort

Ah, il venerabile maialino che ama i pacchetti. Molte persone ricorderanno il 1998 come l’anno in cui è uscito Windows 98, ma è stato anche l’anno in cui Martin Roesch ha rilasciato per la prima volta Snort. Anche se Snort non era un vero IDS all’epoca, quello era il suo destino. Da allora è diventato lo standard de-facto per gli IDS, grazie ai contributi della comunità.

È importante notare che Snort non ha una vera interfaccia grafica o una console amministrativa facile da usare, anche se sono stati creati molti altri strumenti open source per aiutare, come BASE e Sguil. Questi strumenti forniscono un front end web per interrogare e analizzare gli avvisi provenienti da Snort IDS.

Riassunto su Snort

  • Lunga vita del prodotto senza segni di scomparsa
  • Grande supporto della comunità
  • Molti front-end amministrativi
  • Troppo collaudato e testato
  • Grande supporto della comunità
  • Secondo il sito di Snort, le caratteristiche includono:
    • Design modulare:
    • Multi-threading for packet processing
    • Shared configuration and attribute table
    • Use a simple, scriptable configuration
    • Plugin framework, make key components pluggable (and 200+ plugins)
    • Auto-detect services for portless configuration
    • Auto-generate reference documentation
    • Scalable memory profile
    • Rule parser and syntax (support sticky buffers in rules)
  • Documentation:
    • Ruleset Updates
    • Snort FAQ
    • A Snort Cheatsheet
    • A plugin for Snort is available for AlienVault USM Anywhere.

Suricata

What’s the only reason for not running Snort? If you’re using Suricata instead. Although Suricata’s architecture is different than Snort, it behaves the same way as Snort and can use the same signatures. What’s great about Suricata is what else it’s capable of over Snort. Fa così tanto di più, che probabilmente merita un post dedicato.

Ci sono strumenti open source di terze parti disponibili per un front end web per interrogare e analizzare gli avvisi provenienti da Suricata IDS.

Suricata Summary

  • Multi-Threaded – Snort funziona con un singolo thread che significa che può utilizzare solo una CPU (core) alla volta. Suricata può eseguire molti thread in modo da poter sfruttare tutte le cpu/cores che avete a disposizione. C’è stata molta controversia sul fatto che questo sia vantaggioso, Snort dice di no e alcuni benchmark dicono di sì.
  • Costruito nell’accelerazione hardware – Lo sapevi che puoi usare le schede grafiche per ispezionare il traffico di rete?
  • Estrazione di file – Qualcuno sta scaricando malware? Puoi catturarlo direttamente da Suricata e studiarlo.
  • LuaJIT – Sono un sacco di lettere sì, ma è anche un motore di scripting che può essere utilizzato con informazioni dai pacchetti ispezionati da Suricata. Questo rende la corrispondenza complessa ancora più facile e si può anche guadagnare efficienza combinando più regole in un unico script.
  • Registra più dei pacchetti – Suricata può prendere e registrare cose come le certificazioni TLS/SSL, le richieste HTTP, le richieste DNS
  • Grande supporto della comunità
  • Secondo il sito web di Suricata, le caratteristiche includono:
    • Alte prestazioni – multi-threaded, base di codice scalabile
    • Multipurpose Engine – NIDS, NIPS, NSM, analisi offline, ecc.
    • Supporto multipiattaforma – Linux, Windows, macOS, OpenBSD, ecc.
    • Supporto TCP/IP moderno che include un motore di flusso scalabile, IPv4/IPv6 completo, flussi TCP e deframmentazione pacchetti IP
    • Parser di protocollo – decodifica pacchetti, decodifica livello applicazione
    • Motore HTTP – parser HTTP, request logger, keyword match, ecc.
    • Autodetect services for portless configuration
    • Lua scripting (LuaJIT)
    • Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more
    • Built-in hardware acceleration (GPU for network sniffing)
    • File extraction
  • Documentation:
    • Suricata User Guide
    • User and Developer Docs
    • Suricata FAQ

Bro (renamed Zeek)

Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a signature and anomaly-based IDS. Its analysis engine will convert traffic captured into a series of events. An event could be a user login to FTP, a connection to a website or practically anything. The power of the system is what comes after the event engine and that’s the Policy Script Interpreter. Questo motore di policy ha un proprio linguaggio (Bro-Script) e può fare alcuni compiti molto potenti e versatili.

Se sei un analista e ti sei chiesto “Come posso automatizzare parte del mio lavoro?” allora questo è lo strumento che stavi cercando. Volete scaricare i file visti sul filo, sottoporli all’analisi del malware, notificarvi se viene trovato un problema, quindi mettere in lista nera la fonte e spegnere il computer dell’utente che lo ha scaricato? Volete tracciare i modelli di utilizzo di un utente dopo che ha contattato un IP da un database di reputazione?

Se non siete un analista, questo strumento avrà una curva di apprendimento impegnativa. Poiché è stato sviluppato come strumento di ricerca, inizialmente non si è concentrato su cose come le GUI, l’usabilità e la facilità di installazione. Mentre fa numerose cose interessanti fuori dalla scatola, molte di queste cose non sono immediatamente utilizzabili e possono essere difficili da interpretare.

Non c’è un’interfaccia grafica nativa, ma ci sono strumenti open source di terze parti disponibili per un front end web per interrogare e analizzare gli avvisi provenienti da Bro-IDS. Consider ELK stack.

Bro Summary

  • Complicated to set up
  • Can detect patterns of activity other IDS systems can not
  • Very extensible architecture
  • Good community support
  • According to Bro’s website, features include:
    • Comprehensive traffic logging and analysis
    • Powerful and flexible event-driven scripting language (Bro scripts)
    • Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS
    • DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support
    • Fully passive traffic analysis with network tap or monitoring port
    • Real-time and offline analysis
    • Cluster-support for large-scale deployments
    • Comprehensive IPv6 support
    • IDS-style pattern matching
    • File extraction
    • Extensible architecture
    • Analysts can use Bro for automation (file extraction, malware analysis, blacklisting, track usage patterns, research work, etc.)
  • Documentazione:
    • Manuale Bro
    • Bro Docs
    • Bro FAQ

Host-based IDS (HIDS)

I sistemi di rilevamento delle intrusioni basati sull’host (HIDS) funzionano monitorando l’attività che avviene internamente su un host endpoint. Le applicazioni HIDS (ad esempio, software antivirus, software di rilevamento dello spyware, firewall) sono tipicamente installate su tutti i computer connessi a Internet all’interno di una rete, o su un sottoinsieme di sistemi importanti, come i server. Questo include quelli in ambienti cloud pubblici.

Gli HIDS cercano attività insolite o nefaste esaminando i log creati dal sistema operativo, cercando le modifiche apportate ai file chiave del sistema, tracciando il software installato e, a volte, esaminando le connessioni di rete di un host.

I primi sistemi HIDS erano semplici, di solito si limitavano a creare hash MD5 dei file su base ricorrente e a cercare discrepanze, utilizzando un processo chiamato monitoraggio dell’integrità dei file (FIM). Da allora, gli HIDS sono diventati molto più complessi ed eseguono una varietà di funzioni di sicurezza utili e continueranno a crescere. Questo include le moderne capacità di Endpoint Response (EDR).

Se la vostra organizzazione ha un mandato di conformità, come per PCI DSS, HIPAA, o ISO 27001, allora potreste richiedere agli HIDS di dimostrare il monitoraggio dell’integrità dei file (FIM) così come il monitoraggio attivo delle minacce.

OSSEC

Nel regno degli strumenti HIDS open source completi, c’è OSSEC e non molto altro. La grande notizia è che OSSEC è molto bravo in quello che fa ed è piuttosto estensibile.

OSSEC gira su quasi tutti i principali sistemi operativi e include un’architettura di gestione e registrazione basata su client/server, che è molto importante in un sistema HIDS. Dal momento che l’HIDS locale può essere compromesso nello stesso momento in cui lo è il sistema operativo, è molto importante che le informazioni di sicurezza e forensi lascino l’host e siano archiviate altrove il prima possibile per evitare qualsiasi tipo di manomissione o offuscamento che impedirebbe il rilevamento.

L’architettura client/server diOSSEC incorpora questa strategia fornendo avvisi e log a un server centralizzato dove l’analisi e la notifica possono avvenire anche se il sistema host viene messo offline o compromesso. Un altro vantaggio dell’architettura client/server è la capacità di gestire centralmente gli agenti da un singolo server. Dal momento che le implementazioni possono variare da una a migliaia di installazioni, la capacità di apportare modifiche globali da un server centrale è fondamentale per la sanità mentale di un amministratore.

Quando si discute di OSSEC (e altri HIDS) c’è spesso l’ansia di installare un agente o un software su server critici. Va notato che l’installazione di OSSEC è estremamente leggera (l’installer è sotto 1MB) e la maggior parte dell’analisi avviene effettivamente sul server, il che significa che OSSEC consuma pochissima CPU sull’host. OSSEC ha anche la capacità di inviare i log del sistema operativo al server per l’analisi e la memorizzazione, il che è particolarmente utile sulle macchine Windows che non hanno meccanismi di registrazione nativi e multipiattaforma.

Riassunto su OSSEC:

  • Agenti per quasi tutti i sistemi operativi
  • Agente compilato per Windows
  • Tante funzionalità oltre al solo FIM
  • Processo di installazione rigido ma semplice
  • Buon supporto della comunità
  • Secondo il sito web di OSSEC, le caratteristiche includono:
    • File integrity monitoring (FIM)
    • Log monitoring collects, analyzes, and correlates system logs
    • Rootkit detection, which searches for system modifications similar to rootkits
    • Active response can invoke automated response action when alerts are triggered
    • Client/Server architecture
    • Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)
    • Supports compliance requirements for FIM
    • Real-time and configurable alerts
    • Integration with current infrastructure
    • Centralized server for mass policy management
    • Agent and agentless monitoring
  • A plugin for OSSEC is available for AlienVault USM Anywhere. To learn more, read here.
  • Documentation:
    • OSSEC Docs
    • OSSEC FAQ
    • OSSEC Github

Samhain Labs

Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. Ma è molto il caso di “stesso ma diverso” quando si confrontano i due. Samhain ha la stessa architettura client/server ma non la richiede come OSSEC. L’agente stesso ha una varietà di metodi di output, uno dei quali è un repository centrale di log, ma ne include altri come Syslog, Email e RDBMS. C’è anche un’opzione per utilizzare Samhain come applicazione indipendente su un singolo host.

Un’altra differenza importante è dove avviene l’analisi. A differenza di OSSEC, l’elaborazione avviene sul client stesso, il che ha implicazioni operative. From a practical point of view, care must be taken it doesn’t overload a busy server and interfere with operations. From the security point of view, having the brains on the endpoint invites hackers to deactivate the tool so warnings aren’t issued.

Samhain Summary:

  • Harder to install
  • Windows clients require Cygwin
  • Great FIM functionality
  • More flexible client
  • Okay community support
  • According to Samhain’s website, features include:
    • File integrity monitoring (FIM)
    • Log file monitoring and analysis
    • Rootkit detection
    • Port monitoring
    • Detection of rogue SUID executables and hidden processes
    • Multi-platform support
    • Centralized logging and maintenance
    • Client/Server architecture (mostly)
    • Variety of output methods (e.g. syslog, email RDBMS)
    • Can be used as a standalone application on a single host
  • Documentation:
    • Samhain Docs
    • Samhain User Manual
    • Samhain FAQ

File Integrity Monitoring (solo FIM)

Molti strumenti di monitoraggio dell’integrità dei file (FIM) vengono categorizzati con HIDS poiché FIM comporta il rilevamento delle minacce, quindi parliamo di loro. FIM è uno strumento che convalida l’integrità dei file del sistema operativo e delle applicazioni specificate confrontando le versioni correnti con versioni valide conosciute, avvisando l’amministratore ogni volta che vengono modificate. Questo è importante perché le modifiche sui server critici spesso segnalano che si è verificata una violazione. Se vi state ancora chiedendo “cos’è il monitoraggio dell’integrità dei file e perché ne ho bisogno?”, abbiamo un intero post sul blog che spiega perché.

Alcuni FIM sono attivamente sviluppati mentre altri non vengono aggiornati da anni. Open Source Tripwire e AFICK sono due opzioni di prodotti FIM open-source. Per i sistemi standalone basati su Unix, considerate la possibilità di controllare l’integrità dei file alla ricerca di rootkit, come chkrootkit, rkhunter o Unhide. Il meccanismo unico di ricerca dei rootkit rende queste soluzioni degne di considerazione. Sono disponibili anche soluzioni proprietarie per Windows.

La piattaforma Unified Security Management (USM) di AlienVault fornisce capacità FIM integrate per guidare le tecnologie di rilevamento delle minacce e accelerare gli sforzi di conformità alla cybersecurity. Per saperne di più su come AlienVault USM utilizza FIM per proteggere le tue risorse, leggi qui.

Pensieri finali

Spero che questa guida ti abbia aiutato a capire alcune delle tue opzioni open source. Come mostrato qui, non c’è mai stata così tanta scelta o un insieme più ampio di strumenti disponibili. Con un’attenta pianificazione e un piano per la manutenzione continua, è possibile costruire una rete sicura con questi strumenti. Con un’attenta pianificazione e un piano per la manutenzione continua, è possibile costruire una rete sicura con questi strumenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *