这个代码库包含非常简单的代码,用于将域名分类为DGA或良性。该代码展示了我们在arxiv论文(https://arxiv.org/abs/1611.00791)中的结果。一个区别是数据集。论文和这个代码库都使用Alexa前100万作为良性域名,但这个代码库为简单起见生成了自己的域名。
我们还仅实现了论文中的LSTM和bigram分类器。这两个是最好的分类器,并且在Keras中实现简单。
python run.py 将下载并生成所有数据,训练和评估分类器,并将PNG(ROC曲线)保存到磁盘。默认使用1折以加快速度。该代码可以在本地机器或带有GPU的机器上运行(GPU当然会快得多)。
我们的代码库中有11个DGA算法。有些来自 https://github.com/baderj/domain_generation_algorithms 代码库。我们在每个文件中注明了这些,并保留了相同的GNU许可证。但是,我们做了一些小修改,比如允许没有TLD以及改变某些算法的大小。