KeyTrap漏洞分配的CVE编号为CVE-2023-50387,属于DNSSEC设计缺陷,影响几乎所有主流域名系统(DNS)实现或服务。攻击者仅需发送一个恶意DNS数据包,便能使易受攻击的解析器陷入长期拒绝服务(DoS)状态。
DNSSEC是域名系统(DNS)的一个安全扩展功能,通过加密签名为DNS记录提供身份验证,确保DNS数据来自权威名称服务器,且没有在路由过程中被篡改,从而保护用户免于被引导至恶意网站。
可瘫痪全球大部分互联网的漏洞
KeyTrap漏洞由来自德国国家应用网络安全研究中心ATHENE的研究人员联合歌德大学法兰克福特分校、弗劳恩霍夫安全信息技术研究所和达姆施塔特工业大学的专家共同发现。
据研究人员介绍,该漏洞源于DNSSEC需要发送所支持密文的所有相关加密密钥以及验证签名。即使某些DNSSEC密钥配置错误、不正确或属于不受支持的密文,也会执行相同的流程。
攻击者利用此漏洞开发了一种新的基于DNSSEC的算法复杂性DoS攻击,可以将DNS解析器中的CPU指令计数增加200万倍,从而延迟其响应。
这种DoS攻击状态的持续时间取决于解析器实现,但研究人员表示,单个攻击请求可以使响应延迟56秒到16个小时。
KeyTrap攻击中单次请求导致的DNS解析延迟
ATHENE在披露报告中写道:“利用此攻击将对任何使用互联网的应用程序产生严重后果,包括网络浏览、电子邮件和即时消息等技术可能无法使用。”
研究人员表示:“利用KeyTrap,攻击者可以完全瘫痪全球互联网的大部分地区。”
有关漏洞的完整详细信息以及其在现代DNS实现中如何复现的技术报告已于本周早些时候发布。
容易受到KeyTrap攻击影响的DNS软件、服务、工具和代码库
研究人员从2023年11月初开始演示KeyTrap攻击如何影响谷歌和Cloudflare等DNS服务提供商(上图),并与这些公司合作开发缓解措施。
漏洞存在近25年
ATHENE表示,KeyTrap漏洞自1999年以来就存在于广泛使用的标准中,近25年来一直未被发现,主要原因是DNSSEC验证的复杂性。
尽管受影响的厂商已经推送了修复程序或正在缓解KeyTrap风险,ATHENE表示,从根本上解决问题可能需要重新评估DNSSEC的设计理念。
作为对KeyTrap威胁的回应,Akamai在2023年12月至2024年2月期间开发并部署了针对其DNSi递归解析器(包括CacheServe和AnswerX)以及其云和托管解决方案的缓解措施。
Akamai指出,根据APNIC的数据,大约35%的美国互联网用户和全球30%的互联网用户依赖使用DNSSEC验证的DNS解析器,因此易受KeyTrap攻击。
尽管Akamai没有披露太多缓解措施细节,但根据ATHENE的论文,Akamai的解决方案是将加密失败限制在最多32个,基本上可以防止攻击者通过耗尽CPU资源来延迟或瘫痪网络。
目前,谷歌和Cloudflare也都已经开始着手修复其DNS服务。