德国资安研究机构同时也是欧洲最大的资安研究中心National Research Center for Applied Cybersecurity ATHENE,简单来说,由于BIND 9在处理DNSSEC签章区域的回应时存在问题,因此攻击者只要向DNS发送大量滥用该缺陷的查询,就可以迅速耗尽DNS解析器的CPU资源,进而导致服务中断或是效能明显下降。
CVE-2023-50387漏洞的CVSS分数为7.5,影响多个BIND 9版本,就连受支援的预览版本也存在该漏洞。虽然透过完全停用DNSSEC验证就可以免受该漏洞影响,但因为DNSSEC本身就是强化DNS安全的机制,因此停用DNSSEC验证并非上策。目前更好的做法是更新攻击者同样也可以利用CVE-2023-50868洪水攻击目标解析器,由于解析器必须耗费大量CPU资源处理这些查询,因此同样也会降低解析器的效能,影响正常的DNS查询服务。
KeyTrap漏洞并非新漏洞,早在1999年网际网路标准RFC 2535就已经存在,在2012年的时候,该漏洞就已经进入DNSSEC验证、标准RFC 6781和RFC 6840的实作要求中。至少在2000年8月就已经出现在Bind9 DNS解析器中,并于2007年被带入Unbound DNS解析器程式码中。
不过,即便KeyTrap漏洞存在约25年,虽没有被解决,但也没有发现积极利用该漏洞的攻击案例,研究团队解释,这其实并不奇怪,因为DNSSEC验证要求使得要找出这个漏洞变得困难,要利用该漏洞需要结合许多要求。
KeyTrap要解决并不容易,因为KeyTrap的问题并非是软体实作错误,而是DNSSEC设计的根本问题,研究团队提到,他们一直与主要供应商合作,试图解决实作的问题,但是要完全解决该漏洞,需要重新思考DNSSEC底层设计理念,也就是需要修改DNSSEC标准。