来自加利福尼亚大学和清华大学的一群学者发现了一系列严重的安全漏洞,这些漏洞可能导致DNS缓存中毒攻击死灰复燃。
这种技术被称为“SAD DNS攻击”(Side-channel AttackeD DNS的缩写),该技术使攻击者可以进行路径外攻击,将最初发往特定域的所有流量重新路由到其控制下的服务器,从而允许他们窃听和篡改通信。
研究人员表示:“这是一个重要的里程碑,这是第一个可武器化的网络侧通道攻击,具有严重的安全影响。”“这使攻击者可以将恶意DNS记录注入DNS缓存中。”
这一发现被追踪为CVE-2020-25705。该漏洞影响操作系统Linux 3.18-5.10,Windows Server 2019(版本1809)和更高版本,macOS 10.15和更高版本以及FreeBSD 12.1.0和更高版本。
DNS转发器成为新的攻击面
DNS解析器通常将对IP地址查询的响应缓存特定时间段,以提高网络中响应性能。但可以利用这种机制来毒化缓存,方法是为给定网站模拟IP地址DNS条目,并将尝试访问该网站的用户重定向到攻击者选择的其他站点。
但是,此类攻击的有效性受到了一定程度的影响,因为诸如DNSSEC(域名系统安全扩展)之类的协议通过在现有DNS记录中添加加密签名和允许DNS的基于随机化的防御来创建安全的域名系统解析程序为每个查询使用不同的源端口和事务ID(TxID)。
一种新颖的Side-Channel攻击
研究人员指出,由于“激励和兼容性”的原因,这两种缓解措施还远未得到广泛应用,因此他们设计了一种Side-Channel攻击,可以成功地用于最流行的DNS软件堆栈。所以,像Cloudflare的1.1.1.1和Google的8.8.8.8这样的公共DNS解析程序易受攻击。
SAD DNS攻击的工作原理是利用任何网络中的一台受损机器,该网络能够触发DNS转发器或解析器的请求,例如咖啡馆、购物中心或机场中由无线路由器管理的公共无线网络。
然后,它利用网络协议栈中的一个侧信道来扫描并发现哪些源端口用于启动DNS查询,随后通过暴力强制TxIDs注入大量伪造的DNS应答。
更具体地说,研究人员使用域名请求中使用的一个通道,通过向受害者服务器发送每个具有不同IP地址的伪造UDP数据包来缩小确切的源端口号,并根据收到的ICMP响应(或没有响应)来推断是否已命中正确的源端口。
这种端口扫描方法达到每秒1000个端口的扫描速度,累计需要60秒多一点的时间来枚举由65536个端口组成的整个端口范围。然后,攻击者所要做的就是插入一个恶意IP地址来重定向网站流量,并成功地完成DNS缓存中毒攻击。
减轻SAD DNS攻击
除了演示如何扩展攻击窗口(允许攻击者扫描更多端口并注入额外的恶意录来攻击DNS缓存)外,该研究还发现,互联网上超过34%的开放解析程序易受攻击,其中85%由流行的DNS服务(如Google和Cloudflare)组成。
为了应对SAD DNS,研究人员建议禁用传出的ICMP响应,并更积极地设置DNS查询的超时。
研究人员还提供了一种工具来检查容易受到此攻击的DNS服务器。此外,该小组与Linux内核安全团队合作开发了一个补丁,该补丁随机化ICMP全局速率限制,从而将噪声引入旁通道。
研究人员得出结论:“这项研究提出了一种基于全球ICMP速率限制的侧通道,所有现代操作系统都普遍采用这种限制。”“这可以有效扫描DNS查询中的UDP源端口。结合扩展攻击窗口的技术,可以导致DNS缓存中毒攻击死灰复燃。”
消息来源:The Hacker News ;封面来自网络;译者:芋泥啵啵奶茶。
本文由 HackerNews.cc 翻译整理。
转载请注明“转自 HackerNews.cc ”
请登录后发表评论
注册