什么是 DNS 缓存中毒,又称 DNS 欺骗?


什么是 DNS 缓存中毒?

DNS 缓存中毒是指将误导性信息输入 DNS 缓存,导致 DNS 查询返回不准确的答案,并导致用户被引导到错误的域名。DNS 欺骗是 DNS 缓存中毒的另一个术语。

  • IP 地址是互联网的“房间号”,允许网络流量到达正确的目的地。DNS 解析器缓存充当“校园目录”,当它们存储不正确的信息时,流量会被路由到错误的位置,直到缓存信息更新。

  • DNS 欺骗是一种威胁,它模仿真实的服务器目的地,以便将流量重定向到某个域名。许多 DNS 欺骗攻击技术的目的是将毫无戒心的用户引导到恶意网站。

  • DNS 缓存中毒是一种 DNS 欺骗,它涉及您的系统在本地内存缓存中存储伪造的 IP 地址。这会导致 DNS 记住您访问的错误站点,即使问题已得到解决或服务器端从未发生过问题。

针对 DNS 欺骗的攻击可以通过多种方式进行,包括:

  • 中间人攻击 - 中间人攻击包括拦截用户和 DNS 服务器之间的通信,以便将用户重定向到不同的/恶意的 IP 地址。

  • DNS 服务器入侵 - DNS 服务器被直接劫持,当它被配置为返回恶意的 IP 地址时。

DNS 缓存中毒是如何工作的?

DNS 解析器会将对 IP 地址查询的结果记录一段时间。因此,解析器可以更快地回答后续查询,而无需与传统 DNS 解析中所需的多个服务器协商。DNS 解析器在其缓存中保留响应的时间,只要 IP 地址设置的生存时间 (TTL) 允许它们保留。

攻击者可以通过伪装成 DNS 命名服务器,向 DNS 解析器发送请求,然后在 DNS 解析器询问命名服务器时伪造响应来中毒 DNS 缓存。

DNS 查询和答复使用用户数据报协议 (UDP),而不是 TCP,TCP 需要双方执行“握手”以开始通信并验证设备的身份。在 UDP 中,无法知道连接是否打开,接收者是否准备好接收,或者发送者是否是他们声称的那个人。因此,UDP 容易受到伪造;攻击者可以通过 UDP 发送消息并伪造报头数据,使其看起来像是来自有效服务器的响应。

为了执行 DNS 欺骗攻击,攻击者还必须知道或预测一些因素:

  • 目标 DNS 解析器未缓存哪些 DNS 请求,迫使其询问权威命名服务器?

  • DNS 解析器使用哪个端口?以前,它们对每个查询都使用相同的端口,但现在它们每次都使用不同的随机端口。

  • 分配给请求的编号。

  • 查询将被定向到哪个权威命名服务器?

由于无法检查信息是否真实且来自有效来源,因此 DNS 解析器会毫无疑问地接受和缓存欺诈性响应。

如何保护您的 DNS 服务器免受中毒?

除了监控和分析之外,您还可以调整 DNS 服务器的设置。

  • 为了避免重复搜索导致中毒,请将其保持在最低限度。

  • 仅保存有关请求域的信息。

  • 将答案限制在与指定域相关的答案。

  • 必须强制客户端使用 HTTPS。

此外,您可以使用以下工具和方法来保护 DNS 服务器:

  • DNS 欺骗检测工具 - 这些工具类似于端点用户安全解决方案,在发送数据之前会扫描接收到的所有数据。

  • DNSSEC(域名系统安全扩展) - DNSSEC 系统本质上是 DNS 的“已确认真实”标记,有助于使 DNS 查询有效且免受欺骗。

  • 端到端加密 - 用于 DNS 查询和响应的加密数据可以防止窃取者窃取数据,因为他们无法复制合法网站的唯一安全证书。

更新于: 2022年6月14日

434 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.