他们发现了 SAD DNS 的新变体来替换 DNS 缓存中的虚拟数据

加州大学河滨分校的一组研究人员发布了 几天前 SAD DNS 攻击的新变种 尽管去年增加了保护以阻止 CVE-2020-25705 漏洞。

新方法一般是 与去年的漏洞相似,只是通过使用不同类型的包来区分 ICMP 来验证活动的 UDP 端口。 提议的攻击 使替换 DNS 服务器缓存中的虚拟数据成为可能,可用于欺骗缓存中任意域的 IP 地址,并将对该域的调用重定向到攻击者的服务器。

所提出的方法仅可在 Linux 网络堆栈上运行 由于它与 Linux 中 ICMP 数据包处理机制的特殊性有关,它充当数据泄漏源,简化了服务器用于发送外部请求的 UDP 端口号的确定。

据发现问题的研究人员称, 该漏洞影响了网络上大约 38% 的开放求解器, 包括流行的 DNS 服务 像 OpenDNS 和 Quad9 (9.9.9.9)。 对于服务器软件,可以在 Linux 服务器上使用 BIND、Unbound 和 dnsmasq 等软件包进行攻击。 在 Windows 和 BSD 系统上运行的 DNS 服务器不显示问题。 必须使用 IP 欺骗才能成功完成攻击。 有必要确保攻击者的 ISP 不会阻止具有欺骗性源 IP 地址的数据包。

提醒一下,攻击 SAD DNS 允许绕过对 DNS 服务器的附加保护以阻止经典的 DNS 缓存中毒方法 丹·卡明斯基 (Dan Kaminsky) 于 2008 年提出。

Kaminsky 的方法操纵了 DNS 查询 ID 字段的可忽略大小,它只有 16 位。 要找到欺骗主机名所需的正确 DNS 事务标识符,只需发送大约 7.000 个请求并模拟大约 140.000 个虚假响应。 攻击归结为向系统发送大量伪造的 IP 绑定数据包 具有不同 DNS 事务标识符的 DNS 解析。

为了防止这种类型的攻击, DNS服务器厂商 实现了网络端口号的随机分布 发送解析请求的源,它补偿了不够大的句柄大小。 对发送虚假响应实施保护后,除了选择16位标识符外,还需要选择64个端口之一,这使得选择的选项数增加到2^ 32.

方法 SAD DNS 让您从根本上简化网络端口号确定并减少攻击 卡明斯基的经典方法。 攻击者可以通过在处理 ICMP 响应数据包时利用有关网络端口活动的泄漏信息来确定对活动和未使用的 UDP 端口的访问。

允许您快速识别活动 UDP 端口的信息泄漏是由于处理带有分段(ICMP 分段要求标志)或重定向(ICMP 重定向标志)请求的 ICMP 数据包的代码中存在缺陷。 发送此类数据包会更改网络堆栈上缓存的状态,从而可以根据服务器的响应来确定哪个 UDP 端口处于活动状态,哪些未处于活动状态。

XNUMX月底Linux内核接受了块信息泄漏的变化 (该修复程序包含在内核 5.15 和内核 LTS 分支的 XNUMX 月更新中。) 解决方案是切换到在网络缓存中使用 SipHash 哈希算法而不是 Jenkins 哈希。

最后,如果您有兴趣了解更多,可以咨询 以下链接中提供了详细信息。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。