域名|浅析DNS劫持及应对方案( 二 )


在一次完整DNS查询链路的各个环节 , 都可以通过技术手段将域名解析记录进行篡改 , 将域名指向劫持到错误的IP地址上 。 下面会逐一介绍各类型的DNS劫持 。

DNS解析流程图
DNS劫持类型1.本地DNS劫持
本地DNS劫持是指发生在客户端侧的各类DNS劫持 , 包括:
(1)通过木马或者恶意程序入侵客户端 , 篡改DNS缓存、hosts文件、DNS服务器地址等DNS相关配置;
(2)利用路由器漏洞入侵路由器 , 并针对路由器中的DNS缓存进行篡改 。
2.DNS解析路径劫持
DNS解析路径劫持是指发生在客户端和DNS服务器网络通信间的DNS劫持方式 。 通过对DNS劫持报文在查询阶段的路径进行划分 , 又可将DNS劫持分为四类:
(1)DNS请求转发
通过中间盒子、软件等技术手段将用户发出的DNS请求重定向到由攻击者控制的流氓DNS服务器 , 从而将其重定向到恶意站点 。
(2)DNS请求复制
将DNS查询复制到网络设备 , 并在用户发起请求时先于正常应答返回DNS劫持的结果 , 这种方式表现为一个DNS查询抓包返回两个不同的应答 。
(3)DNS请求代答
通过利用网络设备或软件代替DNS服务器对DNS查询进行应答 。
(4)DNS缓存感染
DNS缓存感染是指攻击者在递归解析服务器投入错误的缓存信息 , 当访问者发起解析请求时 , 递归服务器就会从DNS缓存中将错误的解析记录返回 , 从而将用户引导至错误的网站 。

DNS缓存污染原理图

3.篡改DNS权威记录
篡改DNS权威记录是指攻击者非法入侵DNS权威记录管理平台账号 , 控制DNS解析设置权限 , 直接修改DNS解析记录的行为 。 通过这种方式可以将权威服务器下特定域名的解析指向恶意服务器以实现DNS劫持的目的 。
DNS劫持应对方案(1)安装杀毒软件 , 可以有效防御木马病毒和恶意软件 , 并定期修改路由器管理账号密码和更新固件;
(2)企业端可以设置更小的TTL值 , 实现DNS缓存的短时间更新 , 用户端可以定期刷新DNS缓存 , 从而让用户发起请求时尽可能去请求权威服务器 , 降低DNS缓存被污染的可能;
(3)加强域名账户的安全等级 , 使用强度较高的密码 , 并定期更换密码;
(4)定期查看域名账户信息、域名whois信息以及域名解析生效状态 , 发现异常及时联系域名服务商;
(5)选择安全技术实力过硬的域名注册商 , 并且给自己的域名权威数据上锁 , 防止域名权威数据被篡改 。
【域名|浅析DNS劫持及应对方案】(6)在客户端和递归DNS服务器通信的最后阶段中使用DNS加密技术 , 如DNS-over-TLS , DNS-over-HTTPS等 。