
Ce dépôt contient un code très simple pour classer les domaines comme DGA ou bénins. Ce code illustre nos résultats dans notre article arXiv disponible ici : https://arxiv.org/abs/1611.00791. Une différence réside dans les jeux de données. L'article et ce dépôt utilisent tous deux le top 1 million d'Alexa comme domaine bénin, mais ce dépôt génère ses propres domaines par souci de simplicité.
Nous n'implémentons également que le classificateur LSTM et bigramme de l'article. Ce sont les deux meilleurs classificateurs et ils sont simples à implémenter dans Keras.
python run.py téléchargera et générera toutes les données, entraînera et évaluera le classificateur, et enregistrera un PNG sur le disque (la courbe ROC).
Par défaut, il utilise 1 pli pour accélérer les choses. Ce code s'exécutera sur votre machine locale ou sur une machine avec un GPU (le GPU sera bien sûr
beaucoup plus rapide).
Nous avons 11 algorithmes DGA dans notre dépôt. Certains proviennent du dépôt https://github.com/baderj/domain_generation_algorithms . Nous les avons indiqués dans chaque fichier et avons conservé la même licence GNU. Cependant, nous avons apporté quelques petites modifications, comme la possibilité de ne pas avoir de TLD et la variation de la taille pour certains algorithmes.