DNS-GT: A Graph-based Transformer Approach to Learn Embeddings of Domain Names from DNS Queries

Il paper presenta DNS-GT, un modello Transformer basato su grafi che apprende rappresentazioni contestuali dei nomi di dominio dalle query DNS in modo auto-supervisionato, ottenendo prestazioni superiori rispetto ai metodi esistenti nei compiti di classificazione e rilevamento di botnet.

Massimiliano Altieri, Ronan Hamon, Roberto Corizzo, Michelangelo Ceci, Ignacio Sanchez

Pubblicato Fri, 13 Ma
📖 5 min di lettura🧠 Approfondimento

Each language version is independently generated for its own context, not a direct translation.

🕵️‍♂️ Il Detective Digitale: DNS-GT

Immagina che la rete internet sia una città enorme e caotica. In questa città, ogni computer (il tuo PC, il tuo smartphone, i server aziendali) è un abitante che deve costantemente chiedere indicazioni stradali per trovare i posti giusti: "Dov'è Facebook?", "Dov'è il sito della banca?", "Dov'è quel video su YouTube?".

Queste richieste si chiamano DNS Query. Sono come i bigliettini che gli abitanti si passano chiedendo: "Scusa, come si arriva a google.com?".

Il problema è che i criminali digitali (hacker, botnet, virus) vivono anche loro in questa città. Quando un computer viene infettato, inizia a inviare bigliettini strani, chiedendo indicazioni per luoghi pericolosi o segreti, spesso in modo confuso o ripetitivo.

🚧 Il Problema: I vecchi guardiani sono stanchi

Fino a poco tempo fa, i sistemi di sicurezza (i guardiani della città) funzionavano con due metodi:

  1. La lista dei "Cattivi Conosciuti": Se un criminale era già stato visto prima, il guardiano lo fermava. Ma se il criminale si travestiva o usava un nuovo nome, il guardiano non lo riconosceva.
  2. L'analisi delle "Forme": Guardavano solo la forma del bigliettino (quanto è lungo, quanti caratteri ha). Ma i criminali sono furbi e cambiano forma facilmente.

Inoltre, questi sistemi avevano bisogno di etichette (sapevano già quali bigliettini erano "cattivi" e quali "buoni"). Nella realtà, etichettare milioni di bigliettini è come cercare di colorare a mano ogni singolo mattone di un grattacielo: ci vuole troppo tempo e spesso non si hanno le etichette giuste.

🧠 La Soluzione: DNS-GT, il "Super-Detective"

Gli autori di questo paper hanno creato un nuovo detective chiamato DNS-GT. Non guarda solo il singolo bigliettino, ma legge l'intera conversazione.

Ecco come funziona, passo dopo passo:

1. Imparare la "Grammatica" della città (Pre-training)
Immagina di mettere DNS-GT in una stanza piena di milioni di bigliettini reali, ma senza dirgli quali sono buoni e quali cattivi.
Gli dici: "Leggi tutto questo caos. Cerca di capire come parlano le persone. Se vedi che qualcuno chiede 'Dov'è Facebook?' e subito dopo chiede 'Dov'è Instagram?', capisci che sono amici. Se invece vedi che qualcuno chiede 'Dov'è la banca?' e poi improvvisamente chiede 'Dov'è un sito di hacking?', capisci che c'è qualcosa che non va."

DNS-GT usa una tecnologia chiamata Transformer (la stessa che fa funzionare i chatbot intelligenti) combinata con una rete neurale a grafo.

  • La metafora del Grafo: Immagina che ogni richiesta sia un nodo in una ragnatela. DNS-GT non guarda i nodi isolati, ma vede chi è collegato a chi. Se un nodo "strano" è collegato a 50 nodi "cattivi", DNS-GT capisce che anche lui è sospetto, anche se da solo sembrava innocente.

2. Il gioco del "Cosa manca?" (Masked Language Modeling)
Durante l'apprendimento, DNS-GT gioca a un gioco: gli nascondono un bigliettino (lo mascherano) e deve indovinare quale era basandosi solo su quelli prima e dopo.

  • Esempio: Se la sequenza è "Ciao, come stai? [MASK]?", il detective impara che al posto del buco c'è quasi sicuramente "bene?".
  • Nel mondo DNS, se un computer chiede "Facebook", "Instagram" e poi c'è un buco, il detective impara che lì dovrebbe esserci "WhatsApp". Se invece il buco viene riempito da un nome strano e pericoloso, il detective impara che quella sequenza è anomala.

3. Diventare un esperto (Fine-tuning)
Una volta che DNS-GT ha imparato la "grammatica" della città (come si comportano i computer normali), gli si mostra un piccolo numero di casi in cui si sapeva già chi era il colpevole.
Gli si dice: "Ehi, guarda questa sequenza: era un botnet (una rete di computer zombie). Ora che hai imparato il linguaggio, riconosci altri botnet simili?"
Il detective si adatta rapidamente, anche con poche informazioni, perché ha già capito il contesto.

🏆 I Risultati: Perché è speciale?

Il paper ha fatto degli esperimenti reali con dati di una vera università (4.000 computer!). Ecco cosa hanno scoperto:

  • Capisce il contesto: Un dominio (un indirizzo web) può essere innocuo da solo, ma se appare in una sequenza strana con altri domini sospetti, DNS-GT lo blocca. È come se un uomo vestito da postino fosse innocente, ma se lo vedi entrare in una banca con una pistola, diventa sospetto.
  • Migliore dei vecchi metodi: Ha battuto i metodi tradizionali (come Word2Vec, che guardava le parole una per una senza capire la frase intera) sia nel trovare siti pericolosi, sia nel rilevare i botnet.
  • Non ha bisogno di etichette perfette: Può imparare da solo guardando il "rumore" della città, rendendolo perfetto per aziende che hanno troppi dati per etichettarli tutti a mano.

🚀 In sintesi

DNS-GT è come un detective che non si limita a guardare i volti dei criminali, ma ascolta le loro conversazioni. Capisce che il modo in cui le persone (o i computer) si muovono nella città ha un ritmo e una logica. Se qualcuno rompe quel ritmo, anche senza avere un "foglio rosso" (un'etichetta di criminale) in mano, il detective sa che qualcosa non va e interviene.

È un passo avanti verso una sicurezza informatica più intelligente, che impara da sola a riconoscere i pericoli prima che facciano danni.