No results found
Oggigiorno la delicatezza del ruolo delle reti, sia locali, sia Internet, pone come imperativa l’adozione di soluzioni di monitoraggio e protezione dei dati che vi transitano. In questo contesto nasce il concetto di NETWORK SECURITY MONITORING (NSM) con il quale si intende il monitoraggio costante di tutti gli eventi di sicurezza che si verificano all’interno di un’architettura di rete. Questo monitoraggio assicura il controllo di quanto accade nella rete stessa e permette il pronto intervento in caso di eventi che ne mettano a repentaglio la sicurezza.
Tuttavia è importante sapere che nessuna soluzione di NSM può rivelarsi efficace se non viene affiancata dall’analisi e dall’interpretazione dei risultati forniti dalla stessa.
Soluzioni di questo tipo richiedono un’accurata fase di configurazione al fine di evitare di monitorare elevate quantità di dati ridondanti, oppure di analizzare dati non significativi ai fini delle esigenze di monitoraggio.
Strumenti del genere offrono un’ottima visibilità all’interno del contesto di rete preso in esame, la quale, però, può risultare dannosa se non viene gestita correttamente; per “dannosa” si intende che produrre un’analisi indiscriminata del traffico dati può sia impegnare risorse e sovraccaricare l’infrastruttura di rete, sia confondere le idee facendo perdere tempo, se non si ha la conoscenza della materia e non si filtra bene l’azione dello strumento. Questa è una delle fasi più complesse dell’utilizzo degli strumenti di Network Security Monitoring.
Il mercato offre molteplici soluzione di Network Security Monitoring, alcune open source ed altre, proprietarie, a pagamento.
In questo tutorial vi introdurremo qualcosa di particolare che è la distribuzione Linux Security Onion (https://securityonion.net/) la quale racchiude molteplici strumenti per l’NSM.
Security Onion è una distribuzione Linux che offre tutta una serie di strumenti dedicati al Network Security Monitoring, preinstallati e quasi pronti all’uso; quasi pronti significa che occorre configurare ciascuno di essi affinché sia funzionale alle nostre esigenze.
Gli strumenti messi a disposizione da Security Onion appartengono a varie categorie ed operano (come mostrato nell’immagine seguente) ciascuno su uno strato, secondo un modello “a cipolla” dal quale prende spunto il nome Onion che in inglese significa, appunto, cipolla. Tutti questi strumento interagiscono tra di loro.
La caratteristica di Security Onion è di avere strumenti con funzionalità differenti, ma tutte mirate allo stesso obiettivo: il monitoraggio della rete.
Al centro di questo modello si trovano i dati dell’utente e all’esterno le varie operazioni messe in atto, ossia la mitigazione del rischio (MITIGATE) il rilevamento delle minacce (DETECT) la protezione (GUARD) la prevenzione (PREVENT) e poi la sicurezza della rete (NETWORK SECURITY) e la sicurezza fisica (PHISICAL SECURITY). Ciascuno strato del modello corrisponde a un livello di monitoraggio.
Gli strumenti compresi sono quelli riportati nell’immagine seguente.
Troviamo quindi cose del genere:
Semplificando, possiamo schematizzare le categorie (e quindi il funzionamento di Security Onion) come segue:
La lista dei tool è davvero ampia e ben fornita, giacché vi si trovano: abcip, argus, barnyard2, bittwist, Bro, chaosreader, Daemonlogger, driftnet, dsniff, Dumbpig, ELSA, fwsnort, Hogger, hping, httpry, hunt, inundator, labrea, mergecap, ncat, netsed, netsniff-ng, NetworkMiner, nftracker, ngrep, nmap, oinkmaster, OSSEC, ostinato, p0f, pcapcat, ptunnel, Reassembler, scapy, sguil, Sniffit, Snorby, Snort, SnortValidator, Squert, ssldump, sslsniff, Suricata, tcpdump, tcpick, tcpreplay, tcpslice, cpstat, cpxtract, traceroute, -circl tshark, u2boat, u2spewfoo, udptunnel Vortex...ecc.
Insomma, sono un’infinità e difficilmente ci si potrà trovare nella condizione di non disporre dello strumento necessario a compiere una specifica operazione.
La possibilità di “catturare” il traffico di rete è una parte fondamentale del funzionamento di Security Onion e più in generale delle soluzioni di NSM; Security Onion supporta strumenti del genere, il cui funzionamento è sostanzialmente quello di uno Sniffer; non a caso in precedenza si è accennato a Wireshark, come esempio di strumento di cattura.
Il fatto di poter avere evidenza del flusso (e del contenuto) del traffico, permette di poter effettuare le successive analisi e interpretazioni dei dati ottenuti.
Gli IDS (Intrusion Detection System) e gli HIDS (Host-based Intrusion Detection System) analizzano il traffico di rete grazie al lavoro svolto dai sistemi di cattura del traffico (sniffer di rete) e forniscono log e alert relativamente agli eventi di sicurezza riscontrati o ad eventuali attività anomale e sospette.
I dati forniti dagli strumenti di cattura del traffico sono di difficile interpretazione, quindi l’analista necessita di tool specifici che si occupano di correlare i dati, processarli ed analizzarli in base all’obiettivo da raggiungere. Questi strumenti risolvono il problema, consentendo di visualizzare i dati ottenuti dai sistemi IDS e HIDS e proporli nella forma che ne consente una valutazione rapida ed efficace; diversamente i dati da soli sarebbero difficilmente utilizzabili.
Servono anche tool per la manipolazione dei dati stessi, al fine di gestirli nella maniera migliore.
In questo webinar prenderemo in considerazione solo le funzionalità e gli strumenti più significativi relativamente all’utilizzo di Security Onion, giacché sarebbe impensabile spiegarli e mostrare esempi di utilizzo per tutti.
Nello specifico utilizzeremo i quattro elencati qui di seguito.
Snort è un sistema IDS (Intrusion Detection System) ossia di rilevamento delle intrusioni che si basa sulle librerie “libpcap”, le stesse utilizzate da Wireshark ad esempio.
Esegue in “real-time” l’analisi del traffico di rete allo scopo di rilevare e segnalare eventuali minacce o comportamenti sospetti.
Il monitoraggio del traffico avviene su tre differenti livelli:
SGUIL è uno strumento di analisi del traffico di rete e dispone di un’interfaccia grafica ben dettagliata; permette quindi la visualizzazione in “real-time” dei pacchetti di rete (compresa la loro struttura) e di tutti gli eventi correlati. Nell’immagine seguente è riportato uno screenshot che mostra l’interfaccia di Sguil.
Sguil è simile a Wireshark per quel che riguarda la visualizzazione, ma propone una visualizzazione più intuitiva e visuale, che semplifica la comprensione dei dati.
Andiamo a KIBANA, che è uno strumento open-source di Linux Security Onion che permette di visualizzare i dati ricavati dalla cattura del traffico e che supporta adeguatamente nella valutazione dei risultati; esso consente di creare molteplici grafici e delle dashboard personalizzate, relativamente ai dati raccolti.
Tale strumento consente di “riordinare” i dati raccolti e si utilizza solitamente quando si rende necessario analizzare notevoli volumi di dati, volumi che si possono facilmente raggiungere in contesti di rete complessi.
Infine CyberChef è uno strumento molto versatile che permette di svolgere molte operazioni (circa 300) e attività d’uso comune; alcune di queste sono:
Ma anche tante altre. Contiene insomma una serie di strumenti utili per la manipolazione dei dati e va a completare la suite di tool necessari.
Adesso che abbiamo introdotto il funzionamento di questi strumenti, passiamo alla parte pratica proponendo l’utilizzo di questi strumenti all’interno di Security Onion.
Resta inteso che per poter utilizzare il prodotto è necessario che la macchina su cui va in esecuzione disponga di un’interfaccia di rete installata e correttamente configurata e funzionante; in realtà serviranno due interfacce di rete perché una verrà utilizzata come interfaccia di gestione (Management) e l’altra per catturare il traffico di rete.
Per installare il prodotto bisogna partire dalla Iso scaricabile dalla sezione DOWNLOAD del sito https://securityonion.net/; completata l’installazione si arriva alla schermata mostrata nell’immagine seguente, che è quella della distribuzone base, alla quale, tuttavia, bisogna aggiungere i componenti necessari.
Quindi bisogna cliccare sull’icona Install Secutity Onion 16.04 o altra versione proposta al momento dell’installazione della distribuzione base.
L’installazione creerà anche le interfacce di rete, riguardo alle quali va precisato che una avrà l’accesso a Internet (sarà quella di Management) mentre l’altra potrà accedere solamente alla rete locale (Host Only Etnernet Interface) e quindi sarà l’interfaccia utilizzata per la cattura del traffico di rete.
Negli step che portano al’installazione, alla richiesta di installare gli aggiornamenti durante l’installazione è consigliabile non spuntare la voce corrispondente. Si procede via-via nelle varie schermate fino a giungere alla fine, definendo l’unità dove avverrà l’installazione e quanto richiesto (tipo nome utente e password).
A installazione completata bisogna riavviare la macchina e il sistema sarà pronto e mostrerà la schermata dell’immagine seguente, il cui desktop sarà popolato da nuove icone come Setup.
Clicchiamo dunque su Setup e iniziamo la configurazione di Security Onion, prima della quale bisognerà fare login. A questo punto lo schermo propone l’installazione di una serie di strumenti riepilogati in un menu; qui si conferma e si procede fino alla schermata nella quale viene chiesto se configurare gli adattatori di rete subito o in un secondo momento.
In particolare viene richiesto quale sarà l’interfaccia di rete di Management e quale quella di monitoraggio del traffico di rete.
Fatto ciò si procede con lo step in cui definire se l’interfaccia di rete di management dovrà avere un indirizzo IP statico o lavorerà in DHCP; negli ambienti di produzione tipicamente si sceglie l’IP statico per tutti i dispositivi critici e rilevanti nel contesto di rete (router, switch) mentre le workstation possono avere anche un indirizzo dinamico.
Si procede fino alla richiesta di applicare i cambiamenti apportati, quindi la configurazione, quindi nella relativa finestra di dialogo si clicca su Yes, make changes! E poi su Reboot. Ora la macchina si riavvia.
Nel desktop clicchiamo nuovamente sull’icona Setup e si salta la configurazione di rete (che viene nuovamente proposta) quindi si arriva alla finestra di dialogo Security Onion Setup dove bisogna scegliere tra:
Nella prima modalità verrà offerta la possibilità di costruire la configurazione a partire da una esistente (Existing) o da zero (New); successivamente occorrerà definire uno username e una password, quindi verrà proposto di scegliere, per la configurazione, se affidarsi a delle Best Practices rese disponibili da Security Onion o a impostazioni Custom, cioè fatte da noi. Scegliendo best Practices è possibile scegliere, dall’elenco di Rule Sets proposto (immagine seguente).
Quello proposto come predefinito non richiede alcuna subscription, quindi può essere utilizzato liberamente e per un utilizzo non particolarmente articolato si può accettare.
Lo step successivo richiede di definire l’engine IDS (è predefinito SNORT) e, fatto ciò, bisogna scegliere se attivare o meno i sensori di rete (Network Sensors), domanda cui va risposto Sì perché servono.
Nel passo successivo appare la finestra di dialogo proposta dall’immagine seguente, dove possiamo lasciare il valore predefinito.
Poi si passa allo step in cui confermare l’interfaccia di rete utilizzata per il monitoraggio del traffico e, successivamente, quale rete dovrà essere monitorata con l’aiuto di quell’interfaccia; la rete si definisce scrivendo l’indirizzo IP corrispondente all’interfaccia Ethernet e mettendo, nell’ultimo gruppo di cifre, l’intervallo di IP address che comprende la scheda stessa. Quindi, per esempio, 192.168.56.0/24.
Confermando, si arriva alla finestra di dialogo nella quale viene chiesto se creare uno storage locale o un nodo di storage in rete per i logo che verranno prodotti da Security Onion a seguito di ogni attività di monitoraggio (immagine seguente).
Fatta anche questa scelta si accettano le proposte successive e alla fine si arriva alla finestra di dialogo nella quale cliccando su Yes, proceeed with the changes! si completa la configurazione e riappare il desktop di Security Onion. La configurazione è quasi completata.
Alle finestre di avviso che verranno proposte si cliccherà su OK fino ad arrivare al termine.
Ora il desktop ci apparirà come si vede nell’immagine seguente, dove saranno collocate tutte le icone previste dalla configurazione e in particolare quelle degli strumenti base descritti in precedenza.
Una volta installato il sistema è possibile testarlo simulando un attacco da parte di una macchina esterna alla rete.
Il test può essere effettuato utilizzando una macchina, anche virtuale, che supporremo di tipo Windows e vedendo cosa accade da Security onion; l’attacco può essere portato con uno dei tool disponibili in internet, come ad esempio Nmap, che adoperemo nell’esempio proposto, lanciando l’attacco dalla sua interfaccia grafica Zenmap.
Quindi, una volta noto l’IP address della macchina target si avvia Zenmap e si inseriscono i comandi del caso, relativi a un tentativo di scansione di rete di tipo Intense Scan. Per farvi comprendere cosa apparirà in Squert, che è il tool di monitoraggio di Security Onion che andremo a utilizzare, proponiamo nell’immagine seguente la situazione di partenza del nostro test, che riporta dei logo precedenti, così da poter vedere poi se vengono aggiunti ulteriori record.
Utilizzando come target una macchina Ubuntu, abbiamo una situazione tipo quella dell’immagine seguente, dove a sinistra vedete Zenmap con i campi compilati per portare un attacco di tipo Intense Scan su tutte le porte TCP diretto all’indirizzo IP della macchina Ubuntu, la cui interfaccia utente è nella schermata a destra (le abbiamo riunite per comodità).
A questo punto, nel giro di poco l’interfaccia utente di Squert dovrebbe arrivare a visualizzare un nuovo log, relativo, appunto, all’attacco Intense Scan, vale a dire al tentativo di scansione di rete; il log apparirà in cima all’elenco e riguarderà un comportamento sospetto della rete: nell’immagine seguente è il primo in alto, evidenziato dal rettangolino arancione.
Infatti riporterà la dicitura ET SCAN Suspicious Inbound to mySQL port… a indicare che c’è traffico sospetto in entrata, in questo caso su un a porta relativa a mySQL. Quindi i pacchetti dati relativi al tentativo di scansdione di rete operato dalla macchina attaccante sono stati catturati dallo strumento di cattura, correttamente interpretati dal motore IDS e quindi visualizzati in forma grafica dallo strumento Squert, che è una Web Application utilizzata per richiedere e visualizzare i dati sugli eventi memorizzati in un database di Sguil e che tipicamente sono relativi ad alert IDS.
Vediamo un altro esempio lanciando da Zenmap una Regular Scan, ovvero cambiando il tipo di scansione e impostandone una finalizzata a caprire il tipo di sistema operativo installato nella macchina target (questo si fa usualmente per capire quali vulnerabilità note del sistema operativo si possono sfruttare), per vedere cosa apparirà in Squert; in questo caso Security Onion identificherà sia l’attacco, sia lo strumento con cui è stato portato a termine, mediante un log del tipo:
ET SCAN NMAP OS Detection Probe
Passiamo ora all’analisi dello strumento Sguil e vediamo cosa ci mostra.
Proviamo ora a lanciare Sguil, che è il tool IDS per riconoscere gli attacchi in rete: cliccando sulla relativa icona posizionata sul Desktop del sistema ci apparirà la finestra di dialogo di avvio, nella quale inserire nome utente e password di accesso (immagine seguente).
Fatto ciò, si presenterà una seconda finestra che chiederà di configurare quale dei due adattatori di rete utilizzare per la cattura del traffico e, una volta posto il segno di spunta sulla relativa casella si clicca su Start Sguil per aviare il tool.
Una volta avviato, il sistema mostra in una forma dettagliata ma facilmente comprensibile, i pacchetti di rete intercettati (immagine seguente).
Per esempio in basso viene mostrata la struttura di un pacchetto di rete di tipo TCP, con la sua struttura che è poi quella canonica schematizzata nella documentazione del protocollo. In questo caso è stato cliccato sul record relativo all’attacco portato per primo, ossia ET SCAN Suspicious Inbound in mySQL ecc. relativo all’Intense Scan fatta con Nmap: vediamo l’IP address, il payload, nonché l’indirizzo e la porta della macchina attaccante e il nome dell’interfaccia di rete utilizzata per la cattura (Sensor).
Adesso, fermi restando i due attacchi portati sinora, dopo aver visto cosa appare nell’interfaccia di Sguil passiamo al tool Kibana, che ci presenterà i dati corrispondenti: nell’interfaccia utente (Desktop) di Security onion clicchiamo sulla relativa icona e, una volta avviato kibana, andiamo nel menu a sinistra e clicchiamo su Discover, allo scopo di dire al tool
di andare alla ricerca degli eventi: a questo punto l’interfaccia utente mostrerà il risultato.
Guardando bene ci troveremo i due eventi scatenati dagli attacchi portati in precedenza (ed anche altri, che riguardano record della macchina presa ad esempio per il nostro test).
Sempre dal menu di sinistra possiamo attivare una funzione per organizzare e presentare i dati in una certa maniera, ad esempio tracciando dei grafici (voce di menu Visualize). Con il comando di menu Dashboard possiamo costruire dei cruscotti personalizzati nei quali mostrare i dati desiderati, nella forma più opportuna: ad esempio è possibile scegliere di presentare i soli record di eventi relativi a una porta TCP, a un certo tipo di traffico e via di seguito.
Concludiamo la carrellata sui tool di Security Onion con CyberChef, che è il tool tuttofare che permette di manipolare i dati ottenuti sinora: lanciandolo dalla rispettiva icona sul desktop si visualizza la relativa interfaccia utente, mostrata nell’immagine seguente.
Nel nutrito menu di sinistra troviamo tutte le operazioni che si possono effettuare sui dati raccolti relativi ai pacchetti di rete, come ad esempio codifica e decodifica (Encryption/Decoding), conversione in formato esadecimale e altre operazioni matematiche. Nei due riquadri Recipe e Input vengono visualizzati, di volta in volta, i dati origine e il risultato dell’operazione richiesta su di essi.
Diciamo che questo tool è l’unico che non ha a che fare con l’analisi vera e propria del traffico di rete e con il network Security Monitoring, ma è presente perché può essere utile per operazioni complementari che potrebbe servire fare su alcuni dei dati ottenuti.