Tra le minacce presenti sulla rete Internet, quella degli attacchi informatici mediante l’utilizzo di botnet è tra le più pericolose. Data la loro pericolosità, sono oggetto di studio nell'ambito della sicurezza informatica. Una botnet è una rete di computer, detti bot, controllati da un cyber criminale, il bot master, che può essere utilizzata per azioni illegali e fraudolente come attacchi DDoS e furto di dati. Il controllo sulla botnet da parte del bot master viene esercitato mediante l’utilizzo di un server (Command & Control Server) raggiungibile mediante un nome di dominio. Quest’ultimo è generato da specifici algoritmi condivisi tra i bot e bot master, i Domain Generation Algorithms (DGA), che sono suddivisi in famiglie in base al loro funzionamento. In particolare, il DGA genera un numero elevato di nomi di dominio e una volta che il bot master registra nel DNS (Domain Name Service) globale uno dei nomi di dominio generati il bot, cercando di contattare tutti i nomi generati dall’algoritmo, raggiunge il C&C Server. In questo modo si instaura un canale di comunicazione tra dispositivi infetti e cyber criminale molto robusto. Per poter rendere innocua una botnet, si può usare la tecnica di sink-holing: una volta individuati i nomi di domini malevoli che conducono al C&C server, le richieste indirizzate verso essi vengono reindirizzate verso un host non malevolo e slegato dal C&C server. In questa tesi ci si pone l’obiettivo di realizzare un sistema che possa individuare tali nomi di dominio malevoli e classificarli in base alla famiglia di DGA che li ha generati utilizzando tecniche di machine learning supervisionato (Support Vector Machine, Random Forest e MLP), partendo da un dataset di nomi di dominio creato in precedenza da altri tesisti. Dal dataset vengono estratte le features lessicali dei nomi di dominio benevoli e malevoli, che indicano la loro divergenza e similarità. Ciò permette di far emergere le differenze tra i nomi di dominio generati automaticamente dagli algoritmi (DGA) e quelli creati dall’uomo. Il dataset è stato suddiviso in training set e test set. Il modello per la classificazione multi-classe ottenuto produce, per ogni nome di dominio fornitogli, un numero intero compreso tra 0 e 25. Questo valore indica se il nome di dominio è benevolo (0) o se è generato da una delle 25 famiglie di DGA conosciute dal classificatore (1-25). Mediante l’utilizzo di metriche di valutazione (Accuracy, Precision, F1-score, Recall) si valuta la bontà del classificatore. Attraverso questi parametri si può confrontare il classificatore multi-classe con quello binario, che produce in output due valori interi: 0 se il nome di dominio è benevolo, 1 altrimenti. Da questo confronto si osserva come il classificatore multi classe produce ottimi risultati, a fronte di un lieve peggioramento delle prestazioni rispetto al classificatore binario.

Sistema per malware detection basato sull’analisi del traffico DNS

DATI, AGOSTINO
2019/2020

Abstract

Tra le minacce presenti sulla rete Internet, quella degli attacchi informatici mediante l’utilizzo di botnet è tra le più pericolose. Data la loro pericolosità, sono oggetto di studio nell'ambito della sicurezza informatica. Una botnet è una rete di computer, detti bot, controllati da un cyber criminale, il bot master, che può essere utilizzata per azioni illegali e fraudolente come attacchi DDoS e furto di dati. Il controllo sulla botnet da parte del bot master viene esercitato mediante l’utilizzo di un server (Command & Control Server) raggiungibile mediante un nome di dominio. Quest’ultimo è generato da specifici algoritmi condivisi tra i bot e bot master, i Domain Generation Algorithms (DGA), che sono suddivisi in famiglie in base al loro funzionamento. In particolare, il DGA genera un numero elevato di nomi di dominio e una volta che il bot master registra nel DNS (Domain Name Service) globale uno dei nomi di dominio generati il bot, cercando di contattare tutti i nomi generati dall’algoritmo, raggiunge il C&C Server. In questo modo si instaura un canale di comunicazione tra dispositivi infetti e cyber criminale molto robusto. Per poter rendere innocua una botnet, si può usare la tecnica di sink-holing: una volta individuati i nomi di domini malevoli che conducono al C&C server, le richieste indirizzate verso essi vengono reindirizzate verso un host non malevolo e slegato dal C&C server. In questa tesi ci si pone l’obiettivo di realizzare un sistema che possa individuare tali nomi di dominio malevoli e classificarli in base alla famiglia di DGA che li ha generati utilizzando tecniche di machine learning supervisionato (Support Vector Machine, Random Forest e MLP), partendo da un dataset di nomi di dominio creato in precedenza da altri tesisti. Dal dataset vengono estratte le features lessicali dei nomi di dominio benevoli e malevoli, che indicano la loro divergenza e similarità. Ciò permette di far emergere le differenze tra i nomi di dominio generati automaticamente dagli algoritmi (DGA) e quelli creati dall’uomo. Il dataset è stato suddiviso in training set e test set. Il modello per la classificazione multi-classe ottenuto produce, per ogni nome di dominio fornitogli, un numero intero compreso tra 0 e 25. Questo valore indica se il nome di dominio è benevolo (0) o se è generato da una delle 25 famiglie di DGA conosciute dal classificatore (1-25). Mediante l’utilizzo di metriche di valutazione (Accuracy, Precision, F1-score, Recall) si valuta la bontà del classificatore. Attraverso questi parametri si può confrontare il classificatore multi-classe con quello binario, che produce in output due valori interi: 0 se il nome di dominio è benevolo, 1 altrimenti. Da questo confronto si osserva come il classificatore multi classe produce ottimi risultati, a fronte di un lieve peggioramento delle prestazioni rispetto al classificatore binario.
2019
2020-07-24
A System for malware detection based on the DNS traffic analysis
File in questo prodotto:
File Dimensione Formato  
Tesi_Dati.pdf

Open Access dal 24/07/2023

Descrizione: Tesi di Agostino Dati
Dimensione 1.2 MB
Formato Adobe PDF
1.2 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/2328