2014年1月21日全國DNS污染始末以及分析

發表于:2014-07-22來源:黑客與極客作者:Ovear點擊數: 標簽:DNS
=w=大概今天15:30的時候,Ovear正在調試新的服務器,結果發現腫么突然上不去了。。結果ping了以下,結果嚇尿了,Ovear的域名都指向到[65.49.2.178]這個IP。Ovear第一反應就是,尼瑪DNSPOD又被
大概1月21日15:30的時候,Ovear正在調試新的服務器,結果發現腫么突然上不去了。。結果ping了以下,結果發現Ovear的域名都指向到[65.49.2.178]這個IP。Ovear第一反應就是,DNSPOD又被黑了! 為什么說DNSPOD被黑了呢,其實以前DNSPOD就出過一次類似的問題,導致所有的域名都跪了,剛好Ovear這個域名還有測試的幾個域名都是那里的,然后就到某交流群吐槽。結果管理員說他們的DNS被污染了,Ovear心想不會是全國DNS都被污染了吧。結果烏鴉嘴說中了。還真的是全國劫持。

 

然后Ovear就很好奇,到底是怎么回事呢~有誰能做到這樣的事情~于是就有了以下的分析和科普~

—————–以下內容為Ovear家電腦中病毒所致,跟本人無任何關系,謝絕跨省————————

balablabala說了這么久,肯定有同學問了,窩又不是學計算機的,dns是什么,跟我有什么關系!

那么DNS是什么呢,Ovear就來科普下。

我們訪問一般是通過域名[Domain]來訪問的,咦DNS怎么也是D開頭的,難道有關系?說對了!就是有關系:DNS的全稱其實是[Domain Name System]翻譯過來就是域名系統。

在互聯網中,是只存在IP的,IP其實就是一串數字,相當于你家里的門牌號,大家在網絡中想找到你,必須通過這個,所以IP對于每個人來說是唯一的。但是第四代IP都是http://XXX.XXX.XXX.XXX這樣的,多難記啊,誰會沒事記住IP呢,更何況以后天那么長的IPV6,要記住不是得要人命!

這時候一個聰明的科學家出來,我們給IP加一個別名,大家通過別名不就可以不記住這個IP,也可以知道這個IP了!于是就有了域名[Domain]這個東西.

當你訪問Ovear's Blog的時候

電腦的DNS解析系統就會自動問DNS服務器:尼知道Ovear's Blog對應的IP地址是神馬么?

DNS:窩幫你查查,奧,找到了,IP是[122.10.94.169].
Ovear的電腦:謝啦,再見
DNS:恩

對應現實就是,問知道張三的人:尼知道張三家在哪里么? 回答 在南山區 balabalabla。

當然這樣解釋還是不怎么恰當的,因為一個DNS服務器是不可能知道所有域名的地址的,因為這需要耗費極大地代價,所以這時候就出現了遞歸DNS和根DNS。

(由于篇幅原因,Ovear就簡單的說一下,其實還是有問題的。Ovear以后再寫一篇文章詳細闡述下DNS的工作原理,或者看[Domain Name System] QAQ)

(補充:QAQ這里Ovear說的有點過簡單了,其實根DNS(ROOT DNS)指的是全球一共13臺的根DNS,負責記錄各后綴所對應的TOPLEVEL Domain Server[頂級域名根服務器],然后接下來的就是[權威DNS服務器],就是這個域名用的DNS服務器(可以在whois中看到)

總結一下:

[根服務器]:全球一共13個A-M[.http://root-servers.net],儲存著各個后綴域名的[頂級域名根服務器]
[頂級域名根服務器]:每個后綴對應的DNS服務器,存儲著該[后綴]所有域名的權威DNS
[權威DNS]:這個域名所使用的DNS,比如說我設置的DNSPOD的服務器,權威DNS就是DNSPOD。在WHOIS(一個查看域名信息的東西)中可以看到。儲存著這個域名[對應著的每條信息] 如IP等~

所以正確的解析過程應該跟下面的圖一樣

用戶使用的DNS(邊緣DNS)->(還會網上推很多級最終到)根DNS->頂級域名根服務器->權威DNS)

根DNS是什么呢?大家想想,每個域名都有一個后綴,比如說ovear是[.info]后綴的。那么就有一個專門記錄[.info]后綴的dns服務器,其他后綴也一樣。這個DNS就是該域名的根DNS。

那么遞歸DNS呢?其實遞歸DNS就是一個代理人,是用來緩解[根DNS]壓力的,如果大家都去問[根DNS],那[根DNS]不早就跪了。畢竟一個人(網站)的地址不是經常變的,所以就有了TTL這一說法,根據DNS的規定,在一個TTL時間呢,大家就認為你家里(域名所指向的IP)的地址是不會變的,所以代理人[遞歸DNS]在這個時間內,是只會問一次[根DNS]的,如果你第二次問他,他就會直接告訴你域名所指向的IP地址。這樣就可以解決[根DNS]負載過大的問題啦。

順便這一張圖也可以很準確反映出來之前所說的~

2014年1月21日全國DNS污染始末以及分析

說了這么久,口水都干了,那么DNS到底跟這次事件有什么關系呢~

首先來看張圖

2014年1月21日全國DNS污染始末以及分析

瓦特!腫么這么多域名都指向同一個IP了,這是什么情況0 0。其實這就是典型的[DNS污染]了。

我們知道互聯網有兩種協議,一種是TCP,一種則是UDP了(知道泥煤啊(╯‵□′)╯︵┻━┻都說我不是學計算機的了)。

TCP和UDP的主要差別就是:能不能保證傳遞信息的可靠性。UDP是不管消息是否到達了目標,也不管通過什么途徑的,他只管我發出去了就好,所以UDP比TCP快得多,但是可靠性沒有TCP好。

2014年1月21日全國DNS污染始末以及分析

而DNS查詢默認就是用的是UDP,那么就很好劫持啦。在UDP包任何傳輸的路途上,直接攔截,然后返回給接收端就行了。

嘖嘖,說道這大家也隱隱約約知道這次事件的問題了吧,范圍如此之廣的劫持,必須要在各個省市的主干網上進行,而能處理這么大數據,同時能控制這么多主干網的。。嘖嘖嘖。。。沒錯!就是***了~至于***是什么,Ovear在這就不說了,不然可能大家都見不到Ovear了QAQ。

說道這里,Ovear就準備手動查一下,到底是不是所推測的***呢?于是拿到了這個圖(From XiaoXin)

2014年1月21日全國DNS污染始末以及分析

與此同時運維也在各地的服務器上開始了跟蹤查詢,發現全國各地解析時間均為25ms左右。這時候結論就出來了。

這樣就明顯了,肯定是***做的了~~于是Ovear又好奇的查了下,這個IP是什么來頭,為什么都要指向到這里去,于是Ovear發現了一些好玩的東西~(65.49.2.0/24)

2014年1月21日全國DNS污染始末以及分析

從側面點出了此次事件的始作俑者。

那么某FW為什么要這么做呢?Ovear在這里做一個無責任的推測,最有可能的就是:某FW的員工本來是想屏蔽這個IP段的,但是呢一不小心點進去了DNS污染這個選項,然后又沒寫污染目標,于是就全局污染了嘖嘖嘖~

但是有些童鞋會問了,為什么他們都說用8.8.8.8就沒事了~

其實這樣子說是不正確的,因為Ovear之前用的就是8.8.8.8,上面也說了DNS查詢默認使用的UDP查詢,所以不管你用什么,照樣劫持不誤。其實8.8.8.8沒問題是因為污染事件已經基本結束導致的,那么為什么污染結束后其他國內DNS都不能用,而Goole的DNS確可以正常的使用~于是Ovear就找到了張有趣的圖片~

2014年1月21日全國DNS污染始末以及分析

我先來解釋下上面命令的用途吧~這個命令是用來直接向DNS服務器查詢域名的~

其中的[-vc]參數是強制使用TCP來查詢DNS服務器,這樣就可以避免UDP污染的地圖炮。

那么為什么污染結束后,DNS還會受到污染呢?其實原因很簡單。Ovear之前說了,[遞歸DNS]是需要詢問[根DNS]的,而默認的詢問方式是采用的UDP,所以在國內的DNS服務器,自然就受到污染了。而之前Ovear也提到過TTL這件事~

在TTL周期內,根據協議[遞歸DNS]是直接吧結果緩存在自己那,是不會再去查詢[根DNS]的,所以國內的DNS就把錯誤的結果緩存起來了~

而Google的DNS服務器基本都是在國外,所以查詢的時候影響并不大,但是國內挺多域名使用DNSPOD啦,DNSLA的DNS,所以Google進國內查,還是會受到一定影響的。

因此,如果要完全避免這次的影響,有兩個條件

1、你的域名的DNS必須是在國外

2、你查詢的DNS必須在國外,而且如果在污染期需要通過TCP查詢。

這樣就可以避免這個問題了。

然后Ovear又手賤查了下這次的TTL,嘖嘖

2014年1月21日全國DNS污染始末以及分析

如果沒有人員來手動干預,這次的事件還是要持續蠻久的~。

原文轉自:http://netsecurity.51cto.com/art/201401/428331.htm

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97