POLITESI Politecnico di Milano Servizi Bibliotecari di Ateneo Servizi Bibliotecari di Ateneo
 
   ALL THESES       POST GRADUATE THESES       DOCTORAL THESES   
My POLITesi
authorized users
italiano
Please use this identifier to cite or link to this thesis: http://hdl.handle.net/10589/92341

Author: COLOMBO, EDOARDO GIOVANNI
Supervisor: MAGGI, FEDERICO
Scientific Disciplinary Sector: ING-INF/05 SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Date: 29-Apr-2014
Academic year: 2013/2014
Title: Cerberus. Detection and characterization of automatically generated malicious domains
Italian abstract: Le botnet sono considerate una tra le più diffuse minacce nell’Internet. Analisti dal mondo dell’industria e ricercatori di sicurezza informatica sono continuamente all’opera, al fine di mitigare questo fenomeno in perenne crescita. Recenti rapporti redatti da McAfee [24] ed Enisa [13] confermano come tutte le attività malevoli presenti nell’Internet non mostrino il minimo segno di scostamento dal loro continuativo tasso di crescita, botnet comprese. Gli attacker inoltre, colpiscono sempre più tipologie di piattaforme: nell’aprile 2012 più di 600,000 computer Apple [12] furono infettati dal malware conosciuto come Flashback. Inoltre, le minacce riguardanti piattaforme mobili, hanno visto un’impressionante crescita, diventando un serio problema per gli utilizzatori di smartphone Android, il sistema operativo più colpito. Una ricerca condotta da Grier et al. [16] ha mostrato come le attività malevole non siano più perpetrate dagli attaccanti a scopo ludico, ma per fini lucrativi. Il sorgere del modello exploit-as-a-service per portare a compimento la compromissione del browser tramite attacco drive-by-download è un fenomeno preoccupante, in cui i kit di exploit sono venduti al pari di un qualsiasi altro prodotto per le necessità degli attaccanti. Le stesse botnet sono ormai infrastrutture concepite esplicitamente per fini di lucro. Torpig e Zeus ad esempio, mirano a rubare credenziali di accesso a conti corrente dalle macchine infette e inviarli agli attaccanti. Un altro tipo di malware lucrativo prende il nome di ransomware. Il ransomware non è una nuova minaccia, tuttavia è tornata prepotentemente in scena con l’avvento di Cryptolocker, un malware capace di collezionare guadagni che sono stati conservativamente stimati pari a 1,100,000 USD [35]. La mitigazione delle botnet è pertanto di interesse primario per i difensori, i quali a tale scopo concentrano i loro sforzi nell’individuare gli indirizzi IP dei cosiddetti Server di Comando e Controllo (C&C). Un Server C&C è la macchina dalla quale gli attaccanti inviano gli ordini e raccolgono i dati provenienti dalle macchine infette. In un’architettura di botnet di tipo centralizzato (la più diffusa), nel momento in cui la comunicazione tra il Server C&C e le macchine infette, i bots, è terminata, questi ultimi diventano dormienti e solitamente innocui. Gli attaccanti sono consci di questa debolezza nella loro infrastruttura, e hanno sviluppato tecniche sempre più sofisticate al fine di rendere l’interruzione del canale di comunicazione C&C uno sforzo considerevole per i difensori. A tale scopo, la maggior parte della comunicazione delle moderne botnet, si appoggia sull’utilizzo dei Domain Generation Algorithm (DGA), che rendono il punto di rendezvous non prevedibile e il canale di comunicazione resistente alle interruzioni. Questi algoritmi generano liste di domini casuali ogni ∆ tempo, ad esempio un giorno, a volte utilizzando semi imprevedibili, domini che i bot tentano di contattare tramite richieste di tipo HTTP. L’attaccante registra solo un dominio e aspetta che uno dei bot contatti l’URL corretto. Quando ciò accade, la comunicazione ha inizio e i dati possono essere trasmessi in entrambe le direzioni. La mitigazione delle botnet è un argomento ampiamente discusso in letteratura, in cui vari autori hanno proposto strumenti di individuazione i quali, seppur efficaci, si appoggiano principalmente su un approccio di tipo supervisionato o sugli indirizzi IP degli utenti o su entrambi: due aspetti che consideriamo come difetti. Infatti, l’approccio supervisionato richiede che vengano forniti dati etichettati in ingresso al sistema. Ciò comporta la necessità di avere un altro modo per individuare la minaccia ed etichettarla, prima che il sistema possa essere operativo. Inoltre questo approccio risulta minacciato da attività malevole che mostrano caratteristiche prima non considerate. Utilizzare l’indirizzo IP degli utenti è considerato un difetto poiché comporta problemi relativi alla privacy degli utenti stessi e al dislocamento di un sistema di monitoraggio a livelli bassi della gerarchia DNS. Nel 2013, Stefano Schiavoni et al. [36] proposero Phoenix, un sistema di rivelazione che soddisfa la maggior parte dei nostri criteri, poiché non richiede conoscenza a priori e analizza dati DNS passivi, franchi di qualsiasi problema legato alla privacy. Phoenix è in grado di scoprire cluster di domini utilizzati per la comunicazione dei Server C&C, svelando in tal modo i loro indirizzi IP, e di individuare domini malevoli, utilizzando la conoscenza prodotta precedentemente. Nonostante i notevoli risultati, Phoenix non è in grado di individuare i) minacce che utilizzano Server C&C con IP prima non visti, ii) minacce che modificano leggermente il DGA, e.g., cambiando l’insieme di TLD utilizzati e iii) manca di validazione con dati reali. Noi proponiamo Cerberus un sistema di individuazione che migliora i risultati raggiunti da Phoenix, dimostrandosi capace di individuare minacce non note utilizzando un approccio di tipo non supervisionato. Cerberus affronta tre fasi per raggiungere questo risultato. La prima fase prende il nome di Fase di Bootstrap, in cui utilizza Phoenix per generare ground truth da utilizzarsi in seguito durante la Fase di Detection. La ground truth è composta da una lista di cluster di domini che fanno riferimento ad attività malevole basate su DGA, e.g., botnet e trojan. Dopo che il sistema è stato inizializzato, comincia ad analizzare un flusso di dati DNS passivi, il quale consiste di risposte DNS: il nome di dominio, l’indirizzo IP a cui risolve e il TTL. Questi dati devono essere filtrati dai domini legittimi. A tale scopo, durante la Fase di Filtering, una serie di euristiche viene applicata ai dati, euristiche che tengono conto di parametri come la data di registrazione il TLD utilizzato e il TTL. I domini che rimangono alla fine del processo di filtraggio sono da considerarsi “probabilmente malevoli”. Questi domini sono i dati di ingresso per la sovracitata Fase di Detection, in cui proviamo a classificare tali dati utilizzando la conoscenza prodotta in Fase di Bootstrap. A tale scopo, Cerberus guarda se il dominio sconosciuto d condivide il proprio indirizzo IP con uno dei cluster: in tal caso alleniamo una Support Vector Machine equipaggiata con la funzione Subsequence String Kernel [23], e la utilizziamo per classificare d. Altrimenti iniziamo a registrare le attività legate all’indirizzo IP di d, l. Ciò significa che teniamo traccia dei domini probabilmente malevoli che hanno risolto su l nel corso del tempo. Dopo una settimana di registrazione, Cerberus raggruppa questi indirizzi IP sospetti a seconda dell’Autonomous System a cui appartengono ed esegue una routine di clustering basata sull’algoritmo DBSCAN e il Subsequence String Kernel come misura di distanza. Questi cluster sono poi aggiunti alla ground truth e la conoscenza ora aumentata viene utilizzata per analizzare nuovi dati DNS. Abbiamo eseguito un esperimento utilizzando dati passivi DNS reali, raccolti da una macchina ISC/SIE nell’arco di una settimana. In questo periodo, Cerberus ha classificato 187 domini malevoli, di cui 167 appartenevano alla minaccia chiamata Conficker, precedentemente scoperta da Phoenix. Dopo sette giorni avevamo raccolto 1,300 indirizzi IP sospetti, per un totale di 3,576 domini. Quindi la routine di clustering è stata in grado di produrre 47 nuovi cluster, i quali esibivano indirizzi IP noti, appartenenti a minacce come Palevo e Sality. I cluster sono stati aggiunti alla precedente conoscenza e il giorno seguente Cerberus è stato in grado di individuare 319 domini malevoli.
English abstract: Botnets are networks of infected machines (the bots) controlled by an external entity, the botmaster, who uses this infrastructure to carry out malicious activities, e.g., spamming and Distributed Denial of Service. The Command and Control Server (C&C) is the machine employed by the botmaster to dispatch orders to and gather data from the bots, and the communication is established through a variety of distributed or centralized protocols, which can vary from botnet to botnet. In the case of DGA-based botnets, a Domain Generation Algorithm (DGA) is used to find the rendezvous point between the bots and the botmaster. Botnets represent one of the most widespread and dangerous threats on the Internet and therefore it is natural that researchers from both the industry and the academia are striving to mitigate this phenomenon. The mitigation of a botnet is a topic widely covered in literature, where we find many works that propose approaches for its detection. Still, all of these systems suffer from the major shortcomings of either using a supervised approach, which means that the system needs some a priori knowledge, or leveraging DNS data containing information on the infected machines, which leads to issues related to the users’ privacy and the deployment of such systems. We propose Cerberus, an automated system based on machine learning, capable to automatically discover new botnets and use this knowledge to detect and characterize malicious activities. Cerberus analyzes passive DNS data, free of any privacy issues, which allows the system to be easily deployable, and uses an unsupervised approach, i.e., Cerberus needs no a priori knowledge. In fact the system applies a series of filters to discard legitimate domains while keeping domains generated by AGDs and likely to be malicious. Then, Cerberus keeps record of the activity related to the IP addresses of those domains, and, after ∆ time, it is able to isolate clusters of domains belonging to the same malicious activity. This knowledge is later used to train a classifier that will analyze new DNS data for detection. We tested our system in the wild by analyzing one week of real passive DNS data. Cerberus was able to detect 47 new clusters of malicious activities: Well known botnets as Jadtre, Sality and Palevo were found among the others. Moreover the tests we ran on the classifier showed an overall accuracy of 93%, proving the effectiveness of the system.
Italian keywords: sicurezza informatica, botnet, data mining, malware, DNS, Automatically Generated Domain, Domain Generation Algorithm, machine learning
English keywords: computer security, botnet, data mining, malware, DNS, Automatically Generated Domain, Domain Generation Algorithm, machine learning
Language: eng
Appears in Collections:POLITesi >Tesi Specialistiche/Magistrali

Files in This Item:

File Description SizeFormatVisibility
2014_04_Colombo.pdfThesis text932.69 kBAdobe PDFView/Open





 

  Support, maintenance and development by SURplus team @ CINECA- Powered by DSpace Software