互联网上每一台设备都会有一个 IP 地址,我们在访问网站或发送信息时,其实都是通过 IP 地址达成准确请求的。但是这个 IP 地址由很长一串数字组成,记忆起来相当困难,所以我们创造了更实用的域名来代替 IP 地址。而如何将域名和 IP 地址联系起来,就是域名系统(DNS)发挥作用的地方。它由各种名称服务器(即 DNS 服务器)组成,负责域名解析,帮助客户端建立联系,是网络中最重要的服务之一。
名称服务器和客户端之间的通信存在一定的安全风险,部分心怀不轨的人可以通过很多方法篡改 Internet 上的名称解析。本文要讲的 DNS 欺骗,就是通过虚假的 IP 地址发起欺骗攻击。
什么是 DNS 欺骗?
DNS 欺骗是指 DNS 名称解析被篡改,特别容易出现的 DNS 欺骗是伪造域名的 IP 地址。这是因为 DNS 解析主要在内部系统进行,而浏览器中显示的是正确的域名,所以用户通常不会注意到被篡改。具体操作为,恶意者让 DNS 请求会返回一个虚假的 IP 地址,当客户端与假 IP 地址建立连接时,用户就会被重定向到假的服务器。简单举个例子:
下图是客户端在连接到网站 example.com 过程中被欺骗的案例示意图:
(图片来源于互联网,如有侵权请联系我们删除)
- d1:客户端首先从 DNS 服务器请求主机名 example.com 的 IP 地址。
- d2:客户端收到了请求的响应,但它返回了一个虚假的 IP 地址。未与 example.com 真正的服务器建立连接。
- h1:客户端将请求发送到伪造 IP 地址后面的恶意主机。
- h2:恶意主机将看似合法的网站页面返回给客户端。但是,恶意主机上缺少该域名的安全证书。
- A、B、C:这些是 DNS 欺骗的不同攻击点:在客户端或本地路由器上、在网络连接上以及在 DNS 服务器上。