DNS污染危害及有效预防方法

如果说好莱坞电影教会我们一件事的话,那就是黑客很聪明,他们有各种各样的伎俩来绕过我们的安全。然而在现实世界中,安全问题往往归结为机会,而不是发展技能。DNS中毒攻击正是这一描述的典型体现,事实上,您需要具备防止域被欺骗的技能。这个概念看似简单:访问者看到的本应是您的网站,但实际上却是欺诈和有害的仿冒品,而假网站与真网站在外观上几乎毫无区别。因此,您必须采用多种技术来确保用户的安全,并有效防御站点遭受攻击的风险。在这篇文章中,我们将深入探讨DNS污染(英文DNS Poisoning),也称作DNS中毒和域欺骗的概念。同时,我们还将讨论一些相关概念,帮助您理解为何采取最佳响应策略至关重要。

域名系统(DNS)入门

在深入DNS污染的细节之前,让我们先了解域名系统。虽然浏览一个网站看似简单,但在服务器底层却涉及诸多复杂操作。从“A”到“B”的连接过程涉及多个关键因素:IP地址、域名、DNS请求、DNS服务器以及递归服务器等。IP地址如同您家的坐标,而域名则是信封上显示的地址。DNS请求则是浏览器向专用服务器地址发起的坐标查询。DNS服务器则扮演着处理DNS请求的角色,而递归服务器则负责在服务器上查询与IP地址相关的域名。总而言之,DNS使最终用户能够轻松获取域名,它是Web的核心部分,因此包含众多活跃组件。

DNS污染危害及有效预防方法

DNS查找的过程

DNS查找过程类似于what3words应用程序定位偏远地区的过程。what3words需要计算和传递坐标的复杂过程,并将其转换成三个单词的大致位置摘要。例如,Automatic的总部坐标为37.744159, -122.421555,what3words将其转换为decent.transfers.sleeps。这使几乎所有人都能掌握复杂的全球定位,并已拯救许多平民生命。DNS查找过程与之类似:您的浏览器请求域名的IP地址,操作系统要求递归服务器查找域名,当找到域名后,服务器将其返回给浏览器。然而,DNS查找也存在缺点,恶意攻击者可以利用这些缺点进行攻击。在此之前,我们先简单讨论一下DNS缓存及其如何加快查找速度。

DNS缓存

DNS污染危害及有效预防方法

与Web缓存类似,DNS缓存能够帮助您向服务器调用常规查询,从而加快获取IP地址的过程。缓存位于DNS服务器系统内,减少了到递归服务器的额外行程,使浏览器可以直接从DNS服务器获取IP地址,并更快地完成GET请求。您将在整个系统中找到DNS缓存,例如您的计算机、路由器和互联网服务提供商(ISP)都具备DNS缓存。通常情况下,您不会意识到自己的浏览体验有多依赖DNS缓存,直到成为DNS中毒的受害者。

什么是DNS污染

DNS污染(DNS Poisoning)也被称为“欺骗”或“中毒”,因为攻击链中存在欺诈性的“相似”网站。DNS中毒或欺骗是一种有害攻击,可能给用户和互联网带来精神、金钱和资源方面的损失。让我们更详细地探讨其工作原理。DNS污染的工作原理非常复杂,攻击者创造了多种方法来实现其目标:机器在中间、服务器劫持、通过垃圾邮件中毒以及“生日攻击”等。在大多数情况下,攻击者会攻击DNS服务器,因为这使得恶意用户能够更灵活地操纵您的站点和用户数据。DNS数据没有验证,因为请求和响应不使用传输控制协议(TCP)。链中的弱点是DNS缓存,如果攻击者将伪造条目注入缓存,则访问该缓存的每个用户都会发现自己处于欺诈站点,直到缓存过期。

DNS污染危害及有效预防方法

DNS污染的真实世界示例

近年来,DNS中毒已有一些引人注目的例子。在某些情况下,这是一种故意行为。例如,一些国家或地区通过将访问者重定向到Twitter和Facebook等未经批准的网站,污染自己的服务器来大规模运行防火墙,以控制互联网用户接收的信息。瑞典ISP从这些国家或地区服务器提供根DNS信息时出现网络错误,导致智利和美国的用户在访问某些社交媒体网站时被重定向到其他地方。在另一个例子中,抗议马来西亚虐待的孟加拉国黑客毒害了许多与微软、谷歌、YouTube等知名网站相关的域名。维基解密也曾遭受DNS中毒攻击,导致该网站的访问者被重定向到一个专门针对黑客的页面。

为什么DNS污染有害

DNS污染危害及有效预防方法

攻击者希望在服务器上执行DNS中毒,主要目标有三个:传播恶意软件、将用户重定向到其他网站以获利、以及从您或其他实体窃取信息。DNS中毒或欺骗对ISP、服务器运营商和最终用户都是一个严重问题。正如我们所指出的,欺骗对ISP来说是一个巨大的问题,以至于有像CAIDA Spoofer这样的工具可以提供帮助。统计数字显示每天大约有30000起袭击,这一数字几乎肯定会增加。更重要的是,通过网络交付伪造的站点会带来用户信任问题以及隐私问题。当您成为中毒和欺骗的受害者时,存在一些风险:您可能会受到审查,数据盗窃是人们最关心的问题,您可能容易感染系统上的恶意软件和其他特洛伊木马病毒。此外,在恢复过程全面展开时,您可能无法对系统应用任何安全更新,这会使您的计算机更长时间处于易受攻击状态。清理过程的成本和复杂性也会影响到每个人在链条上,所有联网服务的更高价格只是负面因素之一。

如何预防DNS污染

DNS污染影响客户端和服务器端设置。我们将看看您能做些什么来防止这种对硬币两面的破坏性攻击。首先,让我们看看互联网作为一个整体在服务器端如何防止DNS污染和服务器端欺骗。尽管在本文中我们已经讨论了很多关于DNS的内容,但我们还没有注意到这项技术有多么过时。简而言之,DNS并不是最适合现代网络浏览体验的,首先,它是未加密的,并且没有一些重要的验证考虑,这将阻止许多DNS中毒攻击的继续。防止攻击变得更强的一种快速方法是通过简单的日志策略,这将在请求和响应之间进行简单的比较,以查看它们是否匹配。然而,长期的答案(根据专家的说法)是使用域名系统安全扩展(DNSSEC)。这是一项旨在对抗DNS中毒的技术,它提供了不同级别的验证。DNSSEC使用“公钥加密”作为验证,将数据视为真实可信的方式,并与您的其他DNS信息一起存储,递归服务器使用它来检查它接收到的信息是否未被更改。与其他互联网协议和技术相比,DNSSEC是一个相对的婴儿,但它已经足够成熟,可以在互联网的根级别实现,尽管它还不是主流。谷歌的公共DNS是一项完全支持DNSSEC的服务,而且随时都会有更多的服务出现。尽管如此,DNSSEC仍存在一些值得注意的缺点:该协议不编码响应,这意味着攻击者仍然可以“监听”流量,尽管要绕过DNSSEC,攻击必须更加复杂。由于DNSSEC使用额外的记录来收集DNS数据,因此存在另一个称为“区域枚举”的漏洞。该漏洞使用一条记录来“遍历”并收集特定“区域”内的所有DNS记录。此记录的某些版本会加密数据,但其他版本尚未加密。DNSSEC是一个复杂的协议,因为它也是新的,所以有时可能会配置错误,这会削弱使用它的好处,并带来进一步的问题。即便如此,DNSSEC至少在服务器端是未来的趋势。作为最终用户,您还可以采取一些预防措施。

DNS污染危害及有效预防方法

如何防止客户端的DNS污染

有更多的方法可以在客户端防止DNS中毒,尽管没有一种方法能够像专家实现的服务器端DNSSEC那样强大。不过,作为网站所有者,您可以采取一些简单措施:对任何请求和回复使用端到端加密,使用欺骗检测工具,如Xarp,增加DNS缓存的生存时间(TTL)值,并制定良好的DNS、DHCP和IPAM(DDI)策略。作为最终用户,您还可以做一些事情来帮助防止中毒和欺骗:使用虚拟专用网络(VPN),使用私有DNS服务器,采取简单的预防措施,例如不要单击无法识别的链接并定期进行安全扫描,定期刷新DNS缓存。

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

小结

互联网攻击是司空见惯的。DNS污染(中毒或欺骗)是一种常见的攻击,如果不加以制止,可能会影响数百万用户。这是因为DNS协议很旧,不适合现代网络浏览——尽管新技术即将问世。简而言之,DNS污染将最终用户重定向到现有网站的欺诈版本,这是一种窃取数据并用恶意软件感染系统的方法。没有万无一失的方法可以完全防止它,但是您可以通过一些简单措施来控制它。您是否曾经是DNS污染的受害者,如果是,原因是什么?请在下面的评论部分与我们分享您的经验!

文章网址:https://www.wpbull.com/jiqiao/14588.html