La letteratura informatica è spesso assortita di termini impenetrabili, freddi e tecnici come se dovessero ricordarci di avere puntualmente a che fare con apparecchi privi di anima e sentimento. Tanto che la prima volta che uno legge honeypot, potrebbe pensare di aver sbagliato a digitare qualcosa nel motore di ricerca, soprattutto stesse cercando qualcosa in merito ai sistemi anti hacker.
Manco fosse l’eccezione che conferma la regola, stavolta non c’è nulla di sbagliato. Il barattolo di miele, alias honeypot, rappresenta, di nome e di fatto, una delle esche più appetibili per i malintenzionati che cercano di accedere all’interno del nostro perimetro di sicurezza aziendale. Nulla a che vedere dunque con l’oggetto preferito da Winnie the Pooh, almeno in questo caso.
Vediamo dunque quali sono le principali caratteristiche che deve avere un honeypot per ingannare in piena regola gli hacker, e soprattutto per evitare che una prelibata esca, se non innescata a dovere, possa diventare una trappola capace di esploderci malamente in mano. Regola numero uno: nonostante l’apparente semplicità, diffidare del fai da te.
Honeypot: una definizione
L’honeypot vede la sua espressione letterale nel barattolo di miele, un’esca informatica in grado di attrarre i golosi, che in questo caso coincidono con gli hacker interessati ad introdursi nei sistemi aziendali per danneggiare l’infrastruttura IT, piuttosto che per sottrarre illegalmente dei dati rilevanti per le sorti del business, ai fini di poterli impiegare a proprio vantaggio.
L’honeypot mira a ribaltare il vantaggio strategico dell’hacker, facendolo passare dalla spia allo spiato. Sulla base di questo immaginario, il rapporto tra l’honeypot e l’hacker ricorda per certi versi la trama di certi film di spionaggio, in cui due spie, di cui una ovviamente inconsapevole, innescano una relazione sentimentale, finalizzata ad abbassare le difese dell’avversario ed apprendere quei segreti che, in caso contrario, si potrebbero ottenere soltanto con la forza.
Come vedremo, esistono vari modi in cui un honeypot può portare a termine la sua missione, ma il suo obiettivo numero uno rimane quello di intrappolare l’hacker e cercare di rubargli più informazioni possibili, prima che si accorga di essere stato abilmente ingannato.
Come funziona
Nella sua manifestazione più elementare, l’honeypot è un applicativo eseguibile su una macchina particolare, in cui viene predisposta di proposito una vulnerabilità capace di attirare l’hacker. Potrebbe ad esempio rispondere ad una scansione, o rilevare qualche falla a livello software che potrebbe consentire un’intrusione malevola.
Supponiamo un server host di un’applicazione CRM. All’hacker potrebbe ad esempio interessare per cercare di sottrarre dati sensibili relativi ai clienti di un’azienda, o addirittura password per accedere a sistemi bancari. Un honeypot potrebbe quindi replicare un CRM che non corrisponde ovviamente a quello effettivamente utilizzato dall’azienda, per attirare l’hacker e osservare il mondo con cui cerca di finalizzare il suo attacco.
Esistono vari sistemi per cercare di rendere attaccabile in particolar modo una macchina all’interno di una rete, come lasciare aperte determinate porte, piuttosto che impostare una password debole. Tali sistemi riescono ad ingannare con sufficiente facilità gli attacchi eseguiti da bot e se condotti con particolare malizia anche l’azione diretta di un hacker in carne ed ossa.
In merito alla tipologia di esca che si intende predisporre, è possibile impostare un honeypot dotato di precise caratteristiche funzionali. Oltre al già citato server con una palese vulnerabilità, è ad esempio possibile implementare una honeypot e-mail, ossia falsi indirizzi rilevabili solo dai bot che fungono da rilevatori automatici di indirizzi, in modo da avere la certezza che ogni comunicazione pervenuta su una casella di posta fake corrisponda a tutti gli effetti a spam e messaggi malevoli, in modo da inserire gli IP del bot mittente in una black list.
Lo stesso ragionamento può essere impostato predisponendo su una macchina un database esca, per rilevare nello specifico una tipologia di attacchi che tali sistemi subiscono purtroppo con frequenza sempre maggiore, come nel caso delle famigerate iniezioni SQL.
A livello di applicazioni sono piuttosto frequenti gli honeypot in grado di attirare varie tipologie di malware, come le cartelle civetta anti ransomware, contenenti file che tali sistemi tendono a criptare, piuttosto che quelli che vengono genericamente definiti quali spider honeypot: pagine web esca, appositamente predisposte per catturare l’attenzione dei webcrawler, in modo da ottenere informazioni utili per comprendere il funzionamento dei bot malevoli. Uno degli spider honeypot più diffusi è Monkey-Spider, un crawler che può essere utilizzato anche come honeypot e consente di analizzare le pagine web ottenute tramite una ricerca, per individuare eventuali minacce presenti al loro interno.
Quando si predispone un sistema comprendente molti honeypot con la strategia di simulare un’intera rete, viene invece utilizzata la definizione di honeynet.
A cosa serve un honeypot
Gli honeypot attirano gli hacker nella loro trappola e cercano di trattenerli il maggior tempo possibile per imparare a conoscerli, per tracciare il modo con cui attaccano un sistema informatico. Se in prima istanza tale conclusione potrebbe apparire un po’ fine a sé stessa, la sua rilevanza sarebbe innegabile qualora approfondissimo la nostra indagine elencando anche soltanto alcune tra le utilità che l’honeypot assume nel contesto di una strategia di sicurezza informatica aziendale.
Attraverso le informazioni ottenute dagli hacker intrappolati, un honeypot è in grado di ottenere informazioni utili a:
- individuare le falle del sistema di sicurezza aziendale, in modo da offrire ai CISO e ai responsabili IT elementi utili per porvi rimedio prima che si manifesti un attacco alla vera rete, dove sono custoditi i dati e le applicazioni fondamentali per il business;
- individuare la provenienza dei cybercriminali, identificando un range di IP utilizzato per condurre gli attacchi, che può essere a quel punto facilmente inserito nelle black list;
- individuare il livello della minaccia in funzione del modus operandi dell’hacker, per capire i possibili danni che potrebbero derivare quale conseguenza di un determinato attacco informatico;
- individuare quali risorse sono più appetibili rispetto ad altre, per concentrare i sistemi di difesa in corrispondenza di obiettivi che vantano una maggior probabilità di attacco.
Oltre al carattere puramente informativo, un honeypot può servire per distrarre l’attaccante dal suo reale obiettivo: la rete aziendale vera e propria, attirandolo in una zona dove, oltre a non poter fare danni, la sua ignara condizione può essere sfruttata contro di lui. Va inoltre precisato come, per un hacker etico, il tempo che l’hacker malevolo, sua eterna nemesi, spende in un honeypot anziché all’interno di una vera rete, costituisce un successo dal punto di vista morale e motivazionale.
Esistono principalmente due categorie di honeypot: di ricerca e di produzione. I primi sono utilizzati in particolar modo dalle istituzioni pubbliche e dai centri di ricerca per identificare e analizzare gli attacchi provenienti dalla rete, ai fini di sviluppare adeguate tecniche difensive. L’honeypot di produzione fa piuttosto riferimento all’impiego in ambito aziendale. In tale contesto, va precisato come l’honeypot non costituisca, nel modo più assoluto, un’alternativa ai tradizionali sistemi di sicurezza informatica.
Se implementato in maniera opportuna può ad esempio diventare parte integrante di un IDS (Intrusion Detection System), tradizionalmente composto da un’esca, che potrebbe essere costituita appunto dall’honeypot, oltre che da un sensore, una console e un motore capace di analizzare i dati intercettati per individuare le falle di sicurezza del sistema, ai fini di individuare adeguate soluzioni correttive.
Nessun CISO degno di questo nome si sognerebbe inoltre di rinunciare all’azione di un firewall sulla base di un sistema di depistaggio, per quanto efficace, come l’honeypot.
Le tipologie
Esistono vari criteri per determinare la tipologia di un honeypot ed il più diffuso è con ogni probabilità quello basato sul suo livello di interazione. In base a tale livello di classificazione, si distingue tra honeypot a bassa interazione e honeypot ad alta interazione. Premesso che possono essere utilizzati in maniera simultanea, vediamo le principali caratteristiche.
A bassa interazione
Si tratta di software che emulano soltanto alcune parti di un sistema, facendole coincidere con le più ambite dagli attacchi. Non hanno ambizioni elevate, non saranno mai in grado di intrappolare un vero hacker per lunghi periodi, ma al tempo stesso richiedono poche risorse e possono essere implementati in maniera molto rapida.
L’honeypot a bassa interazione più noto è probabilmente HoneyC, che simula un client in grado di collegarsi ad un server per valutare la sua pericolosità. Il suo quasi omonimo HoneyD è invece un honeypot lato server, ossia in grado di simulare dei sistemi host a bassa interazione per attirare i potenziali attaccanti.
Ad alta interazione
Si tratta dell’emulazione di un sistema il più possibile completo e simile a quello che si intende proteggere, in modo che un hacker abbia effettive difficoltà a distinguerlo. A differenza delle soluzioni a bassa interazione, un honeypot ad alta interazione manifesta la sua ambizione anche in termini di risorse e competenze necessarie. Un errore nel suo impiego potrebbe infatti renderlo un pericoloso gateway per accedere al sistema vero e proprio, mettendo seriamente a rischio i contenuti ed il funzionamento dei server che si intende proteggere, in quanto connessi alla stessa rete locale. L’impiego di tecniche di virtualizzazione può nativamente ridurre i rischi in tal senso.
Tra gli honeypot ad alta interazione più popolari ritroviamo Sebek, che consente di raccogliere le informazioni relative agli attacchi svolti dagli hacker e condividerli per i successivi livelli di analisi dell’IDS. Un altro esempio particolarmente noto è costituito da Argos, che grazie alla sua capacità di emulare interi sistemi hardware è in grado di catalizzare gli attacchi su un fronte molto ampio, neutralizzandoli prima che possano raggiungere ed arrecare danno ai sistemi aziendali realmente efficaci.
Alcuni esempi di Honeypot
Esistono vari esempi di impiego degli honeypot ed uno dei più popolari è senz’altro costituito dalla già citata cartella civetta, un’esca concettualmente molto semplice, che consiste nel predisporre una cartella contenente dei file la cui estensione è particolarmente ambita dai ransomware, i pericolosi malware che puntano sul criptare i dati aziendali per renderli inutilizzabili, ai fini di chiedere un riscatto per renderli nuovamente accessibili. Se il ransomware cade nella trappola della cartella esca inizierà a criptare i file in essa contenuti, dando modo al sistema di sicurezza di isolarlo.
Un altro esempio di honeypot è costituito dai server FTP fasulli, appositamente predisposti per depistare gli attacchi da quelli in cui sono effettivamente condivise le informazioni interne che tanto fanno gola agli hacker, per il semplice fatto che potrebbero trovare con facilità anche quei segreti industriali condivisi soltanto all’interno dell’azienda. Anche in questo caso si tratta di un’operazione piuttosto semplice da eseguire, con la configurazione di un FTP server fisico o virtuale da connettere alla rete con l’obiettivo di farlo attaccare per primo dagli hacker. In questo caso la sua condotta è solitamente quella di identificare l’attaccante in modo che il sistema IDS possa rapidamente rilevarlo e renderlo inoffensivo.
Quanto alle applicazioni, gli honeypot sono molto utilizzati anche al di fuori del contesto aziendale, soprattutto dalle forze dell’ordine per cogliere in flagrante gli autori di un reato sul web. Il caso ricorrente è rappresentato dai siti dove vengono commessi atti criminali, come la vendita di droga, piuttosto che il traffico di materiale pedo-pornografico. Quando le forze dell’ordine sequestrano uno di questi siti sul dark web, anziché chiuderlo, possono assumerne la gestione, continuando per un certo periodo la sua attività. In questo modo possono facilmente intercettare molti soggetti e smascherare possibili reti di traffico collegate ad attività criminali di vario genere, oltre a costituire linfa vitale per lo svolgimento delle indagini.
Le informazioni ottenute dai sistemi esca alimentano l’attività investigativa, questione che non ha mancato di sollevare questioni a livello legale, circa l’opportunità o meno di ingannare gli utenti a prescindere dalle loro reali intenzioni. In ambito aziendale si dà per scontata la facoltà di difendersi dagli attacchi provenienti dall’esterno, così come si presuppone che le forze dell’ordine per intercettare i criminali debbano il più delle volte ricorrere ai loro stessi metodi. Ma si tratta di aspetti che potrebbero essere oggetto di ulteriori interpretazioni da parte dei legislatori, soprattutto in merito alle questioni riguardanti la privacy.
Vantaggi e svantaggi degli honeypot
Volendo tracciare una sintesi dei possibili vantaggi derivanti dall’impiego di un honeypot a supporto della sicurezza aziendale, potremmo identificare i seguenti fattori:
- smascherare le vulnerabilità dei sistemi informatici aziendali;
- suggerire azioni e comportamenti utili a migliorare la sicurezza in senso ampio;
- individuare schemi di attacco ripetuti;
- ottenere molte informazioni con poche risorse, in relazione a metodi alternativi;
- ridurre i falsi positivi e migliorare l’azione dei sistemi IDS;
- monitorare l’evoluzione delle minacce, verificando l’azione dei nuovi malware;
- formare il team di sicurezza in un ambiente non distruttivo;
- catturare minacce interne, su cui i firewall non potrebbero nulla.
Sebbene i vantaggi nell’utilizzo di un honeypot superino tendenzialmente le possibili criticità, non dobbiamo sottovalutare i rischi che un loro utilizzo scriteriato potrebbe comportare. La facilità con cui è possibile configurarlo non deve trarre in inganno, né lasciare intuire delle facilonerie che potrebbero essere pagate in modo caro, soprattutto se ad essere attirato dall’esca fosse un hacker perfettamente consapevole della trappola in cui sta entrando, fingendosi vittima per cercare possibili punti di accesso ai suoi reali obiettivi.
Non bisogna avere paura del fallimento di un honeypot, ma occorre isolarlo bene rispetto al resto del sistema, in modo che l’attacco non possa propagarsi nelle regioni della rete dove potrebbe causare danni effettivi, in particolare quando parliamo di sistemi ad alta interazione. Per evitare di trasformare a tutti gli effetti un’esca in un cavallo di Troia per gli hacker, una buona prassi è ad esempio costituita dall’utilizzo di una macchina virtuale, ben isolata, ma soprattutto configurata e gestita da personale molto esperto in fatto di sicurezza informatica, che sappia gestire tutte le conseguenze relative alle criticità che potrebbero verificarsi.