域名系统 (DNS) 是用于连接到 Internet 的计算机、服务和其他资源的分层和分散命名系统。简而言之,它将人类可读的域分配并映射到机器用来通信的底层 IP 地址。DNS 还定义了 DNS 协议,它是 DNS 中使用的数据结构和数据交换的规范。在实践中,DNS 将此责任委托给每个域的权威名称服务器,从而创建一个非集中托管的分布式容错系统。
如您所知,互联网依赖于 DNS 的正常运行。每个网页、发送的电子邮件和收到的图片都依赖 DNS 将其对人类友好的域名转换为服务器、路由器和其他联网设备使用的 IP 地址。DNS 记录还用于配置 电子邮件安全 设置。有关更多信息,请参阅我们的 电子邮件安全完整指南。
DNS 解析器有什么作用?
当您输入域时,您的 Web 浏览器将使用您的操作系统存根解析器将站点的域名转换为 IP 地址。如果存根解析器不知道翻译,它将把对 DNS 数据的请求转发给更复杂的递归解析器,这些递归解析器通常由 Internet 服务提供商 (ISP)、政府和组织(如 Google、OpenDNS 和 Quad9)运营。
一旦递归解析器收到您的请求,它就会将自己的 DNS 请求发送到多个权威名称服务器,直到找到明确的答案。域名服务器相当于互联网的电话簿,维护域名目录并将其转换为 IP 地址,就像普通电话簿将名称转换为电话号码一样。一些组织甚至运行自己的,但大多数会将此功能外包给第三方,如注册商、互联网服务提供商或网络托管公司。
DNS 缓存如何工作?
为了提高性能,存根解析器和递归解析器将缓存(记住)域名到 IP 地址的转换,以便下次您请求访问该网站时,它不需要在一段时间内查询名称服务器,称为生存时间(TTL)。当 TTL 到期时,重复该过程。
一般来说,这是一件好事,因为它可以节省时间并加快互联网速度。但是,当成功的 DNS 攻击更改 DNS 设置并为 DNS 解析器提供错误的 IP 地址时,流量可能会转到错误的位置,直到 TTL 过期或手动更正缓存的信息。当解析器接收到虚假信息时,它被称为 DNS 缓存中毒攻击,并且解析器被称为具有中毒的 DNS 缓存。在这种类型的攻击中,解析器可能会返回错误的 IP 地址,从而将流量从真实网站转移到虚假网站。
攻击者如何毒害 DNS 缓存?
DNS 中毒或 DNS 欺骗攻击的工作方式是模拟 DNS 名称服务器,向 DNS 解析器发出请求,然后在 DNS 解析器查询名称服务器时伪造回复。这是可能的,因为 DNS 使用未加密的 UDP 协议,这使得通过欺骗拦截流量变得容易,并且 DNS 服务器不会验证它们将流量定向到的 IP 地址。
毒害 DNS 缓存的常用方法有两种:
- 中间人攻击: 拦截用户和 DNS 服务器之间的通信,以便将用户路由到不同的或恶意的 IP 地址。在这种情况下,攻击者位于计算机的存根解析器和递归解析器之间,发回一个虚假的 DNS 结果。 阅读我们关于中间人攻击的完整指南以获取更多信息。
- DNS 服务器入侵: 这种类型的攻击发生在攻击者直接访问域的 DNS 服务器时,通常通过 鱼叉式网络钓鱼 或 捕鲸,并更新 DNS 条目以指向恶意网站。这种类型的攻击也称为 DNS 劫持。
这样做的原因是,与 TCP 不同,TCP 依赖于通信双方执行“握手”来启动通信并验证设备的身份,DNS 请求和响应依赖于 UDP 或用户数据报协议。使用 UDP 无法保证连接已打开,接收者已准备好接收,或者发送者就是他们所说的那个人。这使得 UDP 通信容易受到 MITM 攻击,攻击者可以通过 UDP 发送消息,通过伪造标头数据假装它是合法的名称服务器。如果接收 DNS 解析器接受虚假响应和缓存,则可能会发生这种情况,因为无法验证信息是否准确且来自合法来源。话虽如此,DNS 欺骗攻击并不容易实施,因为 DNS 解析器确实会查询权威名称服务器,从而在真正的响应到达之前给攻击者几毫秒的时间来伪造响应。
DNS 欺骗攻击何时成功?
为了使 DNS 欺骗攻击成功,攻击者需要知道或猜测:
- 目标 DNS 解析器不会缓存哪些 DNS 查询,以便解析器查询权威名称服务器
- DNS 解析器使用什么端口,这在过去很容易,但随着 DNS 解析器轮换其开放端口 以减轻 DNS 欺骗 ,这变得更加困难
- 请求ID号
- DNS 解析器将查询哪个权威域名服务器
或者,攻击者可以通过其他方式访问 DNS 解析器,例如通过物理访问或操作恶意解析器。一些政府,例如中国及其防火墙,故意欺骗 DNS 缓存以审查其公民可以通过 Internet 访问的内容。
一旦攻击者成功发起 DNS 欺骗攻击,DNS 请求通常会导致用户被发送到与预期结果相似的受损或更改的 Web 服务器或网页。这可能会导致极难检测的 网络钓鱼诈骗 ,其中用户登录他们认为真实网站的内容,使攻击者有机会窃取登录凭据、信用卡号和其他 敏感数据, 如 PII 和 PHI, 具体取决于网站。此外,这些恶意网站经常被用来 在用户的计算机上安装 计算机蠕虫、 勒索软件和 间谍软件,使犯罪者可以长期访问。