针对DGA的研究现在已经很多了,cnki 里面有116篇论文,涉及到dga黑样本,域名白名单,dga算法分析等,在数据集和dga原理的基础上,提出创新检测方案。因此,抽取共性,综合各家dga之所长,屏蔽之所短,不失是研究dga的一种好的方法。总的来说,做研究的本质,就是多读论文,论文看多了,思路自然就有了。
DGArchive数据集[1],千万级数据源,需要使用学校或企业邮箱申请访问账号,作者人很好,轻轻一申请,就能得到,我已经把数据转储到我的网盘了。

360 dga 数据集[2] ,百万级数据源,完全开放且是最新的数据,目前很多国内博客dga检测,都是基于这套数据集做的训练和阻断封装。

截至2022年5月,开源的若干DGA算法star统计如下:
star | DGA作者 | 语言 | 更新日期 |
---|---|---|---|
501 | baderj | python3 | 1天前 |
174 | andrewaeva | python2 | 6年前 |
59 | pchaigno | python3 | 6年前 |
- 作者 baderj:生成随机的dga域名[3] ,我看了里面的 chinad dga算法(根据日期生成16位的随机域名)
- 作者 andrewaeva:生成随机的dga域名[4],我看了里面的 zeus dga 算法(根据日期生成25位的随机域名)
- 作者 pchaigno:生成随机的dga域名[5],我看了里面的 necurs dga算法(根据日期生成7~21位的随机域名)
由于随机域名不符合人读习惯,很容易被肉眼识别,于是黑客又使用了另一类dga域名。它们由多组可读的短语随机构成,比如"zhihu-love-china"(忽略-),然后加上TLD构成一个合法的域名,这样就躲避了常规的dga算法检测,里面的代表性dga域名有很多,这里仅仅列出2个仅供参考。
- andrewaeva:里面的matsnu dga域名,是由1个verbs词汇(878个)和多个nouns词汇(1008个)随机组成
- baderj:里面的gozi dga域名,默认的luther表有1537个词汇,随机挑选若干个生成长度为12~23的域名