2014年1月21日中国互联网DNS瘫痪事件原因分析
2014年1月21日下午,全国的互联网都瘫了。百度、新浪等等,什么网站都打不开。这么大范围的严重的事故真的让人瞠目结舌,我以为被是美国黑客入侵了。事实嘛……你听我慢慢说来。
什么是DNS?DNS的全称叫域名解析系统,是互联网的一个基础设施。它就像一个电话本,你说你要访问哪个网站,它就负责把这个网站的域名(如www.baidu.com)翻译成一串数字告诉你。然后你的电脑就拿着这串数字去呼叫。这串数字,行话叫IP地址。
今天下午的事故是,这个电话本坏了。它返回的结果是错的。不管你查询什么域名,它返回的结果都是同一串数字:“65.49.2.178”。而这个IP地址其实是法轮功的。你可以设想下,你打开手机,无论播哪个电话,结果都是法轮功的学员在接听,哈哈哈哈…… 今天下午的中国互联网就是这么搞笑。
错误的细节:
为了搞清楚到底是怎么回事,有必要把事情的经过从头捋一遍。
当我打开浏览器,输入www.baidu.com,按下回车之后,正常流程应该是这样:
1. 浏览器把www.baidu.com这个字符串发给北京联通的DNS服务器,问它这个到底该对应哪个IP
2. 北京联通DNS服务器也不知道哇,于是它就去问root-servers.net:”www.baidu.com的IP是多少?”。root-servers.net我们称为根域名服务器,在全球有13组,每组很多台,它们是整个互联网的域名系统的老大,中央常委!root-servers.net说:“你去问我下属,gtld-servers.net。”
3. 于是北京联通DNS服务器去问gtld-servers.net:”www.baidu.com的IP是多少?”,gtld-servers.net说:”你去问dns.baidu.com,这是百度的域名服务器,它负责管这个”。
4. 于是北京联通DNS服务器去问dns.baidu.com:”www.baidu.com的IP是多少?” dns.baidu.com说:”是119.75.218.77。”
5. 于是北京联通告诉我:”是119.75.218.77“。
那今天下午实际上是怎样呢?
1. 浏览器把www.baidu.com这个字符串发给北京联通的DNS服务器,问它这个到底该对应哪个IP
2. 北京联通DNS服务器也不知道哇,于是它就去问root-servers.net:”www.baidu.com的IP是多少?”。root-servers.net说:”是65.49.2.178“
3. 北京联通告诉我:”是65.49.2.178”
这中间省去了很多必须有的步骤。我给你打个比方吧:你问温家宝,“那个,新余市实验二中高三6班班主任电话是多少,我找他有点事”。然后温总立刻就说了一串数字告诉你了。你信吗?
出错的原因?
为什么我们得到一个虚假的结果?只有两种可能:
1. root-servers.net服务器本身出错了,或者被黑客入侵了。
2. 有人劫持了北京联通DNS服务器与root-servers.net之间的数据通信,并伪造了答复。
第一条可能性不大,因为root-servers.net负责指挥全世界所有的DNS服务器。它们一旦发生问题,全球的互联网都会瘫痪。所以它们的安全级别极高。并且实际上,这次疼嗷嗷叫的只有中国人。国际社会上毫无动静。
所以我就把注意力集中到了第二条。能在全国范围内,密不透风的大规模伪造DNS应答?谁有这能力? 接着我发现这种手法有点眼熟。
你知道你为什么上不去youtube吗?
1. 浏览器把www.youtube.com这个字符串发给北京联通的DNS服务器,问它这个到底该对应哪个IP
2. 北京联通DNS服务器也不知道哇,于是它就去问root-servers.net:”www.youtube.com的IP是多少?”。
3. 有人劫持了北京联通DNS服务器和root-servers.net之间的通信,并伪造答复说:”是159.106.121.75“
4. 北京联通告诉我:”是159.106.121.75”
5. 然后我电脑去连接159.106.121.75,发现根本连不上,因为这数字是错的。
但这中间有个破绽,应答时间。root-servers.net因为位于国外,所以一问一答要在路上走很长时间。而骗子由于就在国内,所以它答复速度要比真实服务器快很多。在我机器上测试,就是0.1秒与5秒的区别,肉眼都能分出来真假…… 最终我测试发现,从每一个细节上,这两个骗子的手法都完全一致,连应答时间都一致。
这次全国性的断网事件,毫无疑问是某墙导致的。
65.49.2.178隶属于某组织的证据:
我们可以公开查到,65.49.2.178属于美国HE公司。根据HE公司的记录,它把65.49.2.1-65.49.2.255这些IP租给了一家叫做Sophidea, Inc.的公司。再查一下这些IP下的具体域名,赫然发现,有一个叫ultrasurf.us的网站,就是著名的翻墙软件,“无界浏览器”。法轮功开发的。
(上表来源:http://bgp.he.net/net/65.49.2.0/24#_dns)
建议继续学习:
- 自建DNS以防止GFW干扰 (阅读:11871)
- 强制刷新本地 DNS 缓存记录 (阅读:9223)
- 关于 SOCKS 代理的远端 DNS 解析 (阅读:6393)
- DNS 隧道 (阅读:5622)
- 什么是DNS劫持和DNS污染? (阅读:4914)
- nslookup通往DNS的桥梁 (阅读:4745)
- CentOS下通过Webmin管理BIND实现DNS轮询 (阅读:4680)
- dig挖出DNS的秘密 (阅读:4600)
- DNS解析过程及DNS TTL值 (阅读:4511)
- public DNS servers (阅读:4065)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:A programmer's life 来源: A programmer's life
- 标签: DNS
- 发布时间:2014-05-11 21:28:23
- [68] Go Reflect 性能
- [68] 如何拿下简短的域名
- [67] Oracle MTS模式下 进程地址与会话信
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [48] 读书笔记-壹百度:百度十年千倍的29条法则