DNS缓存投毒是一种针对域名解析的攻击手法,攻击者向解析器注入伪造的DNS应答,使其缓存错误的域名到IP对应关系,从而把用户悄悄引向恶意服务器。它可导致钓鱼、流量劫持和大范围用户受害。

| 类型 | DNS攻击手法 |
| 攻击目标 | 解析器缓存 |
| 利用弱点 | 缺乏来源认证 |
| 著名事件 | 卡明斯基漏洞(2008) |
| 根本防御 | DNSSEC |
DNS缓存投毒(DNS Cache Poisoning),又称DNS投毒或DNS污染,是一种攻击者通过向DNS解析器注入伪造应答,使其缓存中存入错误的域名与IP地址映射的攻击手法,结果是访问正常域名的用户被无声地导向攻击者控制的服务器。
DNS负责把域名翻译成IP地址,为提升效率,解析器会把查询结果缓存一段时间。缓存投毒正是利用了原始DNS协议缺乏来源认证这一弱点:如果攻击者能在真正的应答到达之前,抢先送来一个伪造的应答且被解析器接受,那么这条错误记录就会被缓存,并在有效期内影响所有向该解析器查询的用户。
要让伪造应答被接受,攻击者需要猜中或伪造若干字段:
2008年,研究者丹·卡明斯基公开了一种更高效的投毒手法,能通过大量并发查询显著提高命中率,引发业界广泛关注和紧急修补。针对性的缓解措施包括随机化查询源端口以增大攻击者需猜测的空间、随机化事务ID、以及大小写随机化等。而根本性的防御是部署DNSSEC,通过对DNS记录做数字签名让解析器能验证应答的真实性,伪造应答因签名不符会被直接拒绝。此外,使用DoH或DoT等加密DNS通道也能防止路径上的应答被篡改和注入。
DNS缓存投毒常被用于钓鱼攻击,把用户引向仿冒的银行或登录页面骗取账号密码;也可用于大规模流量劫持、投放恶意软件、以及某些网络审查场景中的域名污染。由于一次投毒可能影响使用同一解析器的大量用户,危害面往往很广。
问:普通用户如何防范DNS投毒?答:使用支持DNSSEC校验且信誉良好的公共解析器,或启用DoH/DoT加密DNS,能显著降低风险。同时留意HTTPS证书告警,证书异常往往是被劫持的信号。
问:DNS投毒和DNS劫持是一回事吗?答:概念相关但不完全相同。DNS投毒特指污染解析器缓存;DNS劫持范围更广,还包括篡改本地设置、路由器配置或运营商层面的解析,统称把解析结果引向错误目标的手段。

| 类型 | DNS攻击手法 |
| 攻击目标 | 解析器缓存 |
| 利用弱点 | 缺乏来源认证 |
| 著名事件 | 卡明斯基漏洞(2008) |
| 根本防御 | DNSSEC |
登录 后参与讨论
暂无讨论,来发表第一条评论吧