来自加州大学欧文分校和清华大学的研究人员团队开发了一种名为“MaginotDNS”的新型强大缓存中毒攻击,该攻击针对条件 DNS (CDNS) 解析器,可以危害整个 TLD 顶级域。
由于不同 DNS 软件和服务器模式(递归解析器和转发器)实施安全检查的不一致,导致攻击成为可能,导致大约三分之一的 CDNS 服务器容易受到攻击。
研究人员 于本周早些时候在 Black Hat 2023上展示了该攻击和论文,报告称已发现的问题现已在软件级别得到修复。
DNS缓存中毒背景
DNS(域名系统)是一种针对互联网资源和网络的分层分布式命名系统,有助于将人类可读的域名解析为数字 IP 地址,以便建立网络连接。
DNS 解析过程使用 UDP、TCP 和 DNSSEC 来执行查询和接收响应。它可以是迭代和递归的,涉及多个步骤以及与根服务器、TLD服务器、权威服务器的交换、沿途缓存记录等。
DNS 缓存中毒的概念是将伪造的答案注入 DNS 解析器缓存,导致服务器将输入域的用户定向到不正确的 IP 地址,从而可能导致他们在不知情的情况下访问恶意网站。
过去已经证明了许多此类攻击,例如 1997 年的卡什普雷夫攻击(Kashpureff Attack)利用了缺乏数据验证(辖区规则)的漏洞,以及 2008 年的卡明斯基攻击(Kaminsky Attack)利用了缺乏来源的漏洞端口随机化系统。

通过在解析器的实现中添加防御措施,这些攻击已得到缓解,从而使偏离路径的攻击变得具有挑战性。
然而,“MaginotDNS”攻击可以通过从路径上或路径外攻击 CDNS 的转发模式来克服这些防御。

MaginotDNS 攻击
CDNS 解析器支持递归和转发查询模式,供 ISP 和企业使用,以降低成本并更好地进行访问控制。

研究人员发现,辖区检查在递归模式下得到了充分执行;然而,转发器很容易受到攻击。
研究人员发现了重要 DNS 软件的监管检查中存在不一致之处,包括 BIND9 ( CVE-2021-25220 )、Knot Resolver ( CVE-2022-32983 )、Microsoft DNS 和 Technitium ( CVE-2021-43105 )。
在某些情况下,他们注意到配置将所有记录视为位于根域下,这是一种高度脆弱的设置。
研究人员在 BlackHat 演讲中展示的示例包括路径内攻击和路径外攻击,后者更为复杂,但对于威胁行为者来说也更有价值。

对于这些攻击,威胁行为者需要预测目标递归 DNS 服务器在生成请求时使用的源端口和事务 ID,然后使用恶意 DNS 服务器发送带有正确参数的伪造响应。
推断源端口并猜测事务 ID 可以通过暴力破解或使用 SADDNS(旁道攻击 DNS)来完成。

对于 BIND9,这两个参数都可以在 3,600 轮查询后成功检索,而对于 Microsoft DNS,则下降到 720 轮。
为了增加成功的机会,攻击者必须控制恶意 DNS 响应的回复时间,以确保其伪造的响应先于合法响应到达受害者的服务器。
研究人员分享了以下视频,演示了 MaginotDNS 对 Microsoft DNS 的攻击。
扫描易受攻击的 CDNS
研究人员扫描了互联网,发现了 1,200,000 个 DNS 解析器,其中 154,955 个是 CDNS 服务器。
接下来,使用软件指纹识别易受攻击的版本,他们发现了 54,949 个易受攻击的 CDNS 服务器,所有这些服务器都容易受到路径内攻击,其中 88.3% 受到路径外攻击的影响。
上述所有受影响的软件供应商均已确认并修复了这些缺陷,微软已向研究人员的报告提供了奖励。
转载请注明:VPS资讯_海外云服务器资讯_海外服务器资讯_IDC新闻 » MaginotDNS 攻击利用 DNS 缓存中毒的弱检查