1、适合中小企业的DGA域名检测
使用LSTM或者CNN构建的DGA检测模型,这种方法需要使用深度学习自动提取特征,优点是只要有样本就能检测出已知的DGA域名,但面对新的DGA域名可能无能为力,特别是GAN泛滥的年代,这种做法可能将不能得出正确的结果。
2、适合大型企业
使用LSTM或CNN构建DGA的检测模型,但是使用文本特征和行为特征对DGA进行聚类,可以快速筛选出有价值的DGA域名,问题和场景1面临的问题相同。
可参考:
基于机器学习的僵尸网络DGA域名检测系统设计与实现
3、适合大型企业(基于DGA域名在不同主机中共现的特性,描述域名之间的相关性)
来源:https://zhuanlan.zhihu.com/p/30780842
使用360公司提出的聚类方法,数据建模上,作者利用了DGA感染IP的集中特性,认为感染IP和域名的二分图有强相关,为了量化相关度,利用感染IP和域名的邻接矩阵和自己的转置相乘计算域名之间关联,并用Louvain 算法按关联分数将关联的域名聚类,这些聚类结果可能指向为某个DGA族群。基于DGA的长尾特性,作者仅对长尾聚类,这也让这个稀疏大矩阵相乘在工程上可行。
能够发现未知的DGA域名。
360公司的DGA检测方案:
https://pc.nanog.org/static/published/meetings/NANOG71/1444/20171004_Gong_A_Dga_Odyssey__v1.pdf
4、适合大企业(参考NLP的思路,引用词共现的特性描述域名之间的相关性)
https://zhuanlan.zhihu.com/p/30780842
https://cloud.tencent.com/developer/news/144240
将域名看成一个word,一个IP的查询域名由很多个word组成。根据DNS查询数据,对所有的域名的查询序列做表示学习,通过最大化序列窗口内共现的概率将每个域名表示为一个空间向量,这样向量的内积即可表示为域名的关联打分。
能够发现未知的DGA域名。