# Honeypot

In informatica, un honeypot (letteralmente: "barattolo del miele") è un sistema o componente hardware o software usato come "trappola" o "esca" a fini di protezione contro gli attacchi di pirati informatici. Solitamente consiste in un computer o un sito che sembra essere parte della rete e contenere informazioni preziose, ma che in realtà è ben isolato e non ha contenuti sensibili o critici; potrebbe anche essere un file, un record, o un indirizzo IP non utilizzato.
Il valore primario di un honeypot è l'informazione che esso dà sulla natura e la frequenza di eventuali attacchi subiti dalla rete. Gli honeypot non contengono informazioni reali e quindi non dovrebbero essere coinvolti da nessuna attività; rilevazioni in senso opposto possono rivelare intrusioni non autorizzate o malevole in corso.
Gli honeypot possono portare dei rischi ad una rete, e devono essere maneggiati con cura. Se non sono ben protetti, un attacker potrebbe usarli per entrare in altri sistemi.

## Etimologia

Il termine "honeypot" (barattolo di miele) è spesso collegato al personaggio per bambini Winnie the Pooh, un orso di pezza che spesso si trova nei guai a causa della sua golosità nei confronti del miele.
Un'ulteriore spiegazione del termine è un riferimento al nome, inglese, sarcastico per la costruzione circondante un gabinetto in un appezzamento di terra, o per altri metodi di raccolta letame in luoghi senza impianto idraulico interno. Honey è quindi un termine ironico per tale rifiuto, contenuto in un honeypot finché non è portato all'area di smaltimento da un camion addetto. In questo uso, gli attackers sono paragonabili alle mosche, attirate dall'odore dell'acqua di scolo.

## Tipi di honeypot

Gli honeypot possono essere classificati sia in base al contesto di utilizzo sia in base alla modalità di interazione con l’utente.
Basandosi sul contesto di utilizzo, gli honeypot sono classificati come:
* Honeypot di produzione
* Honeypot di ricerca
Gli honeypot di produzione sono facili da utilizzare, immagazzinano un numero limitato di informazioni, e sono utilizzati principalmente in ambito aziendale. Gli honeypot di produzione sono situati all’interno della rete aziendale assieme agli altri server di produzione, in modo tale da migliorare la sicurezza dell’azienda. Normalmente, gli honeypot di produzione sono a bassa interazione, il che ne facilita l’installazione. Raccolgono meno informazioni riguardo agli attacchi e agli attaccanti rispetto agli honeypot di ricerca.
Gli honeypot di ricerca nascono per raccogliere informazioni riguardanti le metodologie di attacco e le motivazioni che spingono la community di black hat ad eseguire attacchi informatici. Questi honeypot non danno valore aggiunto ad una specifica organizzazione; piuttosto, sono utilizzati per capire a quali minacce si è esposti e quindi apprendere come proteggersi al meglio contro di esse. Gli honeypot di ricerca sono complessi da installare e mantenere, raccolgono un’ampia quantità di informazioni, e sono usati principalmente in ambiti militari, pubblici e di ricerca.
Basandosi invece sul design e quindi sulla modalità di interazione con l’utente, gli honeypot sono classificati come:
* Honeypot puri
* Honeypot ad alta interazione
* Honeypot a bassa interazione
Gli honeypot puri sono a tutti gli effetti macchine fisiche presenti nella rete di produzione. Gli attacchi sono monitorati da remoto collegandosi direttamente all’honeypot in rete. Non è necessaria l’installazione di nessun software aggiuntivo sulla macchina. Sebbene un honeypot puro risulta utile, la segretezza di questo meccanismo di difesa può essere migliorata appoggiandosi a soluzioni migliori.
Gli honeypot ad alta interazione sono veri computer, su cui eseguono applicazioni o servizi. Lo scopo di questi honeypot è quello di simulare in maniera fedele una macchina facente parte dell’ecosistema di produzione, consentendo agli attaccanti di utilizzare una varietà di servizi realmente presenti con il solo scopo di fargli perdere tempo. La difficoltà sta nel creare un ambiente la cui esecuzione sia confinata alla macchina stessa e non possa provocare danni al resto delle macchine presenti in rete. Grazie all’utilizzo di macchine virtuali è possibile ospitare più honeypot su una singola macchina fisica, il che garantisce sicurezza verso l’esterno ed un recupero veloce della sola macchina virtuale in caso di manomissione. In generale, gli honeypot ad alta interazione offrono un miglior servizio di sicurezza essendo difficili da rilevare, ma presentano costi di manutenzione più elevati. Se non c’è possibilità di utilizzare macchine virtuali, si ha la necessità di mantenere una macchina fisica per ogni honeypot presente, il che può essere estremamente costoso. Esempio: Honeynet.
Gli honeypot a bassa interazione sono solitamente software che emulano sistemi operativi e i servizi più utilizzati dagli attaccanti per portare avanti un attacco. Questi honeypot sono più semplici da installare e più sicuri, ma riescono a catturare una quantità inferiore di informazioni. Grazie a questi software è possibile simulare in molteplicità i servizi sopracitati su un'unica macchina fisica o virtuale. Esempio: Honeyd.
Possono essere honeypot anche altre cose, come veri siti web o chatroom, il cui scopo è di fermare utenti con intenti criminali.

### Deception technology

Recentemente, un nuovo segmento di mercato chiamato Deception technology (tecnologia dell’inganno) è emerso grazie all’utilizzo delle tecnologie di base degli honeypot unite all’integrazione di un sistema automatizzato per la scalabilità. La deception technology affronta il problema dell'implementazione automatica di risorse honeypot in grandi imprese commerciali o istituzioni pubbliche.

### Malware honeypot

I malware honeypot sono utilizzati per individuare possibili malware sfruttando la conoscenza dei vettori di attacco e di replicazione noti. Una tecnica di replicazione del malware come quella della semplice copia su unità flash USB, può essere facilmente individuata, sia manualmente che utilizzando honeypot speciali il cui scopo è quello di emulare le periferiche di I/O. Il forte aumento dei malware creati per la ricerca ed il furto delle criptovalute, innesca in servizi come Bitcoin Vigil la necessità di creare e monitorare honeypot a basso costo ai fini di poter ricevere avvisi precoci su possibili infezioni da malware.

### Honeypot anti-spam

Gli spammer abusano spesso di risorse come server di posta open mail relay e gli open proxy per effettuare attività di spam. Alcuni sistemisti hanno quindi creato honeypot software che si fingono risorse di questo tipo per analizzare l’attività degli spammer. Questa tipologia di honeypot fornisce agli amministratori di sistema diverse possibilità di analisi e mitigazione degli attacchi, rendendo l’utilizzo illecito di queste risorse più difficile e rischioso.
Questi honeypot possono mostrare l’indirizzo IP degli spammer e dare la possibilità di fermare in massa un’azione di spam. Per gli honeypot open relay è possibile determinare gli indirizzi e-mail degli spammer, grazie al fatto che questi, tipicamente, utilizzano come destinatari loro stessi in una prima fase di test. È facile quindi ingannare gli spammer consegnando le prime mail illecite ricevute al destinatario, in questo modo si convincono che l’honeypot sia un open relay genuino e abusabile. A questo punto l’honeypot blocca tutte le mail provenienti dall’indirizzo e-mail dello spammer che, senza successo, continuerà ad utilizzare l’honeypot credendo di effettuare spam. Tuttavia il mittente potrebbe essere a sua volta un altro sistema utilizzato in maniera illecita, di fatto gli spammer potrebbero utilizzare una catena di sistemi per rendere più difficile il rilevamento del reale punto di partenza del messaggio.
Questo di per sé è indicativo delle potenzialità che hanno gli honeypot se utilizzati come strumento anti-spam.
Agli albori degli honeypot anti-spam, gli spammer, con scarsa attenzione nel mascherare la loro posizione, potevano testare vulnerabilità e inviare spam direttamente dalle loro macchine sentendosi al sicuro. Gli honeypot hanno poi reso gli abusi più rischiosi e difficili da portare a termine.
A questo scopo gli honeypot anti-spam possono utilizzare i messaggi di test intercettati per riconoscere e ostacolare i tentativi di inoltro di spam attraverso loro stessi. I sistemisti possono poi scoprire altri dettagli riguardanti lo spam e lo spammer esaminando i messaggi di spam catturati.
Tra gli honeypot open mail relay troviamo Jackpot, scritto in Java da Jack Cleaver; smtpot.py, scritto in Python da Karl A. Krueger e spamhole, scritto in C. Bubblegum Proxypot è un honeypot (o proxy pot) open source.
Rispetto ai primi anni 2000 la percentuale delle e-mail inviate attraverso i server di posta open relay è scesa drasticamente, anche grazie al fatto che i fornitori di servizi internet (ISP), tramite liste di blocco, fermano l'invio di e-mail indirizzate a questi server. Di conseguenza, al giorno d'oggi, la presenza degli open mail relay è praticamente nulla, e tra gli spammer è diventato più comune l'utilizzo di botnet.

### Database honeypot

I database vengono spesso attaccati da intrusi tramite SQL Injection. Poiché tali attività non sono riconosciute dai firewall di base, le aziende utilizzano spesso firewall specifici per la protezione dei database. Alcuni dei firewall per la protezione dei database SQL forniscono / supportano l’architettura honeypot in modo tale da spostare gli intrusi su un database trappola mentre l'applicazione Web rimane funzionante.

## Rilevamento

Dal momento in cui gli honeypot sono armi utilizzate anche per inibire gli spammer, i sistemi di rilevamento di honeypot sono diventati l'arma usata dagli spammer. Poiché i sistemi di rilevamento utilizzano probabilmente le caratteristiche uniche di honeypot specifici per identificarli, una grande quantità di honeypot in uso rende l'insieme di caratteristiche uniche più ampio e scoraggiante per coloro che cercano di individuarli e quindi identificarli. Questa è una circostanza insolita nel software: una situazione in cui un gran numero di versioni dello stesso software, tutte leggermente diverse tra loro, può essere utile. C'è anche un vantaggio nell'avere distribuito alcuni honeypot facili da rilevare. Fred Cohen, l'inventore del Deception Toolkit, sostiene anche che ogni sistema che gestisce il suo honeypot dovrebbe avere una porta di inganno che gli avversari possono usare per rilevare l'honeypot. Cohen ritiene che ciò possa scoraggiare gli attaccanti.

## Rischi

L'obiettivo degli honeypot è quello di attrarre e coinvolgere gli attaccanti per un periodo sufficientemente lungo tale da ottenere indicatori di compromissione (IoC) di alto livello, tra cui gli strumenti di attacco ed il concetto di Tactics, Techniques and Procedures (TTP). Pertanto un honeypot deve emulare i servizi essenziali nella rete di produzione e garantire all'attaccante la libertà di svolgere attività contraddittorie per aumentarne la sua attrattiva. Sebbene l'honeypot sia un ambiente controllato e possa essere monitorato utilizzando strumenti come ad esempio l'honeywall, gli attaccanti potrebbero comunque essere in grado di utilizzare alcuni honeypot come nodi pivot per penetrare nei sistemi di produzione.
Il secondo rischio degli honeypot è che possano attrarre utenti legittimi a causa della mancanza di comunicazione nelle reti aziendali su larga scala. Ad esempio, il team di sicurezza che applica e monitora l'honeypot potrebbe non rivelare la posizione dell'honeypot a tutti gli utenti in tempo a causa della mancanza di comunicazione o della prevenzione di minacce interne.

## Honeynet

Due o più honeypot su una rete formano una honeynet. In genere, una honeynet viene utilizzata per monitorare una rete più ampia e/o più diversificata in cui un honeypot potrebbe non essere sufficiente. Le honeynet e gli honeypot vengono solitamente utilizzati come parti di più grandi network intrusion detection system. Una honey farm è una raccolta centralizzata di honeypot e strumenti di analisi.
Il concetto di honeynet iniziò nel 1999 quando Lance Spitzner, fondatore dell'Honeynet Project, pubblicò il documento "To Build a Honeypot".