域名系统(DNS)是Internet基础结构的一部分,它可以将人们容易记住的域名解析为与Internet连接的计算机使用的更加模糊的IP地址。如果没有DNS,我们将必须记住我们要访问的每个新站点的IP地址.
在这方面,DNS似乎与便利性有关。实际上,DNS也是互联网安全的关键部分。您的计算机信任DNS,可以为任何给定站点提供正确的IP地址。遗憾的是,很少有预防措施来检测不正确的DNS响应,这给恶意软件利用者留下了安全漏洞.
深入研究DNS的工作原理
DNS是分散式的。该信息不是由一个包含有关每个域的信息的大型数据库组成,而是分散在Internet上许多不同的服务器上。每个域至少具有一个权威名称服务器.
背景:权威名称服务器是DNS服务器,其中包含任何特定域的所有DNS记录。.
例如,对于Comparitech.com,我们可以看到权威名称服务器是Amazon DNS服务器.
$ dig + short comparitech.com ns
ns-769.awsdns-32.net。
ns-1652.awsdns-14.co.uk。
ns-1459.awsdns-54.org。
ns-237.awsdns-29.com.
因此,如果我要查询其中一个名称服务器以获取网站comparitech.com的IP地址,它将返回该站点所在的Web服务器的IP地址。.
$ dig + short comparitech.com @ ns-769.awsdns-32.net。
108.59.8.18
在该示例中,我直接查询了Comparitech的名称服务器之一,但这与DNS系统在日常操作中的工作方式完全不同。完整的DNS系统不仅涉及DNS服务器,还涉及DNS客户端。 DNS客户端称为DNS解析器.
背景:DNS解析器之所以这样命名,是因为它的工作是获取域名并将其解析为您的计算机可用来发起与Internet服务器的通信的IP地址。.
DNS解析器几乎存在于每台计算机上,并且通常位于更高级别,例如Internet服务提供商。当您计算机上的程序想知道域的IP地址时,它会要求DNS解析器解析该域与IP的关系。解析程序如何执行,请求程序无法得知;无论如何获取IP地址,我们都很乐意找回IP地址.
几乎所有DNS解析器都缓存查询,以减少各种DNS服务器上的负载。您计算机上的DNS解析器称为本地解析器,当它查询IP地址时,它将首先检查其缓存以查看是否已经知道该答案。如果不是,它将参考下一级DNS解析器,通常是您的路由器。该解析器执行相同的缓存检查,以查看是否已经知道答案,如果不知道答案,则将请求引向下一个更高的解析器。这一直持续到遇到具有答案并提供IP地址的解析器为止,或者直到层次结构用尽并且没有解析器或权威名称服务器都不知道域的IP地址为止。后者通常仅在未注册域且因此没有权威名称服务器或DNS解析程序链中存在某些其他故障时发生.
此过程的重要部分是,一旦解析器提供了答案,搜索就会停止。一个解析器成功后,将不会再查询其他解析器。 DNS变更恶意软件可以抓住其中的空白。以后再说.
DNS解析有最后一层,它不是DNS模型的一部分,但功能强大。每台计算机在其系统上的某个位置都有一个名为hosts的文件。在Unix和macOS / OSX系统中,通常在/ etc / hosts /中找到;对于Windows系统,通常在C:\ System32 \ drivers \ etc \ hosts中找到。如果您使用的是异国情调的操作系统,则其主机文件的位置可能在此列表中.
在几乎所有情况下,主机文件都胜过任何DNS解析器活动。意思是,如果我将以下行放入主机文件,将永远无法成功加载Comparitech.com网站。这是因为我的主机浏览器会接受我的主机文件中的错误答案,并且一旦返回答案就不会再查询其他解析程序,因此不会再执行任何检查.
123.45.67.89 comparitech.com www.comparitech.com
主机文件早于DNS,最初用于ARPANET名称解析,但今天在系统中仍然存在。当需要临时查看与公共DNS中存储的IP地址不同的IP地址上的域时,主要由技术人员(例如开发人员和系统管理员)使用.
还可以修改主机文件,以阻止恶意网站的IP地址。您可以在此处了解如何修改主机文件以阻止广告和恶意软件.
最后,有多种不同类型的DNS记录。例如,邮件服务器由MX记录指定,IPv6地址包含在AAAA记录中,域别名称为CNAME记录。就本文而言,我们仅关注IPv4 A记录,该记录包含域的IPv4地址,并且主要用作网站IP地址.
DNS记录来自哪里?
域所有者负责创建必要的DNS记录,以使其域正常运行。这些记录需要在该域的权威名称服务器所在的任何位置创建。首次从域名注册商处购买域名时,这些记录通常指向注册商处的某种类型的停车页面。为该域创建网站或其他服务后,通常会将DNS记录更改为指向新的网站和邮件服务器.
背景:域名注册商是购买域名或购买后已转移到的域名。使用域名注册商是因为域名卖方的重要功能是在DNS系统中注册该域名,以便可以解析其DNS记录.
DNS更改器恶意软件如何工作?
DNS更改器恶意软件的目的是使您的计算机访问与您预期不同的服务,并使您完全看不到它。例如,黑客在其他服务器上创建美国银行网站的副本只是成功的一半。下一步是以某种方式使人们访问该网站,并在不知不觉中输入他们的登录凭据,以便将其发送给坏人.
这是网络钓鱼的一种形式。尝试诱骗人们访问这些网站的一种常见方法是通过垃圾邮件活动中包含混淆链接的活动。这些链接看起来像是转到了合法的美国银行网站,但实际上却没有。我在这里写过一些基本的调查技术,很容易将这种网络钓鱼打败.
一种更隐蔽且难以检测的方法是更改您的本地DNS解析器,以提供恶意IP地址来查询美国银行域。这意味着您将启动网络浏览器并访问美国银行网站。您的浏览器将要求本地DNS解析器提供BoA站点的IP地址,而损坏的DNS解析器将返回恶意站点的IP地址,而不是合法BoA站点的IP地址。恶意网站会加载到您的浏览器中,与驻留在其他域上的典型网络钓鱼网站不同,该网站实际上会在您的浏览器地址栏中显示为美国银行,这使得几乎无法检测到误导.
回想一下,DNS解析器收到答案后,它将接受该答案,并且不执行任何进一步的查询。这意味着,为了为DNS查询提供错误的IP地址,坏人只需拦截将要处理您的DNS请求的第一个DNS解析器。在几乎所有情况下,这都是您自己的计算机或路由器上的本地DNS解析器。攻击媒介是在您自己的计算机上安装恶意软件,以控制本地或路由器DNS.
DNS Changer恶意软件的历史记录
第一轮DNS更改器恶意软件于2013年出现,并被彻底击败。这是爱沙尼亚一家名为Rove Digital的公司建立的复杂事件。它运营着一系列恶意DNS服务器,这些服务器将广告注入到网页中。然后,Rove广泛部署了Windows和Mac OSX恶意软件,这些恶意软件重新配置了本地解析程序以使用那些恶意DNS服务器。在关闭之前,点击了价值超过1400万美元的广告.
由于这种攻击的性质,恶意DNS服务器被发现并分类。因此,这很容易补救。它仅相当于检查计算机上的DNS设置并将它们与已知的Rove DNS服务器列表进行比较。如果有匹配项,则说明您已被感染。建立了一个名为DNS更改工作组(DCWG)的联盟,以帮助用户诊断和纠正感染。该站点上的大多数链接现在都消失了.
尽管从技术上讲不是恶意软件,但众所周知,中国会毒害自己的DNS作为检查工具。中国公民使用的DNS服务器被配置为为中国网络空间管理局部门想要使其在国内不可用的站点返回错误的IP地址.
也可以看看: 如何使用VPN访问在中国被阻止的站点.
过去,这些DNS服务器将返回不承载任何内容的空IP,这样访问者的浏览器就会超时。在最近的一个转折中,中国的DNS似乎正在使用世界上其他地方不认可的合法站点的IP地址进行响应,这导致其中一些站点由于不知情而突然收到的流量而瘫痪中国游客.
背景:“中毒DNS”一词的含义是故意修改DNS服务器以返回一个域或一组域的错误IP地址。 DNS更改器恶意软件从本质上修改了您本地网络中毒的DNS服务器.
DNS更改器恶意软件的当前状态
DNS Changer恶意软件的当前迭代更加复杂,更难检测。尽管注入广告来赚钱仍然是DNS更改器恶意软件的主要目标,但它更具阴险性,并且还会将人们重定向到恶意站点,以进行各种类型的欺诈。一个主要区别是它现在针对路由器而不是单个计算机。瞄准路由器是一种更有效的攻击媒介,因为它允许单个路由器感染使使用该路由器的所有设备的DNS毒化。在典型的家庭或办公室环境中,单个路由器可以为大量设备提供DNS,而无需尝试感染每个设备的本地DNS解析器.
现代DNS Changer恶意软件攻击的剖析
当今的DNS Changer恶意软件是在典型的行车攻击中通过javascript部署的.
背景:偷渡式攻击是无意中从您访问的受感染网站上将javascript下载到浏览器。该术语是开玩笑的措辞,指的是驾车枪击事件造成任意受害者的不加区别的方式.
javascript下载完成后,它将执行WebRTC调用以确定您的IP地址。如果您的IP地址符合一组预定的规则,则包含隐藏的路由器指纹和默认路由器管理员登录凭据的广告将下载到您的计算机。然后提取该信息以确定您拥有哪种类型的路由器。然后,它尝试使用路由器品牌的默认凭据登录到路由器,以更改DNS设置。 Proofpoint发现了此过程的工作原理,并对此处的每个步骤进行了详尽的描述。.
如何检测您是否被感染
如果没有Rove Digital使用的定义明确的攻击媒介,则很难检测到您是否被感染。但是,可能有些线索表明存在问题.
SSL错误或根本没有SSL
SSL(如今更正确地称为TLS)代表安全套接字层(TLS代表传输层安全性并已取代SSL)。 SSL有两个主要工作:
- 加密浏览器和Web服务器之间的信息,以及
- 确认Web服务器的标识.
第二点是在购买证书时执行的。证书供应商有义务确保为某个域申请证书的人是该域的实际所有者。例如,这会阻止任何人获得美国银行SSL证书。颁发证书之前,需要进行不同级别的验证:
- 域控制验证:最低级别的验证,仅要求证书供应商确保请求者对域具有物理控制权.
- 组织验证:与仅涉及证明对域的控制的域验证不同,组织验证还试图证明请求证书的组织是有效的合法组织。为了确认这一点,对组织进行了一些调查.
- 扩展验证:这是最高验证级别,寻求获得EV证书的组织必须证明其业务合法并在其管辖范围内得到适当许可.
尽管确实会发生错误,但是从理论上讲,如果您无法证明自己拥有域名,则不可能获得证书。因此,即使一个坏人能够破坏您的DNS,您最终还是会进入一个根本没有SSL或浏览器会警告您的SSL损坏的网站。如果您发现以前不再具有SSL的站点停止运行,或者在该站点上看到有关SSL问题的浏览器警告,则您可能不在您认为的位置。 (阅读更多: SSL加密完整入门指南)
增加广告或重定向到包含广告的页面
恶意软件开发者通过广告赚钱。每次点击广告只需几美分,当您可以吸引数以百万计的人点击它们时,它们的收益就很高。如果您发现广告有所增加,或者您被重定向到包含广告的页面,则几乎可以肯定这表明存在恶意软件,也可能是DNS更改器恶意软件.
检查路由器的DNS设置
当今市场上几乎每个路由器都有一个设置页面,可以在其中定义DNS服务器。在大多数情况下,DNS服务器由您的Internet服务提供商(ISP)决定,并且路由器中的DNS设置为空。但是,可以通过在路由器中设置特定的DNS服务器来覆盖ISP的DNS服务器,这正是DNS Changer恶意软件试图做到的。有两个步骤来确定您的路由器是否已被感染:
- 检查路由器中的DNS设置。如果它们不为空,则:
- 确定列出的DNS服务器是否是恶意的.
每个路由器都不相同,因此无法列出有关如何查找每个路由器的DNS设置的说明。您需要查找DNS服务器设置。在某些情况下,它位于WAN(广域网)设置中:
在其他情况下,您可以在“本地网络”设置中找到它:
您可能需要查阅路由器文档以找到适当的位置来查看路由器的DNS设置.
使用上面的第一个屏幕截图中的两步测试,我可以确定:
- 我的路由器的DNS设置是 不 空的,所以我继续执行步骤2.
- 我认识到8.8.8.8和8.8.4.4是Google的DNS服务器,因此我知道它们不是恶意的.
但是,如果我不确定,我会用Google的IP来查看它们属于谁:
如果您在路由器的DNS设置中找到条目,但无法确定它们的来源,则应将其删除.
检查本地计算机的DNS设置
尽管当今版本的DNS Changer恶意软件主要攻击路由器,但验证您个人计算机的DNS设置也无济于事.
苹果系统
苹果 -> 系统偏好设定 -> 网络 -> 点击您的网络
视窗
控制面板 -> 网络与互联网 -> 网络连接 -> 右键单击您的网络连接,然后选择属性
互联网协议版本4(TCP / IPv4)
互联网协议版本6(TCP / IPv6)
点击属性:
如果要添加更多DNS服务器,请单击“高级”。.
从命令行检查当前设置:
如何保护自己免受感染或再感染
回想一下,现代的DNS Changer恶意软件会尝试识别您的路由器,然后对它使用默认的登录凭据。因此,针对这种情况的第一个也是最好的保护措施就是简单地尽快更改路由器的管理员密码。仅此简单的操作就能挫败这种特殊的恶意软件压力.
还需要注意的是,该攻击使用javascript和webRTC成功。我已经写了有关启用JavaScript进行冲浪的危险以及如何禁用webRTC查询的文章。有少数人认为,如果禁用javascript冲浪,网络会完全崩溃,但是作为多年的资深人士,我可以确保您的网络正常。即使不是,也要遵循一句古老的格言:方便或安全-选择其中一个。我们大多数人也没有理由完全允许使用webRTC查询。如果您对是否允许webRTC查询感到好奇,可以使用此DNS泄漏测试并安装Chrome或Firefox插件以将其禁用.
如果您已经被感染并且在路由器或本地DNS设置中发现了恶意DNS服务器,则您的系统上可能存在恶意软件。我们维护了最好的防病毒解决方案列表,您应该运行其中一种来扫描系统中的这种类型的恶意软件.
按正确的顺序做事很重要。如果您在路由器或本地计算机中发现了恶意DNS条目,将其删除,然后安装了防病毒软件,则在恶意软件扫描完成后,您将需要重新访问DNS设置。原因是在完成恶意软件扫描之前,更改DNS设置的恶意软件仍会存在于您的系统上。您删除的路由器中的错误DNS条目可能已被现有的恶意软件立即替换。只有运行了防病毒扫描并删除了该恶意软件之后,您才能更有信心地确保您的DNS设置将保持预期的状态.
载到您的计算机上的攻击。这些javascript代码可以执行各种操作,包括更改您的DNS设置. DNS Changer恶意软件的攻击通常是通过路由器的管理界面进行的。攻击者会使用默认的管理员凭据或通过钓鱼攻击获得凭据,然后更改路由器的DNS设置以指向恶意DNS服务器。这样,所有连接到该路由器的设备都将使用恶意DNS服务器进行解析. 如何检测您是否被感染 检查路由器的DNS设置 检查您的路由器的DNS设置是检测DNS更改器恶意软件感染的第一步。要检查路由器的DNS设置,请按照以下步骤操作: 1. 打开您的路由器管理界面。 2. 寻找DNS设置。这通常在“网络设置”或“WAN设置”下。 3. 检查DNS服务器地址是否与您的ISP提供的地址匹配。如果不匹配,请更改为正确的地址。 4. 如果您不确定正确的DNS服务器地址,请联系您的ISP以获取帮助。 检查本地计算机的DNS设置 检查本地计算机的DNS设置是检测DNS更改器恶意软件感染的另一种方法。要检查本地计算机的DNS设置,请按照以下步骤操作: 1. 在Windows上,打开“控制面板”>“网络和共享中心”>“更改适配器设置”。在Mac上,打开“系统偏好设置”>“网络”。 2. 找到您正在使用的网络连接(例如,Wi-Fi或以太网)。 3. 右键单击该连接并选择“属性”。 4. 在“属性”窗口中,选择“Internet协议版本4(TCP / IPv4)”或“Internet协议