DNS 垃圾洞详解:如何阻止恶意回调
DNS 垃圾洞可将恶意软件的查询重定向到诱饵,从而阻止回调并识别受感染的设备。了解其工作原理和部署位置。
Published 2026年11月2日

访客将笔记本电脑连接到您咖啡馆的 WiFiWiFi,打开浏览器,开始处理事务。在后台,该笔记本电脑上的恶意软件正试图与其控制端联系。您无法在每位访客的设备上都安装安全软件,但您可以控制网络如何响应这些设备发起的互联网目标请求。
DNS 坑道提供了一种中断该回连尝试并记录值得调查的证据的方法。关键问题不仅仅在于它阻止了什么,还在于您能否识别受影响的设备、证明您的策略已应用,并在规则误判时恢复合法访问。
目录
- 通俗解释什么是 DNS 奇口(Sinkhole)
- Sinkhole 如何响应恶意查询
- 推动 Sinkhole 成为标准规范的 Conficker 爆发事件
- 将 Sinkhole 命中转化为受感染设备的线索
- 共享网络与访客网络的部署模型
- 误报情况与快速恢复方案
- 评估 Sinkhole 是否适合您的网络环境
通俗解读什么是 DNS Sinkhole
受感染的笔记本电脑需要在请求指令之前找到其控制器。如果恶意软件使用域名,笔记本电脑首先会请求 DNS 解析程序将该名称翻译为 IP 地址。
将 DNS 想象成电话簿。域名是您查找的姓名,而 IP 地址是您需要拨打的电话号码。保护性解析程序会检查是否应当提供该号码。
DNS 坑洞用受控的目标地址替换已知恶意域名的回复,或阻止回复,从而使设备无法利用该查找连接到攻击者。
严格来说,Sinkholing(域名坑洞/黑洞技术)是指将流量重定向到受控终端。管理员还更广泛地将该术语用于在不提供目标地址的情况下抑制恶意查找的 DNS 策略。
电话簿的比喻有助于将名称查找与后续连接区分开来。

DNS 拦截不等同于 IP 拦截
DNS 坑道(Sinkhole)会在设备使用解析结果联系目标之前,对请求的名称采取行动。而普通的防火墙规则会评估数据包(通常使用其目标 IP 地址),并可以拒绝初始连接尝试。防火墙无需等待已建立的连接。
当合法服务和恶意服务共享托管基础设施时,这种区别至关重要。封锁整个 IP 地址可能会影响无关的服务,而 DNS 策略可以专门针对特定的主机名。这两种方法互相补充,不可替代。
在共享的 WiFi 上,解析器非常有用,因为运营商不需要对笔记本电脑拥有管理员访问权限。但是,停止回连尝试并不能消除感染。它为运营商提供了遏制的机会,并在配合适当日志的情况下提供调查线索。
Sinkhole 如何响应恶意查找请求
DNS 查找 是对信息的请求,而不是与所请求网站的连接。解析程序的回复决定了设备接下来可以尝试执行的操作。
基本路径将设备、策略检查和可控目的地分离开来。

- 设备请求其回连域名。 它向其配置的解析器发送查询。
- 解析器识别适用于发起网络(例如访客 SSID 或员工 VLAN)的策略。
- 根据威胁情报和本地规则对域名进行检查,包括命令与控制、钓鱼网站和恶意软件类别。
- 如果匹配到拦截规则,解析器将提供受控地址、返回域名不存在应答、或者拒绝/抑制应答。
- 设备要么尝试连接到诱饵服务器,要么无法获取可用的目的地。允许的域名将正常解析。
在设备打开网站或应用之前,它会向 DNS 查询其位置,而 Shield 会使用该网络的策略进行回答。如果某个域名被拦截,到该目的地的连接将永远不会启动,且设备将显示客户品牌的自定义拦截页面。这种面向用户的体验不应与恶意软件重试失败的回调相混淆。
根据所需证据选择响应方式
Sinkhole 响应选项及其所揭示的信息
| 响应 | 设备体验 | 防御者获取的信息 | 主要权衡 |
|---|---|---|---|
| 域名不存在 (NXDOMAIN) | 查找失败且连接从未建立 | 曾尝试查找并已被拦截 | 阻止回连,但无法提供后续连接行为信息 |
| Sinkhole 地址 | 查找返回受控服务器的地址 | 源 IP、回连时间、重试模式和可观察的协议 | 需要受监控的端点和谨慎的日志存储 |
| 拒绝或抑制的应答 | 解析器拒绝查询或保持未应答状态 | 除尝试本身外信息很少,除非启用了解析器日志记录 | 应用速度快,但部分客户端会高频重试 |
NXDOMAIN 不会清除源地址或时间戳信息。 解析器可以同时记录两者。解析器无法从失败的查询中采集到的,只是恶意软件在此之后本会建立的连接。
一项 经过同行评审的 Sinkhole 抓包评估 指出,与传统实现相比,先进的采集设计使恶意数据包捕获效率提升了五倍。这是关于采集架构的证据,并不保证每个 Sinkhole 都能提供相同的提升。
该视频提供了另一种跟踪此机制的方法。
您选择的响应决定了您随后可以观察到的行为。保持收集器隔离,并且不要假设重定向会为每个加密应用生成干净的警告页面。
让 Sinkhole 成为标准配置的 Conficker 爆发事件
Conficker 展示了防御者如何将恶意软件对指令的搜索转化为情报来源。研究人员没有去检查每一台受感染的计算机,而是拦截了蠕虫被编程为联系的目标地址。
CAIDA 的 Conficker 档案 记录了在 2008 年 11 月首次检测到的爆发,早期变体每天大约生成 250 个伪随机域名。该蠕虫通过 HTTP 连接生成的域名以获取指令或附加恶意软件。
研究人员和网络运营商在犯罪分子使用前注册了选定的域名,然后将这些名称指向受控服务器。受感染的计算机因此调用了由防御者运营的基础设施。
查找过程转变为测量节点
这些回连尝试帮助响应人员识别受感染的系统、评估蠕虫的传播范围并跟踪清理进度,而无需直接与犯罪指挥网络通信。因此,成功的拦截不仅拒绝了更新,还记录了仍试图获取更新的计算机。
- 为了进行控制遏制,响应人员阻止了特定域名指向攻击者控制的基础设施。
- 为了进行调查取证,回传日志识别出了需要关注的系统。
- 为了跟踪修复进度,持续的回传表明清除工作尚未完成。
Conficker 的后来的变体扩大了生成名称的池,并添加了对等网络 (P2P) 更新。响应者不得不协调注册和阻止,而不是依赖小型静态列表。
历史部署也不同于组织的本地过滤策略。研究人员更改了他们所控制域名的目标,从而影响了通过普通 DNS 解析这些名称的受感染计算机。相比之下,场所运营商通常在其自身的递归解析器上应用策略。
在这两种情况下,覆盖范围都是限制因素。防御人员可以拦截对其控制下的域名的回传,但这并不意味着所有可能的更新路径都已消失。Conficker 将 DNS 垃圾洞技术(sinkholing)确立为一种控制遏制手段和测量工具,而非修复受感染计算机的替代方案。
将 Sinkhole 触发转化为受感染设备线索
频繁查询受阻命令与控制 (C2)域名的客户端值得关注。即使在没有终端 Agent、有效载荷检查或详细防火墙记录的情况下,该模式也能提供有价值的线索。
这种依赖关系非常重要:亚利桑那大学的僵尸网络防御论文 解释说,有效的 DNS 重定向需要识别僵尸网络的 C2 基础设施,并需要僵尸网络所使用的 DNS 运营商提供配合。命中仅表明特定请求触碰了您的策略,并不意味着您已发现了所有的通信路径。
保留足够的上下文以精确定位客户端
请将这些字段记录在一起,而不是散落记录在孤立的仪表板中:
- 时间戳:将事件与网络租约和身份验证记录进行关联。
- SSID 或 VLAN:识别所涉及的网络和策略边界。
- 客户端标识符:保留有效的设备引用,而不仅仅是场所的公网地址。
- 查询域名:保留触发规则的准确主机名。
- 策略类别:区分威胁分类与内容限制。
- 响应动作:记录解析器是重定向、拒绝还是返回了 NXDOMAIN。
一个公网源 IP 可能代表同一网关背后的多名访客。要识别单个设备,请将终端观察结果与解析器及网络记录进行比对关联。不要因为收集器看到了共享地址,就将整个场所标记为被感染。
调查规则:将 Sinkhole 触发视为包含支持性上下文的线索,而非对设备所有者的自动判定。
验证信号并保持覆盖范围
将重复触发的命中记录与该网络上的正常行为进行比较,并对照更新的 威胁情报源 核对分类。算法生成的域名、快速变更的主机托管、硬编码地址以及备用通道都可能留有漏洞。没有命中记录并不代表设备就是干净的。
域名状态也需要持续审查。一项 2019 年针对恶意域名下架的学术研究 发现,在前十个月内下架的域名中,有超过 14%随后重新回到了商业域名市场。
定期审查规则的出处、所有权和分类。如果您自己运营已注册的坑道域名,请保护其 DNS 配置和续订。限制对客户端级别日志的访问,并设置符合当地法律和调查需求的保留期限。
共享网络与访客网络的部署模型
Sinkhole 可保护您控制的 DNS 路径。但访客的浏览器或应用程序可能会选择外部加密解析程序,导致您的本地策略无法进行评估。
一份 加密 DNS 技术分析 阐述了为什么外部 DNS-over-HTTPS 可以绕过传统的 DNS 监控。因此,部署决策的关键在于解析器强制实施和客户端行为,而不仅仅是黑名单的质量。
适用于共享网络的 Sinkhole 部署模型
| 模式 | 控制点位置 | 最佳适用场景 | 主要局限 |
|---|---|---|---|
| 访客网络上的网络解析器 WiFi | 网络分配给每个客户端的解析器 | 酒店、酒吧、公共 WiFi WiFi | 配置了硬编码或加密解析器的客户端可以绕过该控制 |
| 防火墙 DNS 检测 | 部署在现有防火墙或网关内部 | 具备成熟防火墙架构的办公室 | 传统 DNS 检测会遗漏通过 HTTPS 传输的外部 DoH |
| 托管浏览器或设备策略 | 由浏览器或操作系统指定解析器并禁用备用 DoH | 受管的企业或学校设备 | 无法覆盖未受管的个人设备 |
| 云端保护性 DNS | 网络 DNS 所指向的服务商托管解析器 | 多区域场所与大型联网场所 | 依赖于服务商的正常运行时间及遥测数据的获取能力 |
加密与执行是独立的决策选择
加密 DNS 提高了客户端和解析器之间的保密性。它并不一定会削弱过滤功能:受信任的防护性解析器可以接受加密查询并继续应用策略。当客户端选择不执行您规则的外部解析器时,就会出现可见性问题。
对于托管设备,浏览器和操作系统策略可以指定经批准的服务。在访客网络上,您需要就替代加密 DNS、用户隐私和允许的例外情况确立书面立场。通过阻止所有加密 Web 流量来阻止 DoH 并不是可行的通用策略。
将控制部署在可测试的边界处
通过网络配置分发经批准的解析器。限制直接向外发送的传统 DNS,仅允许发送至经批准的解析器,涵盖两种传输协议和两种 IP 系列。透明重定向可以捕获发送至其他位置的传统 DNS,但无法透明地解决任意加密 DNS。
使用 网络分段 来隔离员工、访客和专用设备的策略。严格的访客规则不应干扰临床设备或员工应用程序。
- 测试常规解析:确认允许的应用程序仍能正常工作。
- 测试绕过路径:检查浏览器选择的解析器和其他允许的隧道。
- 测试归因:确认受控的策略匹配项显示在正确的网络和客户端下。
网络级 DNS 更改可以向所有参与设备应用过滤,而无需在每台设备上安装软件。请通过测试验证覆盖范围,而不是假设分发解析器地址就能强制每个应用程序都使用它。
误报情况及如何快速恢复
更长的阻止列表并不自动意味着更安全。针对共享云基础架构的宽泛规则可能会中断供应商门户、支付工作流或学习应用,而无法有效提升对预定威胁的防护能力。
一项 2025 年 Sinkhole 实施研究 指出,存在需要手动管理白名单和专业人员处理的误报问题。运维归属应体现在部署计划中,而不仅仅是停留在事件队列里。
恢复流程应考虑到共享服务和精细范围的例外情况。

在不移除保护的前提下恢复访问权限
在约定的观察期内,请以仅记录日志模式启动新策略。捕获客户端、类别和匹配规则,以便后续决策拥有证据追溯。
坑洞 (Sinkhole) 症状、可能的原因和首要行动
| 症状 | 可能的原因 | 首要操作 |
|---|---|---|
| 员工设备无法访问供应商网站 | 共享云域名按类别被拦截 | 检查记录的类别,然后将确切的主机加入允许列表,而非整个域名 |
| 一台访客设备每分钟触发 Sinkhole 命中 | 受感染设备或高频重试的恶意应用 | 识别并隔离客户端,然后安排设备检查 |
| 策略更改后拦截查询激增 | 黑名单条目范围过宽或存在通配符规则 | 回滚上次更改并审查其 SSID 或 VLAN 范围 |
| 应用正常工作,但其中一个 SSID 未显示任何拦截 | 客户端可能使用了解析器之外的加密 DNS | 运行受控策略测试,并检查解析器配置和出站 DNS 路径 |
仅凭一份空白报告不足以判定存在绕过行为。网络可能只是没有产生任何匹配的请求。
衡量已阻止的有害连接、误报率、申诉解决时间以及每个场所的例外情况。仅阻止的查询量可能会因应用不断重试而上升。
在启用规则前,请确认:
- 分类:支持该域名的威胁类别。
- 共享使用:业务应用程序不依赖相同的主机或父域名。
- 回滚:记录先前的策略和恢复程序。
- 范围:预期的 SSID 或 VLAN 是明确的。
- 所有权:由指定人员处理例外请求并审查其到期情况。
评估 Sinkhole 是否适合您的网络环境
对于拥有托管终端的小型办公室,请先从 DNS 日志记录和终端策略开始。您可能已经拥有直接调查可疑请求所需的设备控制措施,因此请避免添加您无法维护的收集器。
对于访客、公共或学生网络,应优先考虑边界实施和客户端属性归因。由于设备不可管,解析器层面的控制非常有用,但运维人员仍然需要一种安全的方法来调查或控制设备,而不是过早地指责其所有者。
使运营模式与网络资产相匹配
多站点组织可受益于集中管理的解析程序策略、针对特定网络的例外项以及合并报告。比较服务时,应基于其提供的证据和您可以测试的控制项,而不仅仅是其分类数量。
当您可以掌控完整流程(策略、覆盖范围、调查、例外情况和恢复)时,请选择坑道方案。
从小规模部署开始:
- 绘制解析器路径。 识别每个网络使用的解析器,以及其他 DNS 或隧道可能绕过策略的位置。
- 运行记录在案的仅日志观察期。记录匹配请求及其客户端、类别和网络,然后审查合法的应用依赖项。
- 首先启用高置信度拦截。 从确认的 C2 和恶意软件目的地开始,保留书面的回滚计划,并指定例外负责人。
将终端修复与网络控制隔离开来。成功拦截外联回调是一次有效的干预,但设备仍然需要接受调查。当工作人员既能演示受控的拦截,又能演示如何安全地恢复合法访问时,才算准备好进行部署。
Purple Shield 提供具有特定网络策略和报告功能的保护性 DNS,使您能够在评估恶意域名拦截的同时,获取管理所需的数据证据。请访问 Purple Shield 安排 30 天免费试用,将您网络的 DNS 指向 Shield,即可在无须新增硬件或设备代理的情况下,在您的实际网络上测试过滤功能。