Universit a degli Studi di Camerino Scuola di Scienze e...

41
Universit` a degli Studi di Camerino Scuola di Scienze e Tecnologie Corso di Laurea in Informatica (Classe L-31) Intrusion detection, intrusion prevention and malware detection Laureando Relatore Luca Tasso Dott. Fausto Marcantoni Matricola 093468 A.A. 2018/2019

Transcript of Universit a degli Studi di Camerino Scuola di Scienze e...

  • Università degli Studi di Camerino

    Scuola di Scienze e Tecnologie

    Corso di Laurea in Informatica (Classe L-31)

    Intrusion detection, intrusion prevention and

    malware detection

    Laureando Relatore

    Luca Tasso Dott. Fausto MarcantoniMatricola 093468

    A.A. 2018/2019

  • Indice

    1 Introduzione 5

    1.1 Il contesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.2 Obiettivo della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.3 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2 Accenni di teoria 7

    2.1 Minacce informatiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.1.1 Fasi di un’intrusione . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.1.2 Attacchi di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.1.3 Malware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.1 Struttura di un IDS . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.2 Metodo di rivelazione . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.3 HIDS e NIDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.2.4 IDS e IPS, rivelamento e prevenzione . . . . . . . . . . . . . . . . 12

    3 Analisi dei programmi 13

    3.1 Software esaminati e criteri di scelta adottati . . . . . . . . . . . . . . . 13

    3.1.1 Informazioni generali . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.1.2 Sensore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.1.3 Coordinazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.2 Menzioni d’onore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.2.1 Snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.2.2 Suricata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.2.3 Zeek (Bro) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.2.4 OSSEC/Wazuh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.3 Perchè Security Onion? . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4 Applicazione di Security Onion in laboratorio 23

    4.1 Dettagli tecnici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4.2 Setup monitor (IDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.2.1 Struttura della rete . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.2.2 Configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    4.2.3 Test di rivelazione . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.3 Setup inline (IPS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.3.1 Struttura della rete . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.3.2 Configurazione interfacce . . . . . . . . . . . . . . . . . . . . . . 31

    4.3.3 Configurazione server DHCP . . . . . . . . . . . . . . . . . . . . 31

    4.3.4 Installazione di Suricata in modalità inline . . . . . . . . . . . . 32

  • Indice

    4.3.5 Configurazione, firewall, IP forwarding e IP masquerade . . . . . 334.3.6 Test di prevenzione . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    5 Conclusioni 375.1 Considerazioni su IDS e IPS . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Considerazioni su Security Onion . . . . . . . . . . . . . . . . . . . . . . 37

    Bibliografia 39

    4

  • 1. Introduzione

    1.1 Il contesto

    Come società ci affidiamo sempre di più ai sistemi informatici per ogni aspetto dellanostra vita quotidiana. Ci permettono di condividere informazioni, di usufruire o offrireservizi, di gestire attività private, Insieme alla loro importanza cresce anche la necessitàdi proteggere questi sistemi da manomissioni esterne, dalle intrusioni e da softwaremalevole (malware).Esiste una categoria di applicazioni software capace di individuare, gestire e agire controqueste minacce: i sistemi di rilevazione e prevenzione delle intrusioni e dei malware.

    1.2 Obiettivo della tesi

    L’obiettivo prefissato da questa tesi è di studiare le funzionalità offerte dai software diintrusion detection, intrusion prevention e malware detection attualmente in circola-zione.Svolta questa indagine, una delle applicazioni esaminate sarà scelta per essere testatain un ambiente di laboratorio.

    1.3 Struttura della tesi

    Il primo capitolo riassume alcune nozioni sulle intrusioni informatiche e sui sistemi dirilevazione e prevenzione: la loro definizione, la loro struttura e come vengonoo distinti.Nel secondo capitolo è presentata la ricerca svolta sui programmi IDS e IPS, i critericon cui quesata è stata svolta e la descrizione di alcune delle applicazioni più importantinel settore.Infine, nel terzo ed ultimo capitolo è riportato il lavoro svolto in laboratorio su unodei software precedentemente studiati, Security Onion. Verrà mostrata prima la suaconfigurazione come IDS e poi come IPS.

  • 2. Accenni di teoria

    2.1 Minacce informatiche

    Un’intrusione nell’ambito dell’informatica descrive qualsiasi tentativo di compromettereo superare le misure di sicurezza di un computer o di una rete.Lo scopo di questi attacchi è quello di raccogliere informazioni sensibili, ottenere ilcontrollo del bersaglio oppure sabotarlo, temporaneamente o permanentemente.L’intrusione può essere gestita dall’intervento umano diretto o da programmi e scriptautomatici. In entrambi i casi per ottenere l’accesso si fa leva sulle vulnerabilità diun sistema, ovvero quelle falle nella sicurezza che possono permettere ad un’attacantel’esecuzione di codice arbitrario o di ottenere privilegi da amministratore. La loroesistenza è dovuta a bug o sviste non intenzionali nella progettazione dei programmi,sistemi operativi e protocolli di comunicazione in uso.

    2.1.1 Fasi di un’intrusione

    Un’intrusione segue solitamente queste fasi:

    • Ricognizione: l’attaccante studia il bersaglio prima dell’intrusione vera e propriaper accumulare quante più informazioni possibili; questa è anche la fase in cui sicerca di ottenere credenziali di accesso tramite tecniche di social engineering ophishing;

    • Intrusione e analisi delle vulnerabilità: l’attaccante si connette alla rete del ber-saglio e tramite strumenti di scansione cerca di scoprire quali vulnerabilità sonopresenti nel sistema raccogliendo informazioni sugli host attivi, i sistemi operativi,i programmi, i protocolli ed i servizi che ciascuno di questi offre;

    • Sfruttamento della vulnerabilità: attraverso la vulnerabilità trovata, l’attaccanteinizia ad installare malware per aprire nuove vulnerabilità ed ad ottenere maggioriprivilegi d’accesso, spostandosi anche lateralmente sulla rete da un host all’altroper raggiungere il suo obiettivo;

    • Attacco: l’attaccante ha ottenuto il controllo del bersaglio e può quindi portarea termine lo scopo dell’intrusione, come rubare dati sensibili o installare unospecifico malware;

    • Pulizia: anche se non necessario, molti attaccanti si preoccupano di cancellaretutte le tracce dell’intrusione una volta compiuta; spesso inoltre lasciano nellemacchine compromesse una backdoor, una porta d’accesso diretto da utilizzarein una futura intrusione.

  • Minacce informatiche

    2.1.2 Attacchi di rete

    Questi che seguono sono alcuni esempi di tecniche usate per l’analisi, intrusione eattacco di un macchina bersaglio collegata alla rete:

    • ARP Spoofing: il protocollo ARP (Address Resolution Protocol) è usato per tro-vare indirizzi MAC in una rete locale, quando il suo indirizzo IP è già noto. Unhost mittente di solito invia in broadcast una richiesta ARP nella rete per richie-dere l’indirizzo MAC di un host con un particolare indirizzo IP, il quale rispondealla richiesta. Tramite lo spoofing di una richiesta ARP fasulla dall’esteno dellarete, il traffico di rete è ridiretto verso un altra destinazione con le informazioniche potrebbero esere utili all’attaccante.

    • Brute force attacks: un attacco in cui si tenta di forzare un accesso inviando ognipossibile combinazione di password nella speranza di indovinare quella corretta.

    • Buffer overflow attack: attacco che sfrutta errori nel software che avvengonoquando si inserisce in un buffer più dati di quanti possa contenerne, scrivendoquelli in eccesso negli spazi di memoria adiacenti. Questo tipo di vulnerabilitàpuò essere usata per causare un crash del sistema o per sovrascrivere la memoriain modo da far eseguire comandi specifici.

    • CGI attacks: attacchi che usano il protocollo CGI (Common Gateway Interface)per eseguire sui webserver comandi di applicazioni esterne (comandi console disolito) sfruttando le vulnerabilità di quest’ultime.

    • DDoS attack: un DoS (Denial of Service) è un attacco informatico in cui si fannoesaurire deliberatamente le risorse di un sistema informatico che fornisce a deiclient un servizio, come un sito web o un web server, fino a renderlo incapace dierogarlo. Un DDoS (Distributed Denial of Service) funziona in modo analogo, mail traffico in entrata che inonda la vittima proviene da molte finti diverse. Sonomolto difficili da fermare poichè non c’è una singola fonte di attacco da bloccaree si rischia di rifiutare anche richieste da utenti legittimi. Per non esporsi diretta-mente, gli attaccanti infettano preventivamente un elevato numero di computer,detti zombie, con dei malware che permettono di controllarli remotamente.

    • HTTP obfuscation: alcuni attacchi ai web server sono eseguiti offuscando i ca-retteri URL (usando per esempio numeri esadecimali), i quali danno accesso nonautorizzato all’attaccante.

    • ICMP Stoms: grandi quantità di messaggi ICMP possono indicare trasmissionimaleintenzionate (che mirano ad esempio a fare una scansione alla ricerca degiindirizzi IP attivi).

    • IP Fragmentation: il protocollo IP permette l’invio un pacchetto di dimensionieccessive spezzandolo in pacchetti più piccoli. Molti router, firewall e IDS nonsono in grado di analizzare questi frammenti accuratamente, quindi questa fun-zione può essere abusata da un attaccante per inviare codice malevole senza essereindividuati. OS fingerprinting: processo per determinare il sistema operativo diun host nella rete.

    • Port scanning: tecnica per sondare un server o un host al fine di stabilire qua-li porte siano in ascolto sulla macchina. Permette di identificare i servizi inesecuzione e quindi conoscere le loro vulnerabilità.

    8

  • Minacce informatiche

    • SMB probes: SMB (Server Message Block) è un protocollo usato per condividerefile, stampanti, porte seriali e comunicazioni di varia natura tra diversi nodi diuna rete. Ascoltando i messaggi nella rete (probe, sonda) è possibile vederecomunicazioni attive per poi tentare un relay attack (intercettare una richiesta,prendere le credenziali e spacciarsi per il mittente).

    • SSL Evasion: un attaccante può provare a bypassare i dispositivi di sicurezzalanciando un attacco tramite un tunnel SSL criptato dato che questi non vengonocontrollati dai dispositivi di sicurezza.

    • SYN Flood attacks: l’attaccante invia molti pacchetti di SYN per iniziare unacomunicazione TCP con un server senza poi inviare alcun messaggio seguente,sprecando cos̀ı le risorse di memoria che sono allocate per queste richieste dalserver.

    2.1.3 Malware

    Definiamo come malware ogni software, codice eseguibile o script malevolo installatoin un computer per interferire intenzionalmente con le sue attività, per raccogliere datisensibili o per ottenere accesso non autorizzato a quello o ad altri sistemi.I malware possono infettare una macchina nascondendosi in diversi mezzi (email, pro-grammi, siti web, supporti di memoria,. . . ) in attesa di essere eseguiti da utenti ignari.Come detto nelle sezioni precedenti, l’installazione di un malware può essere il fineultimo di un’intrusione o uno strumento per proseguirla.Assumono forme diverse a seconda del loro scopo. Queste sono alcune delle più note:

    • Adware: software che presenta al suo interno inserzioni pubblicitarie indesiderateed invadenti.

    • Backdoor: programma installato in un sistema per aggirare le sue misure disicurezza ed avere accesso remoto al computer infetto.

    • Flooder: usati per attaccare reti di computer interconnessi, generano grandiquantità di traffico per eseguire un DDoS.

    • Kit (virus generator): strumenti per generare automaticamente nuove varianti diuno stesso virus e rendere cos̀ı più difficile agli antivirus riconoscere la sua firma.

    • Keylogger: registra gli input da tastiera di un sistema compromesso, in modo dapoter rubare password e credenziali.

    • Logic bomb: fa scattare un’azione al verificarsi di una certa condizione

    • Rabbit: programmi che creano copie di sè stessi in un breve lasso di tempo peresaurirne le risorse.

    • Ransomware: malware che impedisce l’accesso dell’utente al computer criptan-do i file o bloccando il sistema per poi chiedere all’utente un pagamento per larimozione.

    • Rootkit: insieme di software utilizzati per ottenere controllo di un computer comeutente amministratore (chiamato “root” nei sistemi Unix-like), quindi con tutti ipermessi. Crea una via d’accesso remoto alla macchina mentre allo stesso temponasconde le proprie tracce, per evitare di essere individuato e mantenere cos̀ı ilcontrollo più a lungo.

    9

  • Minacce informatiche

    • Spyware: raccoglie informazioni di nascosto e le trasmette ai destinatari inte-ressati. Le informazioni trafugate variano dalla cronologia dei siti visitati allepassword e chiavi crittografiche di un utente.

    • Trojan horse: programma all’apparenza regolare che contiene funzionalità ag-giuntive non previste e dannose.

    • Virus: codice che infetta altri programmi e propaga copie di sé stesso ad altriprogrammi ed altre macchine. Oltre a riprodursi può anche avere lo scopo dieseguire codice dannoso all’avvio del programma infettato.

    • Worm: programma che propaga copie di sé stesso su altri computer. A differenzadei virus, non ha bisogno di attaccarsi ad altri programmi.

    • Zombie: una volta installato su una macchina, attende un comando dall’attac-cante. Queste macchine infette vengono tipicamente usate in massa per generareuna eccessiva quantità di richieste ad un bersagio sulla rete, un attacco noto comeDDoS.

    10

  • IDS

    2.2 IDS

    Un intrusion detection system (IDS, sistema di rivelazione delle intrusioni) è un soft-ware o un dispositivo in grado di rilevare intrusioni in un computer o una rete informa-tica. Ogni tentativo di intrusione viene registrato e notificato all’amministratore dellasicurezza in modo che possa poi prendere i neccessari provvedimenti.

    2.2.1 Struttura di un IDS

    La struttura di un IDS è descritta da questi quattro componenti:

    • Sensori o agenti: Strumenti per la raccolta di informazioni sul sistema da difen-dere.

    • Motore: analizza i dati ricevuti dai sensori, cerca corrispondenze con le firmecontenute nel database e scopre tracce di potenziali minacce.

    • Database: collezione di regole per identificare le violazioni su cui si basa il motore

    • Console: interfaccia per monitorare le allerte segnalate e lo stato del sistema.

    2.2.2 Metodo di rivelazione

    Gli IDS sono classificati in due categorie a seconda della metodo che usano per rilevarele intrusioni: il rivelamento basato sulle fime e quello basato sulle anomalie.

    Ogni attacco lascia una traccia del proprio operato, una firma (signature) che ciconsente di riconoscerlo. Il rivelamento basato sulle firme (detto signature based detec-tion o misuse signature based) sfrutta un database di questi pattern, confrontandoli conogni evento registrato alla ricerca di attacchi noti. Questo metodo è di facile applicazio-ne, molto accurato e veloce, tuttavia non è in grado di riconoscere minacce sconosciute(zero-day) o nuove varianti di altre già note. Per questo motivo è importante per questotipo di sistemi mantenere il database delle firme constantemente aggiornato.

    L’altro approccio, il rivelamento tramite anomalie (detto anomaly based detection obehaviour based detection), confronta il traffico della rete e lo stato degli host con il lorocomportamento ordinario, costruito monitorando le regolari attività, le connessioni direte, host ed utenti lungo un certo periodo di tempo. Ogni anomalia da questo profiloviene classifica come una potenziale pericolo da approfondire. Questa tecnica, che faspesso uso di meccanismi di machine learning, protegge anche dalle minacce non ancoraclassificate, però richiede più tempo per essere pienamente operativa e tende a segnalarepiù frequentemente falsi positivi.

    Dato che i vantaggi e gli svantaggi dei due approcci si compensano, la soluzionedi molti IDS è quella di adottare una combinazione ibrida di entrambi per fornire unaprotezione più completa contro ogni tipo di attacco.

    11

  • IDS

    2.2.3 HIDS e NIDS

    Esiste anche una classificazione degli IDS in base all’oggetto della loro analisi e a dovevengono applicati: si dividono in sistemi di rivelamento delle intrusioni negli host e insistemi di rivelamento delle intrusioni nella rete.

    Un sistema di rivelamento delle intrusioni negli host (HIDS, host intrusion detec-tion system) supervisiona e raccoglie le caratteristiche dei singoli host. Consistono inprogrammi installati su ciascuna macchina che osservano lo stato del sistema e le suevariazioni attraverso log, integrità dei file, processi attivi, accesso e privilegi degli uten-ti, monitoraggio delle porte socket ed altro. I dati raccolti possono poi essere trasferitiad un’unità server centrale per l’analisi. A prima vista si potrebbe dire che HIDS edi programmi antivirus svolgano le stesse mansioni, tuttavia gli HIDS non cercano solopotenziali infezioni malware nel computer ma controllano anche il funzionamento ditutti i programmi sia nella norma.

    Un sistema di rivelamento delle intrusioni nelle reti (NIDS, network intrusion de-tection system) cattura il traffico della rete in uno o più specifici segmenti della reteattraverso dei sensori e succcessivamente analizza le attività di applicazioni e protocolliper riconoscere potenziali problemi. Non solo cerca nei singoli pacchetti tracce di mal-ware, ma può anche tenere traccia del flusso del traffico ed individuare un’aumento diattività nella rete che può essere riconducibile ad un attacco.

    Un NIDS può prevenire gli attacchi portati dall’esterno della rete e quelli che miranoa testare le vulnerabilità di tutti gli host della rete (ad esempio un port scanning). Però,allo stesso tempo, non è in grado di osservare minacce che hanno origine all’interno dellarete stessa o esaminare il contenuto di comunicazioni criptate end-to-end, dove invecegli HIDS hanno piena consapevolezza. Analogamente a quanto detto in precedenzariguardo alla distinzione tra sistemi di rivelazione signature based ed anomaly based,una difesa totale di una rete e degli host è possibile solo combinando sia HIDS cheNIDS.

    2.2.4 IDS e IPS, rivelamento e prevenzione

    Alcuni IDS non si limitano a monitorare e a notificare le intrusioni rilevate, ma hannoanche la capacità di intervenire attivamente per fermarle. Un sistema del genere vienechiamato intrusion prevention system (IPS, sistema di prevenzione delle intrusioni).A differenza di un IDS, gli IPS sono collocati come unico punto d’accesso tra la reteda proteggere e quella esterna (configurazione inline) e può operare in autonomia,scartando i pacchetti o bloccando l’esecuzione dei processi che fanno scattare l’allarme.Non si deve tuttavia pensare che l’intervento umano non sia necessario. L’attività di unIPS, se mal gestita, può andare ad interrompere il legittimo traffico della rete, quindiun amministratore delle sicurezza deve essere comunque presente per controllare che leazioni preventive siano state attuate solo contro valide violazioni.

    12

  • 3. Analisi dei programmi

    3.1 Software esaminati e criteri di scelta adottati

    Ora che è stato mostrato come si differenziano gli IDS e quali tipi di minacce preven-gono, verranno presi in esame una selezione di software inerenti alla rivelazione e allaprevenzione delle intrusioni. Le caratteristiche di ogni programma sono state riassuntee divise in tre tabelle in base ai criteri di valutazione.I dati per questa ricerca sono stati raccolti dalla documentazione di ciascun programmao dal loro utilizzo.

    3.1.1 Informazioni generali

    Questa tabella contiene le informazioni generali di ogni software che descrivono il ruoloda loro svolto nell’ambito IDS/IPS e l’ambiente in cui possono operare.

    • Tipo di software: descrizione del ruolo ricoperto dal software;

    • Interfaccia: come l’utente interagisce con il programma, dove l’interazione puòavvenire attraverso riga di comando (CLI), interfaccia grafica (GUI), o accedendoremotamente a quest’ultima tramite browser web (Web GUI o WGUI);

    • HIDS/NIDS: come è stato discusso nelle sezioni precedenti, un IDS può essereclassificato come NIDS se focalizza sull’osservazione del traffico di rete o comeHIDS se monitora lo stato delle singole macchine host;

    • Compatibilità: specifica su quali sistemi operativi è possibile installare il software;nel caso sia esso stesso un SO verrà indicato come “soluzione autonoma”.

  • Software esaminati e criteri di scelta adottati

    Figura 3.1: Informazioni generali

    14

  • Software esaminati e criteri di scelta adottati

    3.1.2 Sensore

    La seconda tabella riassume le capacità di rivelazione di ciascun programma. L’efficaciadi un IDS può essere misurata da quanti aspetti di una rete o di un host esso osserva.

    • Network packet monitor: il software raccoglie le informazioni del traffico datiin una rete; è in grado di rIconosce i protocolli, la sorgente e la destinazionedei messaggi, indirizzi IP, indirizzi MAC, tipo di connessione (UDP, TCP) epuò analizzare anche il payload dei pacchetti non criptati; tiene inoltre sottoosservazione su quali socket sono in atto tentativi di connessione, rilevando quindiattività di ricognizione (per esempio un port scan) che tentano di scoprire qualiservizi sono in ascolto sulla macchina;

    • Integrità dei file: controlla se i file nel sistema sono stati modificati confrontandolicon un checksum o un hash generato precedentemente e salvato in un database;

    • Monitor dei log: osserva i log del sistema alla ricerca di attività fuori dall’ordinarioo cambiamenti nelle impostazioni che possono renderlo più vulnerabile;

    • Monitor privilegi utenti / rilevamento rootkit: tiene traccia degli accessi effettuatidagli utenti e controlla che non vi siano in atto azioni illecite per ottenere privilegida amministratore tramite appositi software (rootkit);

    • Monitor dei processi: osserva i processi attivi sulla macchina; allerta se rileval’esecuzione di programmi ritenuti malevoli.

    15

  • Software esaminati e criteri di scelta adottati

    Figura 3.2: Capacità del sensore

    16

  • Software esaminati e criteri di scelta adottati

    3.1.3 Coordinazione

    Nell’ultima tabella sono elencate le caratteristiche utili all’IDS/IPS per l’intregazionecon altri strumenti e per l’automatizzazione.

    • Correlazione: l’analisi delle minacce osserva dati da diverse risorse (es. Snort edOSSEC) e cerca legami tra gli eventi registrati; alcune intrusioni infatti generanoallerte che non sono motivo di allarme se prese singolarmente;

    • Gestione centralizzata di nodi/host multipli: capacità di ricevere o condividereinformazioni da più sensori; fondamentale se si ha intenzione di monitorare piùnodi NIDS o host HIDS nella rete senza doverli controllare singolarmente;

    • Notifica allerte: il programma è in grado di inviare notifiche delle allerte diret-tamente all’amministratore tramite email, SMS, app su smartphone o qualsiasialtro canale di comunicazione esterno;

    • IPS: il sistema può essere configurato per rispondere attivamente ai tentativi diattacco.

    17

  • Software esaminati e criteri di scelta adottati

    Figura 3.3: Elementi per la coordinazione

    18

  • Menzioni d’onore

    3.2 Menzioni d’onore

    Prima di mostrare il software scelto per l’applicazione pratica è bene accennare breve-mente ad alcuni tra i programmi esaminati meritevoli di menzione.Questi sono tra i più usati nel settore per l’identificazione delle minacce e, proprio perla loro popolarità, esistono numerose applicazioni di terze parti che cooperano con loroo che ne migliorano le funzionalità.

    3.2.1 Snort

    Il de facto standard dei NIDS. È un IPS open-sourcegratuito che analizza il traffico in tempo reale.Può operare in tre modalità: packet sniffer, in cui leggee riporta sulla console i pacchetti di rete; packet logger,simile alla modalità sniffer ma registra l’output in unfile di log; intrusion detection, che esegue l’analisi deltraffico dati e fa scattare l’allarme in base a delle regoledefinite dall’utente.La sintassi con cui sono scritte queste regole è cos̀ı versatile da permettere sia metodidi rivelamento basati sulle firme sia basati sulle anomalie. Inoltre consente a Snort diagire come IPS in base a quale azione è associata come risposta a ciascuna regola. Gliutenti meno esperti possono ugualmente beneficiare di questo IDS grazie alle regoleofferte da un’enorme ed attiva comunità online.Infine va ricordato che Snort di base funziona tramite riga di comando, ma esistononumerosi strumenti open-source che consentono di configurarlo tramite GUI (Snorby,BASE, Squil, Anaval, etc.).

    3.2.2 Suricata

    Suricata è la principale alternativa a Snort. Il maggiorvantaggio di Suricata rispetto a Snort è che raccogliedati a livello applicativo: invece di esaminare i singoliframmenti TCP di una comunicazione, Suricata atten-de di riceverli tutti per poi rimetterli insieme in ununico pacchetto prima dell’analisi. È quindi in gradosia di monitorare l’attività dei protocolli a livello di re-te, come IP, TLS, ICMP, TCP e UDP, sia di esaminarein tempo reale il contenuto e la struttura del trafficodi diverse applicazioni di rete, incluse FTP, HTTP eSMB.Un’altra differenza tra i due programmi è la capacitàdi Suricata di distribuire il carico dell’elaborazione supiù processori, per ottimizzare le prestazioni.Suricata si avvale dello stesso linguaggio di regole di Snort e condividono l’integrazionecon molti degli stessi software di terze parti, come Snorby, BASE, Squil e Anaval.Anche questo IDS è gratuito e open-source.

    19

  • Menzioni d’onore

    3.2.3 Zeek (Bro)

    Zeek, precedentemente conosciuto come “Bro”, è unapiattaforma open-source per la sicurezza della rete.Zeek riduce i flussi di pacchetti in arrivo in eventi dialto livello e applica script personalizzabili per deter-minare il necessario corso d’azione. Questo semplicedesign permette di configurare una lista di allerte intempo reale, eseguire arbitrariamente programmi surichiesta e catalogare i dati raccolti per analisi future.Opera a livello applicativo come Suricata.Lo strumento di analisi di Zeek è il Bro event engi-ne. Questo tiene traccia di eventi di rilievo, come lacreazione di una nuova connessione TCP o una richie-sta HTTP. Ogni evento è memorizzato, cos̀ı che questaparte del sistema sia imparziale dalle regole di allerta. Fornisce solamente una lista dieventi da cui l’analisi potrà rilevare ripetizioni di azioni o diverse attività sospette ge-nerate dallo stesso account utente.La disamina dei dati degli eventi è effettuata dagli script delle regole. Una condizione diallerta provoca un’azione, quindi Bro è anche un IPS, oltre ad essere un analizzatore deltraffico di rete. Gli script delle regole possono essere personalizzati, ma generalmenteoperano seguendo un framework standard che include confronto con firme, rivelazionedi anomalie e analisi delle connessioni.Zeek può tenere traccia di attività HTTP, DNS, FTP e monitorare il traffico SNMP,permette di controllare cambiamenti nelle configurazioni del dispositivo e condizioni diSNMP Trap. Ai livelli più bassi, può fare attenzione ai DDoS syn attacks e rilevareport scanning.

    3.2.4 OSSEC/Wazuh

    OSSEC (Open Source HIDS Security) è l’HIDS pereccellenza. Controlla le firme checksum dei file di logper rilevare possibili interferenze. Su Windows tienetraccia di ogni alterazione ai registri. Sui sistemi basatisu UNIX, monitora ogni tentativo di ottenere permessida utente root.L’applicazione principale può sorvegliare la macchina su cui è installato oppure diversihost su cui è configurato un client OSSEC, consolidando i dati in un’unica console. I filedi log controllati da OSSEC includono dati relativi a FTP, mail e server web. Monitoraanche i log eventi del sistema operativo, delle tabelle di firewall, degli antivirus e deltraffico dati.Il comportamento di OSSEC è determinato dal set di regole con cui viene installato.Wazuh è un altro HIDS nato prendendo OSSEC come base e sviluppando nuove regoleche ne migliorano le capacità di rivelazione. Tra queste sono incluse anche delle regoleper monitorare i controlli PCI DSS e gli ambienti Amazon AWS. Wazuh ha integratoOSSEC ed Elasticsearch, fornendo allerte ed interfacce per il monitoring più complete.

    20

  • Perchè Security Onion?

    3.3 Perchè Security Onion?

    Il software infine scelto per l’applicazione pratica è Security Onion, una distribuzionedi Linux focalizzata sulla rilevazione delle intrusioni e sul monitoragio della sicurezza.L’obiettivo dei suoi creatori era quello di unire tutti i principali IDS open-source, quindiliberamente disponibili e modificabili, in un unico sistema operativo. Security Onionoffre protezione sia come NIDS grazie all’inclusione di Snort, Suricata e Bro sia comeHIDS grazie a Wazuh. In aggiunta, tutte le allerte prodotte da queste sorgenti sonoorganizzate insieme da Logstash, la loro correlazione viene studiata da Elasticsearch edinfine i risultati prodotti sono visualizzabii su una delle interfacce WGUI a disposizione(Kibana, Sguil, Squert).La complessa configurazione di questo sistema è affidata ad una semplice procedurad’installazione guidata.Data la natura open-source del progetto, gli utenti più esperti possono comunquepersonalizzare Security Onion avvalendosi della sua wiki online e di tutte le risorseriguardanti i singoli componenti del sistema.

    21

  • 4. Applicazione di SecurityOnion in laboratorio

    4.1 Dettagli tecnici

    In questo capitolo verrà mostrato come è stato configurato Security Onion e quali testsono stati fatti con il programma. La versione del software utilizzata è la 16.04.5.4.Il computer su cui è stato installato il sistema operativo possiede due interfacce di retecos̀ı denominate:

    • enp1s0 (Intel Corporation 82572EI GIgabit Ethernet Controller);

    • enp3s0 (Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI ExpressGigabit Ethernet Controller).

    Security Onion è stato prima testato in modalità monitor IDS per osservare passi-vamente il traffico di rete e in seguito in modalità inline IPS per bloccare le minaccerilevate.Si vedranno ora in dettaglio queste due configurazioni.

  • Setup monitor (IDS)

    4.2 Setup monitor (IDS)

    4.2.1 Struttura della rete

    In questo scenario Security Onion è installato su un computer all’interno della retelocale da tenere sotto osservazione. L’indirizzo della rete è 90.147.42.0/24 e tutti glihost al suo interno sono collegati ad un solo switch.Le due interfacce di rete della macchina utilizzata sono anche loro collegate a questoswitch.

    L’interfaccia enp1s0 è connessa alla porta SPAN dello switch. Una porta SPAN èun’interfaccia di un dispositivo di rete impostata specificatamente per trasmettere unacopia di tutto il traffico delle altre interfacce. L’interfaccia enp1s0 assume quindi ilruolo di “interfaccia di cattura“ e potrà osservare ogni comunicazione della rete senzainterrompere o rallentare il flusso di dati.Per ricevere correttamente il traffico della porta SPAN, l’interfaccia di cattura è settatain modalità promiscua, in cui riceve pacchetti in entrata senza inviarne alcuno in uscitae senza ottenere un indirizzo IP. Ciò avviene per garantire che i messaggi in transitosulla connessione tra porta SPAN e interfaccia di cattura appartengano solo al trafficoche si intende analizzare.

    L’altra interfaccia del computer, enp3s0, è impostata con un indirizzo IP statico(90.147.42.249) ed è collegata allo switch come ogni altro host della rete.Tramite questa connessione, Security Onion comunica con il gateway verso la reteesterna e riceve le richieste per accedere alla sua interfaccia tramite browser.Definiamo questa interfaccia come “interfaccia di controllo”.

    24

  • Setup monitor (IDS)

    4.2.2 Configurazione

    La procedura di installazione di Security Onion come sistema operativo non differiscemolto da quella di altre distribuzioni Linux basate su Ubuntu e, una volta conclusa, sipuò iniziare la configurazione guidata del sistema tramite l’icona “Setup” sul desktop.Il programma chiederà innanzitutto di configurare il file “/etc/network/interfaces” chedescrive come sono impostate le interfacce di rete. Si dovrà specificare quale interfacciasarà quella di controllo ed la modalità di assegnazione del suo indirizzo IP, tramiteDHCP o tramite assegnazione manuale. Nel caso si scelga la seconda opzione, lo scriptchiederà di scegliere per questa interfaccia l’indirizzo IP, la subnet mask, il gateway,gli indirizzi dei server DNS ed il nome dominio della rete. Dopo questo passaggio sisceglierà tra le altre interfacce della macchina quelle di cattura. Questo conclude laconfigurazione delle interfacce di rete, che entrerà in funzione al successivo riavvio.Questo che segue è il contenuto del file “/etc/network/interfaces” creato da questaprocedura guidata:

    Come si può vedere, l’interfaccia enp3s0 è l’interfaccia di controllo, con un indirizzoIP statico all’interno della rete 90.147.42.0/24. L’interfaccia enp1s0 è invece quella dicattura ed è per questo motivo impostata in modalità promiscua, senza un indirizzoIP.

    25

  • Setup monitor (IDS)

    Avviando di nuovo l’applicazione “Setup” si passerà alla fase successiva della con-figurazione di Security Onion, ovvero la scelta tra “evalutation mode” e “productionmode”. Ciascuna di queste due modalità presenta opzioni differenti applicabili a diversicasi d’uso.

    La “evalutation mode” è pensata per il monitoraggio di piccole reti attraverso unasingola interfaccia di cattura della stessa macchina in cui è installato Security Onion;

    La “production mode” è progettata per ambienti di produzione più complessi, inparticolare quelli distribuiti. Security Onion è installato su diverse macchine che fun-gono da sensori e riferiscono i dati da loro raccolti ad un nodo master, nel quale avvienela fase di analisi e generazione delle allerte.

    Per la prova svolta in laboratorio è stata scelta la “evalutation mode” con enp1s0come unica interfaccia osservata. Appena scelta la modalità, il programma esegueautomaticamente la configurazione dei componenti di Security Onion: Snort, Suricata,Bro, Wazuh, Logstash, Elasticsearch, Sguil, Squert e Kibana. Per questi ultimi tre èrichiesta anche la creazione di un utente e di una password per accedere ai loro servizitramite connessione remota. La procedura guidata di configurazione è ora terminata eSecurity Onion inizierà l’analisi del traffico di rete.

    Per una più precisa attivazioni delle regole è consigliato modificare nei file di con-figurazione di Snort e Suricata una variabile d’ambiente, che include gli indirizzi dellereti protetti dai due programmi, aggiungendo l’indirizzo della rete 90.147.42.0/24.Quindi, la seguente linea nel file ”/etc/nsm/cipolla-enp1s0/snort.conf ”:

    ipvar HOME_NET [192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12]

    diventa:

    ipvar HOME_NET [192.168.0.0/16, 10.0.0.0/8,172.16.0.0/12, 90.147.42.0/24]

    26

  • Setup monitor (IDS)

    Mentre, nel file “/etc/nsm/cipolla-enp1s0/suricata.yaml” la linea da modifacare è:

    HOME_NET: \[192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12]"

    in:

    HOME_NET: \[192.168.0.0/16, 10.0.0.0/8,172.16.0.0/12, 90.147.42.0/24]"

    Ora che il sistema è configurato è possibile osservare lo stato della rete, degli host ele notifche di possibile intrusioni tramite una delle tre interfacce grafiche: Sguil, Squerte Kibana.

    Figura 4.1: Interfaccia grafica di Sguil

    27

  • Setup monitor (IDS)

    4.2.3 Test di rivelazione

    La corretta generazione delle allerte è stata dimostrata tramite le seguenti prove:

    testmyids.com: un semplice sistema usato dagli amministratori di rete per verifi-care il funzionamento di un IDS. Accedendo a questo sito si riceve una risposta httpcontenente il seguente testo:

    uid=0(root) gid=0(root) groups=0(root)

    Questa stringa combacia con una regola di default di snort che cerca messaggi conall’interno la parola “root”. Questa è una vecchia regola che l’ottenimento di maggioriprivilegi utenti andato a buon fine, quando un attacante esegue i comandi come id owhoami per verificare di avere accesso come utente “root”.Sulla console di Squil, quando un host all’interno della rete locale tenta di accede-re al sito, compaiono le seguenti notifiche, che confermano l’individuazione correttadell’evento:

    Scan nmap: Nmap è una nota applicazione nel campo della sicurezza informatica.È impiegata per effettuare port scanning su un host o su un range di indirizzi. È ingrado di ipotizzare anche quale sistema operativo sia utilizzato dal computer bersaglio.Una macchina all’esterno della rete locale esegue il seguente comando nmap per scoprireil sistema operativo e le porte in ascolto di un host bersaglio all’interno:

    nmap -sV -O 90.147.42.249

    L’azione genera queste allerte sull’interfaccia di Sguil:

    28

  • Setup monitor (IDS)

    Scan vulnerabilità OpenVAS : OpenVAS è un software gratuito per la scansionedelle vulnerabilità e della loro gestione. Scegliendo un bersaglio è possibile ottenere unelenco di tutte le sue falle, che possono quindi essere corrette da un amministratoredella sicurezza o sfruttate da un attaccante.Con un host all’interno della rete locale è stato eseguita una scansione di tipo “OpenVASDefault” verso il bersaglio esterno “pros.unicam.it”.Di seguito sono mostrati il rapporto della scansione di OpenVAS e le allerte generateda Security Onion:

    Figura 4.2: Rapporto di OpenVAS

    Figura 4.3: Allerte generate dalla scansione con OpenVAS

    29

  • Setup inline (IPS)

    4.3 Setup inline (IPS)

    4.3.1 Struttura della rete

    Nella sezione precedente è stata mostrata la configurazione di Security Onion comeIDS, la dimostrazione del suo funzionamento e la sua relativa facilità d’uso.Sfruttare Security Onion come IPS invece non è altrettanto semplice. I creatori diquesto sistema operativo hanno voluto concentrare i loro sforzi sulle funzionalità dirivelazione e lasciare agli utenti più esperti il settaggio manuale per le operazioni diprevenzioni, per le quali il sistema possiede già tutti gli strumenti necessari.

    Innanzitutto è necessario cambiare come è organizzata la rete. Il setup di monitorvisto precedentemente infatti non è adatto per la prevenzione, in quanto Security Onionriceve una copia del traffico dalla porta SPAN mentre quello originale rimane libero dicontinuare.

    Per operare come IPS Security Onion dovrà essere collegato alla rete in modalitàinline: la macchina su cui è installato farà da tramite tra la rete esterna e quella interna,svolgendo anche il ruolo di gateway e server DHCP per gli host interni. Tutto il trafficoin entrata ed in uscita dalla rete locale confluisce all’interno di Security Onion, doveviene analizzato prima di essere inoltrato verso la corretta interfaccia. Un pacchettoall’interno di una comunicazione che viola una delle regole di sicurezza può esserescartato e segnalato all’amministratore del sistema.

    In questo scenario l’interfaccia enp1s0 è collegata allo switch della rete localeda proteggere ed offre servizi come server DHCP, port forwarding, NAT (NetworkAddress Translation). L’indirizzo di questa rete è 192.168.1.0/24, mentre l’indirizzodell’interfaccia enp1s0 è 192.168.1.1 .

    L’interfaccia enp3s0 si connette invece alla rete 90.147.42.0/24, sempre con indirizzoIP statico, e tramite di essa può raggiungere Internet.

    30

  • Setup inline (IPS)

    4.3.2 Configurazione interfacce

    Per configurare Security Onion come IPS verrà utilizzato come punto di partenza il si-stema impostato nella sezione “Setup monitor (IDS)”. Prima di proseguire è consigliatofermare le attività di rivelazione utilizzando da terminale il comando:

    sudo so-sensor-stop

    Non esiste una procedura guidata in Security Onion per impostare le interfacce nellamodalità appena descritta, quindi è necessario modificare il file ”/etc/network/interfa-ces” manualmente con un editor di testo. Questi sono i settaggi inseriti:

    Una volta modificato il file è necessario rendere effettive questi cambiamenti riav-viando le interfacce con questo comando:

    sudo systemctl restart networking

    4.3.3 Configurazione server DHCP

    DHCP (Dynamic Host Configuration Protocol) è un protocollo client/server che per-mette ad un server di assegnare automaticamente un indirizzo IP ed altri parametri diconfigurazione (come subnet mask e gateway di default) ad un client della rete.

    Per utilizzare Security Onion come server DHCP è necessaria l’installazione delpacchetto “isc-dhcp-server” attraverso il comando:

    sudo apt-get install isc-dhcp-server

    Dopo l’installazione, si sceglie su quale interfaccia di rete offrire il servizio DHCPmodificando il file ”/etc/default/isc-dhcp-server”. Al suo interno vanno modifcate edaggiunte queste linee:

    INTERFACES="enp1s0"DHCPARGS="enp1s0"

    31

  • Setup inline (IPS)

    La configurazione del range di indirizzi offerto e le informazioni da trasmettere aiclient vanno inserite nel file “/etc/dhcp/dhcpd.conf ”:

    option domain-name-servers 193.204.8.33, 193.204.8.34;default-lease-time 3600;max-lease-time 7200;authoritative;

    subnet 192.168.1.0 netmask 255.255.255.0 {option routers 192.168.1.1;option subnet-mask 255.255.255.0;range 192.168.1.2 192.168.1.254;

    }

    Terminata la sua impostazione, questi comandi avviano e verificano il correttofunzionamento del server DHCP:

    sudo systemctl start isc-dhcp-serversudo systemctl enable isc-dhcp-serversudo systemctl status isc-dhcp-server

    Le richieste dei client DHCP arrivano sulla porta 67/UDP. Il firewall deve essereaggiornato per permettere la loro ricezione eseguendo:

    sudo ufw enablesudo ufw allow 67/udpsudo ufw reload

    4.3.4 Installazione di Suricata in modalità inline

    Per questa prova è stato scelto Suricata come motore di analisi del traffico. Per la“evalutation mode” quello di default è Snort e per sostituirlo con Suricata si devemodificare nel file ”/etc/nsm/securityonion.conf ” la linea:

    ENGINE=snort

    in:

    ENGINE=suricata

    L’utilizzo di Suricata come IPS inline richiede di reinstallare e compilare il program-ma aggiungendo il supporto per NFQUEUE. In iptables, l’applicazione per la gestionedel firewall in Linux, NFQUEUE è una destinazione per i pacchetti accettati da unaregola, in cui vengono inseriti in una coda in attesa di essere utilizzati da un’altraapplicazione sulla stessa macchina. I prossimi passaggi permetteranno di impostare ilfirewall in modo che invii tramite NFQUEUE tutti i dati in arrivo sulle interfacce direte a Suricata, il quale scoverà possibili minacce, scarterà i pacchetti incriminati epasserà gli altri di nuovo ad iptables affinchè siano inoltrati.

    32

  • Setup inline (IPS)

    Dopo aver verificato i dovuti prerequisiti e dopo aver scaricato il suo codice sorgente,sono stati eseguiti questi comandi da terminale per installare Suricata in modalitàinline:

    tar -xvzf "suricata-4.1.tar.gz"cd "suricata-4.1"./configure --enable-nfqueue --enable-pfring \

    --prefix=/usr --sysconfdir=/etc --localstatedir=/varmakesudo make installsudo ldconfig

    Per generare messaggi di log quando un pacchetto viene droppato a causa di una re-gola vanno apportate queste modifiche al file “/etc/nsm/cipolla-enp1s0/suricata.yaml”:

    ...

    -drop:alerts: yesflow: all

    ...

    -drop:enabled: yesfilename: drop.logappend: yes

    ...

    4.3.5 Configurazione, firewall, IP forwarding e IP masquerade

    IP forwarding è l’operazione che permette ad un computer di funzionare da gatewaytra due o più rete IP. È un compito tipicamente svolto da un router, ma in questoscenario Security Onion dovrà essere in grado di inoltrare i dati dalla rete interna aquella esterna e viceversa. Per abilitare l’IP forwarding si usa il comando:

    sudo sysctl -w net.ipv4.ip_forward=1

    Ora si dovranno aggiungere tre regole al firewall usando iptables:

    sudo iptables -t nat -I POSTROUTING -o enp3s0 -j MASQUERADE

    Questa regola applica IP masquerading, una tecnica di NAT (Network AddressTranslation) a ogni comunicazione destinata in uscita dall’interfaccia enp3s0 ). In altreparole, tutti i pacchetti generati della rete locale diretti all’esterno avranno il loroindirizzo IP nascosto e al suo posto ne verrà mostrato un altro (quello dell’interfacciaenp3s0 ).

    33

  • Setup inline (IPS)

    sudo iptables -I FORWARD -i enp3s0 -o enp1s0 -m state-{state RELATED,ESTABLISHED -j NFQUEUE

    La seconda regola permette di trasmettere a NFQUEUE i pacchetti in arrivo sull’in-terfaccia enp3s0 ) e diretti verso l’interfaccia enp1s0, ovvero quelli provenienti dalla reteesterna e destinati quella interna. L’opzione “-m state –state RELATED, ESTABLI-SHED” Indica che non sono ammesse nuove connessioni attraverso le due interfacce,ma solo le connessioni create in precedenza e quelle legate a connessioni già attive.

    sudo iptables -I FORWARD -i enp1s0 -o enp3s0 -j NFQUEUE

    L’ultima regola consente l’inoltrazione dei pacchetti dall’interfaccia enp1s0, all’in-terfaccia enp3s0 ), quindi dall’interno verso l’esterno. Come nella precedente regola ipacchetti accettati vengono trasferiti su NFQUEUE.

    Security Onion è ora pronto ad analizzare il traffico tra le due reti e a prevenireattivamente le minacce. Rimane solo da avviare suricata in modalità inline e riattivaregli altri servizi di rilevazione:

    sudo suricata -c /etc/nsm/cipolla-enp1s0/suricata.yaml -q 0sudo so-sensor-start

    4.3.6 Test di prevenzione

    Tutte le regole in uso da Security Onion per il riconoscimento delle intrusioni prevedonocome azione correttiva solo la loro allerta. Per una risposta più attiva alle minacce è ne-cessario modificare le regole affinchè i pacchetti in violazione vengano scartati piuttostoche limitarsi alla loro notificazione. Nuove regole ed i cambiamenti di quelle esistentida parte dell’utente vanno inserite nel file ”/etc/nsm/rules/local.rules”

    Come prova del funzionamento di Security Onion come IPS sono state aggiunte alfile appena menzionato le regole che bloccano i pacchetti delle allerte generate dalleprove “testmyids.com” e “Scan nmap” viste in precedenza.

    34

  • Setup inline (IPS)

    Le due operazioni vengono riconoscute come minacce, Security Onion scarta consuccesso il loro traffico e registra l’evento nel file di log ”/var/log/nsm/drop.log”.

    35

  • 5. Conclusioni

    5.1 Considerazioni su IDS e IPS

    IDS ed IPS sono certamenti strumenti formidabili, tuttavia non bisogna pensare chesiano soluzioni che garantiscono, con la loro stessa presenza, la totale sicurezza diuna rete. Il loro vero valore è nell’enorme quantità di informazioni che offrono adun amministratore di sistema, il quale deve sapere come valutare la gravità di ogniinfrazione e fronteggiare tempestivamente tutti gli attacchi di rete.Anche nel caso degli IPS, sebbene siano in grado di agire autonomamente per prevenireun intrusione, non deve mai mancare la supervisione umana ed è richiesta una maggiorecura nella scelta di impostazione del sistema, per evitare che regole troppo stringenticausino perdite di dati in un traffico legittimo.

    5.2 Considerazioni su Security Onion

    Security Onion si è dimostrato una soluzione completa come IDS e IPS, ma allo stessotempo è di facile uso e didatticamente utile per gli amministratori di sicurezza menoesperti. Le sue capacità sono più estese di quanto mostrato in questo lavoro e, con piùtempo a disposizione, sarebbe stato possibile approfondirne alcune, come la sua configu-razione come sistema di rilevazione distribuito o l’utilizzo di Wazuh per il monitoraggiocentralizzato degli host.

  • Bibliografia

    [1] Samanvay Gupta, Types of Malware and its Analysis, International Journal ofScientific and Engineering Research Volume 4, Issue 1, January 2013

    [2] Hung-Jen Liao, Chun-Hung Richard Lin, Ying-Chih Lin, Kuang-Yuan Tung, Intru-sion detection system: A comprehensive review, Journal of Network and ComputerApplications 36, 2013

    [3] Security Onion, Security Onion Documentation, URL https://securityonion.readthedocs.io/en/latest/, 2019

    [4] Snort, Snort User Manual, URL https://snort-org-site.s3.amazonaws.com/production/document_files/files/000/000/142/original/snort_manual.pdf, 2018

    [5] Suricata, Suricata User Guide, URL https://suricata.readthedocs.io/en/suricata-4.1.3/, 2016

    [6] Mark Pomerleau, The five stages of a cyber intrusion, URLhttps://defensesystems.com/articles/2015/10/21/navy-the-five-stages-of-a-cyber-intrusion.aspx, 2015

    [7] Stephen Cooper, 2019 Best Intrusion Detection Sy-stems, URL https://www.comparitech.com/net-admin/network-intrusion-detection-tools/, February 2019

    https://securityonion.readthedocs.io/en/latest/https://securityonion.readthedocs.io/en/latest/https://snort-org-site.s3.amazonaws.com/production/document_files/files/000/000/142/original/snort_manual.pdfhttps://snort-org-site.s3.amazonaws.com/production/document_files/files/000/000/142/original/snort_manual.pdfhttps://snort-org-site.s3.amazonaws.com/production/document_files/files/000/000/142/original/snort_manual.pdfhttps://suricata.readthedocs.io/en/suricata-4.1.3/https://suricata.readthedocs.io/en/suricata-4.1.3/https://defensesystems.com/articles/2015/10/21/navy-the-five-stages-of-a-cyber-intrusion.aspxhttps://defensesystems.com/articles/2015/10/21/navy-the-five-stages-of-a-cyber-intrusion.aspxhttps://www.comparitech.com/net-admin/network-intrusion-detection-tools/https://www.comparitech.com/net-admin/network-intrusion-detection-tools/

  • Ringraziamenti

    Al professor Marcantoni, per tutto il suo aiuto e la sua disponibilità durante lastesura di questa tesi.

    Alla mia famiglia, per avermi sostenuto in questo cammino, per quanto lungo edifficile.

    Ai miei amici, per avermi regalato i momenti più felici di questi anni e per avermidato forza in quelli peggiori.

    Non sono in grado di esprimere a parole quanto tutto questo supporto abbiasignificato per me, quanto mi senta fortunato di avere avuto cos̀ı tante persone

    straordinarie al mio fianco.

    Grazie.

    IntroduzioneIl contestoObiettivo della tesiStruttura della tesi

    Accenni di teoriaMinacce informaticheFasi di un'intrusioneAttacchi di reteMalware

    IDSStruttura di un IDSMetodo di rivelazioneHIDS e NIDSIDS e IPS, rivelamento e prevenzione

    Analisi dei programmiSoftware esaminati e criteri di scelta adottatiInformazioni generaliSensoreCoordinazione

    Menzioni d'onoreSnortSuricataZeek (Bro)OSSEC/Wazuh

    Perchè Security Onion?

    Applicazione di Security Onion in laboratorioDettagli tecniciSetup monitor (IDS)Struttura della reteConfigurazioneTest di rivelazione

    Setup inline (IPS)Struttura della reteConfigurazione interfacceConfigurazione server DHCPInstallazione di Suricata in modalità inlineConfigurazione, firewall, IP forwarding e IP masqueradeTest di prevenzione

    ConclusioniConsiderazioni su IDS e IPSConsiderazioni su Security Onion

    Bibliografia