I malware sono software dannosi e possono creare gravi problemi ai sistemi che colpiscono. Ne esistono di moltissime tipologie e con l’avanzare dello sviluppo di internet e la crescita degli utenti collegati sono sempre più stati usati per scopi di lucro. Gli attacchi da malware possono presentarsi in maniera più o meno eclatante, infatti su un computer potrebbe essere in esecuzione un malware di cui non conosciamo nemmeno l’esistenza. Molte famiglie di malware hanno bisogno di stabilire una connessione con un server C&C (command and control) per operare e per fare ciò hanno bisogno di un nome di dominio che identifichi tale server. Per evitare di essere rilevati, questi server usano nomi di dominio che cambiano periodicamente generati da un algoritmo di tipo DGA (Domain generation algorithm). Lo scopo della nostra ricerca sarà proprio quello di riuscire a distinguere i nomi di dominio generati da questi algoritmi da quelli normali e per farlo useremo delle tecniche di intelligenza artificiale. Per questo scopo sono già stati applicati numerosi metodi, dalle tecniche di Machine Learning più tradizionali alle più recenti tecniche di Deep Learning. Noi ci concentreremo proprio su quest’ultime e in particolare il nostro obiettivo sarà quello di usare tecniche di apprendimento non supervisionato. Ciò significa che per addestrare la nostra rete neurale non dovremo etichettare i nomi di dominio e non avremo bisogno di nomi di dominio generati da algoritmi ma solo di quelli legittimi. Questo sarà un grande vantaggio dato che i primi sono molto più difficili da reperire. Il tipo di rete neurale che useremo in particolare è chiamato autocodificatore (autoencoder) e per rappresentare i nostri nomi di dominio proveremo a usare diverse tecniche di embedding basate su n-grammi, senza ricorrere all’estrazione esplicita di feature. Alla fine valuteremo i risultati dei nostri esperimenti e ne discuteremo.
Rilevamento non supervisionato di malware basato su DGA: test con il dataset AmritaDGA
MALPIEDI, RICCARDO
2021/2022
Abstract
I malware sono software dannosi e possono creare gravi problemi ai sistemi che colpiscono. Ne esistono di moltissime tipologie e con l’avanzare dello sviluppo di internet e la crescita degli utenti collegati sono sempre più stati usati per scopi di lucro. Gli attacchi da malware possono presentarsi in maniera più o meno eclatante, infatti su un computer potrebbe essere in esecuzione un malware di cui non conosciamo nemmeno l’esistenza. Molte famiglie di malware hanno bisogno di stabilire una connessione con un server C&C (command and control) per operare e per fare ciò hanno bisogno di un nome di dominio che identifichi tale server. Per evitare di essere rilevati, questi server usano nomi di dominio che cambiano periodicamente generati da un algoritmo di tipo DGA (Domain generation algorithm). Lo scopo della nostra ricerca sarà proprio quello di riuscire a distinguere i nomi di dominio generati da questi algoritmi da quelli normali e per farlo useremo delle tecniche di intelligenza artificiale. Per questo scopo sono già stati applicati numerosi metodi, dalle tecniche di Machine Learning più tradizionali alle più recenti tecniche di Deep Learning. Noi ci concentreremo proprio su quest’ultime e in particolare il nostro obiettivo sarà quello di usare tecniche di apprendimento non supervisionato. Ciò significa che per addestrare la nostra rete neurale non dovremo etichettare i nomi di dominio e non avremo bisogno di nomi di dominio generati da algoritmi ma solo di quelli legittimi. Questo sarà un grande vantaggio dato che i primi sono molto più difficili da reperire. Il tipo di rete neurale che useremo in particolare è chiamato autocodificatore (autoencoder) e per rappresentare i nostri nomi di dominio proveremo a usare diverse tecniche di embedding basate su n-grammi, senza ricorrere all’estrazione esplicita di feature. Alla fine valuteremo i risultati dei nostri esperimenti e ne discuteremo.File | Dimensione | Formato | |
---|---|---|---|
Malpiedi_tesi_definitivo.pdf
accesso aperto
Descrizione: Tesi di Malpiedi Riccardo
Dimensione
1.18 MB
Formato
Adobe PDF
|
1.18 MB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.12075/10891