Un tempo, per proteggere la rete locale era sufficiente un comune firewall e programmi antivirus, ma contro gli attacchi degli hacker moderni e la recente proliferazione di malware, questo insieme non è più così efficace. Il vecchio firewall analizza solo le intestazioni dei pacchetti, permettendo o bloccando il loro passaggio in base a un insieme di regole formali. Non sa nulla del contenuto dei pacchetti e quindi non può riconoscere azioni apparentemente legittime da parte degli aggressori. I programmi antivirus non catturano sempre il malware, quindi spetta all'amministratore seguire l'attività anomala e isolare tempestivamente gli host infetti.
Esistono numerosi strumenti avanzati per proteggere l'infrastruttura IT dell'azienda. Oggi parleremo di sistemi di rilevamento e prevenzione delle intrusioni open source, che possono essere implementati senza l'acquisto di costosi hardware e licenze software.
Classificazione IDS/IPS
IDS (Intrusion Detection System) — un sistema progettato per registrare azioni sospette in rete o su un singolo computer. Tiene un registro degli eventi e avvisa il personale responsabile della sicurezza informatica. All'interno dell'IDS si possono identificare i seguenti elementi:
- sensori per monitorare il traffico di rete, vari registri, ecc.
- un sottosistema di analisi che rileva nei dati ricevuti segni di attacco malevolo;
- un archivio per la raccolta di eventi primari e risultati dell'analisi;
- una console di gestione.
Inizialmente, gli IDS venivano classificati in base alla loro posizione: potevano essere orientati alla protezione di singoli nodi (host-based o Host Intrusion Detection System — HIDS) o proteggere l'intera rete aziendale (network-based o Network Intrusion Detection System — NIDS). È importante menzionare i cosiddetti APIDS (Application protocol-based IDS): monitorano un insieme limitato di protocolli a livello applicativo per identificare attacchi specifici e non eseguono un'analisi approfondita dei pacchetti di rete. Questi prodotti di solito funzionano come proxy e vengono utilizzati per proteggere servizi specifici: server web e applicazioni web (ad esempio, scritti in PHP), server di database, ecc. Un rappresentante tipico di questa categoria è mod_security per il server web Apache.
Ci interessano soprattutto i NIDS universali che supportano un'ampia gamma di protocolli di comunicazione e la tecnologia di analisi profonda dei pacchetti DPI (Deep Packet Inspection). Monitorano tutto il traffico in transito a partire dal livello di collegamento e identificano una vasta gamma di attacchi di rete, nonché tentativi di accesso non autorizzato alle informazioni. Spesso, questi sistemi si caratterizzano per un'architettura distribuita e possono interagire con vari dispositivi di rete attivi. Va notato che molti dei moderni NIDS sono ibridi e combinano diversi approcci. A seconda della configurazione e delle impostazioni, possono affrontare compiti diversi — come la protezione di un singolo nodo o dell'intera rete. Inoltre, le funzioni IDS per i workstation sono state assunte dai pacchetti antivirus, che, a causa della diffusione di trojan mirati al furto di informazioni, si sono trasformati in firewall multifunzionali, in grado di svolgere anche compiti di rilevamento e blocco del traffico sospetto.
Inizialmente, gli IDS potevano solo rilevare attività di malware, il funzionamento delle scansioni delle porte o, per esempio, le violazioni delle politiche di sicurezza aziendali da parte degli utenti. Al verificarsi di un evento specifico, avvisavano l'amministratore, ma è diventato subito chiaro che riconoscere un attacco non era sufficiente: bisognava bloccarlo. Così gli IDS si sono trasformati in IPS (Intrusion Prevention Systems) — sistemi di prevenzione delle intrusioni in grado di interagire con i firewall.
Metodi di rilevamento
Le moderne soluzioni per la rilevazione e la prevenzione delle intrusioni utilizzano vari metodi per determinare l'attività dannosa, che possono essere suddivisi in tre categorie. Questo ci offre un ulteriore modo di classificare i sistemi:
- Gli IDS/IPS basati su firma identificano nel traffico determinati modelli o monitorano le variazioni nello stato dei sistemi per determinare un attacco di rete o un tentativo di infezione. Offrono una quasi assenza di falsi positivi e allarmi non corretti, ma non sono in grado di rilevare minacce sconosciute.
- I sistemi IDS che rilevano anomalie non utilizzano firme d'attacco. Essi identificano comportamenti anomali nei sistemi informativi (inclusi quelli nel traffico di rete) e possono rilevare persino attacchi sconosciuti. Questi sistemi generano un numero piuttosto elevato di falsi positivi e, se non configurati correttamente, possono paralizzare il funzionamento della rete locale.
- I sistemi IDS basati su regole operano secondo il principio: se FATTIBILITÀ allora AZIONE. In pratica, si tratta di sistemi esperti con basi di conoscenza — un insieme di fatti e regole di inferenza logica. Queste soluzioni richiedono un notevole sforzo per la configurazione e necessitano che l'amministratore abbia una comprensione dettagliata del funzionamento della rete.
Storia dello sviluppo degli IDS
L'era della rapida evoluzione di Internet e delle reti aziendali è iniziata negli anni '90, ma gli esperti si sono occupati delle tecnologie avanzate di sicurezza informatica già qualche anno prima. Nel 1986, Dorothy Denning e Peter Neumann pubblicarono il modello IDES (Intrusion Detection Expert System), che divenne la base della maggior parte dei moderni sistemi di rilevamento delle intrusioni. Utilizzava un sistema esperto per identificare attacchi noti, oltre a metodi statistici e profili di utenti/sistemi. IDES veniva eseguito su stazioni di lavoro Sun, monitorando il traffico di rete e i dati delle applicazioni. Nel 1993, venne lanciato NIDES (Next-Generation Intrusion Detection Expert System) — un sistema esperto di rilevamento delle intrusioni di nuova generazione.
Sulla base dei lavori di Denning e Neuman, nel 1988 è stata introdotta la sistema esperto MIDAS (Multics intrusion detection and alerting system), che utilizza P-BEST e LISP. Nello stesso periodo è stata sviluppata anche la Haystack, un sistema basato su metodi statistici. Un altro rilevatore statistico di anomalie, W&S (Wisdom & Sense), è stato creato l'anno successivo al Los Alamos National Laboratory. Lo sviluppo del settore stava avanzando rapidamente. Ad esempio, nel 1990, nel sistema TIM (Time-based inductive machine) era già implementata la rilevazione di anomalie utilizzando l'apprendimento induttivo su schemi di utilizzo sequenziali (linguaggio Common LISP). NSM (Network Security Monitor) per la rilevazione delle anomalie confrontava le matrici di accesso, mentre l'ISOA (Information Security Officer’s Assistant) supportava diverse strategie di rilevamento: metodi statistici, verifica del profilo e sistema esperto. Il sistema ComputerWatch, creato presso gli AT&T Bell Labs, utilizzava sia metodi statistici che regole per le verifiche; il primo prototipo di IDS distribuito, DIDS (Distributed intrusion detection system), è stato sviluppato dagli sviluppatori dell'Università della California già nel 1991, fu anche una sistema esperto.
Inizialmente, gli IDS erano proprietari, ma già nel 1998 il Laboratorio Nazionale Lawrence di Berkeley ha lanciato Bro (rinominato in Zeek nel 2018) - un sistema open source che utilizza un linguaggio di regole proprietario per analizzare i dati libpcap. Nel novembre dello stesso anno è stata rilasciata una forma di sniffer pacchetti basata su libpcap chiamata APE, che un mese dopo è stata rinominata Snort e successivamente è diventata un IDS/IPS completo. In quel periodo sono emerse anche molte soluzioni proprietarie.
Snort e Suricata
In molte aziende si preferiscono IDS/IPS gratuiti con codice sorgente aperto. A lungo, la soluzione standard è stata la già citata Snort, ma ora è stata superata dal sistema Suricata. Esaminiamo i loro vantaggi e svantaggi in modo più dettagliato. Snort combina i vantaggi del metodo basato su firme con la possibilità di rilevare anomalie in tempo reale. Anche Suricata consente di utilizzare metodi diversi dal riconoscimento degli attacchi tramite firme. Il sistema è stato creato da un gruppo di sviluppatori distaccatosi dal progetto Snort e supporta le funzioni IPS a partire dalla versione 1.4, mentre in Snort la possibilità di prevenzione delle intrusioni è stata introdotta successivamente.
La principale differenza tra i due prodotti popolari è che Suricata ha la possibilità di utilizzare la GPU per i calcoli in modalità IDS, oltre a una IPS più avanzata. Il sistema è progettato per il multithreading, mentre Snort è un prodotto a thread singolo. A causa della sua lunga storia e del codice ereditato, non sfrutta in modo ottimale le piattaforme hardware multiprocessore/multicore, mentre Suricata consente di elaborare il traffico fino a 10 Gbps su normali computer di uso generale. Si può discutere a lungo sulle somiglianze e le differenze tra i due sistemi, ma sebbene il motore di Suricata funzioni più velocemente, per canali non molto ampi questo non fa una differenza sostanziale.
Opzioni di distribuzione
Le IPS devono essere disposti in modo che il sistema possa monitorare i segmenti di rete a lui sotto controllo. Spesso si tratta di un computer dedicato, uno dei cui interface si collega dopo i dispositivi di confine e 'osserva' attraverso di essi le reti pubbliche non sicure (Internet). L'altro interface del IPS si collega all'ingresso del segmento protetto, in modo che tutto il traffico passi attraverso il sistema e venga analizzato. Nei casi più complessi, possono esserci più segmenti protetti: ad esempio, nelle reti aziendali spesso viene creata una zona demilitarizzata (DMZ) con servizi accessibili da Internet.

Un IPS di questo tipo può prevenire tentativi di scansione delle porte o di attacco tramite brute force, sfruttamento di vulnerabilità nei server di posta, nei server web o in script, nonché altre forme di attacchi esterni. Nel caso in cui i computer della rete locale vengano infettati da malware, l'IDS non permetterà loro di connettersi ai server botnet esterni. Per una protezione più seria della rete interna, sarà probabilmente necessaria una configurazione complessa con un sistema distribuito e switch gestiti costosi, in grado di fare il mirroring del traffico per l'interfaccia IDS collegata a uno dei suoi porti.
Le reti aziendali sono spesso soggette ad attacchi distribuiti di negazione del servizio (DDoS). Anche se i moderni IDS sono in grado di affrontarli, la configurazione sopra menzionata difficilmente sarà utile qui. Il sistema riconosce l'attività dannosa e blocca il traffico parassitario, ma per farlo i pacchetti devono passare attraverso una connessione Internet esterna e raggiungere la sua interfaccia di rete. A seconda dell'intensità dell'attacco, la capacità del canale di trasmissione dati potrebbe non reggere il carico e l'obiettivo degli aggressori sarà raggiunto. Per casi del genere, consigliamo di implementare un IDS su un server virtuale con una connessione Internet decisamente più performante. È possibile collegare il VPS alla rete locale tramite VPN e successivamente configurare la routing di tutto il traffico esterno attraverso di essa. In caso di attacco DDoS, non sarà necessario instradare i pacchetti attraverso la connessione con il fornitore, poiché saranno bloccati sull'host esterno.

Problema di selezione
Identificare un leader tra i sistemi gratuiti è molto difficile. La scelta dell'IDS/IPS dipende dalla topologia della rete, dalle funzioni di protezione necessarie, così come dalle preferenze personali dell'amministratore e dalla sua disposizione a impegnarsi nella configurazione. Snort ha una storia più lunga ed è meglio documentato, anche se trovare informazioni su Suricata non è difficile. In ogni caso, per familiarizzare con il sistema sarà necessario fare un certo sforzo, che alla fine sarà ripagato: gli IDS/IPS hardware commerciali e hardware-software sono abbastanza costosi e non sempre rientrano nel budget. Non vale la pena rimpiangere il tempo speso, perché un buon amministratore migliora sempre le proprie competenze a spese del datore di lavoro. In questa situazione, tutti ne escono vincitori. Nel prossimo articolo, esamineremo alcune opzioni di distribuzione di Suricata e confronteremo in pratica un sistema più moderno con il classico IDS/IPS Snort.
Fonte: habr.com
