01 · 研究背景与意义
1.1 什么是DGA
DGA(Domain Generation Algorithm,域名生成算法)是内嵌于恶意软件中的一种算法机制:僵尸网络控制者(botmaster)与受感染主机约定同一算法与同一“种子”(seed),各自独立计算出一组候选域名,控制者只需注册其中极少数域名,受感染主机便能在茫茫域名空间中与C2服务器“会合”。这类由算法生成的域名称为AGD(Algorithmically Generated Domain),与之相对的是人工注册的HGD(Humanly Generated Domain)。DGA的本质是一个共享秘密驱动的会合问题(rendezvous problem):种子是攻防双方共享的秘密,谁先掌握算法与种子,谁就能预测对方下一步出现在哪个域名上。
DGA的攻防成本高度不对称。以Conficker.C为例:其每日生成50,000个候选域名,但受感染主机每天仅查询其中约500个——也就是说,若控制者注册其中1个域名,僵尸主机当天有约1%的概率与之取得联系,平均每约100天可成功一次;而防御方若要通过“预注册抢占”彻底封死通信,则必须同时控制这50,000个域名并横跨110个顶级域开展协调。这种不对称性使DGA成为僵尸网络抗摧毁、抗封锁的核心机制,也是DGA检测与家族追踪研究价值的根源。
1.2 DGA在僵尸网络生命周期中的位置
典型DGA僵尸网络的通信生命周期包含六个环节:感染植入→驻留与权限维持→DGA计算与DNS探测→C2会合→指令执行与数据回传→家族规模扩张。DGA在其中承担“信道寻址”职能:硬编码域名/IP被封后可作为备用通道(fallback)持续工作,Necurs更是将其细分为三个递进层级——先用4个随机域名做沙箱环境探测(借助rdtsc硬件时钟作为随机源,使域名本身不可预测、不可用作回连目标),再尝试16个硬编码域名,最后才动用日期种子驱动的备选DGA(每4天更换一批2,048个候选域名、覆盖43个顶级域)。理解这一分层设计,是设计分层检测策略的前提。
1.3 领域历史演进脉络
1.4 DGA为什么难以根治
- 种子保密性:种子是控制者持有的共享秘密,算法逆向难度低于种子重建难度;控制者更换一次种子,防御方此前的预测性封锁全部作废(Open SESAME一文将此总结为攻防双方的“努力不对称性”)。
- 外部不可预测种子:晚期Torpig使用Twitter热门话题、Bedep使用欧洲央行每日外汇牌价作为种子——即使算法完全公开,域名也无法提前计算,黑名单与预注册防御随之失效。
- 海量候选与稀疏查询:候选域名数量级可达每日数万,而实际被注册、被查询的只是极小比例,单域名行为特征微弱,必须依赖群体统计与上下文聚合。
- 合法随机域名的混淆:Chrome浏览器启动时会探测若干随机域名以检测网络连通性/NXDOMAIN改写;CDN、云服务等也会产生机器生成域名,检测器必须在“随机”与“恶意”之间划出高置信边界。
- 加密DNS带来的可见性收缩:DoH/DoT/DoQ(RFC 7858/8484/9250)的普及使企业边界逐渐失去对DNS查询内容的可见性,传统“边界旁路检测”模式受到根本性挑战。
1.5 国内研究与治理现状
国内学术界在DGA检测方向持续产出系统性成果:通信学报2018年《基于AGD的恶意域名检测》等工作将DGA检测引入中文语境;中科院信工所等团队在匿名化域名流量识别、恶意域名图检测(HinDom,RAID 2019)方向亦有公开研究;2023年以来大模型辅助DGA检测(如Fine-tuning LLMs for DGA and DNS Exfiltration Detection,arXiv:2410.21723)成为新热点。治理侧,国家互联网应急中心(CNCERT)持续开展僵尸网络治理专项行动并发布态势报告;CNNIC依托域名投诉举报处理平台承接.CN域名滥用处置;三大运营商及114DNS等公共递归服务具备大规模DGA流量观测的天然优势,是中文互联网环境下DGA检测数据的重要来源。本课题将国内治理通道与国际研究基线(DGArchive、Tranco)结合,形成“国际方法复现+国内数据落地”的双轨路径。
1.6 DGA研究的多学科交叉属性
DGA检测天然横跨四个学科领域:密码学(种子即共享秘密、PRNG可复现性分析)、统计学习(分布偏离检测、类别不平衡学习)、网络测量(运营商级被动DNS数据采集与隐私合规)、系统工程(解析器数据面低延迟管道与灰度治理)。任何单一视角都不足以覆盖全链路,这也是本子课题按八篇组织、并强制要求“学术指标+工程成本+运营口径”三维报告的原因。
核心科学问题:在“攻击者持续更换算法与种子、合法随机域名大量存在、DNS可见性不断收缩”的三重约束下,如何构建一套“未知家族可泛化、词典型DGA可区分、工程开销可承受、处置链路可闭环”的DGA检测与追踪体系?本课题按“机理剖析→特征检测→深度学习→数据基准→工程管道→情报联动→路线展望”七个层次展开研究,并与本子课题姊妹方向(注册数据治理、Fast-flux追踪)共享数据底座。
02 · 研究目标与关键问题
- 机理贯通:系统掌握DGA算法的种子—PRNG—映射—输出四元结构,建立覆盖主流家族的算法谱系与分类学(第2篇)。
- 检测可泛化:构建统计特征与机器学习基线,重点解决未知家族(zero-shot)检出能力与词典型DGA的区分能力(第3、4篇)。
- 评测可复现:建立家族级标注、时间外推切分、版本化快照的评测基准,杜绝数据泄漏导致的虚高指标(第5篇)。
- 工程可落地:设计解析器侧低延迟评分管道与加密DNS可见性应对方案,形成可运营的检测能力(第6篇)。
- 处置可闭环:打通“检测→家族归因→种子重建→预注册/sinkhole→情报共享”的完整链路(第7、8篇)。
2.1 三个关键研究问题
| 编号 | 关键问题 | 内涵说明 | 对应章节 |
|---|---|---|---|
| KQ-1 | 未知家族的零日泛化能力 | 训练集之外的全新DGA出现时,检测器能否仅凭字符统计与序列模式将其识别为AGD?对抗研究(DeepDGA、CharBot、Khaos)表明朴素模型极易被定向逃逸,如何度量和提升泛化性是核心。 | 第4篇 §04—§05 |
| KQ-2 | 词典型DGA与正常域名的区分 | Suppobox类词典型DGA拼接英文单词生成“可发音”域名,统计特征接近品牌域名与随机命名,单纯熵/n-gram特征失效,需要词典覆盖率、分词与语义级特征。 | 第3篇 §04、第4篇 §03 |
| KQ-3 | 加密DNS时代的可见性重构 | DoH/DoT下边界失去明文DNS观测点,检测能力如何前移到递归解析器与终端?企业与运营商应采用何种管控与技术组合维持可见性? | 第6篇 §02 |
2.2 研究范围界定
- 域范围:以DGA域名“检测—归因—预测—处置”为主线;DGA依赖的解析侧基础设施(Fast-flux、动态DNS滥用)归属姊妹子课题,本课题仅在第7篇接口处衔接。
- 深度范围:做到“算法机理清楚、检测方法可复现、评测协议可审计、工程路径可实施”,不展开具体商业检测产品选型。
- 合规范围:样本分析在隔离沙箱中进行;被动DNS数据使用遵循来源方协议;涉及.CN域名的处置协同遵循CNNIC域名投诉举报处理平台流程。
03 · 领域知识体系全景
3.1 DGA检测与治理数据链路
3.2 关键数字速览
3.3 治理参与主体
| 主体 | 角色定位 | 在DGA治理中的职责 |
|---|---|---|
| 安全厂商与DNS服务商 | 检测与阻断执行方 | 解析器侧评分、保护性DNS(Protective DNS)服务、威胁情报生产 |
| CERT / 应急响应组织 | 协同分析方 | 跨组织事件分析、受害者通知、sinkhole数据汇聚(如Shadowserver模式) |
| 注册局 / 注册商 | 域名资源控制方 | 批量预注册、暂停解析、滥用处置;.CN场景依托CNNIC投诉举报处理平台 |
| 执法机构 | 法律强制方 | 跨境协同执法(如Operation Tovar模式)、法院命令获取、资产追缴 |
| 学术界 | 方法供给方 | DGA逆向与测量(DGArchive)、检测算法、种子重建方法、公开基准 |
04 · 八篇研究框架
本子课题按“总览认知 → 机理筑基 → 检测方法 → 数据基准 → 工程管道 → 情报联动 → 路线收口”组织为八篇,与姊妹子课题共用注册数据底座:
05 · 核心研究内容总览
| 编号 | 研究内容 | 要点 | 展开位置 |
|---|---|---|---|
| B1 | DGA算法谱系与分类学 | 种子确定性四象限分类(TDD/TDN/TID)、经典家族参数档案、逆向工程方法论 | 第2篇 |
| B2 | 统计特征与机器学习检测 | 熵/n-gram/可读性特征体系、Pleiades与FANCI基线复现、词典型DGA专项检测 | 第3篇 |
| B3 | 深度学习与对抗鲁棒性 | LSTM/CNN模型谱系、对抗逃逸与防御、概念漂移监控与再训练管线 | 第4篇 |
| B4 | 评测基准与数据治理 | DGArchive/Tranco基准、家族级标注、时间外推切分、防泄漏协议 | 第5篇 |
| B5 | 工程管道与治理闭环 | 解析器侧评分、加密DNS应对、种子重建与预注册处置、情报标准化输出 | 第6—8篇 |
06 · 常见认知误区与术语辨析
| 误区/混淆 | 辨析 |
|---|---|
| “DGA域名就是随机域名” | 错误。字符随机型DGA(Conficker、Necurs备选DGA)看似随机,词典型DGA(Suppobox)却拼接词典单词生成可读域名;反之,随机域名未必恶意——Chrome启动探测域名、CDN调度域名均为合法随机字符串。 |
| “检测到DGA域名就能定位C2服务器” | 错误。候选域名中仅极小比例被控制者注册;大多数AGD查询以NXDOMAIN告终。检测发现的是“行为”,定位C2还需结合注册数据、解析记录与sinkhole观测(本子课题第7篇)。 |
| “黑名单可以完全解决DGA” | 错误。黑名单只能覆盖已知算法与已知域名;对TDD(时间依赖确定性)家族可预先计算封锁,但对TDN(非确定性种子)家族(如Twitter趋势种子)无法预计算,必须依赖行为检测。 |
| “DGA是过时技术” | 错误。NDSS 2021年Open SESAME研究记录显示,公开DGA家族数已从2016年的43个增至99个(Open SESAME,NDSS 2021);DGA仍是新木马与IoT僵尸网络的常见选项。 |
| “检测准确率99%即可上线” | 误导。运营商级解析器日查询量达百亿级,哪怕0.1%的误报率也会产生海量误伤;且随机切分训练/测试会造成同一家族泄漏,虚高指标(第5篇详述评测协议)。 |
| “DGA检测与钓鱼域名检测是同一件事” | 错误。钓鱼域名由人注册、追求迷惑性,特征在“像品牌”;DGA域名由机器批量生成、追求不可预测,特征在“随机性”。两者的特征体系、误报形态与处置路径均不同,需分别建模。 |
6.1 核心术语速查
| 术语 | 释义 |
|---|---|
| DGA / AGD / HGD | 域名生成算法 / 算法生成域名 / 人工生成域名 |
| Seed(种子) | DGA的共享秘密输入,可为日期、硬编码魔数、外部数据(Twitter趋势、外汇牌价)或硬件随机源 |
| PRNG | 伪随机数生成器(如LCG、MWC),DGA的核心构件;种子与PRNG共同决定域名序列 |
| TDD / TDN / TID | 按“时间依赖性×确定性”划分的种子分类:时间依赖确定性(Conficker)、时间依赖非确定性(晚期Torpig)、时间独立确定性(Kraken、Suppobox) |
| NXDOMAIN | 域名不存在响应;DGA探测产生的大量NXDOMAIN是检测的重要信号(FANCI即以此为输入) |
| Sinkhole | 将恶意域名解析牵引至受控服务器以观测与切断通信的处置技术 |
| RPZ | DNS响应策略区(Response Policy Zones),在递归解析器侧实施域名级策略阻断的DNS防火墙机制 |
| Passive DNS | 对解析数据的历史被动记录与关联,是家族追踪与基础设施还原的基础数据 |
07 · 研究边界与合规声明
合规与伦理声明:①本课题全部研究以防御为目的,严格遵守《网络安全法》《数据安全法》《个人信息保护法》;②恶意样本分析仅在隔离沙箱环境中进行,分析主机不接入生产网络;③被动DNS与解析日志的使用遵循数据来源方协议与最小化原则,输出情报仅包含域名、IP等网络层IOC,不含终端用户个人信息;④预注册与sinkhole等处置动作仅针对经家族归因确认的DGA域名,避免误伤合法域名持有人(Conficker.C历史教训:每日约150—200个候选域名与合法域名碰撞);⑤涉及.CN域名的处置通过CNNIC域名投诉举报处理平台等正规渠道协同;⑥本课题不构成法律意见。
08 · 预期成果与交付物
- 《DGA算法谱系与家族档案库》:覆盖主流家族的种子类型、PRNG结构、产量与TLD偏好卡片集;
- 统计基线与深度基线各一套(含特征清单、训练协议与防泄漏切分脚本);
- 《DGA检测评测基准协议》:家族级标注、时间外推测试与指标口径规范;
- 解析器侧评分管道参考实现(含白名单快路、批量推理与RPZ联动模块);
- 家族追踪与情报输出规范(STIX 2.1 / MISP封装示例,含置信度分级)。
本篇参考来源(第1篇)
以下均为真实可查的权威来源(USENIX/ACM/NDSS论文、ICANN官方文件、厂商公开研究),用于支撑本篇事实性表述。
Antonakakis M. 等:From Throw-Away Traffic to Bots: Detecting the Rise of DGA-Based Malware,USENIX Security 2012(Pleiades检测框架):usenix.org会议页
Plohmann D., Yakdan K., Klatt M., Bader J., Gerhards-Padilla E.:A Comprehensive Measurement Study of Domain Generating Malware,USENIX Security 2016(DGArchive,43个家族):usenix.org会议页 DGArchive数据库
ICANN:Conficker Summary and Review(2010年5月,含Conficker.C每日5万候选域名、110个TLD的处置复盘):icann.org官方PDF
Stone-Gross B. 等:Your Botnet is My Botnet: Analysis of a Botnet Takeover(Torpig接管),ACM CCS 2009:ACM Digital Library
Schüppen S., Teubert D., Herrmann P., Meyer U.:FANCI: Feature-based Automated NXDomain Classification and Intelligence,USENIX Security 2018:usenix.org会议页
Open SESAME: Fighting Botnets with Seed Reconstructions of Domain Generation Algorithms,NDSS 2021(家族数43→99的种子重建研究):ndss-symposium.org
Vranken H. 等:Detection of DGA-Generated Domain Names with TF-IDF,Electronics (MDPI) 2022, 11(3):414(含种子分类与Conficker.C概率分析):mdpi.com全文
HKCERT:Information security impact arising from Conficker.C worm(2009年3月,50,000候选/116个TLD后缀/每日查询500个):hkcert.org
Akamai:Pykspa v2 DGA updated to become selective(2019年,Skype蠕虫与DGA追踪):akamai.com博客
Woodbridge J., Anderson H.S., Ahuja A., Grant D.:Predicting Domain Generation Algorithms with Long Short-Term Memory Networks(arXiv:1611.00791,2016):arxiv.org
Guo Y. 等:Fine-tuning Large Language Models for DGA and DNS Exfiltration Detection(LLM辅助DGA检测,arXiv:2410.21723,2024):arxiv.org