>>> 宇明首页| 新闻综合 | 正见新知 | 软件下载 | 影音美文 | 技术参考 | 论坛 |

*宇明旧版

闪画 雅乐 视频 九评三退 沧桑正道 其他热点 民主人权 万象大千 神传文化 软件下载

美文 笑谈 好书 秘闻内幕 天象人间 轮回漫谈 神奇预言 史前文明 科学新见 技术参考

热点新闻排行

法轮功修炼严禁性乱 中共强行栽赃尽显弱智

【章天亮】二十次准确预测政局的玄机(上)

任长霞丈夫暴亡 “模范公安”再引争议

绝密司法文件!曝光中共群体灭绝罪行

神七造假 中共专家承认“气泡门” 美国专家

中共给神韵开出惊人价码:两场演出值数十亿

冲破中国电视网络封锁的P2P软件正式推出

联合国紧急通过决议 中共尴尬“认罪”

传《二奸二假》遭传讯 南京律师直指江泽民

感悟神韵:两小时中展现的惊世奇迹

【特稿】法轮功是中国政局核心及无法逾越关

大纪元十周年庆典 媒体倒闭潮中凸显价值

中国甘肃大暴动 中共疯了(视频/多图)

我感到佛就要来临(图)

2012年前中国六个龙年大事记

【特稿】认识法轮功真相是读懂香港政局的关

章天亮:也谈郭文贵爆料的背后逻辑

美太空专家揭神七疑点 拆穿央视“太空漫步

成功!李娜彻底击碎中共谎言

央视护卡扎菲 逼急利比亚人中文标语揭谎言

大陆人观看09年神韵DVD有感

温家宝:就是武力解决也要拿下周永康

央视春晚是杀人不见血的刀子!

乌坎综合:中共垮台的时间表

神秘的“龙”,是虚幻还是真实?

抗议不如起义!山东东明组敢死队抗暴

请不要错过2009年除夕夜之精彩

大势已去中共哪里是逃路!

你的婚姻和解体共产党有关系!

破网软件风靡中国 警察公开出售

听说这事后,不信神的人也都相信了

中国爆发禽流感 中共隐瞒疫情残害全人类(

2012新年伊始 新浪微博惊现实名退党宣言

女杨佳杀淫官网上猛发酵 民众称大快 喉舌熄

700张高考作文试卷得零0分的启示

 
您的位置:主页>新闻综合>其他热点>列表

美国动态网公司发布中共DNS劫持系统造成大断网技术细节

文章出处:大纪元 发布时间:2014-01-25 作者: 点击:

 
【宇明网】

1月21日,中国发生大规模的网站断网,涉及数千万用户。大陆媒体报导,境内用户访问.com、.net全球顶级域名时,指向了美国公司动态网(DIT)的IP地址。22日,DIT发表声明称,这是由于中共DNS劫持发生的大规模网站断网。以下是该公司声明全文:

中共于2002年开始使用DNS劫持技术封锁网站。动态网络技术公司(DIT)于2002年10月2日发布一份报告演示这种技 术如何运作。这些年来,我们对于中国如何使用这种DNS劫持技术有了更多的了解。2014年1月21日,中国由于DNS劫持发生大规模网站断网。我们觉得 现在是发布关于这个系统的更多信息的好时候。

什么是DNS

DNS是将域名翻译成IP地址的服务。互联网上的电 脑依靠IP地址找到彼此以互通信息。DNS服务就好像寻号台服务,把人们熟悉的人名翻译成电话号码。当用户使用浏览器比如火狐浏览器浏览网页时,比如想上 大纪元网站http://www.epochtimes.com,火狐浏览器会与DNS服务器通话,找到大纪元网站www.epochtimes.com 的IP地址。然后火狐浏览器才能上到大纪元网站。

什么是DNS劫持

当有DNS劫持发生时,用户可能会看到错误信息,或警告信息,或者上到错误的网站。

DNS 劫持的过程是这样的:一台恶意的电脑会监控用户与DNS服务器之间的对话,然后代表真正的DNS服务器给用户返回一个错误的IP地址。这个过程有点像电影 《十一罗汉》中的情节:盗贼控制了赌场的电话系统,当赌场打电话紧急求救时,盗贼接听了电话,然后派一个盗贼团队进入了赌场的金库。

这种攻击需要攻击者有能力监控用户的所有数据流,并需要CPU资源处理这些数据。这种情形在很多针对小公司网络安全的书籍中都解释过。但是这种攻击从未在网络服务商ISP范围发生过。ISP的网络更复杂,没有一个单一的点可以监控所有的数据流。

在家里演示DNS劫持

2014年1月21日发生在中国的大规模网站断网事件大部份已经恢复正常了。但是DNS劫持仍在持续中。我们可以通过被劫持的网站,了解一下断网时的情形。

2002年,DIT列出12个域名被劫持的网站。时至今日,以下网站域名仍然被劫持。这些网站如下:

www.renminbao.com
www.minghui.org
www.kanzhongguo.com
www.epochtimes.com

如果你可以操作一个位于中国的电脑。在Linux操作系统下,可以打这个指令:

host -t A epochtimes.com.dwlc 8.8.8.1

你会得到一个类似这样的回答:

epochtimes.com.dwlc has address 203.98.7.65

这个返回的IP地址是错误的,原因如下:

1)8.8.8.1 并不是一个DNS服务器。如果你在一台美国的电脑打这个指令,返回的是超时错误。

2)epochtimes.com.dwlc 并不是一个有效的域名。DNS服务器应该回答说“找不到”而不是返回一个IP地址。这个回答一定是来自长城防火墙的DNS劫持系统。

在Windows操作系统下做这个测试,可以打这个指令:

nslookup epochtimes.com.dwlc 8.8.8.1

据我们观察,DNS劫持系统可能会返回过几个不同的IP地址。这是我们收集到的一些IP地址:

159.106.121.75
203.98.7.65
243.185.187.39
37.61.54.158
46.82.174.68
59.24.3.173
78.16.49.15
8.7.198.45
93.46.8.89

这个列表会慢慢的变化,有时不同的ISP返回不同的IP地址。

以 上这个测试暴露了DNS劫持系统的一个漏洞。它会匹配“epochtimes.com”这个字符串。如果找不到“epochtimes.com”,就不会 返回假IP地址。如果域名中包括“epochtimes.com”,比如“epochtimes.com.cn”,这个域名也会被劫持。

如果DNS劫持系统的黑名单中有一个空的字符串,所有的域名都会被劫持。这就是2014年1月21日发生的事情。

可以理解,在一个文本文件中,最后加一个空行很难看得出来。

在美国演示DNS劫持

在一台美国的Linux电脑上, 打这个指令:

host -t A epochtimes.com.dwlc 163.com

163.com是中国的一个网站,不是一个DNS服务器。而且,“epochtimes.com.dwlc”这个域名根本不存在。但是,打上面这个指令会收到以下回复:

epochtimes.com.dwlc has address 203.98.7.65

这是因为DNS劫持系统有另外一个缺陷。它不能分辨DNS询问是进中国还是出中国的。它监控所有进出中国的流量,一旦发现域名与黑名单有匹配,就返回一个错误的IP地址。这样我们就可以在中国以外研究DNS劫持系统。

DNS劫持系统的部署

因为DNS劫持系统所针对的域名都在海外,部署DNS劫持系统最有效的地方是在国际网关,从那里监控所有进出中国的流量。

根据2013年12月的CNNIC报告,进出中国的流量是3400Gbps,年增长是79.3%。要监控这样一个迅速增长的流量,DNS劫持系统必须持续升级服务器和加新的CPU。

2014年1月21日,所有的域名都被指向一个自由门的IP地址,只有DNS劫持系统才有充足的资源和地理位置这么做。没有黑客有能力部署和控制资源,对3400Gbps的流量进行如此精确操作,来只改变与DNS有关的通信。

21日事件的更多细节

关 于这个所有域名都被指向一个IP地址,网上有很多关于这个IP的拥有者的信息。这些混乱的信息是因为IP地址被不同的公司层层转卖造成的。这个IP地址是 DIT用来运行自由门相关服务的。当事件发生时,并没有网站在这个IP运行。之后,我们试图在这个IP地址运行网站,但是由于进入中国的数据流被封锁,网 页在中国看不到。

关于用户体验的问题解答

事件结束了,为什么很多用户还是不能正常浏览网页?

这是DNS缓存造成的。中国的DNS服务器储存了错误的结果。在缓存被清之前,用户还是会被指向错误的地址。

我使用Google的海外DNS服务器8.8.8.8。为什么也被影响了?

DNS劫持影响所有进出中国的DNS询问。在中国,你可以在Windows电脑使用这个指令,返回的是错误的IP,这不是因为Google的8.8.8.8DNS服务器被黑了。

nslookup epochtimes.com 8.8.8.8

为什么 .cn 域名没有受影响?

因为 .cn 域名在中国国内被解析,这个过程没有经过位于国际网关的DNS劫持系统。

为什么没有ISP给一个官方的解释?

中共政府把DNS劫持系统放入每一家ISP的设施里。中共政府从不承认长城防火墙的存在,更不用说DNS劫持系统了。没有ISP敢出来确认DNS劫持系统的存在。



文章来源:编程随想的博客

前天下午(1月21日),咱们天朝发生了全国性的互联网故障,导致大量国内网站无法访问。这次故障说白了就是一次全国性大范围的域名污染。所以俺借此机 会,给大伙儿扫盲一下 DNS 的常识。既然是扫盲 DNS,也顺带说说“域名劫持”和“域名污染”这两个很容易混淆的概念。提醒一下:这两者的其中之一是 GFW 的大杀器,爱翻墙的同学有必要了解。

★DNS 是啥?


  DNS 是洋文“Domain Name System”的缩写,直译过来就是“域名系统”。

★DNS 有啥用?


  咱们每天打交道的这个互联网,其底层的基石是“IP”。IP 是“Internet Protocol”的缩写,中文就“互联网协议”(光看名字就知道这玩意儿很重要)。咱们日常用的那些互联网软件(浏览器、聊天工具、下载工具、等等)在工作时,必须依靠【IP地址】才能进行网络数据传输。
  “IP地址”是设计给软件用滴——虽然软件很容易处理,但对于人类而言,却很难记忆。于是,后来又发明了 DNS。有了 DNS,人类就不需要记住长长的一串 IP地址,而只需记住“域名”(域名通常更短,也更具有可读性)。
  比如你上网的时候,只需在地址栏输入网站的“域名”,而不用输入网站的“IP地址”。然后电脑系统会利用 DNS 来把“域名”翻译成“IP地址”。这个翻译的过程术语叫“域名解析/DNS解析”。

★域名的结构是咋样滴?


  域名是按照“树形结构”组织的。不懂得啥是“树形结构”的同学,可以对照一下电脑硬盘上的目录结构。域名的结构和目录结构很类似,目录结构是用“斜 杠”作分隔符,而域名是用小数点作分隔符。两者的主要区别在于:目录结构名称的形式是从左到右(上级在左,下级在右),而域名是从右到左(上级在右,下级 在左)。
  以俺博客的域名为例:
program-think.blogspot.com 的上级域名是 .blogspot.com
.blogspot.com 的上级域名是 .com
这里的 .com 就被称为顶级域名(Top-Level Domain,简称 TLD),跟 .com 类似的那些 .net .org .gov 也是顶级域名。还有那些以国家/地区的代码命名的(比如 .cn .tw .hk .jp 等等)也是顶级域名。

★“域名解析”是咋实现滴?


  如果你曾经配置过电脑的网卡,应该记得上面除了有IP地址、掩码等设置,还有一项设置是“DNS服务器/域名服务器”。这项设置就是用来帮助你的电脑 进行域名解析的。你可以把这个“DNS服务器”想象成114查号台。每当电脑需要翻译某个域名,就找这个域名服务器查询,然后域名服务器会告诉你的电脑, 要查询的域名对应的IP地址是啥。

  下面简单说一下,你的电脑进行域名解析的过程。
  为了叙述方便,以俺博客为例。当你在浏览器的地址栏中输入 http://program-think.blogspot.com/,然后敲回车,这时候电脑软件会进行如下一系列事情。
1. 首先根据输入的网址,提取出域名(在本例中,也就是 program-think.blogspot.com
2. 如果你在系统中配置了 Hosts 文件,那么电脑会先查询 Hosts 文件,看这个 program-think.blogspot.com 否已经在 Hosts 里面有了对应的记录。如果有,直接就可以拿到该记录中的 IP地址,过程就结束了。
3. 如果 Hosts 里面没有这个别名,那么电脑会看你有没有设置域名服务器(DNS 服务器)。如果你的系统没有设置域名服务器,那电脑就没辙了,浏览器直接会报错,说网站的域名无法解析。过程就结束了。
4. 如果你设置过“域名服务器”,那么电脑会向这个域名服务器发送一个域名查询(DNS query)的请求,然后等候域名服务器的回应。
5. 如果域名服务器始终没有回应(比如域名服务器挂了,或域名服务器的IP填错了,或请求被 GFW 拦截了),那么电脑还是没辙(浏览器会报错)。
6. 如果域名服务器回应了,那么你的电脑就可以根据域名服务器的应答信息,得到该域名的 IP地址。之后浏览器就会向这个 IP地址 对应的 Web 端口发送 HTTP 请求。

  通常情况下,电脑拿到的(DNS服务器)应答信息是正确的——也就是说,应答中的 IP地址 确实对应那个域名——这种情况下,你的网络软件就可以正常工作了。
  但是在天朝这个奇葩的国家,电脑拿到的 DNS 应答有可能是【错的】。为啥会这样捏,本文的后半部,俺会介绍一下“域名劫持”和“域名污染”。

★域名服务器如何知道这些信息?


  (本小节的内容偏技术化,技术菜鸟请仔细理解)
  刚才介绍了“客户端域名解析”的过程。接下来说说域名服务器是如何得到这些信息的。

◇域名的缓存


  大伙儿平时使用的域名服务器,技术术语叫“递归域名服务器”。“递归服务器”是面向普通网友的。刚才介绍“域名解析”的时候提到的服务器就是“递归服务器”。
  “递归服务器”的内部通常会有一个 DNS记录 的缓存——这个缓存是为了提高查询效率的。当某台电脑向递归服务器发起域名查询时,递归服务器首先看自己的缓存中有没有该域名的记录,如果有,直接就回复该记录给查询的电脑。
  万一对方想要查询的域名没找到,咋办捏?这时候就要进行缓存的同步。

◇缓存的同步


  下面就拿俺博客的域名为例,说说这种情况的处理流程。
1. 对方查询 program-think.blogspot.com 这个域名,“递归服务器”发现自己的缓存中没有
2. “递归服务器”会先去找“根域名服务器”帮忙,“根服务器”会告诉“递归服务器”说:这个域名属于 com 这个分支之下,你去找 com 这个域名的“权威服务器”,这个权威服务器的 IP地址 是 xxx。
3. 然后“递归服务器”根据拿到的这个 xxx地址,又去找“com 域名的权威服务器”。“com 域名的权威服务器”告诉它:你应该去找“blogspot.com 域名的权威服务器”,这个权威服务器的 IP地址 是 yyy
4. 然后“递归服务器”又屁颠屁颠地去找“blogspot.com 域名的权威服务器”。这时候“blogspot.com 域名的权威服务器”才会告诉它,program-think.blogspot.com 这个域名的 IP地址 到底是多少。
  大伙儿看到没有?整个过程如同“踢皮球”,效率是很低的。所以俺前面提到,“递归域名服务器”必须得有一个缓存,以此来优化效率(不用每次查询都来一次“踢皮球”)。

◇同步的周期


  说完了“域名的同步”,顺便提一下“同步的周期”。
  因为互联网上的域名信息是有可能发生变化的。比如增加了某个新域名,注销了某个旧域名,或者某个域名对应的 IP地址 变了。所以,“递归服务器”上保留的缓存中,每一条域名记录都有一个生命周期(可能是几分钟,也可能是几小时)。如果某条记录的生命周期过了,就会被删 除,然后重新同步。

★啥是“域名劫持”?


  刚才说了,域名服务器上都会保存一大堆的域名记录(每条记录包含“域名”和“IP地址”)。当收到域名查询的时候,域名服务器会从这堆记录中找到对方想要的,然后回应给对方。
  如果域名服务器上的某条记录被【人为修改】了(改成错的),那么一旦要查询这条记录,得到的就是错误的结果。这种情况称之为“域名劫持”。

★谁有“域名劫持”的企图?


  “域名劫持”通常是电信运营商(ISP)干的好事儿。很多宽带用户用的域名服务器就是 ISP 提供给你的。而天朝的 ISP 也是很奇葩的——经常耍流氓。
  举例:
  前几年曾经出现过:某个 ISP 跟百度勾结,把谷歌的流量重定向到百度。具体搞法是:该 ISP 篡改自己的域名服务器的记录,把里面跟 google.com 相关的域名记录的 IP地址 修改为百度服务器的 IP地址。如此一来,假设你用的是这个 ISP 的域名服务器,当你在浏览器输入 www.gooogle.com 的时候,你的电脑查询到的 IP地址 其实是百度的 IP地址,所以浏览器打开的是“百度”的主页。

★如何对付“域名劫持”?


  刚才说了,“域名劫持”的根源在于:域名服务器上的记录被人给改了。要对付这种耍流氓,最直接的办法就是不要使用这种流氓 ISP 提供的域名服务器,改用国外那些比较靠谱的。目前口碑最好的,大概是 Google 提供的两个域名服务器,IP地址 分别是 8.8.8.8 和 8.8.4.4 ——这俩不光是地址好记,更重要的是,不会耍流氓。

★啥是“域名污染”?


  先提醒一下:“域名污染”这个词还有其它几个别名,分别是“域名欺骗”、“域名缓存投毒”(洋文叫:DNS cache poisoning)。今后看到这几个别名,要晓得是同一个意思。
  “域名污染”的原理,简单说来是这样滴:当你的电脑向域名服务器发送了“域名查询”的请求,然后域名服务器把回应发送给你的电脑,这之间是有一个时间 差的。如果某个攻击者能够在域名服务器的“DNS应答”还没有到达你的电脑之前,先伪造一个错误的“DNS应答”发给你电脑。那么你的电脑收到的就是错误 的信息,并得到一个错误的 IP地址。

★谁有“域名污染”的企图?


  从技术上讲,只要攻击者能够位于“你”和“域名服务器”的传输线路中间,那么攻击者就有机会搞“域名污染”。能够做到这点的,可能是一个黑客/骇客, 也可能是 ISP。不过这些都不是本节聊的重点。本节的重点是 GFW——它是最有资源搞域名污染的,同时也最有意愿搞域名污染的。在《如何翻墙?》这篇全面扫盲教程中,俺提到 GFW 最有名的三板斧,其中一板斧就是“域名污染”。
  举例:
  比如某个国外网站,长年累月地抹黑咱们伟大光荣正确的党国,搞得咱们的“伟光正”很没面子,很不爽。那么朝廷的“真理部”就会给 GFW 下达封杀令——要求 GFW 全面封锁某某网站。对于 GFW 而言,要全面封掉某个网站,最简单的一个办法就是直接污染该网站的域名。用了这招之后,那些不懂翻墙的网友只要是通过【域名的方式】访问该网站,他们的电 脑进行 DNS查询 之后,多半会得到错误的结果(也就是说,查到的 IP地址 是假的);既然拿到假的 IP地址,当然就无法打开这个网站的页面啦。

★GFW 的两种“域名污染”


  刚才俺解释了“域名污染”的原理,那种形式不妨称为“直接污染”。由于 GFW 的特殊性,它不但可以做到“直接污染”,还可以做到“间接污染”。而普通的骇客顶多只能做到“直接污染”,难以做到“大范围的间接污染”。
  那么这两种污染有啥区别捏?且听俺细细道来。

◇GFW 部署在哪?


  首先有必要先扫盲一下“GFW的部署位置”。咱们天朝的互联网只有少数几个国际出口(名气较大的是:北京出口、上海出口、广州出口)。如果你要访问天 朝之外的网站,你的网络数据流就必定会经过其中的某个“国际出口”。而天朝的【每一个】国际出口都部署了 GFW 的设备。
  说到 GFW 的设备,顺便插一句:
  GFW 是洋文“Great FireWall”的缩写。很多同学(包括很多懂技术的同学)都望文生义,想当然地以为 GFW 就是某种“防火墙”设备。其实不然。GFW 是基于 IDS(IDS是“入侵监测系统”的缩写)打造的。有空的话,俺再来聊聊 GFW 本身的技术细节。

◇GFW 的直接污染


  因为 GFW 部署在天朝的国际出口。如果你用的是【国外的】域名服务器,你的“DNS请求”必定会经过国际出口;同样,域名服务器的“DNS应答”必定也会经过国际出口才能到你的电脑。这一来一回就给 GFW 提供了耍流氓的机会。
  这种污染就是俺所说的“直接污染”。

◇GFW 的间接污染


  刚才介绍了“使用国外域名服务器会被直接污染”。那如果你用的是【国内的】域名服务器捏?就会被“间接污染”。过程如下:
1. 比方说你用的是电信的 DNS服务器,然后你想要访问某个(被封杀的)反共网站。
2. 对于被封杀的网站,其网站服务器必定在国外,而且网站的域名肯定也不会使用 CN 之下的域名。所以,被封锁的网站,其上级域名的“权威域名服务器”肯定也是在国外。
3. 当你向“电信的DNS服务器”查询反共网站的域名,这台“电信的DNS服务器”就会去找这个反共网站的上一级域名对应的“权威域名服务器”去进行“域名查询”。
4. 因为是从国外进行域名查询,相关的数据流必定要经过国际出口。一旦经过国际出口,就会被 GFW 污染。
5. 如此一来,“电信的域名服务器”拿到的是已经被污染的域名记录(里面的IP是错的)。而且“电信的域名服务器”会把这条错误的记录保存在自己的域名缓存中。
6. 下次如果有另一个网友也找这台“电信的域名服务”查询这个反共网站,也会查到错误的结果。

   上述过程不断重复,最终会导致:全国所有的域名服务器,它们的缓存中只要是包含了那个反共网站的记录,记录中的 IP地址 必定是错的(这个错误的 IP地址 也就是 GFW 伪造的那个)。所以说“间接污染”是很牛逼的,可以把错误的域名记录扩散到全国。
  刚才俺说了,“域名污染”也叫“域名缓存投毒”。“投毒”一词真的非常形象——就好象在某条河流的源头下毒,从而把整条河流的水都污染。在互联网时代 搞“域名污染”是非常卑鄙下流的。因为 DNS 是互联网的基础设施,而“域名污染”直接破坏了互联网的基础设施。所以说,天朝是一个非常奇葩的国度;咱们面对的是一个做事情毫无底线的政府。

★咋对付“域名污染/域名欺骗”?


  这个话题有点大。因为有很多种招数可以对付“域名污染”。统统都写在这里,篇幅太长了。
  所以俺决定:抽空另写一篇教程,专门谈这个问题。敬请关注。

宇明固定域名 http://yuming.qxbbs.org

[读者投稿与反馈(欢迎留言!)] [返回顶部↑]

相关文章:
 

中共精神鸦片:党媒歌颂苦难 无耻至极&渲染西方国家"枪支泛滥"

尼泊尔共党政府瞬间垮台 分析:或震动中南海

《透视"进化论"》第六章(4):进化假说导致科学技术被滥用

杜文:9.3大阅兵——一个政权在衰败前夜中最拼命的也是最可笑的

网文:《告中国军人书》:你究竟在保谁的国?

《透视"进化论"》第六章(3):进化假说使科学失去伦理道德

9·3阅兵管控升级 民怨沸腾 北京爆“厕所革命”

《透视"进化论"》第六章(2):濒死轮回研究提示神存在的可能性

《透视"进化论"》第六章(1):达尔文给人类打开了一个魔盒

[ 关 闭 本 页 ]


请使用IE5.0 以上 最佳分辨率1024*768
Copyright(C)2003-2008 YuMing site all rights reserved.
版权所有: 宇明小站 Copyright (C)2003-2008 ,保留全部权利 ,欢迎转载!
特别声明:本站新闻只代表文章作者的观点和陈述