课题研究 域名数据与威胁监测 子课题03 · 第3篇 / 共8篇
03DGA域名检测 · 统计特征与机器学习检测

DGA域名检测

统计特征是DGA检测的第一代武器:随机型DGA在字符分布上显著偏离人类命名习惯。本篇系统梳理长度/熵/n-gram/可读性/流量上下文五族特征,复盘Yadav(IMC 2010)、Pleiades(USENIX Sec 2012)、FANCI(USENIX Sec 2018)三条经典基线,剖析词典型DGA(Suppobox)的检测盲区,并给出家族分组切分、时间外推、PR-AUC优先的评估方法论,为深度学习方法奠定数据与评测地基。

特征工程随机森林NXDOMAIN词典型DGATranco评估方法论研究状态:研究中
所属专题域名数据与威胁监测
姊妹篇第2篇算法机理 / 第4篇深度学习与对抗鲁棒性
配套数据DGArchive正样本 + Tranco/Umbrella负样本

01 · 检测问题的形式化定义

DGA检测在数学上是两个相关但不同的任务:任务一(二分类)——给定域名d,判定其是否属于AGD,即学习分类器 f: d → {0,1};任务二(家族归因)——给定AGD,判定其所属家族,即 f: d → {F1,…,Fn,未知}。任务一的输出直接驱动阻断,任务二的输出驱动种子重建与处置协同(第7篇)。输入信号也存在两个层次:仅域名字符串(离线训练友好、可前置到任意解析点)与域名+流量上下文(源IP、查询频率、NXDOMAIN率、时序——信息更丰富但部署位置受限)。本课题以“域名字符串+轻量流量特征”为主干线,因为它同时满足低延迟与隐私最小化要求。

一个关键的不对称性:DGA检测是高类别不平衡问题——真实网络流量中AGD占比通常远低于0.1%。在此条件下,"准确率99%"可能意味着把所有域名判为正常即可获得。因此本课题以精确率(Precision)、召回率(Recall)、F1与PR曲线下面积(PR-AUC)为核心指标,而非准确率(详见第5篇评测协议)。

02 · 统计特征体系

字符随机型DGA的输出在统计上显著偏离人类命名习惯,这是统计检测的物理基础。主流特征及其家族敏感度如下:

特征族典型特征敏感家族 / 局限
长度与结构域名长度、标签数、最长标签长度、数字出现位置Conficker(8—11字符)、Murofet;品牌短域名可能误判,需结合其他特征
字符分布Shannon熵、唯一字符比、元音比例、辅元交替度、数字比例、连字符出现随机型家族普遍高熵;词典型(Suppobox)熵接近正常域名——单独失效
n-gram统计bigram/trigram在良性语料(Tranco/Umbrella)中的相对频率、罕见n-gram占比Yadav等(IMC 2010)与Pleiades的核心特征;对训练语料的时效性与代表性敏感
可读性词典覆盖率、可发音性评分、重复bigram比例词典型DGA的克星;但多语言品牌域名需要多语种词典
TLD与注册特征TLD分布偏离度、注册时长、名称服务器聚合度需接入RDAP/注册数据(衔接子课题01);Conficker.C横跨110个TLD即为异常信号
流量上下文(FANCI系)NXDOMAIN比例、每小时查询数、源IP多样性、查询间隔规律性FANCI(USENIX Sec 2018)证明仅21维轻量特征即可在解析器侧高效判别

2.1 特征开销的工程意义

FANCI一文的现实贡献在于证明:多数统计特征的计算开销极低(字符遍历级别),适合在递归解析器数据面上以每查询微秒级成本执行;而深层模型虽精度更高,却带来内存与延迟预算压力。工程上合理的分工是——统计模型作为全量快筛,深度模型作为二次精判(第6篇展开)。

03 · 经典检测基线

3.1 Yadav等(IMC 2010):统计特征的奠基

Yadav等人在IMC 2010论文中系统论证了基于熵与bigram分布的AGD识别可行性:以顶级良性域名列表为参照分布,统计待测域名的bigram异常度与熵值,可在多个公开DGA家族上实现检出,且计算完全离线化。该工作的历史意义在于确立了“良性基准分布+统计偏离度”这一沿用至今的检测范式。

3.2 Antonakakis等(USENIX Security 2012):Pleiades

Pleiades首次在运营商级真实DNS数据上验证DGA检测:第一阶段以无监督聚类(基于查询失败率、请求群体相似度等行为特征)发现疑似DGA域名群;第二阶段以有监督分类器(随机森林,特征含n-gram、熵、长度、TLD)判别。该方法的价值不仅在于检出,更在于以群体为单位发现未知家族——即便模型从未见过某DGA,其受控主机群的查询模式仍会暴露异常。

3.3 FANCI(USENIX Security 2018):解析器侧低开销方案

FANCI直接以NXDOMAIN流为输入,构建21维轻量特征,在树模型上实现低开销二分类与家族归因,并给出特征重要性的系统分析,证明其方案可在资源受限的解析器上实时运行。对本课题而言,FANCI确立了“检测前置到解析器”的工程范式,与第6篇管道设计直接衔接。

基线年份/会议核心思想对本课题的启示
Yadav等IMC 2010熵+bigram偏离度确立良性基准分布范式;特征可完全离线计算
PleiadesUSENIX Sec 2012群体聚类+随机森林未知家族通过群体行为暴露;真实流量验证必不可少
FANCIUSENIX Sec 2018NXDomain+21维轻量特征解析器侧实时可行;特征开销决定部署位置

04 · 词典型DGA专项检测

Suppobox类词典型DGA把英文词典单词拼接为域名(如noiseand(词典词组合)式结构),其熵、长度与n-gram统计特征与正常品牌域名高度重叠,是统计检测的经典盲区。专项思路包括:

  • 词典覆盖率:以大规模英文词典做贪心分词,计算“可完整切分为词典词”的比例;词典型AGD的覆盖率显著高于随机字符型,但也可能误伤由词根构造的品牌域名——需结合TLD与注册特征加权。Koh与Rhodes(IEEE BigData 2018,Inline Detection of Domain Generation Algorithms with Context-Sensitive Word Embeddings)利用上下文敏感词嵌入对域名做词级编码,显著提升了词典型DGA的检出——说明词级语义特征比纯字符统计更能撕开词典型DGA的伪装。
  • 搭配异常度:词典型DGA的单词搭配无语义关系,可统计相邻词对的语言模型概率;真实品牌命名通常保留一定语义或音韵连贯性。
  • 深度学习通道:第4篇将说明,字符级深度模型(LSTM/CNN)能隐式学习字符转移概率,对词典型DGA的召回显著优于人工统计特征——这是统计方法与深度方法应串联部署的直接理由。

注意:“可发音/可切词”不等于恶意——大量合法品牌、营销域名与短链接服务同样可读。词典型DGA检测的产出必须降置信度处理,并与家族归因(第7篇)联动,避免对合法品牌域名的批量误伤。

05 · 训练数据构造与标签陷阱

  • 正样本(AGD):首选DGArchive按家族导出的生成域名;注意其过期域名可能被域名投资人重新注册为正常站点——直接使用历史列表会产生标签污染,必须按时间窗过滤(第5篇详述协议)。
  • 负样本(良性):Tranco(NDSS 2019,抗操纵聚合排名)为当前学术基准;Cisco Umbrella、Cloudflare Radar可作为工程补充;Alexa Top站点服务已于2022年5月随alexa.com关闭而停用,旧论文中以Alexa为基准的结论不可直接复现。
  • 合法随机域名:必须显式纳入负样本——浏览器连通性探测域名(如Chrome启动探测)、CDN与云服务生成域名,否则模型会学到“随机即恶意”的错误边界,上线即误伤。
  • 样本均衡:按家族均衡采样而非按域名数量自然分布采样,防止大体量家族(如Conficker.C的5万/日)淹没稀有家族,导致模型对稀有家族失效。

06 · 评估方法论

原则要求与理由
家族分组切分同一DGA家族不得同时出现在训练集与测试集——否则模型记忆的是算法指纹而非检测能力,指标虚高。用GroupKFold按家族ID分组。
时间外推测试以采集时间轴切分,用“未来”的DGA变体测试模型,模拟真实部署中的未知家族场景。
按家族宏平均对每个家族单独计算P/R/F1后取宏平均,防止大体量家族主导总分。
PR-AUC优先类别不平衡下PR曲线比ROC曲线更能反映运营价值;同时报告固定工作点(如FPR≤0.1%时)的召回。
真实流量回放最终在标注过的真实递归解析器流量上回放验证,衡量实际误伤率与可运营性。

6.1 阈值与运营取舍

阻断动作的成本不对称:误报会切断正常业务(DNS是基础设施),漏报则放过C2会合。因此工程上采用分层阈值:高置信区间直接阻断;中置信区间触发RPZ灰度(先记录后阻断);低置信区间仅记录观测。阈值依据业务流量基线标定,并随误伤反馈滚动调整(第6、8篇)。

本篇参考来源(第3篇)

以下均为真实可查的同行评审论文与公开基准资料。

[1]

Yadav S., Reddy A.K.K., Reddy A.L.N., Ranjan S.:Detecting Algorithmically Generated Malicious Domain Names,ACM IMC 2010:ACM Digital Library

[2]

Antonakakis M. 等:From Throw-Away Traffic to Bots,USENIX Security 2012:usenix.org会议页

[3]

Schüppen S. 等:FANCI: Feature-based Automated NXDomain Classification and Intelligence,USENIX Security 2018:usenix.org会议页

[4]

Plohmann D. 等:A Comprehensive Measurement Study of Domain Generating Malware(DGArchive数据基准),USENIX Security 2016:usenix.org会议页

[5]

Le Pochat V., Van Goethem T., Tajalizadehkhoob S., Korczynski M., Joosen W.:Tranco: A Research-Oriented Top Sites Ranking Hardened Against Manipulation,NDSS 2019:tranco-list.eu

[6]

Harder R. 等:Real-Time Detection of Dictionary DGA Network Traffic Using Deep Learning,SN Computer Science(Springer,词典型DGA检测):link.springer.com

[7]

Vranken H. 等:Detection of DGA-Generated Domain Names with TF-IDF,Electronics 2022, 11(3):414:mdpi.com全文

[8]

Shadowserver:Gameover Zeus P2P/DGA追踪与Operation Tovar公开报告(DGA域名每周1,000个):shadowserver.org

[9]

Koh J.J., Rhodes B.:Inline Detection of Domain Generation Algorithms with Context-Sensitive Word Embeddings,IEEE Big Data 2018, pp.2966–2971,DOI: 10.1109/BigData.2018.8622066(词典型DGA词嵌入检测):IEEE Xplore