我们经常看到DNS劫持和域名劫持的说法,很多人也经常把这两种情况搞混。本文,国科云将从攻击原理、技术层面和防御策略上对两者做下详细介绍。
简单来说,DNS劫持是对域名解析的过程进行攻击,而域名劫持则针对域名本身进行攻击,要弄清楚这一点,还要简单了解下DNS解析的原理。
DNS解析原理和过程
DNS是一个分布式的、层级化的全球性数据库。它的工作流程可以类比为我们生活中的问路:
用户:想去“国科云官网”(www.guokeyun.com)。
本地DNS解析器:像是一个本地向导。它首先会查看自己的“小本本”(缓存)里有没有记录。如果没有,它就会去逐级询问。
根域名服务器:告诉向导:“.com域的事情,你去问.com顶级域服务器。”
.com顶级域服务器:告诉向导:“guokeyun.com这个域,你去问它所属的权威DNS服务器。”
权威DNS服务器:最终给出了准确的地址:“guokeyun.com的IP是110.242.68.66(举例说明,非真实)。”
这个过程中,最关键也最脆弱的环节在于“向导获取正确地址”的过程。如果任何一个环节被篡改,用户就会被指向错误的地点。
域名注册和管理的意义
域名是需要通过域名注册商(如GoDaddy、国科云、阿里云等)向ICANN认证的注册局申请购买的。当你注册一个域名时,你实际上获得了在一定期限内对该域名的使用权和管理权。
管理权主要体现在域名控制面板上,你可以设置最重要的两项信息:
权威DNS服务器记录:指定由哪台DNS服务器来回答关于你域名的IP地址查询。
域名解析记录(A记录、CNAME记录等):在权威DNS服务器上设置的具体映射关系,例如将www.example.com指向你的网站服务器IP。
这个“门牌号”的管理权,也是攻击者攻击的重点目标。
DNS劫持:在DNS解析环节发动攻击
DNS劫持,其核心攻击目标是DNS查询和响应的过程,目的是篡改解析结果,使用户在请求某个域名时,被引导到一个非预期的、通常是恶意的IP地址。
攻击原理与常见手法主要有以下几种情况:
1. 本地DNS服务器攻击:攻击者通过漏洞利用、社会工程学或恶意软件,入侵了本地DNS服务器,或者用户路由器。攻击者可以配置规则,将特定域名的解析请求指向恶意IP。
2. 中间人攻击:在用户计算机与DNS服务器之间的通信链路上,攻击者通过技术手段拦截DNS查询请求,并抢先返回一个伪造的DNS响应包,其中包含了恶意IP地址,系统使用这个错误的结果就会把用户引向一个错误的网站。
3. 本地Hosts文件篡改:攻击者通过恶意软件修改用户电脑本地的Hosts文件,因为hosts文件解析优先权高于DNS服务器,所以即便不修改DNS记录,也能达到劫持目的。
4.DNS缓存投毒:攻击者向递归DNS服务器发送伪造的DNS响应,诱骗其将错误的解析结果缓存起来。在缓存过期前,所有向该服务器查询该域名的用户都会得到错误的IP。
DNS劫持主要有以下几个特点:
攻击目标:DNS查询过程、DNS服务器或者是用户电脑本身。
表现形式:用户输入正确的网址,打开的却是另外的页面或者网站打不开。
权限要求:攻击者通常不需要对目标域名本身拥有任何管理权限。
域名劫持:直接窃取域名所有权
域名劫持的攻击目标是域名本身的管理权。攻击者通过非法手段,获取了目标域名的注册商管理账户的权限,从而完全控制了该域名。
域名劫持的主要方式主要有以下几种:
1.社工攻击:攻击者冒充域名所有者,通过电话、邮件等方式欺骗域名注册商的工作人员,重置账户密码或转移域名。
2.网络钓鱼:向域名所有者发送伪装成域名注册商的钓鱼邮件,诱骗其在伪造的登录页面上输入账户名和密码。
3.暴力破解:针对管理账户使用弱密码或在不同网站泄露过的密码进行撞库攻击。
4.注册商安全漏洞:利用域名注册商平台本身的安全漏洞,直接入侵系统并修改域名信息。
攻击者控制了域名后,一般会进行修改DNS服务器、修改解析记录以及转移域名三种操作。
修改DNS服务器:将域名的解析权移交到他们自己控制的恶意DNS服务器上,这样他们就可以在DNS服务器上进行任意的解析操作。
修改解析记录:这种情况不修改DNS服务器,直接修改A记录、CNAME记录等,将网站流量指向恶意服务器。
转移域名:将域名转移到另一个完全受攻击者控制的注册商账户下,使原所有者彻底失去该域名,这是最严重的一种方式。
域名劫持的特点,主要表现如下:
攻击目标:域名注册商的管理账户和域名本身的所有权。
表现形式:域名劫持影响最大的不是用户,而是域名所有者。域名劫持会让他们失去对域名的控制,无法管理网站、邮箱等所有基于该域名的服务。
权限要求:攻击者最终获得了域名的“最高管理权限”。
域名劫持通常比DNS劫持更严重,它意味着域名所有权的永久性或长期性丢失,恢复过程往往非常困难、耗时且成本高昂。
二者的联系
1.目标一致:最终目的都是干扰用户对目标网站的正常访问,或将其引导至恶意网站,以实现钓鱼、诈骗、流量窃取、广告注入等非法目的。
2.手段可结合:攻击者可以结合使用这两种手段。例如,先通过一次小范围的DNS劫持,将用户引导到一个伪造的域名管理登录页面,从而窃取到凭证,最终实现域名劫持。
3.域名劫持是更彻底的“劫持”:从某种意义上说,域名劫持是实现“终极DNS劫持”的一种方式。因为控制了域名,就意味着可以合法地修改该域名的DNS解析记录,从而从根本上控制所有用户的访问流向。
针对DNS劫持的防御策略
对于普通用户:
(1)使用安全可靠的公共DNS服务,如Cloudflare的1.1.1.1、Google的8.8.8.8、国内的114.114.114.114等,避免使用默认的、可能不安全的运营商DNS。
(2)确保家庭路由器的管理密码足够复杂,并定期检查其DNS设置是否被篡改。
(3)安装并更新防病毒/反恶意软件,防止Hosts文件被篡改。
(4)在访问重要网站时,使用HTTPS协议,并检查浏览器地址栏的锁形标志,确保证书有效。
对于网站所有者:
(1)为你的域名部署DNSSEC。DNSSEC通过数字签名对DNS数据进行验证,可以有效防止DNS缓存投毒和中间人攻击。
(2)定期检查你的域名解析结果,确保其指向正确的IP地址。
针对域名劫持的防御
(1)启用注册商账户的双因素认证:这是最有效、最重要的防线。即使密码泄露,攻击者也无法登录。
(2)使用强密码且独一无二:为域名管理账户设置高强度的、与其他网站不同的密码。
(3)保护注册邮箱的安全:域名重置、转移等关键操作通知都会发送到注册邮箱,该邮箱本身必须得到最高级别的安全保护(同样启用双因素认证)。
(4)开启域名注册锁:如注册商转移锁、客户端转移禁止等。开启后,任何域名的转移操作都需要通过额外的身份验证。
(5)保持Whois信息准确并开启隐私保护,避免个人信息被恶意利用于社会工程学攻击。
(6)定期检查域名账户的登录记录和操作日志。
(7)选择信誉良好、安全性高的域名注册商。
最后用一张表,总结下两者之间的区别
【点击链接,咨询更多DNS相关问题,免费试用国科云解析DNS】
推荐阅读:




