百度被黑事件調查報告
解濱
2010年1月14日
2010年1月12日晨,中國最大的搜索引擎百度被黑客攻陷,徹底癱瘓,影響了中國成千上萬網民上網搜索信息,給各方面造成了巨大的損失。 百度CEO李彥宏形容這一事件是「史無前例」。
事件已經過去好幾天了,百度沒有給中國網民們一個說法,只是在其網站上發布了一個不痛不癢的簡短聲明。 民間對於此次黑客事件的說法千奇百怪,莫衷一是。 事情鬧到這步田地,能瞞住嗎? 當時的數據都在網上,咱搜集了一些,彙集在這裡,給網民們一個專業的說法。
一、事件回放
2010年1月12日早上7時許(北京時間),網民發現登錄百度主頁出現「網頁無法顯示」等字樣,查詢域名baidu.com的WHOIS信息后發現Baidu.com的域名伺服器被更換,早上9點多鐘,百度的DNS伺服器被更換為YNS1.YAHOO.COM和YNS2.YAHOO.COM。9點40分左右,百度內部透露出的消息表示,故障已經基本處理完畢,百度公司內部已經可以正常訪問。不過問題遠沒有那麼簡單。 很快百度的DNS又被修改為NS2303.HOSTGATOR.COM和NS2304.HOSTGATOR.COM。 這兩個伺服器都坐落於美國德州休斯頓市一個叫ThePlanet.com的數據中心裡。 用戶登錄baidu.com被送往IP 174.121.0.7,這個IP也在ThePlanet.com的數據中心裡。很巧,倍可親網站的IP也在ThePlanet.com的數據中心。 訪客當時看到的是以下這個網頁:

好懸。 要是黑客當時一炮打偏了,打到……不敢想象了。
隨後的幾個小時,百度的域名伺服器在不斷被刷新中,百度沒有對此發表回應。一些網友登錄百度卻看到 「Iranian Cyber Army」的網頁:
直到12點多鐘,百度域名解析DNS的控制權才被基本奪回,不過一些地區的貼吧等服務仍無法訪問百度網站。 到了下午5、6點鐘才基本上全部恢復正常。 至此,造成的影響已經難以挽回。 舉國震驚。 這一消息如野火般傳遍世界。
二、事件解說
要弄懂這一次究竟發生了什麼事,先要進行一點科普。 您如果懂點IT,可以不看這段。 你知道,網際網路上的信息是存放在各個計算機上的。 計算機之間由網路連接,每台計算機都有一個特定的網路地址,其實就是一個數字,我們把它叫做IP,例如220.181.6.19就是百度使用的一個IP 。 計算機識別和牢記這些數字易如反掌,但我們人類的腦瓜子卻一塌糊塗,不到一袋煙的功夫就要忘掉了。 所以有人想了個辦法,給每台計算機的數字地址起個名字,然後用另外一台計算機記住這些名字。 例如baidu.com就是人類可以比較容易記住的計算機名字,它相應的數字地址就有220.181.6.19等。 專門記住計算機名字的計算機就是我們說的域名伺服器。 你要是還不明白,那就想一想國內那些革命領導幹部是如何「家裡紅旗不倒,外面彩旗飄飄」的吧。 首長日理萬機,外面有幾十個二奶小三要供養,她們又不能和解放前那樣都住在一個大院子里,每人一個電話號碼, 首長能記住那麼多號碼嗎? 不能。 所以首長就把那麼多二奶小三的電話號碼記在一個小本子上。 首長想和誰做愛時,一翻那個小本子就可以找到她的電話號碼了。 這個小本子的作用和網路上的域名伺服器十分相似,只是小本子最好不要落到紀檢委的手中。
扯遠了。 全世界有幾億台計算機,憑一台域名伺服器能把那麼多名字都記住嗎? 當然不能。 所以要靠很多很多台域名伺服器分工負責。 那百度的域名是哪一台計算機負責的呢? 這個就要問美國的一個域名註冊機構叫做register.com了。百度是找他們登記的。 他們把百度域名伺服器的信息記錄在一台叫做whois.register.com的計算機里。 根據那上的記錄,百度的域名伺服器共有四台,它們是:
dns.baidu.com
ns2.baidu.com
ns3.baidu.com
ns4.baidu.com
這四台域名伺服器的作用就是把www.baidu.com 或 baidu.com 翻譯成計算機可以懂得的IP地址。
以上這種有關域名伺服器的信息叫做Whois。問題就來了: 如果有誰把以上四台域名伺服器中存放的信息搞錯了,或者更狠,乾脆來個狸貓換太子 – 篡改百度的Whois信息,也就是用幾台假的域名伺服器去冒名頂替那四台真的百度域名伺服器,那百度網站豈不玩完?
誰有權做這種事情呢? 一是百度自己的員工,二是register.com的員工。 當然他們是不會也不敢幹那種扒屁眼的事的。
他們不幹,不等於普天下的人都不幹。 您聽說過黑客吧。 如果某個黑客想方設法冒充百度或register.com的員工,獲取他們的許可權,混入register.com的計算機系統,把以上四台百度域名伺服器換掉,百度不就立馬就玩完了嗎? 發生在1月12日的那起嚴重事件就是這樣一回事。 當時,用戶要去百度網站,whois.register.com說baidu.com的域名伺服器是黑客的那一台。 於是, 百度的訪客們被引導到黑客的網站上去了。
三、這事怪誰?
這一事件發生后,一些網民把百度罵了個狗血噴頭,但大都沒有罵到點子上去。 百度發表的簡短聲明似乎有怪罪美國的那家域名註冊公司register.com的意思,卻又不敢明說,只是在他們的有關此事的新聞中把幾個屁民的邪說鏈接過去。 事情果真是那樣的嗎?
俗話說,蒼蠅不盯無縫的蛋。 黑客雖壞,但他們也不是攻無不克、戰無不勝的。 百度被黑掉,百度自身的問題恐怕也是不可推脫的。
假如這一次黑客是冒充register.com的員工作案的,那這一次就基本上要全怪register.com了。 因為這是他們沒有管好自己的Whois伺服器,讓黑客混水摸魚了。 如果黑客是冒充百度的員工作案的,百度的責任就大些。 不過,前一種情況的可能性不大。 為什麼呢? 假如黑客成功地獲得register.com的工作人員的許可權,那他們黑掉的就遠不止百度一個網站了,恐怕成千上萬個網站要癱瘓。 那天只有百度的域名伺服器被搞亂套,說明黑客僅僅獲得的百度員工在register.com的許可權。 黑客很可能是從以下這個窗口登錄的:

根據已有的各種信息,這一次百度至少犯了以下三個錯誤:
- 沒有好好保護百度域名
根據下面的域名資料,這種可能性是存在的:
Domain Name: BAIDU.COM
Registrar: REGISTER.COM, INC.
Whois Server: whois.register.com
Referral URL: http://www.register.com
Name Server: DNS.BAIDU.COM
Name Server: NS2.BAIDU.COM
Name Server: NS3.BAIDU.COM
Name Server: NS4.BAIDU.COM
Status: clientTransferProhibited
Status: serverDeleteProhibited
Status: serverTransferProhibited
Status: serverUpdateProhibited
(資料來自 http://www.networksolutions.com/whois/registry-data.jsp?domain=baidu.com):
現在你還看不出什麼問題,但如果我們把人家谷大哥(歌)的同樣數據拿來看看,就知道人家谷大哥被黑客使用同樣的方法黑掉的可能性就小得多:
Domain Name: GOOGLE.COM
Registrar: MARKMONITOR INC.
Whois Server: whois.markmonitor.com
Referral URL: http://www.markmonitor.com
Name Server: NS1.GOOGLE.COM
Name Server: NS2.GOOGLE.COM
Name Server: NS3.GOOGLE.COM
Name Server: NS4.GOOGLE.COM
Status: clientDeleteProhibited
Status: clientTransferProhibited
Status: clientUpdateProhibited
Status: serverDeleteProhibited
Status: serverTransferProhibited
Status: serverUpdateProhibited
看到沒有:clientDeleteProhibited,clientTransferProhibited,還有clientUpdateProhibited 這三樣東西加起來叫做Registrar-Lock。 也就是說人家谷大哥的域名按照客戶的要求被鎖住了。 不解鎖誰也不能改動Whois信息。 而解鎖卻是極其嚴格甚至痛苦的一道手續,可能比女人生孩子還要痛苦不堪。 這樣鎖住的域名Whois信息,被非法篡改的可能性就要小得多了。 百度出了這麼大的事,其Whois信息到今天也沒有上鎖,傻呀! 上個月被同樣一組黑客以同樣方式黑掉的美國網站Twitter 也沒有上鎖:
Domain Name: TWITTER.COM
Registrar: NETWORK SOLUTIONS, LLC.
Whois Server: whois.networksolutions.com
Referral URL: http://www.networksolutions.com
Name Server: NS1.P26.DYNECT.NET
Name Server: NS2.P26.DYNECT.NET
Name Server: NS3.P26.DYNECT.NET
Name Server: NS4.P26.DYNECT.NET
Status: clientTransferProhibited
這也是傻X一個!
- 百度的災難應急措施糟糕透頂
1月12日中午12點左右百度的域名伺服器就從黑客的手中奪回來了,可為什麼整個下午還是有許多用戶無法訪問百度網站呢? 這又要說一點域名伺服器的知識了。 前面說過,百度共有4台域名伺服器。 但很多網站的流量很高,例如百度,每天至少有大概上億個流量吧。 單靠那4台域名伺服器恐怕很快就要累趴下了。 怎麼辦呢? 辦法其實很簡單,這就是讓其它的域名伺服器或計算機也「記住」百度網站的IP地址 (這種信息記錄在一個叫zone的文件上,zone文件每修改一次都要升高一個序列號來表示其為最新版本)。 這樣一來,這些計算機只要從那四台伺服器中取一次百度網站的zone文件,下一次只要從自己的記憶里取出來就可以了。 這種記憶叫cache。 那要cache多長時間呢? 百度規定這為7200秒,這也就是兩個小時,我們把這個記憶時限叫做TTL。 過了TTL怎麼辦? 那個時候,已cache了百度網站IP的計算機只要把自己上次下載的zone文件的序列號去百度的域名伺服器上對比一下, 如果兩個序列號還是一樣,那還用上一次cache下來的域名信息就行了,不必翻新。 如果序列號變了,就要下載最新的zone信息了。
問題是,百度被黑掉后,百度的員工忙的焦頭爛額在設法糾正register.com那裡的百度Whois信息。 而黑客偷換的域名伺服器使用的zone序列號也和百度的域名伺服器的zone序列號一模一樣,都是2010011101。 這樣一來,即使後來許多計算機又「找回」了正確的百度域名伺服器,但看到那上面的序列號跟黑客所給的是一個序列號,因此就不去更新zone息了,也就是說仍然在使用黑客給的百度網站IP登錄。 這樣一來,很多客戶還是跑到那個黑客網站上去了。 假如百度及時更新序列號,升級為2010011201,其網站被黑的時間就會大為縮短。遺憾的是,百度居然沒有及時想起來做這件事。為什麼呢? 這大概要怪百度根本就沒有一套災難應急計劃。 大難臨頭時,就只好抓瞎了。
3. 百度死要面子
登錄百度網站並非只有www.baidu.com一個法子。 其實使用www.baidu.com.cn 也同樣可以。 那天www.baidu.com 被黑了,而www.baidu.com.cn卻沒有。 為什麼呢? 因為所有.cn的域名註冊都是中國而不是美國管的,這一次黑客沒有去找那個域名的麻煩。 事件發生后,百度急忙通過電視台通知網民使用www.baidu.com.cn 登錄。 既然如此,那平時為什麼不告訴廣大網民呢? 更可恨的是,百度大難臨頭還不告訴網民使用www.baidu.cn 也完全可以登錄百度網站。 搞什麼名堂嘛。 我要告訴你,按理說你乾脆使用baidu.cn也應該可以登錄百度的,只要百度的網管在baidu.cn.zone 那個文件中加一個很小的指令就可以了,比點根煙還容易。 但百度卻故意不這樣做,難道baidu.cn不是比www.baidu.com更簡潔方便嗎?
筆者分析百度不喜歡.cn可能有兩個原因:(1)使用.cn域名,百度看上去就只是個local而不是global網站了,太丟面子了。 (2)華爾街的洋人大佬們只懂得.com,哪裡知道世界上還有.cn這種東西,要好生伺候他們就得使用.com域名,不然人家的金山銀山怎麼會砸過來。
這就叫死要面子活受罪。百度難道不是個道道地地的中國local搜索引擎嗎? 她何時在國外提供過任何服務?
我說百度你乾脆改叫百肚好了,小肚雞腸的肚。
四、意外發現
這次調查過程中居然有兩個意外的發現。
百度是誰擁有的,你可能不會有半點懷疑。 但百度網站的域名baidu.com是誰擁有的呢? 說出來可能會使你大跌眼鏡,或許使你性趣盎然,居然是這個:
Domain Discreet
ATTN: baidu.com
Rua Dr. Brito Camara, n 20, 1
Funchal, Madeira 9000-039
PT
Phone: 1-902-7495331
這是在哪個國家? 葡萄牙? 西班牙? 摩洛哥? 反正不是中國。 您自己去谷歌地圖上找找吧。 那個北大西洋上的小島子可美了。 中國頭號搜索引擎百度的域名註冊人就住在以下這個地區的某個豪宅里。 為什麼結果會是這樣,發揮你的想象力吧。

中國最大的搜索引擎的域名註冊人住在離中國如此遙遠的一個美麗小島上,這可真是太羅曼蒂克了。
另外一個驚人發現就是,中國的強大防火牆居然不防國外的黑客! 伊朗那幫黑客,作案已不是一天兩天了,早已聞名天下。 中國的防火牆連倍可親、萬維這樣的海外親華中文網站都給堵住,卻讓全國網民可以暢通無阻地跑到伊朗那幫賊民的網站上去,這是不是有點失職? 我說網警們你們也學點專業好不好? 不能一天到晚總是在看A片,讀黃段子嘛。
五、鹿死誰手
這一次百度被黑后,中國的黑客們義憤填膺,開展了大規模的報復行動,一舉黑了10個伊朗的網站。 他們說勝利了。 網上歡呼聲一浪高過一浪。
真的嗎? 同樣是黑,規模卻不一樣啊。一個是中國首屈一指的百度,一個是伊朗不疼不癢的教育網站,有誰在乎? 中國的黑客還要多多學習國際先進經驗,不能老是自吹自擂。 騙得了誰啊。
六、忠言逆耳
百度出了這麼大的事情,該好好反省反省了。 這麼不堪一擊,以後還怎麼混? 革命尚未成功,同志們仍需努力啊。
奪取全國勝利, 這只是百度的萬里長征走完了第一步。 中國的網路是偉大的,但壟斷以後的路程更長,工作更偉大更艱苦。 這一點現在就必須向公司內講明白,務必使同志們繼續地保持謙虛謹慎不驕不躁的作風,務必使同志們繼續的保持艱苦奮鬥的作風。
看人家谷大哥,高風亮節,急流勇退,不為二斗米折腰,不為蠅頭小利出賣原則。你們百度可差遠了。 Global 不是你們這樣做出來的。 還是多跟你谷大哥學學吧。