跳到主要内容

沉默了 24 年的 DNS 生日攻击,借 ECS 扩展全面复活:REBIRTHDAY 攻击全复盘——开启 ECS 后随机查询 ID 的防护被按子网“拆散”、22 款主流 DNS 软件中 18 款中招

Public

DNS 缓存投毒(DNS cache poisoning)在多数人印象里是一桩“远古往事”:自从递归服务器普遍引入随机端口与随机查询 ID,防守方一度以为这类攻击的大门已经被锁死。而南开大学安全团队在 Black Hat Asia 2026 上公布的 REBIRTHDAY 研究,把这扇门又推开了——而且是推开给了一大片。它利用的是 EDNS Client Subnet(ECS)这个本意是“让 CDN 更好地做就近解析”的扩展:开启 ECS 后,递归服务器会按客户端子网把一次查询拆散成大量独立子请求,原本聚合在一处的随机查询 ID 防护,就这样被一颗颗拆开、稀释。研究披露,22 款主流 DNS 软件中有 18 款受此影响,一时成为 2026 年最引人注目的基础设施安全议题之一。

一、经典生日攻击为什么被“按下暂停键”

要理解 REBIRTHDAY,得先回到 DNS 投毒的基本盘。传统攻击者要向递归服务器“种”进一条假的解析结果,关键在猜中那次真实查询的 ID/端口组合;当服务器对每次查询都用随机端口、随机 ID 时,猜测的成功率被压到了接近于零。于是这类攻击在拥有随机化防护的主流服务上沉寂下来,业界一度默认“投毒已不是主流威胁”。

但“随机化”的有效性取决于一个前提:同一时刻在途(in-flight)的查询足够少、粒度和随机空间足够大。一旦某类机制能让攻击者在同一时间窗口内制造海量在途查询、且每一条的随机空间都被显著压缩,那么“生日悖论”式的碰撞概率就会迅速抬升,随机化的防护就不再是铜墙铁壁。

二、ECS 怎么把防护“拆散”了

ECS(EDNS Client Subnet,RFC 7871 定义)的本职,是让递归服务器把“客户端所在子网”告知授权服务器,从而让 CDN 等按地理位置就近返回结果。问题在于,一旦开启 ECS,递归服务器为了服务不同子网的客户端,会把原本聚合的一次特制查询按各种前缀拆分出大量独立子请求。每条子请求都携带自己的查询 ID 与端口。

对攻击者而言,这意味着同一时刻的在途查询数量被成倍放大,而每一次“猜中”的机会都被叠加在一起;再辅以按子网前缀批量构造的伪造应答包,命中一次真实在途查询的概率会快速攀升到可行范围。攻击一旦成功,受影响递归服务器下所有客户端访问目标域名时,都会被解析到攻击者指定的 IP——流量劫持、挂马、钓鱼站点仿冒,都随之而来。研究覆盖的 22 款软件中,BIND、Unbound、PowerDNS、思科、TP-Link 内置解析等 18 款位列受影响范围。

三、为什么它比想象中更贴近每个人

这一次的覆盖面,远不止学术层面。研究间接引用了对部署现状的观察:国内约 62% 的企业递归 DNS 服务器、75% 的家用路由器默认开启 ECS。这意味着受影响面不只是少数“实验性部署”,而是大量真实用户在跑的基础设施。与此同时,6 月中下旬全网 DNS 缓存投毒攻击频次环比上涨 147% 的观察,把“理论可攻”和“正在被攻”之间的距离拉得更近。

对普通用户来说,最直接的感受可能是“某网站突然打不开或跳到了陌生页面”;对安全团队而言,这往往意味着需要排查递归解析器的 ECS 策略、检查缓存中是否混入了异常记录、并审视自家 DNS 架构的随机化落地情况。ECS 引入的“多查询、广拆分”恰恰是随机化防护最容易被稀释的裂缝。

四、防护与修复建议

  • 核对 ECS 默认策略:对不需要 ECS 的就近解析能力的企业递归服务器,优先关闭或严格限制 ECS 的使用范围,减小在途查询被“按子网拆散”的放大面;
  • 升级/更新 DNS 软件:对受影响的主流解析器(BIND、Unbound、PowerDNS 等)跟进补丁与配置指引,关闭刻意拆分查询的隐患路径;
  • 加固随机化落地:确认递归服务仍启用了随机源端口与随机查询 ID,并对“同前缀海量在途查询”做限流与告警,削弱生日碰撞的可行窗口;
  • 关注官方公告:以各家 DNS 软件厂商与 CVE 发布为准持续跟进,别只依赖单一研究报道;
  • 对缓存投毒保持敏感:结合解析结果与网络遥测,排查异常劫持、恶意落地页与钓鱼流量,作为版本之外的第一道防线。

REBIRTHDAY 的真正价值,不是“又发现了一个 0day”,而是它重新校准了我们对“基础设施安全已经解决”的判断。DNS 投毒曾因随机化被宣告过时,可一旦某个看似人畜无害的协议扩展(如 ECS)悄悄把随机化的防护空间拆分、放大,陈年攻击就能借新机制借尸还魂。对互联网的基础设施而言,最危险的往往不是新漏洞层出不穷,而是我们对既有防护过度自信——REBIRTHDAY 正是那个提醒我们“别把‘很久没有=永远不会’”的好例子。

参考:南开大学安全团队 Black Hat Asia 2026 研究、51DNS 关于 REBIRTHDAY 攻击的技术报道、EDNS Client Subnet(RFC 7871)规范。

DNS缓存投毒REBIRTHDAYECSEDNS Client Subnet生日攻击基础设施安全BINDDNS安全缓存投毒随机化
0