“DNS 中毒”简介(以及如何预防)

如果好莱坞电影告诉我们一件事,那就是黑客很聪明,并有各种技巧来绕过我们的安全。在现实世界中,安全问题通常归结为机会而不是技能。“DNS 中毒”攻击符合这种描述,事实上,您需要具备防止域被欺骗的技能。

尝试免费演示

这个概念很简单:访问者看到的看起来像您的网站,但它是欺诈性的和有害的,而这个假网站看起来很相似。因此,您需要采用多种技术来确保用户安全,并且您的站点不会受到攻击。

在这篇文章中,我们将深入探讨 DNS 中毒和域欺骗的概念。我们还将讨论一些周围的概念,以帮助您了解为什么您的最终响应是最佳方法。

域名系统 (DNS) 入门

在我们讨论 DNS 中毒的细节之前,让我们先谈谈域名系统。虽然浏览网站似乎是一项简单的任务,但在服务器的引擎盖下正在发生很多事情。

有很多元素可以让你从“A”到“B”:

  • IP地址。这是一串数字,即您的实际网址。将它们视为您房屋的坐标。例如,127.0.0.1:8080 是标准的“本地主机”地址(即您的计算机)。
  • 域名。如果 IP 地址代表坐标,则域名就是您在信封上显示的地址。当然,“kinsta.com”是数以百万计的例子之一。
  • 一个 DNS 请求。这是具有复杂低级流程的高级前端任务的一个很好的例子。现在,考虑一个请求,让您的浏览器向专用服务器询问一组坐标的地址。
  • DNS 服务器。这与您网站的服务器不同,因为它是四台服务器合二为一。它的工作是处理 DNS 请求。我们将在后面的部分中更详细地讨论这一点。
  • 递归服务器。您还将看到这些称为“解析名称服务器”的服务器。它是 DNS 查找过程的一部分,负责向服务器查询与 IP 地址相关的域名。

总的来说,DNS 使最终用户获取域名变得简单。它是网络的核心部分,因此,它有许多活动部件。

我们接下来将研究查找过程本身,尽管您已经可以看到 DNS 如何完成一项重要的工作。

body a.novashare-ctt{display:block;background:#00abf0;margin:30px auto;padding:20px 20px 20px 15px;color:#fff;text-decoration:none!important;box-shadow:none!important;- webkit-box-shadow:none!important;-moz-box-shadow:none!important;border:none;border-left:5px solid #00abf0}body a.novashare-ctt:hover{color:#fff;border- left:5px solid #008cc4}body a.novashare-ctt:visited{color:#fff}body a.novashare-ctt *{pointer-events:none}body a.novashare-ctt .novashare-ctt-tweet{display: block;font-size:18px;line-height:27px;margin-bottom:10px}body a.novashare-ctt .novashare-ctt-cta-container{display:block;overflow:hidden}body a.novashare-ctt。 novashare-ctt-cta{float:right}body a.novashare-ctt.novashare-ctt-cta-left .novashare-ctt-cta{float:left}body a.novashare-ctt .novashare-ctt-cta-text{ font-size:16px;line-height:16px;vertical-align:middle}body a.novashare-ctt 。novashare-ctt-cta-icon{margin-left:10px;display:inline-block;vertical-align:middle}body a.novashare-ctt .novashare-ctt-cta-icon svg{vertical-align:middle;height: 18px}body a.novashare-ctt.novashare-ctt-simple{background:0 0;padding:10px 0 10px 20px;color:inherit}body a.novashare-ctt.novashare-ctt-simple-alt{background:#f9f9f9 ;padding:20px;color:#404040}body a.novashare-ctt.novashare-ctt-simple-alt:hover,body a.novashare-ctt.novashare-ctt-simple:hover{border-left:5px solid #008cc4 }body a.novashare-ctt.novashare-ctt-simple .novashare-ctt-cta,body a.novashare-ctt.novashare-ctt-simple-alt .novashare-ctt-cta{color:#00abf0}body a.novashare -ctt.novashare-ctt-simple-alt:hover .novashare-ctt-cta,body a.novashare-ctt.novashare-ctt-simple:hover .novashare-ctt-cta{color:#008cc4}Don’不要让您的网站成为 DNS 中毒攻击的牺牲品 ☠️ 在这里学习防止您的域被欺骗所需的基本技能 ⬇️点击推文
DNS 查询的过程

在我们提供看似抽象的类比时,请耐心等待。

将人们带到偏远地区的活动,例如登山或航海,都有一个特定的危险:迷路和未被及时找到。定位滞留人员的传统方法是使用坐标。它们是明确的,并提供精确的准确性。

然而,这个过程有缺点。首先,您需要知道如何计算任何位置的坐标——如果在世界的偏远地区就很棘手。其次,您必须将这些坐标传达给救援队。一个错误的数字,后果是可怕的。

三词地址应用程序采用复杂的计算和传递坐标过程,并将其转换为您大致位置的三字摘要。以 Automattic 的总部为例:

Apple Maps 中的 Automattic 办公室。

Apple Maps 中的 Automattic 办公室。

该位置的坐标为 37.744159,-122.421555。但是,除非您是专业导航员,否则您不太可能知道这一点。即使你这样做了,把它交到可以帮助你的人手中也是一个渺茫的提议。

简而言之,三词地址采用一组抽象的坐标并将它们翻译成三个令人难忘的词。就 Automattic 的办公室而言,它是体面的.transfers.sleeps:

三词地址网站,展示了 Automattic 的办公室。

三词地址网站,展示了 Automattic 的办公室。

这将复杂的全球定位置于几乎任何有权访问该应用程序的人手中。它已经挽救了许多平民的生命。

这与 DNS 查找有关,因为过程是相似的。在三词地址的情况下,救援人员向应用程序询问字串的坐标。请求跨服务器发送以查找坐标并在找到坐标时返回给最终用户。

DNS 查找具有类似的流程:

  • 您的浏览器请求域名的 IP 地址。
  • 您的操作系统 (OS) 要求递归服务器查找域名并开始运行其服务器集合。
  • 当它找到域名时,它会返回给浏览器。

三词地址的一个缺点是字串不如一组坐标准确。这意味着您可以快速确定大致位置,但可能需要更长时间才能找到被困人员。

DNS 查找也有缺点,恶意攻击者可以利用它们。不过,在我们看这个之前,让我们绕道一下,谈谈缓存以及它如何加快查找速度。

DNS缓存

与 Web 缓存非常相似,DNS 缓存可以帮助您回忆对服务器的常规查询。这将使每次新访问获取 IP 地址的过程更快。

简而言之,缓存位于 DNS 服务器系统内,并减少了到递归服务器的额外行程。这意味着浏览器可以直接从 DNS 服务器获取 IP 地址并在更快的时间内完成 GET 请求。

您会在整个系统中找到 DNS 缓存。例如,您的计算机将有一个 DNS 缓存,您的路由器和互联网服务提供商 (ISP) 也将如此。您通常不会意识到您的浏览体验在多大程度上依赖于 DNS 缓存——直到您成为 DNS 中毒的受害者。

什么是 DNS 中毒

现在您了解了 DNS 查找的概念以及获取 IP 地址的整个过程,我们可以了解如何利用它。

您经常会看到 DNS 中毒也被称为“欺骗”,因为在链中存在欺诈性“相似”网站是攻击的一部分。

我们将更详细地讨论所有这些方面,但要知道 DNS 中毒或欺骗是一种有害的攻击,可能会给用户和互联网带来心理、金钱和资源相关问题。

不过,首先让我们进入缓存中毒的过程。

DNS 欺骗和缓存中毒的工作原理

鉴于整个欺骗过程很复杂,攻击者创造了许多不同的方法来实现他们的目标:

  • 中间机器。这是攻击者在浏览器和 DNS 服务器之间进入、毒害两者并将用户重定向到他们自己服务器上的欺诈站点的地方。
  • 服务器劫持。如果攻击者进入 DNS 服务器,他们可以重新配置它以将所有请求发送到他们自己的站点。
  • 通过垃圾邮件中毒。与服务器劫持相反,这种方法会毒害客户端(即浏览器)。通常通过垃圾邮件链接、电子邮件和欺诈性广告授予访问权限。
  • “生日袭击。” 这是一种复杂的密码攻击,需要进一步解释。

生日攻击基于“生日问题”。这是一个概率场景,即(简而言之)如果一个房间里有 23 个人,那么有 50% 的机会两个人生日相同。如果房间里有更多的人,机会就会增加。

显示生日问题的图表。

显示生日问题的图表。(图片来源:维基百科)

这会转化为基于将 DNS 查找请求连接到 GET 响应的标识符的 DNS 中毒。如果攻击者发送一定数量的随机请求和响应,则匹配成功的概率很高。从大约 450 个请求中,概率约为 75%,在 700 个请求中,攻击者几乎可以保证破解服务器。

简而言之,对 DNS 服务器的攻击在大多数情况下都会发生,因为这为恶意用户提供了更大的灵活性来操纵您的站点和用户数据。也没有对 DNS 数据的验证,因为请求和响应不使用传输控制协议 (TCP)。

链中的弱点是 DNS 缓存,因为它充当 DNS 条目的存储库。如果攻击者可以将伪造的条目注入缓存,那么在缓存过期之前,每个访问它的用户都会发现自己处于欺诈站点。

订阅时事通讯

想知道我们是如何将流量增加超过 1000% 的吗?

加入 20,000 多名其他人,他们会收到我们的每周时事通讯,其中包含 WordPress 内幕技巧!

现在订阅

攻击者通常会寻找一些信号、弱点和数据点作为目标。他们努力发现尚未缓存的 DNS 查询,因为递归服务器将不得不在某个时候进行查询。通过扩展,攻击者还将查找查询将访问的名称服务器。一旦他们有了这个,解析器使用的端口和请求 ID 号就至关重要。

虽然不需要满足所有这些要求——毕竟,攻击者可以通过多种方法访问服务器——勾选这些框会使他们的工作更容易。

DNS 中毒的真实示例

多年来,DNS 中毒出现了一些引人注目的例子。在某些情况下,这是一种故意行为。例如,中国大规模运行防火墙(所谓的“中国防火墙”)来控制互联网用户接收的信息。

简而言之,他们通过将访问者重定向到未经国家批准的网站(例如 Twitter 和 Facebook)来毒害自己的服务器。在一个案例中,中国的限制甚至进入了西方世界的生态系统。

来自瑞典 ISP 的网络错误从中国服务器提供根 DNS 信息。这意味着智利和美国的用户在访问某些社交媒体网站时会被重定向到其他地方。

在另一个例子中,孟加拉国黑客抗议马来西亚的虐待行为,毒害了许多与微软、谷歌、YouTube 和其他知名网站相关的域名。这似乎是服务器劫持的情况,而不是客户端问题或垃圾邮件。

甚至 WikiLeaks 也不能免于 DNS 中毒攻击。几年前潜在的服务器劫持导致该网站的访问者被重定向到黑客专用的页面。

DNS 中毒不一定是一个复杂的过程。所谓的“道德黑客”——即那些希望暴露安全漏洞而不是造成损害的黑客——拥有在自己的计算机上测试欺骗的简单方法。

但是,除了被重定向之外,表面上似乎没有 DNS 中毒的任何长期影响。事实上,有——我们接下来会讨论它们。

为什么 DNS 中毒和欺骗如此有害

希望在服务器上执行 DNS 中毒的攻击者有三个主要目标:

  • 传播恶意软件。
  • 将您重新路由到另一个网站,这将以某种方式使他们受益。
  • 窃取您或其他实体的信息。

当然,理解为什么 DNS 中毒或欺骗对 ISP、服务器运营商和最终用户来说是一个问题并没有超出想象。

正如我们所指出的,欺骗对于 ISP 来说是一个大问题,以至于有像 CAIDA Spoofer 这样的工具可以提供帮助。

CAIDA 网站。

CAIDA 网站。

几年前,统计数据显示,每天大约有 30,000 次攻击。自报告发布以来,这个数字几乎肯定会增加。更重要的是,与上一节中的示例一样,通过网络提供欺骗性站点会带来用户信任问题以及隐私问题。

需要一个为您提供竞争优势的托管解决方案?Kinsta 为您提供令人难以置信的速度、最先进的安全性和自动缩放功能。查看我们的计划

无论您是谁,当您成为中毒和欺骗的受害者时,都会涉及一些风险:

  • 与中国的防火墙一样,您可能会受到审查。这意味着您获得的信息将不准确,这会对许多社会和政治领域产生连锁反应。
  • 数据盗窃是一个首要问题,对于那些想要获取用户银行信息和其他敏感数据的人来说,这是一项有利可图的冒险。
  • 您的系统上可能容易受到恶意软件和其他特洛伊木马病毒的攻击。例如,攻击者可以通过欺骗站点在您的系统上注入键盘记录器或其他形式的间谍软件。

DNS中毒还有其他相关影响。例如,在恢复过程全面展开时,您可能无法对系统应用任何安全更新。这会使您的计算机更容易受到攻击。

此外,请考虑此清理过程的成本和复杂性,因为它会影响整个链条上的每个人。所有连接服务的价格上涨只是不利因素之一。

消除 DNS 中毒的努力是巨大的。鉴于欺骗会影响客户端和服务器端的设置,从一个中消除它并不意味着它已经消失了。

如何防止 DNS 中毒

DNS 中毒有两个方面的影响——客户端和服务器端。我们将看看你可以做些什么来防止硬币两面的这种破坏性攻击。

让我们从整个互联网在服务器端所做的事情开始。

Internet 如何尝试防止 DNS 中毒和欺骗服务器端

尽管我们在整篇文章中讨论了很多关于 DNS 的内容,但我们还没有注意到该技术是多么过时。简而言之,由于一些因素,DNS 并不是现代 Web 浏览体验的最佳选择。首先,它是未加密的,并且没有一些重要的验证注意事项,这将阻止许多 DNS 中毒攻击继续进行。

防止攻击变得更强大的一种快速方法是通过简单的日志记录策略。这会在请求和响应之间进行直接比较,以查看它们是否匹配。

但是,长期的答案(根据专家的说法)是使用域名系统安全扩展 (DNSSEC)。这是一项旨在对抗 DNS 中毒的技术,简单来说,它设置了不同级别的验证。

更深入地说,DNSSEC 使用“公钥加密”作为验证。这是一种将数据签署为真实可信的方式。它与您的其他 DNS 信息一起存储,递归服务器使用它来检查它收到的信息是否已被更改。

与其他互联网协议和技术相比,DNSSEC 是一个相对的婴儿——但它已经足够成熟,可以在互联网的根级别实施,尽管它还不是主流。Google 的公共 DNS 是一项完全支持 DNSSEC 的服务,而且一直有更多的服务出现。

即便如此,DNSSEC 仍然存在一些值得注意的缺点:

  • 该协议不对响应进行编码。这意味着攻击者仍然可以“监听”流量,尽管攻击必须更加复杂才能绕过 DNSSEC。
  • 由于 DNSSEC 使用额外记录来收集 DNS 数据,因此存在另一个称为“区域枚举”的漏洞。这使用一条记录“遍历”并收集特定“区域”内的所有 DNS 记录。此记录的某些版本会加密数据,但其他版本尚未加密。
  • DNSSEC 是一个复杂的协议,而且由于它也是新协议,因此有时可能会被错误配置。当然,这可能会削弱使用它的好处,并会带来更多的问题。

即便如此,DNSSEC 至少是服务器端的未来。至于您作为最终用户,您还可以采取一些预防措施。

如何防止客户端的 DNS 中毒

有更多的方法可以防止客户端的 DNS 中毒,但没有一种方法可以像专家实施的服务器端 DNSSEC 那样强大。不过,作为网站所有者,您可以勾选一些简单的框:

  • 对任何请求和回复使用端到端加密。安全套接字层 (SSL) 证书在这里做得很好。
  • 使用欺骗检测工具,例如 Xarp。这些在发送之前扫描接收到的数据包。这可以减轻任何恶意数据传输。
  • 增加 DNS 缓存的生存时间 (TTL) 值将有助于在恶意条目到达最终用户之前将其清除。
  • 您应该拥有良好的 DNS、DHCP 和 IPAM (DDI) 策略。这包括您的 DNS 策略、动态主机配置协议和 IP 地址管理。这是一个由系统管理员和服务器安全专家处理的复杂但必要的过程。

作为最终用户,您还可以做一些事情来帮助防止中毒和欺骗:

  • 使用虚拟专用网络 (VPN),因为您的数据将被端到端加密。您还将再次使用具有端到端加密的私有 DNS 服务器。
  • 采取简单的预防措施,例如不要点击无法识别的链接并定期进行安全扫描。
  • 定期刷新 DNS 缓存也可以清除系统中的恶意数据。这是一件需要几秒钟的事情,而且很容易执行。

虽然您无法完全消除 DNS 中毒,但您可以防止最坏的情况发生。作为最终用户,您无法控制服务器如何处理攻击。同样,系统管理员也无法控制浏览器中发生的事情。因此,阻止这种最有害的攻击影响整个链条是团队的努力。

想象一下:访问者被发送到看起来像您的网站.. 但这是一个有害的欺诈版本。😱制止DNS中毒这样的攻击与帮助,从本指南⬇️Click鸣叫
摘要

Internet 攻击是司空见惯的。DNS 中毒(或欺骗)是一种常见的攻击,如果不加以控制,可能会影响数百万用户。这是因为 DNS 协议陈旧,不适合现代网络浏览——尽管新技术即将出现。

简而言之,DNS 中毒会将最终用户重定向到现有网站的欺诈版本。这是一种窃取数据并使用恶意软件感染系统的方法。没有万无一失的方法可以完全防止它,但您可以通过一些简单的措施来控制它。

您是否曾经成为 DNS 中毒或欺骗的受害者,如果是,原因是什么?请在下面的评论部分与我们分享您的经验!

通过以下方式节省时间、成本并最大限度地提高站点性能:

  • 来自 WordPress 托管专家的即时帮助,24/7。
  • Cloudflare 企业集成。
  • 全球受众覆盖全球 28 个数据中心。
  • 使用我们内置的应用程序性能监控进行优化。

所有这些以及更多,都在一个没有长期合同、协助迁移和 30 天退款保证的计划中。查看我们的计划或与销售人员交谈以找到适合您的计划。

相关文章