加利福尼亚大学和清华大学的研究人员合作发现了一系列的安全漏洞,攻击者利用这些漏洞可以发现DNS 缓存投毒攻击。漏洞CVE编号为CVE-2020-25705,相关成果发表在ACM CCS 20上,并获得了杰出论文奖。
SAD DNS攻击概述
SAD DNS攻击,即Side-channel AttackeD DNS,使得攻击者可以发起off-path(路径外)攻击、重新路由到特定域名的流量到黑客控制的服务器,因此可以监听和修改通信流量。
SAD DNS攻击是DNS攻击的一个新的里程碑。因为off-path攻击者可以注入恶意DNS 记录到DNS缓存中。这也是首个武器化的网络侧信道攻击,有非常严重的影响。
DNS转发成为新的攻击面
DNS 会向特定时期内的IP 地址查询响应缓存作为改善网络性能的方法。攻击者可以利用这种机制通过伪造给定网站的IP 地址DNS记录对缓存进行投毒,并重定向用户到攻击者选择的另一个网站。
由于DNSSEC这样的协议通过在现有的DNS记录中添加加密签名和使用基于随机化的防御措施来创建安全的域名系统,因此此类攻击的有效性大打折扣。
但是由于激励和适配性等原因导致这两种措施并没有得到广泛的使用,研究人员成功设计了一种侧信道攻击方法,可以成功对主流DNS 软件栈发起攻击,比如Cloudflare的1.1.1.1 和Google的8.8.8.8。
新的侧信道攻击
SAD DNS 攻击需要网络中有被黑的机器,比如公共场所的公共无线网络。然后利用网络协议栈中的侧信道来扫描和发现哪个端口可以用来初始化DNS查询,随后通过暴露破解TxID 来注入大量伪造的DNS 回复。
此外,研究人员还用了域名请求中的一个信道来缩小具体的端口范围,具体的方式是发送伪造的UDP包到受害者服务器来根据收到的ICMP 响应来推断伪造的探针是否到达正确的源端口。
端口扫描方法可以实现每秒钟1000个端口的扫描速度,差不多60秒钟就可以枚举全部65536 端口。有了源端口号,攻击者只需要插入恶意IP 地址来重定向网站流量和成功实现DNS 缓存投毒攻击。
漏洞影响
漏洞影响的系统包括:
· Linux 3.18-5.10;
· Windows Server 2019 (version 1809)及更新版本;
· FreeBSD 12.1.0及更新版本;
此外,研究人员还发现互联网上超过34%的开放解析器都是有漏洞的,其中85%是由谷歌、Cloudflare这样的主流DNS 服务组成的。
缓解措施
为应对SAD DNS,研究人员建议用户禁用ICMP 响应,并将DNS 查询的timeout设置的更加严格。研究人员还研发了一个小工具来测试测试是否受到该攻击的影响,访问即可查看结果:https://506597754.www.saddns.net/check/check/
更多参见sad DNS主页:https://www.saddns.net/
CCS 20论文下载地址:https://doi.org/10.1145/3372297.3417280
本文翻译自:https://thehackernews.com/2020/11/sad-dns-new-flaws-re-enable-dns-cache.html如若转载,请注明原文地址: