课题研究 域名与DNS安全 · DNS解析安全 子课题05 · 第2页 / 共8页
05DNS解析安全 · 子课题深度研究

DNS异常行为分析

DGA(Domain Generation Algorithm,域名生成算法)是僵尸网络与勒索软件对抗域名封禁的核心手段,映射MITRE ATT&CK T1568.002。本页系统解剖DGA的五元算法结构、公开测量的家族谱系(Plohmann等2016年覆盖43个家族)、四层特征工程体系(字符层/词法层/流量层/时间层)、从黑名单到对抗学习的五段方法谱系,以及时间外推评估纪律与对抗演进前沿(DeepDGA)。

T1568.002随机森林词法模型对抗生成NXDOMAIN聚合研究状态:深度研究中
本页焦点DGA生成机理、家族谱系、特征与检测方法谱系
数据来源USENIX Security 2012/2016公开测量与社区数据集
关键产出四层特征词汇表 + 级联检测架构建议

01 · DGA的生成机理与算法解剖

1.1 为什么攻击者需要DGA

早期僵尸网络的C2采用硬编码域名或IP列表,防守方只需下架一个域名或封锁一个IP即可切断控制通道。DGA的本质是把"基础设施对抗"转化为"算法对抗":恶意软件与C2运营方共享同一段生成算法与种子(常见种子为当前日期,部分家族加入感染计数器),每天(或每小时)独立地算出同一组候选域名,运营方只需注册其中少数几个,即可实现"打不死"的C2接入层。静态黑名单面临的是每日数万量级的候选域,封禁成本被彻底摊薄。

1.2 算法组件的五元结构

对公开逆向成果(Plohmann等2016年覆盖的43个家族)的归纳表明,DGA实现普遍由五个组件构成:

组件作用公开实例
种子(Seed)保证双方独立生成一致序列的随机源当前日期(Conficker、Kraken按周)、日期+感染计数器(部分银行木马)
字符源字母表、词表或混合表a-z纯字母表(Conficker);英文词表拼接(Matsnu、Suppobox)
长度策略固定长度或区间随机长度Conficker为8—11字符;词表型由两个单词长度决定
TLD选择限定或随机选择顶级域部分家族固定.com/.net;部分从TLD池中随机
优先级/选取规则从候选集中决定查询顺序或数量公开分析显示Conficker.C每日生成约5万候选域名,仅随机抽取其中500个发起查询

Conficker.C的"每日5万候选、查询500"出自Conficker联合工作组(Conficker Working Group)与Honeynet Project等2009年的公开分析,为社区广泛引用的事实;本课题不臆造更细粒度数字。

1.3 两大生成范式:纯随机与词表拼接

纯随机范式以Conficker为代表:从固定字母表无放回或有放回抽取字符,输出呈现高熵、低可读性、元音辅音分布异常的特征。词表范式以Matsnu、Suppobox为代表:从数千个英文单词的词表中抽取两个单词拼接(如"cloudseven""basketmoon"),输出近似自然语言,单看字符熵几乎与正常域名不可区分——这正是Antonakakis等2012年提出"必须引入词法特征"的直接动机,也构成本课题检测框架设计的分水岭:特征工程必须同时覆盖两种范式。

可复现性说明:Plohmann等人公开了43个DGA家族的逆向实现与源码级描述(随USENIX Security 2016论文发布),安全社区据此构建了公开数据集与基准测试工具。本课题所有关于家族行为的描述均以这些公开资料为准,不依赖任何未公开样本。

02 · 家族谱系与公开测量事实

下表按公开文献记载整理代表性DGA家族的行为档案。家族是否采用DGA、DGA的生成范式均有公开出处可查:

家族范式生成周期/规模(公开口径)备注
Conficker纯随机每日生成约5万候选域名,随机查询其中500个(.C变种)2008—2009;DGA进入主流视野的标志性家族,催生了大规模sinkhole协作
Kraken纯随机按周生成,单组量级数千(公开逆向口径)2008;曾以"每周更换C2"著称
Torpig纯随机按周生成候选域其域名曾长期作为DGA检测研究的基准样本
Pushdo / Cutwail纯随机按日生成垃圾邮件僵尸网络基础设施
Gameover Zeus纯随机按日生成银行木马;2014年国际联合执法行动(Operation Tovar)中DGA域名预注册是关键处置手段
Matsnu词表拼接两个英文单词拼接为双词复合域名词表型DGA的代表,常作为词法模型检测的正面样本
Suppobox词表拼接同Matsnu范式公开研究中的词表型对照家族
Necurs混合(含伪随机串+部分模式)按日生成大量候选域曾长期为全球感染量最大的僵尸网络之一;公开报告记载其DGA产出规模巨大
Locky / 主流勒索家族纯随机为主按日生成2016年后勒索软件广泛采用DGA作为交付与C2抗封锁手段(Plohmann 2016等覆盖)

上表生成规模一栏仅收录公开文献中有明确记载的口径;无公开精确数字的单元格以定性描述呈现,不臆造数字。家族—范式归属以Plohmann et al. 2016及Antonakakis et al. 2012为准。

03 · 特征工程体系

特征工程是DGA检测的核心竞争力。本课题按"字符层—词法层—流量层—时间层"四层组织特征词汇表:

层级特征原理与有效性
字符层香农熵 / 字符分布纯随机DGA的熵显著高于自然语言域名;词表型DGA该特征失效,需配合词法层
元音/辅音比(vowel ratio)自然语言域名元音占比约30%—40%且分布均匀;随机字符串偏离明显(Antonakakis 2012经典特征)
数字占比、重复n-gram部分家族(如含计数器种子的实现)数字比例异常;重复双字母模式可区分随机源
可读性得分基于马尔可夫链或字典的可读性打分,对词表型DGA敏感
词法层词典命中率(如Tranco榜单词根匹配;注意Alexa Top站点榜单已于2023年停止服务)词表型DGA(Matsnu类)双词均可命中常见词根但组合无意义,是本层主要捕猎对象
单词边界/复合词特征拼接词边界处存在可检测的构词异常
流量层单主机NXDOMAIN占比与唯一域名数感染主机对大量未注册DGA候选域查询失败,NXDOMAIN占比飙升且唯一域名数远超正常用户基线
应答IP的复用度候选域中只有少数被注册,命中的域名解析高度集中;正常浏览无此模式
查询类型分布纯A记录、无HTTPS/SVCB等现代记录类型伴随,具有辅助判别价值
时间层查询间隔规律性恶意软件回连常呈固定周期;对比人类浏览的泊松到达模式可分离
跨日域集合更迭按日换种子的家族表现为"昨日域名今日全弃",时间序列上呈现集合突变

基线依赖警告:"单主机唯一域名数""NXDOMAIN占比"等特征强烈依赖网络画像。开发测试网络、服务器网段、启用了大量探测类软件的终端,其基线与办公网差异可达一个数量级。第6页将给出基线自适应方法;工程实践中直接套用通用阈值是误报失控的首要原因。

04 · 检测方法谱系

4.1 方法演进路线

DGA检测方法演进与研究路径
从黑名单到对抗学习,每种范式解决前一范式的特定失效场景
范式归属依据公开文献:Antonakakis et al. 2012(随机森林);Woodbridge et al. 2016(LSTM预测DGA,arXiv:1611.00791);Anderson et al. 2016(DeepDGA,AISec)。

4.2 各范式能力边界对比

范式优势边界与失效场景
信誉/名单零误报、可解释、可司法固化对当日新生成域名完全失效;只能作为"已知层"
统计特征+ML训练数据要求低、可解释、推理开销小,适合递归侧实时判定词表型DGA与短域名场景区分度下降;特征工程依赖专家经验
词法模型对词表型DGA特异性强对纯随机家族冗余;对"刻意构造的伪自然域名"(如部分品牌仿冒)可能误伤
深度学习自动学习字符级复杂模式;对新型家族泛化潜力大需要大规模标注数据;推理成本与模型漂移管理要求高;对抗样本问题真实存在(DeepDGA研究证实)
行为层(NXDOMAIN聚合)不依赖域名内容,直接利用"大量失败解析"这一行为指纹,对加密域名同样有效无法区分DGA与随机子域DDoS、终端探测行为,需联合判定

工程结论:单一模型不存在"最优解"。本课题推荐的组合是:信誉层兜底已知 + 字符/词法特征模型拦截未知纯随机与词表型 + NXDOMAIN行为层捕获逃逸样本。三层串联的级联架构可将单模型误报压力逐级稀释,第6页给出具体工程参数建议。

05 · 数据、评估与实验设计

5.1 评估数据集

公开可得的DGA评估资源包括:Plohmann等2016年论文随附的43个家族样本生成器与域名列表、安全社区维护的DGA域名公开数据集(如Netlab 360等机构发布的样本库)、以及Alexa/Umbrella等公开域名排名作为正常样本对照。实验设计必须遵守两条纪律:①时间外推评估——训练集与测试集按时间切片,模拟"检测未来家族"的真实场景,随机切分会系统性高估模型效果;②正常样本去污染——公开排名中含 parking 域名与已知恶意域名,需先与信誉库交叉剔除。

5.2 指标体系

Precision
精确率
告警中真实DGA占比;企业级部署建议不低于99%以控制SOC负荷
Recall
召回率
漏检率控制;对C2场景通常要求召回优先于精确
FPR
正常域名误判率
递归侧实时判定必须≤千分之一量级,否则正常业务受损
延迟
判定耗时
递归解析路径上的判定须为毫秒级,否则拖累解析SLA

5.3 检测处置策略设计

检出DGA查询后的处置不是简单的"全部阻断":未注册域名的NXDOMAIN天然即被"阻断",真正需要决策的是已被注册并应答的DGA域名。此时可选动作按烈度排序为:记录观测(新规则灰度期)→ RPZ重定向至sinkhole提示页(企业内网推荐)→ 联动EDR隔离主机(多特征交叉确认后)。处置策略必须与检测置信度分级绑定,详见第6页。

06 · 对抗演进与研究前沿

DGA攻防处于持续演进中,三个公开可考的研究前沿构成本课题的跟踪重点:

  • 对抗生成(DeepDGA):Anderson、Woodbridge与Filar在ACM AISec 2016发表的DeepDGA工作证明,可用生成对抗思路产出能通过统计特征检测器的DGA域名——检测器本身成为攻击者的训练反馈。这印证了"特征公开即被规避"的军备竞赛本质,也论证了多模型级联与行为层锚点的必要性。
  • 词表型与"可读性伪装"的扩展:除Matsnu范式外,部分实现开始采用多语种词表、品牌词素拼接等更贴近目标区域语言习惯的策略(公开样本研究中有记载),对以英文词根为主的词法模型构成本地化挑战——对本课题的中文网络环境而言,需补充中文拼音/拼词特征研究。
  • DGA与Fast-Flux的结合(Domain-Flux):注册少量每日候选域并配合快速解析轮换,使"名单封禁"与"单点sinkhole"同时失效。此类组合手法在第4页Fast-Flux专题中统一分析。

研究的诚实边界:对抗样本研究意味着任何已发表特征都可能在数年内被系统性绕过。本课题承诺的做法是:所有检测结论标注置信度与适用条件、保留行为层兜底、持续跟踪公开文献更新特征库——而非宣称任何模型"一劳永逸"。

07 · 公开数据集与评估资源

可复现性依赖公开数据。下表列出本课题采用的基准资源(全部公开可查,标注获取方式与注意事项):

资源提供方/出处内容与用途注意事项
DGArchiveFraunhofer FKIE(CAAD)公开逆向的 DGA 家族实现与每日候选域名生成器(Plohmann 2016 成果的持续维护),正常样本与 DGA 样本的配对比对基准生成器输出为"算法合成样本",评估时须与真实流量回放开测区分
Tranco 榜单Le Pochat et al., NDSS 2019面向学术研究的稳定顶级域名排名(聚合多个商业榜单、抗操纵),作正常样本基准榜单更新机制为滚动聚合,引用时记录榜单快照ID与日期
Cisco Umbrella Top 1MCisco(公开下载)基于递归解析量的域名排名,DGA 检测研究的常用正常样本含较多 parking/广告域,使用前需信誉交叉去污染
Alexa Top SitesAmazon(已停止服务)历史文献广泛使用的排名基准该服务已于2023年停止,新研究不应再引用,本课题仅以历史文献口径提及
360 Netlab DGA 情报360 Netlab(公开博客/服务)国内视角的 DGA 家族追踪、DGA 域名检测列表面向中国网络的家族样本对本地化特征研究价值高

评估纪律重申:公开排名≠干净样本。任何榜单均需与威胁情报交叉剔除已沦陷/被抢注域名;时间外推评估(§05)与去污染(§5.1)是使用上述数据集的两条前置纪律。

本节参考来源(第2页)

[1]

M. Antonakakis et al., "From Throw-Away Traffic to Bots: Detecting the Rise of DGA-Based Malware", USENIX Security 2012:usenix.org会议论文页(随机森林DGA检测、NXDOMAIN聚合)

[2]

D. Plohmann et al., "A Comprehensive Measurement Study of Domain Generating Malware", USENIX Security 2016:usenix.org会议论文页(43个DGA家族逆向)

[3]

F. Weimer, "Passive DNS Replication", FIRST 2005:公开PDF存档

[4]

J. Woodbridge, H. S. Anderson, A. Ahuja, D. Grant, "Predicting Domain Generation Algorithms with Long Short-Term Memory Networks"(2016,arXiv公开预印本):arxiv.org/abs/1611.00791。另见 Curtin et al., "Detection of DGA-Generated Domain Names using Character-Level CNNs", ACM ARES 2019(字符级CNN)

[5]

H. S. Anderson, J. Woodbridge, B. Filar, "DeepDGA: Adversarially-Tuned Domain Generation and Detection", ACM AISec 2016:ACM数字图书馆(DOI 10.1145/2996758.2996767)

[6]

Schiavoni S. et al., "Phoenix: DGA-based Botnet Tracking and Intelligence", DIMVA 2014:Springer LNCS公开页(DGA追踪系统)

[7]

MITRE ATT&CK T1568.002 Domain Generation Algorithms:attack.mitre.org/techniques/T1568/002

[8]

Conficker Working Group / Honeynet Project关于Conficker.C域名生成与sinkhole的公开分析(2009,社区公开资料汇总):confickerworkinggroup.org