
Questa repository contiene un codice molto semplice per classificare i domini come DGA o benigni. Questo codice dimostra i nostri risultati nel nostro articolo arXiv qui: https://arxiv.org/abs/1611.00791. Una differenza riguarda i dataset. Sia l'articolo che questa repository usano la top 1 milione di Alexa come benigni, ma questa repository genera i propri domini per semplicità.
Implementiamo inoltre solo il classificatore LSTM e quello a bigrammi dell'articolo. Questi sono i due migliori classificatori e sono semplici da implementare in Keras.
python run.py scaricherà e genererà tutti i dati, addestrerà e valuterà il classificatore e salverà un PNG su disco (la curva ROC).
Per impostazione predefinita usa 1 fold per accelerare le operazioni. Questo codice può essere eseguito sulla tua macchina locale o su una macchina con GPU (la GPU sarà ovviamente
molto più veloce).
Abbiamo 11 algoritmi DGA nella nostra repo. Alcuni provengono dalla repo https://github.com/baderj/domain_generation_algorithms. Li abbiamo indicati in ogni file e mantenuto la stessa licenza GNU. Tuttavia, abbiamo apportato alcune piccole modifiche, come la possibilità di non avere TLD e la variazione della dimensione per alcuni algoritmi.