HONEYPOTS (Parte 1)
Negli ultimi anni c'è stato un crescente interesse negli honeypots anche se i realtà non è una tecnologia nuova. C'è molta confusione su cosa è un Honeypot. Poche persone capiscono il rischio e le conseguenze relative agli honeypot. Sebbene gli honeypots creino valore aggiunto, il tempo e le risorse impiegate possono essere focalizzate in priorità maggiori.

Definizione
Spesso si sente discutere sugli honeypots all'interno di mailing list. La cosa stupefacente è che tutti sembrano parlare di due concetti completamente differenti. Chiariamo alcune definizioni: in questo documento verranno chiariti i due diversi tipi di honeypot e le diverse categorie di sicurezza.

Un Honeypot deve essere visto come "una risorsa il cui valore sta nell'essere attaccata e compromessa". Significa che qualsiasi cosa decidiamo di usare come honeypot, la nostra aspettativa e il nostro risultato è di avere un sistema che venga scoperto, attaccato e potenzialmente bucato. Quindi l'honeypot non è una soluzione, non fa dei 'fix' a niente è bensì uno strumento.
Come usarlo dipende dall'amministratore di rete e da cosa vuole ottenere. Un honeypot può essere semplicemente un sistema che emula un altro sistema o un'applicazione, crea un ambiente jailed, o può essere un sistema standard. Indipendentemente da come costruite e usate l'honeypot, il suo valore sta nell'essere attaccato.

Dividiamo gli honeypot in due categorie, come stabilito a suo tempo da Marty Roesch, creatore di Snort. Questi ha indicato che le due categorie di honeypot sono "produzione" e "ricerca", una distinzione molto utile. Lo scopo di un honeypot di produzione è di aiutare a ridurre i rischi in una azienda.
L'honeypot aggiunge valore alla sicurezza dell'azienda.
La seconda categoria, ricerca, è costituita da honeypot in grado di raccogliere informazioni sulla comunità blackhat. Questi honeypot non aggiungono direttamente valore ad una organizzazione. Piuttosto sono usati per trovare i pericoli, e capire come meglio proteggersi da essi.

Prima di discutere in dettaglio sugli honeypot, bisogna definire cosa si puo' intendere per sicurezza. Questa è la riduzione del rischio. Non è possibile eliminare il rischio, ma la sicurezza aiuta a ridurre il rischio per una organizzazione e le sue risorse. In genere quando si parla di sicurezza si usa dividerla in queste tre aree:

Prevenzione: vogliamo fermare i delinquenti. Se vuoi rendere sicura casa tua, la prevenzione sta nel chiudere a chiave la porta, chiudere le finestre, e magari recintare il giardino. Stai facendo tutto il possibile per evitare la minaccia.

Rilevazione: vogliamo sapere se i delinquenti sono entrati. Prima o poi, la prevenzione fallisce. Vuoi essere sicuro di accorgertene quando questo accadrà. Usando ancora l'analogia della casa, questo è come installare un'allarme anti intrusione e sensori di movimento all'interno delle stanze. Questi allarmi scattano quando qualcuno entra. Se la prevenzione fallisce, vuoi essere avvisato il prima possibile.

Reazione: una volta rilevati, vogliamo reagire ai delinquenti. Scoprire che sono entrati non ha molto senso se non siamo in grado di fermarli. Cosa serve essere avvisati di un furto se non viene fatto nulla? Se qualcuno entra in casa e fa scattare gli allarmi, si spera che le forze di polizia rispondano rapidamente. La stessa cosa è vera parlando di sicurezza informatica. Quando si rileva un'intrusione, bisogna rispondere prontamente all'incidente.

L'honeypot è un tool di sicurezza che ha vantaggi e svantaggi.
Caratteristica principale è la sua semplicità. E' un qualcosa che è destinato ad essere attaccato, non offre servizi di produzione. Significa che non c'è traffico di produzione che parte o arriva all'honeypot. Ogni volta che una connessione arriva all'honeypot, significa che è una scansione, una prova o un attacco. Ogni volta che una connessione parte dall'honeypot, probabilmente significa che è stato bucato.
Quindi, tutto il traffico dell'honeypot è da considerare sospetto per sua natura. Certo, questo non è sempre vero. Ci può essere un errore, come per esempio un DNS mal configurato o qualcuno che inserisce un indirizzo IP sbagliato. Ma in generale, la maggior parte del traffico dell'honeypot rappresenta attività non autorizzata.

Vantaggi e svantaggi.

Vantaggio (Raccolta Dati)
L'honeypot raccoglie pochi dati, ma quello che raccoglie di solito è di grande valore. Alza il livello di soglia, rendendo più facile la raccolta e l'archivio di dati. Uno di più grandi problemi in ambito di sicurezza è l'interpretazione di gigabyte di dati alla ricerca di quello che serve. L'honeypot può dare l'informazione cercata in un modo molto semplice. Per esempio, the Honeynet Project (http://www.citi.umich.edu/u/provos/honeyd/), un gruppo alla ricerca di honeypot, raccoglie ogni giorno solo 1-5 Mb di dati. Queste informazioni sono solitamente di grande valore, perché non mostrano l'attività di rete ma mostrano cosa fa un hacker una volta entrato nel sistema.

Vantaggio (Risorse)
Mostri strumenti di sicurezza possono essere sopraffatti dalla banda o dall'attività di rete. I Network Intrusion Detection Devices potrebbero non essere in grado di funzionare bene in caso di un'elevata attività di rete, scartando pacchetti, e potenzilmente attacchi. I log server centralizzati potrebbero lasciarsi sfuggire qualche evento.
Gli honeypot non hanno questo problema, registrano solo quello che gli arriva.

Svantaggio (Singolo punto di controllo)
Tutti gli honeypot condivisono lo stesso inconveniente; sono inutili se nessuno li attacca. Possono fare cose meravigliose, ma se non ricevono pacchetti rimangono indifferenti ad ogni attività non autorizzata sulla rete.

Svantaggio (Rischio)
L'honeypot introduce del rischio nella rete. Come si vedrà poi, gli honeypot hanno diversi livelli di rischio. Alcuni introducono un rischio molto piccolo, mentre altri offrono a chi si intromette l'intera piattaforma, dalla quale si possono lanciare nuovi attacchi. Il rischio è variabile in base a come si crea e si implementa l'honeypot.

Per questi svantaggi, l'honeypot non sostituisce nessuno strumento di sicurezza. Possono solo aggiungere valore lavorando con gli esistenti meccanismi di sicurezza. Ora che abbiamo visto il valore degli honeypot, vediamo come applicarli alla sicurezza.

Come visto prima, ci sono due tipi di honeypot, produzione e ricerca. Vediamo per primi quelli di produzione e il loro valore. Poi si vedranno quelli di ricerca.

Un Honeypot di produzione è usato all'interno di una rete aziendale per aiutare a ridurre i rischi. Rende più sicure le risorse di produzione. Vediamo come questi honeypot ci aiutano nelle menzionate aree di sicurezza: Prevenzione, Rilevamento e Reazione.

- Prevenzione
Un Honeypot aggiunge poco valore alla prevenzione, non aiuta a tenere lontani gli intrusi. Quello che li tiene lontani sono le buone abitudini, come disabilitare i servizi inutili e insicuri, applicare gli aggiornamenti necessari, e usare sistemi di autenticazione sicuri. Un honeypot è un sistema che va bucato, quindi non vi aiuterà nella prevenzione. Infatti, se implementato in modo scorretto, può rendere più facile l'intromissione per chi attacca.

Qualcuno crede nel valore dell'inganno come deterrente verso gli attacchi. Il concetto è che chi attacca spende tempo e risorse per bucare un honeypot, invece che attaccare sistemi di produzione. Chi attacca è ingannato dall'honeypot, e le macchine di produzione sono protette. Anche se questo può proteggere le macchine di produzione, penso che sia molto meglio per un'azienda impegnare tempo e risorse nel rendere più sicuri i propri sistemi, piuttosto che puntare sull'inganno. E' vero che può contribuire alla prevenzione, ma aiuta molto di più impegnare lo stesso tempo e gli stessi sforzi configurando meglio i sistemi.

Inoltre, l'inganno fallisce con due dei più comuni attacchi attuali: toolkit automatici e worm. Oggi moltissimi attacchi sono automatici. Questi tool cercano, attaccano e bucano tutto quello che viene trovano vulnerabile. Questi attaccano un honeypot, ma cercano di attaccare anche ogni altro sistema dell'azienda. Se avete una tazzina del caffè con uno stack IP, verrà attaccata. L'inganno non previene questi attacchi, perchè non c'è nessun individuo da ingannare. Per questo credo che gli honeypot aggiungono poco valore alla prevenzione. E' meglio concentrarsi di più sulla configurazione sicura dei sistemi.

- Rilevazione

Mentre gli honeypot danno poco valore alla prevenzione, credo che diano un grande valore alla rilevazione. Per molte aziende è estremamente difficile rilevare un attacco. Spesso le aziende sono sommerse da attività di produzione, come giga e giga di log dei sistemi, per cui può essere difficilissimo rilevare quando un sistema è attaccato, o anche quando è stato bucato. Gli Intrusion Detection System (IDS) sono una soluzione finalizzata alla rilevazione di attacchi.
Comunque, gli amministratori dei sistemi IDS possono essere soffocati dai famosi "false positive". I false positive sono allarmi generati quando il sensore dell'IDS rileva del traffico marcato come "attacco" anche se in realtà è attività regolare. Il problema è che un system administrator può ricevere così tanti "alert" nel corso della giornata che non riesce a rispondere a tutti. Inoltre diventa un'abitudine ignorare i false positive, giorno dopo giorno, un po' come la storia "Il ragazzo che pianse il lupo". I sensori dell'IDS, dai quali dipende il rilevamento di un'intrusione, perdono efficienza se i false positive non vengono ridotti. Questo non significa che un honeypot non è soggetto a false positive, ma che sono estremamente meno che le normali implementazioni IDS.

Un altro rischio sono i "false negative", quando l'IDS non rileva un attacco valido. Molti sistemi di IDS, pur essendo basati su signature, sulla verifica del protocollo, etc. possono lasciarsi sfuggire nuovi e sconosciuti attacchi. E' normale che un nuovo attacco sfugga alle tecnologie di IDS attuali. Inoltre, nuovi modi per eludere gli IDS sono continuamente sviluppati e distribuiti. Gli honeypot trattano i false negative come se non fossero illusi o sconfitti dai nuovi exploit. Infatti, uno dei loro vantaggi principali è che è facile capire quando avviene un'intromissione utilizzando un nuovo o sconosciuto attacco in quanto si basano sull'attività del sistema, non su delle "segnature". Inoltre l'amministratore non si deve preoccupare di aggiornare il database delle signature, o di mettere patch ad un motore di detection bacato. Gli honeypot catturano allegramente ogni attacco gli arrivi. Lavorano solo se vengono attaccati.

L'honeypot può semplificare il processo di rilevazione. Dato che l'honeypot non ha traffico di produzione, tutte le connessioni da e per l'honeypot sono sospette per loro natura. Per definizione, ogni volta che una connessione arriva al'honeypot si tratta di una ricerca, una scanzione o un attacco non autorizzato, Ogni volta che un honeypot inizia una connessione, probabilmente significa che il sistema è stato bucato. Questo aiuta a eliminare i false positive e i false negative semplificando notevolmente il processo di rilevazione. Ciò non vuol dire che un honeypot può sostituire il vostro IDS o che può essere il vostro solo strumento di rilevazione. Piuttosto, può essere un potente strumento che aumenta le vostre capacità di detection.

- Reazione
Anche se non viene considerato, l'honeypot aggiunge valore anche alla reazione. Spesso quando un sistema all'interno di un'azienda è stato bucato, è passata talmente tanta attività di produzione che c'è una specie di "inquinamento delle prove". Chi si occupa di reagire agli attacchi non può capire cosa sia successo quando utenti e attività di sistema si mescolano alle informazioni raccolte. Per esempio, sono stato spesso in aziende per analizzare sistemi compromessi, solo per scoprire che centinaia di utenti hanno continuato ad usare il sistema bucato. Il danno è molto più difficile da dedurre in queste situazioni.

La seconda possibilità che presentano molte organizzazioni dopo un inconveniente è che i il sistema bucato spesso non può essere tenuto off-line. I servizi di produzione che offre il sistema non possono venire interrotti. Così, chi deve analizzare il sistema non può eseguire una completa analisi.

L'honeypot può aggiungere valore riducendo o eliminando entrambe i problemi. Offre un sistema con dati non confusi, non utilizzato che può essere tenuto off-line. Per esempio, diciamo che un'azienda ha tre web server, entrambe attaccati e bucati. Gli amministratori ci permettono di analizzare e ripulire delle falle aperte. Facendo così, non sapremo mai nel dettaglio cosa è stato fatto per penetrare nel sistema, cosa non ha funzionato, che danni sono stati fatti e se l'intruso ha ancora accesso al sistema e se il sistema è stato ripulito con successo.

Se uno di questi tre sistemi fosse stato un honeypot, ora avremmo un sistema che si può mettere off-line per essere analizzato accuratamente. In base a questa analisi, potremmo sapere non solo come hanno fatto ad entrare, ma cosa hanno fatto una volta dentro. Quanto appreso può essere poi applicato agli altri webserver, permettendo nel futuro di meglio identificare e ripararsi da un attacco.

Ricerca
Una delle più grandi sfide che fronteggia chi si occupa di sicurezza è la mancanza di informazioni sul nemico. Domande come qual è la minaccia, perchè attaccano, quali sono i loro strumenti e quando attaccheranno. A domande come queste chi lavora per la sicurezza spesso non sa rispondere. Per secoli le organizzazioni militari si sono concentrate sulla raccolta di informazioni per comprendere e proteggersi dal nemico. Per proteggersi da una minaccia, bisogna prima conoscerla. Nella mondo della sicurezza informatica si hanno poche informazioni.

Gli honeypot possono aggiungere valore alla ricerca offrendo una piattaforma per studiare il pericolo. Non c'è miglior modo per imparare sugli hacker che guardarli agire, registrandoli passo passo mentre attaccano e si impadroniscono di un sistema. Ancora di più valore è vedere cosa fanno dopo aver bucato un sistema, come comunicare con altri hacker o uploadare dei nuovi tool. E' questo potenziale di ricerca una delle caratteristiche uniche degli honeypot. Inoltre, gli honeypot finalizzati alla ricerca sono uno degli strumenti migliori per catturare gli attacchi automatizzati, come gli auto-rooters o i Worm. Dato che questi attacchi colpiscono tutta la rete, gli honeypot possono facilmente registrare questi attacchi per analizzarli.

In generale, gli honeypot per la ricerca non riducono i rischi per una organizzazione. La lezione imparata da un honeypot può essere applicata, per aumentare la prevenzione, il rilevamento e la reazione. Ma questi honeypot contribuiscono molto poco alla sicurezza diretta della struttura informatica. Se si sta cercando di aumentare la sicurezza di un ambiente di produzione, considerate l'utilizzo di un honeypot di produzione, che sono facili da implementare e mantenere. Se una università, un ente governativo o una grande enterprise vuole conoscere di più sulla minaccia, allora un honeypot destinato alla ricerca ha senso. The Honeynet Project è un esempio di queste organizzazioni che usano questo tipo di honeypot per catturare informazioni sulla comunità hacker.

Soluzioni Honeypot
Ora che abbiamo visto i differenti tipi di honeypot e le loro caratteristiche, vediamo alcuni esempi. Più si lavora con gli honeypot, più ci si accorge che non ne esistono due uguali. Quindi semplicemente, più può interagire chi sta attaccando, più informazioni possiamo avere da lui, ma ovviamente più diventa rischioso.

Più cose può fare un honeypot, più cose può fare un hacker, e più informazioni noi guadagniamo. Comunque, sempre in questa chiave, più spazio ha l'hacker verso l'honeypot, più è alto il danno che può fare. Per esempio un honeypot con un basso livello di interazione è uno che emula pochi servizi, facile da installare. Gli attaccanti possono solo scansionare e collegarsi ad alcune porte. Qui le informazioni sono limitate (tipicamente chi si è collegato a quale porta e quando) comunque c'è poco da danneggiare. Nell'altro estremo ci sono gli honeypot con un alto grado di interazione. Questi possono essere sistemi reali. Possiamo imparare molto di più, perchè ci sono sistemi operativi attuali che un intruso può attaccare e con i quali può interagire, comunque c'è anche un rischio molto maggiore. Non c'è un'honeypot migliore, dipende tutto da cosa si vuole ottenere. Bisogna ricordare che un honeypot non è una soluzione, ma solo uno strumento. Il suo valore dipende dal nostro obbiettivo, dal semplice rilevamento alla ricerca. In base al "livello di interazione", nella seconda parte, confronteremo alcune soluzioni honeypot.

Roberto Puliafito