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偏离度 | 确立良性基准分布范式;特征可完全离线计算 |
| Pleiades | USENIX Sec 2012 | 群体聚类+随机森林 | 未知家族通过群体行为暴露;真实流量验证必不可少 |
| FANCI | USENIX Sec 2018 | NXDomain+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篇)
以下均为真实可查的同行评审论文与公开基准资料。
Yadav S., Reddy A.K.K., Reddy A.L.N., Ranjan S.:Detecting Algorithmically Generated Malicious Domain Names,ACM IMC 2010:ACM Digital Library
Antonakakis M. 等:From Throw-Away Traffic to Bots,USENIX Security 2012:usenix.org会议页
Schüppen S. 等:FANCI: Feature-based Automated NXDomain Classification and Intelligence,USENIX Security 2018:usenix.org会议页
Plohmann D. 等:A Comprehensive Measurement Study of Domain Generating Malware(DGArchive数据基准),USENIX Security 2016:usenix.org会议页
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
Harder R. 等:Real-Time Detection of Dictionary DGA Network Traffic Using Deep Learning,SN Computer Science(Springer,词典型DGA检测):link.springer.com
Vranken H. 等:Detection of DGA-Generated Domain Names with TF-IDF,Electronics 2022, 11(3):414:mdpi.com全文
Shadowserver:Gameover Zeus P2P/DGA追踪与Operation Tovar公开报告(DGA域名每周1,000个):shadowserver.org
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