
Rilevamento di domini DGA utilizzando l'analisi della frequenza di bigrammi
Sempre più malware viene creato con tecniche avanzate di elusione dei blocchi. Una delle tecniche più diffuse è l'uso di Domain Generation Algorithms (DGA) che generano periodicamente un insieme di domini per contattare un server C&C. La maggior parte di questi domini DGA genera stringhe alfanumeriche casuali che differiscono significativamente nella struttura da un dominio standard. Analizzando la frequenza con cui un insieme di bigrammi in un dominio compare all'interno di Alexa Top 1M, siamo stati in grado di rilevare se un dominio era strutturato con una stringa casuale o se era un dominio legittimo e leggibile dall'uomo. Se un dominio è composto quasi interamente da bigrammi a bassa frequenza, che si verificano raramente nella Alexa Top 1M, allora è più probabile che si tratti di una stringa casuale. I bigrammi di vocali e consonanti si sono verificati più frequentemente, mentre caratteri e numeri interi si sono verificati meno frequentemente. Lo script è stato eseguito su 100.000 domini GameoverZeus e ha raggiunto un tasso di rilevamento del 100% e un tasso di falsi positivi dell'8% sulla Alexa Top 1M, senza alcuna whitelist di domini applicata.
Questo sistema è stato testato su Ubuntu e RaspberryPi. Attualmente ho il mio RaspberryPi configurato come server DNS usando Bind9. Lo script DGA-Detection viene eseguito anche sul RaspberryPi e legge le richieste. Le richieste vengono quindi elaborate per determinare se sono potenziali DGA o meno.
git clone https://github.com/philarkwright/DGA-Detection.git
cd DGA-Detection
chmod +x install.sh
./install.sh
sudo python dga_detection.py
nohup sudo python dga-detection.py -o 2 -i <interfaccia>
Quando si esegue il file install.sh, nota che il protocollo git:// utilizza la porta 9418, quindi assicurati che il tuo firewall consenta connessioni in uscita su questa porta.
Questo progetto è ancora in fase di sviluppo.
Mentre eseguivo lo script a livello di rete sulla mia rete domestica, ho notato che se facevo determinate ricerche su Google Chrome, ricevevo una serie di avvisi che sembravano domini DGA. Anche se non visiti questi siti (che normalmente sono cinesi, poiché usano stringhe senza senso per i loro domini), Google Chrome li precarica e li recupera, causando gli avvisi.
NOTA: Le funzionalità di whitelist utilizzano Alexa Top 1M.
Contattami su Twitter @philarkwright