A widespread attack mode nowadays is to exploit domain name generation algo- rithms, also called Domain Generation Algorithm (DGA), which provide URLs to allow connection to command and control servers (C&C) which gives an attacker the ability to control a machine. Communication leads to the infected system becoming a bot and being part of remotely controlled botnets, which can be used for DDoS attacks (Distributed Denial of Service) or data theft. These domain names are generated periodically in large numbers in order to bypass any blocks of more traditional systems that employ static blacklists, which are manually updated when new discoveries occur. Their composition can be of different nature, often there are no words used in natural language, but rather confused sequences of characters and numbers, in some other cases, more advanced techniques are employed that exploit combinations of more words of a dictionary, making malicious domains quite indistinguishable from real domains. This research aims to develop a neural network that has been trained on datasets from various DGA families and is capable of independently recognizing common patterns in domain names and detecting and classifying DGA names. There are several deep learning architectures that can be used, in this case we want to rely on the Transformer one, in particular by using the encoder component, to which some changes are made. This model uses an input embedding which is a hybrid of two types for each domain name, one based on characters and one based on bigrams, each then passed to two parallel networks that extract features on different scales, which are then concatenated to generate a classification output. To evaluate its performance the k-fold cross validation has been used, which allows to divide the entire dataset into folds, that are cyclically used for validation, so that at the end accuracy, recall and F1 values are returned for each of them. The model’s unoptimal results for these different parameters are caused by an overfitting issue due to using a small dataset compared to the complexity of the neural network.

Una modalità di attacco molto diffusa oggigiorno, consiste nello sfruttare algoritmi di generazione di nomi di dominio, anche chiamati DGA (Domain Generation Algori- thm), che forniscono URL per permettere la connessione a dei server di comando e controllo (C&C), i quali danno la possibilità all’attaccante di controllare una macchina. All’instaurarsi della comunicazione il sistema infetto diventa un bot, entrando a far parte di botnet controllate da remoto, al fine di essere utilizzate, ad esempio, per effettuare attacchi DDoS (Distributed Denial of Service) o per furti di dati. Questi nomi di dominio vengono generati periodicamente in gran numero, al fine di aggirare eventuali blocchi di sistemi più tradizionali, che impiegano blacklist statiche, aggiornate manualmente ad ogni nuova scoperta. La loro composizione può essere di diversa natura, spesso non sono presenti parole utilizzate nel linguaggio naturale, ma piuttosto sequenze di caratteri e numeri confuse. In alcuni casi vengono impiegate anche tecniche più avanzate, che sfruttano combinazioni di più parole di un dizionario, rendendo i domini malevoli praticamente indistinguibili da domini legittimi. L’obiettivo di questa ricerca è quello di implementare una rete neurale allenata su dataset di diverse famiglie di DGA, che sia in grado di riconoscere autonomamente pattern comuni nei nomi di dominio ed essere capace di rilevare nomi derivati da DGA e classificarli. Esistono diverse architetture di deep learning che possono essere utilizzate, in questo caso ci si vuole basare su quella Transformer, in particolare sfruttando la componente di encoder, a cui vengono apportate alcune modifiche. Questo modello possiede in ingresso un embedding che è un ibrido di due tipologie per ciascun nome di dominio, uno basato sui caratteri e uno basato sui bigrammi, ciascuno poi passato a due reti parallele che ne estraggono caratteristiche su scale differenti, le quali vengono infine concatenate per generare un output di classificazione. Per valutarne le prestazioni viene utilizzata la tecnica di k-fold cross validation, che permette di suddividere l’intero dataset in folds, le quali vengono ciclicamente utilizzate per la validazione, cosicché alla fine vengano restituiti valori di accuratezza, precisione, recall ed F1 per ciascuna di esse. I risultati ottenuti su questi diversi parametri non sono ottimali, a causa di un problema di overfitting, principalmente dovuto al fatto di aver utilizzato un dataset molto piccolo in relazione alla complessità della rete neurale.

Rilevamento di Malware DGA Mediante Reti Transformer con Embedding Ibrido

MECARELLI, MASSIMO
2022/2023

Abstract

A widespread attack mode nowadays is to exploit domain name generation algo- rithms, also called Domain Generation Algorithm (DGA), which provide URLs to allow connection to command and control servers (C&C) which gives an attacker the ability to control a machine. Communication leads to the infected system becoming a bot and being part of remotely controlled botnets, which can be used for DDoS attacks (Distributed Denial of Service) or data theft. These domain names are generated periodically in large numbers in order to bypass any blocks of more traditional systems that employ static blacklists, which are manually updated when new discoveries occur. Their composition can be of different nature, often there are no words used in natural language, but rather confused sequences of characters and numbers, in some other cases, more advanced techniques are employed that exploit combinations of more words of a dictionary, making malicious domains quite indistinguishable from real domains. This research aims to develop a neural network that has been trained on datasets from various DGA families and is capable of independently recognizing common patterns in domain names and detecting and classifying DGA names. There are several deep learning architectures that can be used, in this case we want to rely on the Transformer one, in particular by using the encoder component, to which some changes are made. This model uses an input embedding which is a hybrid of two types for each domain name, one based on characters and one based on bigrams, each then passed to two parallel networks that extract features on different scales, which are then concatenated to generate a classification output. To evaluate its performance the k-fold cross validation has been used, which allows to divide the entire dataset into folds, that are cyclically used for validation, so that at the end accuracy, recall and F1 values are returned for each of them. The model’s unoptimal results for these different parameters are caused by an overfitting issue due to using a small dataset compared to the complexity of the neural network.
2022
2024-02-22
DGA Malware Detection Using Transformer Networks with Hybrid Embedding
Una modalità di attacco molto diffusa oggigiorno, consiste nello sfruttare algoritmi di generazione di nomi di dominio, anche chiamati DGA (Domain Generation Algori- thm), che forniscono URL per permettere la connessione a dei server di comando e controllo (C&C), i quali danno la possibilità all’attaccante di controllare una macchina. All’instaurarsi della comunicazione il sistema infetto diventa un bot, entrando a far parte di botnet controllate da remoto, al fine di essere utilizzate, ad esempio, per effettuare attacchi DDoS (Distributed Denial of Service) o per furti di dati. Questi nomi di dominio vengono generati periodicamente in gran numero, al fine di aggirare eventuali blocchi di sistemi più tradizionali, che impiegano blacklist statiche, aggiornate manualmente ad ogni nuova scoperta. La loro composizione può essere di diversa natura, spesso non sono presenti parole utilizzate nel linguaggio naturale, ma piuttosto sequenze di caratteri e numeri confuse. In alcuni casi vengono impiegate anche tecniche più avanzate, che sfruttano combinazioni di più parole di un dizionario, rendendo i domini malevoli praticamente indistinguibili da domini legittimi. L’obiettivo di questa ricerca è quello di implementare una rete neurale allenata su dataset di diverse famiglie di DGA, che sia in grado di riconoscere autonomamente pattern comuni nei nomi di dominio ed essere capace di rilevare nomi derivati da DGA e classificarli. Esistono diverse architetture di deep learning che possono essere utilizzate, in questo caso ci si vuole basare su quella Transformer, in particolare sfruttando la componente di encoder, a cui vengono apportate alcune modifiche. Questo modello possiede in ingresso un embedding che è un ibrido di due tipologie per ciascun nome di dominio, uno basato sui caratteri e uno basato sui bigrammi, ciascuno poi passato a due reti parallele che ne estraggono caratteristiche su scale differenti, le quali vengono infine concatenate per generare un output di classificazione. Per valutarne le prestazioni viene utilizzata la tecnica di k-fold cross validation, che permette di suddividere l’intero dataset in folds, le quali vengono ciclicamente utilizzate per la validazione, cosicché alla fine vengano restituiti valori di accuratezza, precisione, recall ed F1 per ciascuna di esse. I risultati ottenuti su questi diversi parametri non sono ottimali, a causa di un problema di overfitting, principalmente dovuto al fatto di aver utilizzato un dataset molto piccolo in relazione alla complessità della rete neurale.
File in questo prodotto:
File Dimensione Formato  
Tesi_Mecarelli_Massimo.pdf

accesso aperto

Descrizione: Tesi - Rilevamento di Malware DGA Mediante Reti Transformer con Embedding Ibrido
Dimensione 2.17 MB
Formato Adobe PDF
2.17 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/16714