什么是 DNS 缓存中毒,如何预防?
DNS 缓存中毒会让互联网用户面临风险,并可能导致恶意软件和其他网络攻击的传播。本文我们将解释什么是 DNS 缓存中毒,它是如何工作的,以及可以采取的预防措施。
内容
什么是 DNS 缓存中毒?
DNS 缓存中毒定义
DNS 缓存中毒又称 DNS 缓存毒药攻击,是黑客将恶意信息插入 DNS 缓存的过程。通过这种方式,不良行为者可以将互联网用户重定向到错误的网站。单个设备和 DNS 服务器都保存 DNS 缓存信息,并且都可能成为 DNS 缓存中毒的目标。
已中毒的缓存可能会迫使用户访问黑客的服务器,即使使用正确的 URL 来加载合法的页面。一旦用户的设备以这种方式被重定向,恶意服务器就会将勒索软件和病毒感染用户设备。
虽然缓存中毒的结果很简单:强制重定向到用户不想访问的网站,但了解这种攻击的实际工作原理非常重要。
DNS 缓存是如何工作的?
让我们定义一下术语。什么是 DNS,DNS 缓存是如何工作的?DNS 的全名是域名系统。这是一个允许 URL 和正确的 IP 地址匹配的过程。
当用户在浏览器中键入 www.google.com(例如)时,互联网网关(多数情况下是用户的路由器)必须确定与该 URL 相关的 IP 地址。它向 DNS 服务器发送查找请求,然后该服务器会尝试找出 www.google.com 当时使用的 IP 地址。
然后 DNS 服务器将 IP 地址发送回用户的路由器,就可以加载谷歌的主页。整个过程需要几纳秒的时间,但由于缓存,这个过程会更快速。
为了加快此过程,DNS 服务器将谷歌的 IP 地址保存在其 DNS 缓存中一段有限的时间。如果其他人想在此期间打开 www.google.com,DNS 服务器已经保存 IP 地址,不需要进行查找。这样可以节省服务器的时间和处理能力。
多数 DNS 服务器都有一个与特定 URL 连结的 IP 地址缓存。这很有用,但也容易受到缓存中毒的影响。
DNS 缓存中毒是如何工作的?
当黑客欺骗 DNS 服务器将错误的 IP 地址保存到其缓存中时,就会发生缓存中毒。为了理解这个过程,让我们回到谷歌的例子。
用户的路由器向 DNS 服务器发送查找请求,DNS 服务器开始查询其他服务器,尝试找出连结到网址 www.google.com 的 IP 地址。这种查询会使用数字记号(例如 1100)标记,响应服务器的回复会用相同的数字标记。
现在想像一下,某个黑客用数千个带有众多数字记号的虚假响应轰炸这个 DNS 服务器。所有这些“响应”都会告诉 DNS 服务器,他们正在寻找的 IP 地址与黑客自己的恶意软件服务器有关。DNS 服务器收到标有 1100 的响应,假设这是对其查询的真实回复,并向用户的路由器发送黑客的 IP 地址,声称这是谷歌的 IP 地址。
这种攻击不仅会导致用户设备连接到一个充满恶意软件的危险服务器,而且DNS服务器现在会将这些不正确的信息保存在缓存中。在接下来的几周里,任何尝试访问 www.google.com 的人都会得到同样的结果,因为缓存中包含不正确的信息简而言之,DNS 缓存已经中毒。
DNS 缓存中毒的示例和影响
DNS 缓存中毒攻击可以在客户端或服务器级别执行。路由器和其它许多网络设备的操作系统中都内置 DNS 缓存,网络罪犯可以对其进行黑客攻击。同样的,如上所述 DNS 服务器也是理想的目标。
中毒的影响是 DNS 欺骗攻击。由于缓存中毒,无论是在用户自己的设备上或是在 DNS 服务器级别,都可能被强制重定向到错误的页面。
当用户意识到出了问题时,可能已经访问一个恶意软件泛滥的页面,用户的设备已感染了危险的病毒。定期清除或刷新 DNS 缓存是防止这种情况发生的一种方法。
清除 DNS 缓存时会发生什么事?
当 DNS 缓存被清除时,无论是在服务器上或是在用户自己的设备上,打开网站都会提示一个新的查找请求,因为没有可依赖的缓存数据。
您可以清除自己设备上的 DNS 缓存,迫使它发送新的请求来获取您需要的 IP 地址,但这并不一定能保护您免于欺骗攻击,除非 DNS 服务器缓存没有中毒。
如何检测 DNS 缓存中毒
DNS 缓存中毒可能很难检测,但可以寻找一些指标。在客户端级别,意外的重定向可能是缓存中毒的迹象。同样的,重复的 404 错误可能表明 DNS 缓存有问题,尽管这可能只是缓存中的错误,而不是故意篡改。
对于 DNS 服务器的管理员来说,防范这种风险更加重要。服务器缓存中毒的一个迹象,可能是用户重定向到特定 IP 地址的异常模式。
如何防止 DNS 缓存中毒
防止 DNS 缓存中毒的最简单方法是定期刷新 DNS 缓存。如果您是 DNS 服务器管理员,等待缓存自动清除可能代表让中毒的缓存持续数周,并让数千名用户面临风险。
如果您有私人 DNS 服务器,仍然应该保持警惕。监控服务器效能和观察可能的指标也会有所帮助,但定期刷新缓存是限制 IP 地址中毒危险的可靠方法。
DNS 欺骗与 DNS 缓存中毒
DNS 缓存中毒和 DNS 欺骗不是相同类型的行为,但两者密切相关。DNS 缓存中毒发生在 DNS 欺骗攻击之后,当服务器将欺骗的 IP 地址保存到其缓存中时。
DNS 欺骗是如何工作的?简单来说,DNS 欺骗攻击涉及我们已经讨论过的假冒 DNS 查询响应过程,这通常会导致 DNS 缓存中毒。这种中毒会导致更多的 DNS 欺骗。
DNSSEC 将如何帮助防止 DNS 缓存中毒
DNSSEC(域名系统安全扩展)是一个验证 DNS 数据及其来源完整性的系统。它能纠正 DNS 请求的基本安全问题,即它们没有内置的身份验证过程。
虽然 DNSSEC 尚未被广泛采用,但具有很多优点。它使用公钥加密并限制 DNS 欺骗的风险(您可以查看我们的文章以了解更完整的加密定义)。然而,在它成为所有 DNS 服务器的标准之前,DNS 缓存中毒带来的风险仍然存在。
与此同时,仍然可以采取一些措施来保护自己免于 DNS 欺骗和缓存中毒的风险。开始使用 NordVPN 是确保整体互联网安全的重要步骤。
VPN 能协助您保持安全吗?
VPN(虚拟专用网)可以提高安全性和在线隐私,但 NordVPN 具有特殊功能,可以协助解决恶意软件感染的特定问题。威胁防护 Pro 是 NordVPN 的内置功能,可以封锁已知恶意网站的访问,并阻止任何恶意软件,因此即使用户被重定向,设备仍然受到保护。
威胁防护 Pro 还可以阻挡烦人的广告,保护您免受跟踪器的攻击,让您在线浏览时保持安全。