Tesi di laurea. Honeypot. Cap. II

Honeypot: un diverso approccio alla sicurezza informatica. 
Brano tratto dal cap. 2. Honeypot e honeynet


Università degli Studi di Bari – Facoltà di Scienze Matematiche, Fisiche e Naturali. Corso di Laurea in Informatica. RELATORE: Prof. Emanuele COVINO   LAUREANDO: Mauro CICOLELLA. Anno Accademico 2007-2008
La →tesi di laurea di Mauro Cicolella è pubblicata sul sito dell’Università di Bari 


2. Honeypot e honeynet
2.1 Definizione di honeypot
Il termine honeypot (letteralmente “barattolo di miele”) esprime al meglio l’idea di fondo alla base di questa tecnologia, ovvero la realizzazione di un sistema in grado di attrarre i potenziali aggressori per osservarli in azione.
Una definizione ampiamente utilizzata e condivisa è stata fornita da Lance Spitzner1, massimo esperto in questo campo, secondo il quale
“un honeypot è una risorsa il cui valore risiede nell’essere rilevata, attaccata e compromessa”.
Il punto non è dunque la specifica implementazione adottata, ma gli obiettivi che si vogliono raggiungere e che in sintesi sono:
• disporre di un sistema in grado di essere rilevato, attaccato e compromesso;
• registrare tutte le attività intrusive per acquisire informazioni sugli strumenti
e le strategie impiegate.
Un honeypot può fungere da potenziale obiettivo per un attacco, non avendo alcun valore in quanto privo di informazioni di vitale importanza e i cui servizi in esecuzione non sono parte integrante di un reale ambiente di produzione. Come vedremo in seguito, ciò si traduce in un enorme vantaggio perché tutto il traffico che lo riguarda è da considerarsi potenzialmente ostile ed essendo quantitativamente limitato consente di raccogliere informazioni di grande utilità.

(…)

2.3 Classificazione
Gli honeypot possono avere molteplici impieghi, ma comunemente si considerano due principali categorie:
• sistemi di produzione: utilizzati nelle reti aziendali per incrementare il livello di sicurezza;
• sistemi di ricerca: impiegati per acquisire informazioni sulla comunità dei pirati informatici e scoprire eventuali vulnerabilità ignote, nuove tecniche di attacco e di conseguenza per mettere a punto nuovi meccanismi difensivi.
2.3.1 Sistemi di produzione
Utilizzati fondamentalmente per la rilevazione di attacchi diretti alla rete interna, possono essere considerati un’estensione degli IDS (Intrusion Detection System) in grado di verificare l’adeguatezza delle protezioni adottate, in quanto in caso di compromissione si può dedurre che sono stati elusi gli altri meccanismi di sicurezza (es. firewall). La consapevolezza di un attacco, ottenuta in questo modo, può consentire la risoluzione del problema, evidenziando addirittura la presenza di falle di sicurezza del tutto ignote. Allo stesso modo può giustificare ulteriori investimenti in sicurezza che altrimenti, in assenza di attacchi documentati, potrebbero essere ridotti o azzerati nella falsa convinzione di essere completamente al sicuro. Attraverso gli honeypot è possibile mantenere traccia degli attacchi e quindi fare delle statistiche circa la loro tipologia, frequenza ed eventualmente individuare nuove minacce che potrebbero sfuggire ad altri strumenti. Gli IDS ad esempio si appoggiano ad un database di firme (signature) delle varie tipologie di attacco che deve essere costantemente aggiornato.
2.3.2 Sistemi di ricerca
Rappresentano una piattaforma molto utile per lo studio dei pericoli informatici in quanto consentono di vedere gli aggressori in azione mentre attaccano e si impadroniscono di un sistema, e nel contempo di valutare strategie e strumenti utilizzati. In generale non consentono la riduzione dei rischi, ma indirettamente le informazioni acquisite possono incrementare il livello di sicurezza. Nella maggior parte dei casi si tratta di sistemi gestiti da università, enti governativi e organizzazioni non- profit con finalità di ricerca (vedi The Honeynet Project6).

2.4 Livelli di interazione
Il livello di interazione offerto dagli honeypot determina le modalità con cui un aggressore può accedere al sistema e di conseguenza la libertà di azione che gli è consentita, influenzando in maniera diretta la complessità e il rischio connessi alle attività di realizzazione, configurazione e gestione. In generale maggiore è il livello di interazione maggiore sarà la probabilità di compromissione e di impiego del sistema per sferrare attacchi verso altri obiettivi. Tuttavia solo questi sistemi risultano veramente efficaci nel campo della ricerca.
2.4.1 Livello basso
Gli honeypot di questo tipo si limitano ad emulare alcuni servizi di rete non consentendo alcuna azione diretta per cui il loro impiego è riservato al rilevamento delle intrusioni nei sistemi reali. Per le sue caratteristiche si presenta come una soluzione a basso rischio per l’ambiente in cui è installata, ma anche facilmente identificabile, ad esempio per la mancanza di traffico in uscita.
2.4.2 Livello medio
In questa categoria rientrano gli honeypot che utilizzano, al posto dei reali servizi di rete, script o programmi che ne emulano il comportamento, cercando di essere il più possibile realistici. La principale differenza con quelli del primo tipo risiede nella
capacità di generare del traffico in uscita, permettendo un’interazione limitata con il sistema.
2.4.3 Livello alto
Si tratta degli honeypot più potenti e complessi in grado di consentire all’aggressore l’accesso al sistema operativo, lasciandolo libero di agire e monitorando le sue attività. Il loro impiego principale è nei sistemi di ricerca, ma possono essere utilizzati anche in quelli di produzione con opportune precauzioni. La disponibilità di un ambiente operativo completo implica un livello di rischio molto elevato, permettendo ad un attacker di compromettere tale piattaforma e utilizzarla per sferrare attacchi verso altri sistemi o saturare la rete con una elevata produzione di traffico.
2.4.4 Confronto tra i vari livelli
Un confronto tra le diverse soluzioni proposte deve tener conto di vari aspetti come installazione, fingerprinting, valore dei dati, manutenzione e rischi.
La difficoltà di installazione può essere valutata considerando il tempo e le competenze richieste. In genere i sistemi a bassa interazione implicano maggiore semplicità. Per individuare un honeypot bisogna evidenziare le differenze tra tale sistema e quello reale. Anche in questo caso gli honeypot a bassa/media interazione sono più semplici da scoprire per le difficoltà evidenti di emulazione di servizi e applicazioni. L’utilità di un honeypot si misura in base al valore dei dati acquisiti e certamente i sistemi ad alta interazione offrono spunti più interessanti permettendo la creazione di ambienti molto realistici. I sistemi a bassa/media interazione non richiedono grossi interventi manutentivi poiché i servizi sono semplicemente emulati, a differenza degli honeypot ad alta interazione che si basano su un effettivo ambiente operativo.
Infine sul fronte dei rischi dobbiamo considerare che questi aumentano proporzionalmente al livello di interazione.

2.5 Posizionamento degli honeypot
Un aspetto non trascurabile è rappresentato dal corretto posizionamento all’interno della rete, che può pregiudicare l’efficacia di tali sistemi.

cicolella-fig21

Figura 2.1 Posizionamento degli honeypot

Gli honeypot di produzione con funzione di rilevamento agiscono correttamente se posti all’interno del perimetro di sicurezza protetti da un firewall (3). In questo modo possono fungere da sensore di allarme nel caso di attacchi che abbiano aggirato le barriere difensive ed eventualmente possono agire come deterrente per distogliere l’attenzione dalle risorse di valore. Collocarli fuori dal perimetro di sicurezza non avrebbe senso perché li esporrebbe ad un gran numero di attacchi, molti dei quali dovrebbero già essere bloccati dagli altri dispositivi di difesa. Se però gli honeypot di produzione vengono impiegati come meccanismo di reazione, per dirottare gli attacchi provenienti dall’esterno, è conveniente collocarli nella DMZ (zona demilitarizzata, segmento di rete parzialmente accessibile da Internet) dove normalmente trovano posto i servizi pubblici (ftp, www, smtp ecc.)
Al contrario gli honepot di ricerca vanno posizionati esclusivamente al di fuori del perimetro di sicurezza per acquisire la massima quantità di informazioni sugli attacchi. In questo caso, trattandosi di sistemi particolarmente esposti, è molto elevato il rischio di compromissione e di impiego per attaccare altre risorse, per cui è indispensabile adottare delle contromisure adeguate.

2.6 Vantaggi e svantaggi
Come per tutte le tecnologie vi sono vantaggi e svantaggi che occorre valutare attentamente affinché tali sistemi abbiano efficacia.
2.6.1 Vantaggi
Gli honeypot sono diversi dai comuni tool di sicurezza che risolvono specifici problemi come, ad esempio, i firewall che vigilano sul perimetro di una rete monitorando le connessioni in ingresso e uscita e gestendo attraverso opportune regole il traffico in transito, oppure gli IDS (Intrusion Detection System) che rilevano gli attacchi esaminando in dettaglio i pacchetti trasferiti attraverso la rete.
Al contrario gli honeypot non forniscono servizi di produzione e rappresentano uno strumento altamente flessibile e adattabile a molteplici situazioni. In questo senso non vanno considerati come un surrogato dei classici sistemi difensivi bensì come un loro complemento. Spesso si fa confusione proprio con gli IDS che al contrario degli honeypot ispezionano tutto il traffico di rete confrontando i dati con un database di “attack signature” (una sorta di DNA degli attacchi). Quando viene trovata una corrispondenza l’IDS lancia un allarme. Questa metodologia non sempre funziona bene e spesso si generano dei falsi positivi, ovvero un’attività lecita viene erroneamente scambiata per un attacco. Troppi falsi positivi in aggiunta alle dimensioni ragguardevoli dei file di log di sistema e di quelli generati dai firewall rendono estremamente difficoltoso estrapolare dati di un qualche valore per gli addetti alla sicurezza.
Uno dei principali vantaggi degli honeypot è la raccolta di una piccola quantità di dati relativi a interazioni con il sistema. Non fornendo servizi di produzione, tutte le connessioni sono in teoria non autorizzate e i dati raccolti il risultato di una scansione o di un attacco. In particolare le connessioni in uscita sono il sintomo inequivocabile della compromissione dell’honeypot. Anche il numero di falsi positivi è limitato proprio perché è minore il traffico prodotto. Inoltre un comune IDS può riconoscere solo attacchi già noti e codificati nel database delle signature (in maniera simile a quanto accade per gli antivirus); in tutti gli altri casi si osserva il fenomeno dei falsi negativi, ossia attacchi che sfuggono al riconoscimento.
Gli honeypot al contrario possono servire per la rilevazione di qualsiasi tipo di attacco, inclusi quelli sconosciuti. Inoltre i meccanismi di sicurezza tradizionali devono esaminare tutti i pacchetti che attraversano la rete e in realtà di grandi dimensioni ciò si traduce in un’enorme mole di dati con l’impiego di ingenti risorse. Un honeypot deve catturare solo il traffico ad esso diretto, quindi necessita di una configurazione hardware minima ed ha un costo di implementazione molto basso. Oltretutto è possibile realizzare degli honeypot virtuali, cioè una serie di sistemi che girano su una stessa macchina attraverso l’impiego di software di virtualizzazione (es. VMware, UML) oppure di scripts che simulano una rete di computer (es. Honeyd).
Infine occorre osservare che esistono molte soluzioni open source con tutti i vantaggi che ne derivano e a cui lavora una vasta comunità di ricercatori ed esperti in grado di offrire supporto nelle varie fasi di progettazione, configurazione e gestione.
2.6.2 Svantaggi
Il principale svantaggio di un honeypot è rappresentato dal suo “campo visivo ristretto”. In pratica é in grado di accorgersi esclusivamente degli eventi che lo interessano, perché a differenza di altri dispositivi passivi non può catturare le attività relative ad altri sistemi. Spitzner parla di “effetto microscopio”, cioè della capacità di ingrandire e mettere a fuoco gli eventi che avvengono al suo interno e ciò va considerato positivamente, sebbene in alcuni casi possa rappresentare un problema. Ipotizziamo due diverse situazioni: nella prima l’aggressore cerca di individuare il potenziale obiettivo adottando le classiche tecniche di scansione della rete. Tale azione viene rilevata dall’honeypot inducendo i responsabili della sicurezza alla verifica degli altri sistemi di produzione che presumibilmente sono stati oggetto del medesimo attacco. In questo caso l’honeypot si dimostra molto valido.
Viceversa ammettiamo che l’aggressore conosca la tipologia della rete e sferri un attacco diretto verso uno specifico obiettivo conoscendone l’IP e quindi senza ricorrere alla scansione della rete. In questa situazione l’honeypot è di fatto tagliato fuori e non aiuta nella rilevazione dell’attacco.
In secondo luogo occorre considerare l’entità del rischio introdotto nella sicurezza di rete, che risulta strettamente legato al livello di interazione offerto di cui abbiamo parlato in precedenza.
Infine bisogna osservare che per risultare veramente efficace un honeypot deve nascondere la propria identità, perché in caso contrario può spingere l’aggressore a trascurarlo per orientarsi verso altri obiettivi impedendo la rilevazione di eventuali attacchi.

1492total visits,2visits today