Gli honeypot (conosciuti anche come honey trap e il cui significato letterale è “barattolo di miele”) sono dei sistemi hardware o software usati come “esca” per attirare i cyber criminali intenzionati ad attaccare il perimetro di sicurezza di un’organizzazione.
Rientrano quindi a pieno titolo tra gli strumenti di Intrusion Detection System (IDS) che permettono di eseguire un monitoraggio continuo della sicurezza allo scopo di identificare – in anticipo – tutti gli attacchi alle reti informatiche e ai computer ad esse connessi, capire dove l’attaccante potrà colpire e avere così il tempo di attivare le giuste contromisure.
L’utilizzo degli honeypot è dunque una tecnica di difesa attiva definita anche come Cyber Deception con la quale si cerca di “ingannare” l’avversario affinché colpisca il perimetro cyber della nostra organizzazione in un punto preciso in cui vogliamo che ciò avvenga per farlo uscire allo scoperto e tenerlo quindi alla larga dal vero obbiettivo che ci preme difendere.
Indice degli argomenti
Honeypot: difesa attiva contro il cyber crimine
Gli honeypot (che possono essere anche singoli file oppure record di un database o indirizzi IP non più utilizzati) contengono, apparentemente, informazioni sensibili che l’attaccante dovrebbe trovare interessanti. In realtà, invece, sono isolati dal resto della rete aziendale e privi di qualunque informazione critica.
Gli honeypot sono progettati per avere le sembianze di sistemi nei quali un hacker è invogliato ad entrare, ma non concedono l’accesso all’intera rete. Se l’honeypot è ben realizzato, l’intruso non si rende conto di essere osservato nella sua attività.
Molti degli honeypot vengono installati all’interno di firewall in maniera tale da poter essere maggiormente controllati. In questo caso, il firewall viene utilizzato al contrario rispetto al solito: invece di monitorare e porre vincoli al traffico entrante dall’esterno nel sistema, lascia entrare di tutto ma controlla poi il traffico uscente.
In questo traffico in uscita potrebbe, per esempio, scoprirsi il collegamento ad un server C&C (Command e Control) usato dagli attaccanti per comunicare con il malware infiltrato nel sistema attaccato. Questo sarebbe un evidente IOC o Indicatore di Compromissione (dall’inglese “Indicator of compromise”) che ci darà informazioni utili sull’attaccante, per bloccarlo o anche per compiere azioni più forti di “active defense”.
L’uso di questi strumenti è dunque molto variegato: una delle peculiarità degli honeypot è la loro flessibilità nelle possibili configurazioni. Infatti, tra gli scopi dell’honeypot ci sono:
- prevenzione degli attacchi;
- riconoscimento degli attacchi;
- risposta agli attacchi;
- ricerca e individuazione di nuovi tipi di attacco: collezionando nuove minacce, possiamo studiarle per migliorare i controlli di sicurezza o studiare come rimuoverli;
- osservazione dell’attaccante mentre viola il sistema e quindi identificazione di potenziali debolezze che andranno corrette;
- colpire l’attaccante.
Gli honeypot, inoltre, si suddividono in due principali categorie:
- a bassa interazione
- ad alta interazione
Questa differenziazione, come è facile intuire, dipende dalla maggiore o minore interazione che l’attaccante può avere con questa “trappola”.
Ovviamente, maggiore è il grado di libertà che viene concesso all’attaccante, maggiori sono i rischi che si corrono.
Honeypot a bassa interazione
Questo tipo di honeypot emula un sistema software con delle funzionalità ben definite e delimitate, oltre le quali non è possibile andare. L’attaccante che prova ad infiltrarsi in questo honeypot verrà ingannato pensando di avere veramente a che fare con il servizio di una macchina reale con un vero e proprio sistema operativo al suo interno.
Gli honeypot a bassa interazione presentano un basso rischio in quanto i servizi che girano su di essi sono emulati. Inoltre, possono essere installati su sistemi virtuali che permettono un facile ripristino dell’ambiente nel caso venga compromesso.
Hanno il vantaggio di essere semplici da creare e gestire; hanno quindi un basso costo di implementazione. Anche in caso di errori di gestione non causano danni gravi.
Per contro, potrebbero essere facilmente riconoscibili dall’attaccante: alcuni malware riescono a distinguere un sistema honeypot da un sistema reale, cessando a quel punto la propria attività di compromissione.
È quello che accade anche quando un malware viene testato all’interno di una sandbox (così si definisce in informatica un ambiente per eseguire applicazioni in uno spazio isolato dal sistema principale “di produzione”, dove l’accesso alla rete e le interazioni con il sistema sono disabilitati o altamente ristretti): il codice malevolo riconosce, dalle variabili ambientali, di trovarsi “parcheggiato” in un ambiente chiuso (qual è appunto una sandbox) e rimane inattivo. Per questo, chi crea le sandbox cerca di renderle quanto più possibile simili ad ambienti reali.
Un semplice esempio di honeypot
Riportiamo di seguito un esempio, tra i più semplici, di honeypot: quella che viene definita la “cartella civetta”. È una tecnica frequentemente usata per individuare gli attacchi ransomware.
Si crea nel sistema una cartella contenente un certo numero di file (con le estensioni tipiche che i ransomware criptano). La cartella verrà tenuta sotto controllo da un agent (una sonda) in grado di rilevare ogni interazione con i file in essa contenuti.
Dal momento che questi file sono privi di importanza e non devono essere utilizzati dagli utenti del sistema, qualsiasi interazione (per esempio una criptazione) verrà immediatamente segnalata come attacco.
Poiché, tipicamente, i ransomware eseguono la criptazione procedendo cartella per cartella, si cerca di posizionare la cartella “civetta” in una posizione tale da essere la prima colpita dall’attacco: per esempio dandole un nome che la ponga al primo posto nell’ordine alfabetico (nell’ipotesi, spesso vera, che i ransomware procedano a criptare le cartelle in ordine alfabetico).
Honeypot ad alta interazione
Questo tipo di honeypot non emula servizi (come per quelli a bassa interazione), ma al contrario sono veri e propri sistemi con servizi reali in esecuzione.
In questo modo consentono di ottenere un elevato numero di informazioni utili e le caratteristiche che si ricavano relative a un malware sono anche maggiori.
Si riesce, infatti, a vedere come il malware si muove all’interno di un sistema operativo reale e che tipo di attacco intende portare a termine.
Possono però comportare rischi molto più alti per il sistema. Per questo sono più difficili da creare e gestire: la maggiore libertà concessa all’attaccante, se da un lato – come detto – consente di avere maggiori e più realistiche informazioni, dall’altro potrebbe rivelarsi un’arma a doppio taglio ed essere usato dall’hacker per infiltrarsi nel sistema da proteggere o per portare attacchi ad altri server in rete.
Per evitare questi rischi, è opportuno che il traffico che gira nell’honeypot ad alta interazione sia controllato con sistemi come NIDS (Network Intrusion Detection System) o firewall.
In ogni caso, se si rileva un’intrusione nell’honeypot, è opportuno accertarsi che l’attaccante non sia riuscito anche ad infiltrarsi nel resto del sistema.
Ecco come implementare la trappola
Esistono due possibili modalità d’implementazione di un honeypot:
- honeypot fisico: si tratta di un computer autonomo, collegato con un proprio indirizzo IP in una rete;
- honeypot virtuale: si tratta di un sistema logico, a cui vengono assegnate le risorse di un computer fisico attraverso un software di virtualizzazione.
L’honeypot può essere realizzato per simulare un’applicazione server che mette a disposizione dei servizi di rete, che l’attaccante cercherà di violare (si parla di “honeypot lato server”).
In alternativa può essere configurato “lato client”: può essere un programma che utilizza servizi web, oppure un browser che visita appositamente pagine non sicure per raccogliere dati relativi alla sua sicurezza ed alla ricerca di codici malevoli presenti in rete.
Se viene esposto ed attaccato, dall’analisi dei dati sarà possibile raccogliere informazioni relative alle vulnerabilità e migliorare a posteriori il software.
Le soluzioni honeypot offerte dal Web
Esistono, disponibili in rete, numerose soluzioni che vengono offerte per impostare degli honeypot. Alcune di queste sono open source. Vediamo quali sono le più conosciute ed utilizzate, suddivise sulla base delle tipologie sopra descritte.
- Honeyd: uno dei più noti, è un honeypot a bassa interazione lato server che permette di emulare diversi servizi e diversi sistemi operativi. È rilasciato con licenza open source GPL.
- Capture-HPC: è un honeypot ad alta interazione che utilizza un’architettura client-server. Un server stabilisce i siti da visitare e controlla diversi client, che a loro volta aprono le pagine e inviano i risultati delle loro analisi al server. Supporta come client alcuni browser come Safari, Firefox e Internet Explorer, oltre ad applicazioni quali Adobe Reader, Open Office e Microsoft Office. Si divide in due componenti: Capture Server e Capture Client, un server può controllare più Capture Client. In caso di compromissione il client viene resettato dal server e reso nuovamente operativo.
- mapWOC (“massive automated passive Web Observation Center”): è un honeypot open source ad alta interazione lato client. Carica le pagine grazie a browser reali, che funzionano su una macchina virtuale.
Gli honeypot open source a bassa interazione lato client (definiti anche “honeyclients”) più conosciuti sono invece:
- HoneyC
- Monkey-Spider
- PhoneyC
Le honeynet: cosa sono e a cosa servono
Per concludere, ricordiamo che è possibile costruire un sistema con honeypot di differenti tipi e con differenti piattaforme e sistemi operativi.
Se vengono utilizzati più honeypot (in genere ad alta interazione) per simulare un’intera rete e creare un obiettivo di attacco particolarmente allettante per gli hacker, si parla di una honeynet.
Una possibile utilità di una honeynet all’interno di una rete aziendale potrebbe essere quella di proteggere la rete da eventuali attacchi e dissuadere l’attaccante dal compromettere i sistemi reali.
Infatti, poiché la honeynet è facile da attaccare, in quanto prevede servizi appositamente vulnerabili, la maggior parte del traffico anomalo confluirà in questa Subnet. In questo modo è possibile analizzare gli attacchi e cambiare la configurazione dei firewall di rete in base ai dati rilevati.
Altri utilizzi degli honeypot
Le “trappola al miele” sono trucchi molto usati in ambito investigativo e di intelligence. Lo stesso accade per sistemi honeypot, che vengono utilizzati dalle polizie di tutto il mondo per scovare criminali, cogliendoli in flagrante.
Creare appositamente link che rimandano a siti pedopornografici è una tecnica utilizzata da FBI e da molte altre polizie per scovare i pedofili. È noto che si impiegano honeypot anche per indagare sui siti di streaming e sulle piattaforme di file sharing illegali, così come per scovare gruppi terroristici.
Talvolta i siti illegali, una volta scoperti dalla polizia, vengono appositamente lasciati online per essere usati come honeypot. Ricordiamo un caso famoso che ha visto come protagonista la polizia olandese (Politie). Con una brillante operazione condotta nel 2017 assieme ad Europol ed FBI, ha smantellato Alphabay e Hansa, i supermercati della droga sul Deep Web.
Ma Hansa Market, sebbene fosse già in mano alla polizia olandese, è stato lasciato aperto per circa un mese, accogliendo – e quindi scoprendo – venditori e compratori “orfani” di Alphabay. Un brillante ed efficace esempio di honeypot poliziesco!
Quanto sia lecito utilizzare questi strumenti a scopo di indagine, rimane comunque una questione controversa, che solleva numerosi dubbi a livello legale e sul piano della privacy.
Il rischio che un utente inconsapevole clicchi su un link “trappola” e si trovi poi coinvolto in un’indagine di polizia rimane un rischio reale, che i legislatori dovranno regolamentare.
Conclusioni
Gli honeypot non sono la panacea di tutti i mali e neppure strumenti da utilizzare in modo autonomo.
Andrebbero invece implementati all’interno di un’architettura coordinata che comprenda anche un sistema IDS (Intrusion Detection System) ed il firewall.
In questo modo si otterrà un duplice scopo: far uscire allo scoperto l’azione dell’attaccante, senza bloccarla, e raccogliere informazioni tali da “conoscere meglio il proprio nemico”.