了解 DNS 缓存中毒

了解 DNS 缓存中毒

我刚刚读过本文关于 DNS 缓存中毒,虽然我理解这一点,但是我是否可以正确地说,当服务器位于使用地址或端口限制锥形 NAT 的路由器后面时,DNS 缓存中毒是不可能的?

答案1

不。

在缓存中毒攻击中,攻击者会伪造来自真实名称服务器的响应。成功毒害递归缓存的伪造响应具有正确的源 IP、正确的端口信息和正确的查询 ID - NAT 设备会将此类数据包转发到服务器。

NAT 设备上的源端口随机化(而不是让每个查询都来自 UDP 53)将为攻击者提供一些额外的复杂性,但在您强制 NAT 转换通过不断查询保持不变的攻击中,转换将保持不变 - 源端口只需猜测一次,而不是每个查询都需要猜测。

递归器的 DNS 进程中的源端口随机化对于防范此类攻击而言几乎是必要的。

答案2

基本上,据我了解,这种攻击的工作原理是提供错误响应的速度比真实服务器提供正确答案的速度要快。问题是,除非攻击者能够访问查询数据包(如端口号),否则有些事情是攻击者无法知道的。这意味着攻击者需要尝试所有可能的组合。某些设计缺陷(如单个或顺序源端口)使得需要尝试的组合少得多。

防火墙的问题在于它需要将正确的响应传回查询发起者。因此,如果它正在执行 NAT 和/或无状态防火墙,它会将传出的 DNS 查询数据包端口记录到 NAT 和/或连接表中。当响应数据包到达并与端口匹配时,它将被传递或取消 NAT,无论它是真实的还是虚假的。

答案3

这取决于情况,如果你一开始可以信任任何你发送数据包的人,那么很可能是的。但除此之外,这是有可能的,因为他仍然能够使用欺诈 IP 向你发送数据包。他将发送的 IP 将是你可以与之通信的 IP,恶意 IP 将只是在数据包的内容中。(如果我理解正确的话)

相关内容