网域伺服器缓存污染(英语:DNS cache pollution)、DNS污染DNS劫持,是一种破坏域名系统查询解析的行为。[1]通常有电脑程序自动执行DNS劫持攻击导致DNS伺服器缓存了错误记录的现象。而域名伺服器缓存投毒(DNS cache poisoning)和DNS缓存投毒指由电脑程序执行的DNS劫持攻击。污染一词可能取自域名系统域名解析之特性,若递归DNS解析器查询上游时收到错误回复,所有下游也会受影响。

这些篡改可能是出于恶意目的,例如网络钓鱼;也可能是出于互联网服务供应商(ISP)的自身目的,例如防火长城以及公共或路由器提供的DNS服务提供商将用户的网络流量引导至ISP自己的web伺服器,以便投放广告、收集统计数据或实现ISP的其他目的;还可能是DNS服务提供商为了阻止对特定域名的访问而采取的一种审查形式。

缓存污染攻击

DNS劫持是一类旁观者攻击,攻击者借由其在网络拓扑中的特殊位置,发送比真实的DNS回应更早到达攻击目标的伪造DNS回应。 一部连上了互联网的电脑一般都会使用互联网服务供应商提供的递归DNS伺服器,这个伺服器通常都会将部分客户曾经请求过的域名暂存起来。缓存污染攻击就是针对这一特性,影响伺服器的用户或下游服务。

中国防火长城

Thumb
防火长城向查询zh.wikipedia.org的DNS请求注入伪造回复(使用dig测试)
Thumb
2020年,伊朗当局采用相同的方法屏蔽维基百科。

在中国大陆,对所有经过防火长城(英语:Great Firewall,常用简称:GFW)的在UDP的53端口上的域名查询进行IDS入侵检测,一经发现与黑名单关键词相匹配的域名查询请求,会马上伪装成目标解析伺服器注入伪造的查询结果。攻击仅出现在DNS查询之路由经过防火长城时[注 1]。伪造的查询结果中的IP地址不是一成不变的,在一段时间后会更新。[2][3]

对于TCP协议下的域名查询,防火长城可使用TCP重置攻击的方法进行干扰。

流氓DNS伺服器

流氓DNS伺服器将用户期望访问的网站域名(例如搜索引擎、银行、经纪公司等)解析为包含非预期内容,甚至是恶意网站的IP地址。大多数用户依赖于由其互联网服务供应商自动分配的 DNS 伺服器。路由器分配的DNS伺服器也可以通过远程利用路由器固件中的漏洞来更改。[4]当用户尝试访问网站时,他们会被重定向到一个虚假网站。这种攻击被称为域名劫持。如果他们被重定向到的网站是一个恶意网站,伪装成合法网站,目的是欺诈性地获取敏感资讯,则称为网络钓鱼[5]

互联网服务供应商

中国大陆的互联网服务供应商经常劫持部分域名,转到自己指定的网站,以提供自己的广告,方式为劫持域名不存在时返回的NXDOMAIN记录(Non-existent domain)返回自己伺服器的IP,从而跳转至自己的伺服器上显示广告等内容。

2021年,香港于1月起无法访问网站“香港编年史”,传媒消息称警方要求网络供应商屏蔽网站。[6][7]“香港编年史”于1月6日更改IP地址,但再次被封,共享同一IP的网站都无法访问,包括麻醉科临床药理期刊(Journal of Anaesthesiology Clinical Pharmacology, JOACP)及美国机器人科技公司Apptronik。

应对

DNSSEC技术为DNS解析服务提供了解析数据验证机制,理论上可以有效抵御劫持。此外,DNSCryptDoTDoH等方法通过将DNS请求封装于安全连接内,以保护DNS请求中的数据不被中间传输装置篡改。

注释

参考文献

参见

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.