摘要

僵尸网络广泛采用域名生成算法(Domain Generation Algorithm,DGA)生成大量的随机域名来躲避检测。针对僵尸网络DGA域名问题,本文设计实现了一种DGA域名检测系统。首先使用基于随机森林算法的轻量级分类分析检测模块,通过分析域名字符特征区分正常域名与疑似恶意域名,满足现网实际应用中快速检测的要求;然后使用基于X-means算法的聚类分析检测模块,在分类分析检测的基础上,根据DGA域名的字符相似性和查询行为相似性,通过聚类和集合分析方法对疑似恶意域名进一步检测,降低系统误检率。通过部署基于Spark的检测系统对某运营商现网真实DNS日志数据进行连续20天的处理和分析,检测系统平均每天挖掘出约250万DGA域名,经过正则匹配分析,其中约55%属于5类已知的DGA;在前两个实验日,共发现13,000个已知DGA域名分属于3个DGA类别。实验结果表明检测系统可有效检测出多种DGA域名,此外,检测系统也可满足现网实际应用中快速检测的要求。