Intrusion Detection System: Honeypot
di Cristian Ceroni
Gli IDS (Intrusion Detection System) funzionano in rapporto a tre premesse:
-dove controllare
-cosa controllare
-che cosa fare
Un IDS dispone infatti di una speciale implementazione del protocollo TCP/IP, ed è possibile compiere questa operazione in diversi modi:
-ricostruzione del flusso di comunicazione
-analisi del protocollo
-rilevazione delle anomalie
-corrispondenza a signature e schemi
-analisi delle registrazioni (acquisizione dei pacchetti non autorizzati e ricostruzione della sessione)
Se si vuole prendere in considerazione un’azione effettiva contro gli aggressori, l’utilizzo degli honeypot è essenziale.
Un Honeypot è un sistema di computer estremamente flessibile su internet, che viene adattato per fungere da strumento di sicurezza, volutamente configurato per attirare ed intrappolare chi tenta di penetrare nei sistemi attraverso indagini, analisi e intrusioni. I soggetti presi di mira sono gli attacker, cracker e script kiddie.
Ovviamente gli honeypot non risolvono il problema sicurezza. Vengono infatti usati per fuorviare, rilevare attacchi e compromissioni all’interno di un’architettura di rete.
Il loro scopo è di sembrare ciò che in realtà non sono.
Oltre queste caratteristiche, gli HP distraggono gli aggressori da risorse di importanti all’interno del sistema.
Scopo e struttura degli HP rientrano in due categorie:
-HP di ricerca difficili da mantenere, vengono utilizzati prevalentemente per attività di ricerca di organizzazioni militari e governative
-HP di produzione, utilizzate da società che hanno come scopo lo sviluppo della sicurezza delle reti
Identificare le intrusioni permette di individuare i c.d. security incidents, in modo tale da garantire una risposta immediata.
Da ricordare, però, che gli HP non possono svolgere il compito di meccanismo preventivo, in quanto, la sua attività (da cui il nome “vaso di miele”) consiste nell’essere compromessa da intrusi, in modo tale da capire le modalità di attacco, le tipologie di strumenti usati, e le loro finalità.
Tra gli aspetti positivi da ricondurre all’utilizzo di HP come strumento di IDS, sono il basso valore di falsi positivi e falsi negativi (in quanto chi accede ad una honeypot, non lo fa per caso), e la semplicità di utilizzo degli stessi.
Il livello di interazione determina la quantità di funzioni che un honeypot può fornire: più funzioni sono presenti, più informazioni si potranno ottenere da un attacco.
Proporzionalmente però, aumentano anche i rischi derivanti da un ottenimento del controllo root della macchina da parte dell’intruso, e il conseguente invio di attacchi dalla direzione dell’honeypot.
Tra le altre tipologie di applicazione troviamo:
Honeyd.
È un honeypot open source sviluppato da Niels Provos. È in grado di simulare più di 500 s.o. (compresi differenti versioni e s.p.), oltre che servizi TCP piuttosto che scripts in Perl o servizi provati (sebbene però non emuli UDP: la porta resta aperta).
Può simultaneamente assumere indirizzi IP di centinaia di vittime (Honeytokens.
Glil honeypot non debbono essere obbligatoriamente delle macchine.
Un honeytokens può essere un numero di carta di credito, un documento excel, una presentazione in ppt. Come un honeypot non ha un autorizzazione al suo utilizzo, lo stesso vale per gli honeytokens.
Prelevando questi file quindi, permette di individuare accessi non autorizzati al sistema.
Honeynets.
Rappresentano un’estensione di un honeypot, ovvero un’architettura multi-system in grado di emulare un fake network.
La tipologia network permette di ottenere diversi vantaggi rispetto gli honeypot, come il maggiore realismo, i molteplici punti di attacco forniti all’attacker.
Qualora un attacker individui la honeynet, si rende conto di essere entrato in un sistema fittizio.
Ma l’attacker può exploitare l’honeypot, e questo rappresenta un rischio di elevata interazione con il sistema, da cui potrebbero anche partire attacchi verso altre macchine.
Honeypot e sviluppi forensi.
Se il sistema è stato compromesso, si possono individuare:
-chi ha eseguito l’attacco
-cosa ha fatto: individuare il livello di penetrazione
-in che modo lo ha fatto; tools utilizzati
-quando; rilevazione data ora dell’intrusione per incrocio dati
-perché (spesso in questi casi non c’è risposta)
Rilevata un’intrusione cosa occorre fare?
In genere, è opportuno lasciarlo operare, osservandolo con Sebek, sniffers e loggando i suoi movimenti, e freezare la macchina appena ci si rende conto di essere sul punto di perdere il controllo root della macchina.
Se si vuole preservare le prove, bisogna cercare di mantenerle intatte, in ogni modo.
Occorre non modificare il filesystem; lavorare su copie forensicamente sicure (streambit copy, md5), ed utilizzare Linux come supporto per il filesystem.
Usare vmware per bootare altri OS, ma mai lasciare che Windows monti l’immagine (distruggerebbe le timestamps: quindi meglio condividerle con Samba).