5
本文作者: 史中 | 2016-04-18 09:07 | 專題:100個頂級黑客的故事 |
如果你愿意像上帝一樣縱覽中國科技史,會發(fā)現(xiàn)黑客有很多種。
譬如季昕華,他用黑客的精神研究人的“規(guī)律”,建立了云服務(wù)巨頭UCLOUD。他的開疆拓土,目的卻是為自己的初心——“安全”拓荒出更大的市場空間。
譬如呆神,作為安全圈的交際花,他可以讓已經(jīng)加入百度、騰訊、阿里巴巴、360的各個年齡的黑客界半壁江山坐在同一個宴會廳把酒言歡??偨侵?,言笑晏晏。
譬如潘劍鋒,他厭倦了黑客攻防中不斷加厚的防彈衣和不斷加重的炮彈,選擇告別“軍備競賽”,潛入代碼的底層,試圖從軟件開發(fā)的原點去構(gòu)建一個“天下無賊”的世界。
譬如張迅迪,他用神級天賦創(chuàng)建的“安全焦點”如普羅米修斯的蒙昧之火創(chuàng)生了中國的黑客宇宙。看著自己親手埋下的種子長成三千大千世界,卻獨愛歸園田居,坐看云起。
而我們今天的主角,是另外一種。
乍看起來,他們像城管,兇神惡煞地撲向每一個“違規(guī)占道”的漏洞;
仔細琢磨,他們又像鑒黃師,火眼金睛專門排查躲藏在程序旮旯里的“失足代碼”;
但我猜他們自己喜歡最后一個比喻:他們像賽博世界的特種兵,潛入敵人自以為無懈可擊房間,安全解救重要人質(zhì),維護愛與和平。
所以,他們的生活除了睡覺、吃飯,就是“打漏洞”。換句話說,除了一日、三餐,只有漏洞。
他們是來自科恩實驗室的陳良和來自騰訊電腦管家的鄧欣。這兩位最近是“黑客界網(wǎng)紅”,因為他們剛剛在世界頂級黑客大賽Pwn2Own上,各自帶人擰成了一個麻花狀的聯(lián)合戰(zhàn)隊,拿下了“破解之王”的桂冠。
納尼?什么叫Pwn2Own?如果你還不知道,沒關(guān)系,不要自卑。雷鋒網(wǎng)可以拯救你。帶著你的好奇心,來看看下面這個例子:
一個系統(tǒng)就像一間屋子,黑客的目的很簡單——作為特工潛入這間屋子。那么潛入這間屋子的難度和什么有關(guān)呢?
屋子本身的牢固程度——代碼本身的邏輯嚴密程度
門口的守衛(wèi)是否敬業(yè)——殺毒軟件和系統(tǒng)防護軟件給力與否
特工手里的武器如何——黑客掌握的漏洞是否可以突破嚴密的防守
特工的入侵路徑怎樣——黑客的進攻思路是否出其不意
對于國內(nèi)大部分黑色產(chǎn)業(yè)中的黑客來說,他們使用的漏洞往往是已經(jīng)被人曝出的漏洞,黑話叫做“1Day 漏洞”。進攻的對象往往也是普通人,這個普通的人也許沒有把系統(tǒng)升到最高版本,也許沒有開啟系統(tǒng)級安全防火墻。這就像一個蟊賊趁周圍沒人用錘子砸開一把銅鎖,入室盜竊。一言以蔽之——不專業(yè),沒有技術(shù)含量,圖樣圖森破,那義務(wù)。
看一群流氓群毆終歸不如看真刀真槍的戰(zhàn)爭來勁。正所謂“劫就劫黃岡,嫖就嫖娘娘?!庇谑?Pwn2Own 就應(yīng)運而生了。
簡單來說,Pwn2Own的奧義就是:
建造一個重裝火炮步兵團把守的擁有十米厚加固墻的鋼筋混凝土監(jiān)獄,周遭探照燈通明,巡邏隊穿梭。然后昭告天下:誰可以在這種情況下潛入監(jiān)獄之內(nèi),就可以獲得數(shù)十萬美元的大獎。
這也是這個活動為什么叫 Pwn2Own 的原因,翻譯成中文大概是:破就給!
在今年的Pwn2Own上,主辦方準備了最新版本,封堵了所有已知漏洞、打開了所有安全閥門、開啟了所有系統(tǒng)防護的微軟 Edge 瀏覽器、蘋果 Safari 瀏覽器、谷歌 Chrome 瀏覽器、Adobe Flash 插件。如果你有膽的話,需要在15分鐘之內(nèi),沖破所有的安全防線,進入房間救出人質(zhì)——拿到系統(tǒng) Root 權(quán)限。整個過程中,如果有一絲閃失,例如被系統(tǒng)發(fā)現(xiàn)異常從而彈窗報錯,或者干脆被系統(tǒng)攔截,馬上會被宣告失敗。這件事情無異于從納粹集中營中解救人質(zhì)。唯一的寬容在于:你可以有3次機會嘗試。
說到這,你有沒有開始對我們今天的主角鄧欣和陳良刮目相看?沒錯,他們已經(jīng)穿好迷彩服,戴好黑手套,腰間掛了一排不明覺厲的“0 Day漏洞”,貼身藏好暗鏢,登上了遠赴溫哥華的戰(zhàn)機。
【鄧欣(左)和陳良(右)】
你一定想知道他們在溫哥華如何披荊斬棘所向披靡,我偏不說。相信我,有比這個更精彩的故事。讓我們把時間倒回比賽前的兩個星期。
這天夜里2點,陳良目不轉(zhuǎn)睛、垂涎三尺,盯著屏幕上的下載進度條如蝸牛一般爬行,心中排浪翻涌。他不是在下載愛情動作片,而是在下載蘋果賽前推送的最后一版補丁。此刻,他用于參賽的所有攻擊腳本都已經(jīng)寫好。在他心中,反復(fù)閃現(xiàn)一幅美妙的圖景:兩個漏洞合力串聯(lián),神不知鬼不覺一舉攻破 Safari 瀏覽器。然而,正在下載的這個補丁卻有可能讓他的“美夢”破滅。
每次在比賽前,這些廠商都會推出一個超級補丁,這個“大補丸”會修補所有他們最近發(fā)現(xiàn)的漏洞。如果我準備使用的漏洞在這最后一刻被堵上,那么我之前的辛苦準備都將瞬間付之東流。
陳良如此回憶。
陳良安裝完補丁的第一件事就是:用顫抖的手把自己的攻擊腳本再跑一遍。然后,他的大腦一片空白。直到五個小時過去,窗外已經(jīng)露出曙光的時候,他才強迫自己相信:準備好的漏洞已經(jīng)被蘋果徹底封堵,而且是兩個漏洞被同時封堵。這件事情發(fā)生的概率約等于中了彩票。
陳良到了公司,向團隊宣布了這個消息。然后默默地走回家,重新打開電腦。天地不仁,世事冰冷,此刻唯一能拯救科恩團隊的,就是兩個新的漏洞。在此后的幾天,他幾乎沒有離開家門。與此同時,他的團隊中有同事把床搬到了辦公室。
團隊翻遍了所有的研究記錄,打算從以前積累的蛛絲馬跡中重新發(fā)現(xiàn)兩個可以被利用的新漏洞。整整72個小時過去了,陳良猛地拍案而起:“有了!”
只用三天時間就找齊了兩個新漏洞讓陳良感覺如墮夢境。他掐了掐自己的臉,再次確認全宇宙最可怕的“大補丸”已經(jīng)被科恩團隊來了個“全壘打”。但是,緊張還遠遠沒有結(jié)束。由于采用了全新的攻擊路徑,所有的攻擊代碼都要重新編寫。
這個漏洞存在于蘋果系統(tǒng)的視頻渲染程序中,當兩個鋸齒重疊的時候,會發(fā)生微小的計算錯誤。由于涉及到視頻渲染,所以攻擊代碼非常復(fù)雜,我們用了一周多的時間編寫完善攻擊代碼。甚至一周多過去了,在飛往溫哥華的飛機上,我們還在完善自己的代碼。
如果你覺得陳良的故事太驚險,那一定是因為你還沒有聽過鄧欣的故事。
由于 Pwn2Own 在國際上變態(tài)的影響力,本該在每月固定日子到來的 Adobe“月經(jīng)補丁”居然為了這個比賽而推遲了。希望你沒有理解錯誤——并不是推遲到比賽之后,而是由賽前的五天推遲到了賽前的三天。
這天夜里2點,鄧欣目不轉(zhuǎn)睛、垂涎三尺,盯著屏幕,心中排浪翻涌。在他心里,一遍遍預(yù)演著那個絕妙的攻擊,攻陷 Adobe Flash 只需要3秒,干凈利落。也許鄧欣沒有陳良那么好的身體,沒能等到美國的“大補丸”發(fā)布就已經(jīng)困得不省人事。沒錯,他能睡著的唯一原因就是還不知道自己的漏洞已經(jīng)被修復(fù)。早晨7點,他從同事的電話里得知了這個悲傷的消息。所幸,他們還有一個備用方案,經(jīng)過驗證,這個方案仍然可行。但是,這個方案并不完美,因為整個攻擊過程會持續(xù)11秒。距離比賽只有七十多個小時了,所有的人都看著鄧欣。短暫的沉默,他說:“這個備選方案仍然做為備選,我們用三天的時間來試著修復(fù)那個最好的攻擊方案!”
所以,在飛往溫哥華的飛機上,一邊坐著滿頭大汗完善攻擊代碼的陳良團隊,另一邊坐著還沒有跑通攻擊邏輯,內(nèi)心更加糾結(jié)一萬倍的鄧欣團隊。安靜的機艙充斥著鍵盤噴濺荷爾蒙的聲音,直到所有人的筆記本都耗盡了最后的電量。
當他們最終站到比賽現(xiàn)場的時候,身邊的空氣像秋天的湖水一般平靜?,F(xiàn)場的裁判和評委當然不會在乎他們昨天是怎樣在賓館房間里點燈熬油、火力全開的。
裁判只是坐在房子中心,守著一臺冰冷的電腦——他們要攻克的終極堡壘。這個堡壘包裹著密不透風的墻壁,圍繞著兇神惡煞的守衛(wèi),也散發(fā)著誘人的氣味,閃耀著黑客的榮譽。
這臺小小的電腦里面哪里是Safari 和 Edge,簡直塞滿了他們一個月不眠不休的魔鬼拉練和近十年的黑客崢嶸歲月。
【宅男A、B、C、D。。?!?/strong>
但誰都沒有必勝的把握,因為攻擊程序并不是百分之百穩(wěn)定,而且在最后一次“大補丸”推送到比賽的此時此刻,廠商隨時都可以把最新發(fā)現(xiàn)的漏洞更新到這臺電腦上,即使沒有來得及更新,只要確認攻擊者使用了他們已知的漏洞,同樣會被取消分數(shù)。除此之外,比賽還有一個最變態(tài)的規(guī)則:
所有參賽團隊按照抽簽順序決定攻擊順序,如果在你之前出場的團隊曾經(jīng)使用過這個漏洞,后來者就會“撞洞”,他的進攻也會同時被判無效。
在如此變態(tài)的規(guī)則之下, 為了提高勝率,陳良和鄧欣的兩支隊伍混編為“騰訊安全Sniper”戰(zhàn)隊和“騰訊安全Shield戰(zhàn)隊”,把最有把握的攻擊方法都放在了 Sniper 戰(zhàn)隊。而他們的對手是來自韓國的黑客神童 Lokihardt 以及同樣來自中國的 360Vulcan 戰(zhàn)隊。不用懷疑,雖然四支隊伍有三支來自中國,但是這三支隊伍完全代表了世界黑客的最高水平。要知道,自從2007年這項賽事創(chuàng)立以來,一直到2013年,都沒有一組中國團隊有資格參與這個競爭。今年中國隊伍的爆發(fā),完全是通過自己努力得到的結(jié)果。
雖然韓國只有一直隊伍參賽,但是這個神童 Lokihardt 卻是真正可怕的對手。他在最近三年震驚了世界,以一己之力幾乎拿到了世界黑客賽事的所有冠軍。這次比賽,他的目標只有一個,那就是是干掉所有的中國隊伍。這種自信不僅閃現(xiàn)在他的臉上,也閃現(xiàn)在隨行而來的大批韓國媒體的臉上。
輪到鄧欣率隊上場了。雖然就在比賽開始前一天,他成功在酒店房間里搞定了新版的“三秒攻破 Adobe 方案”,并且已經(jīng)在隊員的電腦上驗證了很多次,但是他仍然沒有必勝的把握。經(jīng)歷了歷史上最漫長的三秒,屋子正中的電腦猛然彈出了他設(shè)定好的命令符?,F(xiàn)場歡呼四起,這片歡騰似乎有些不真實,就像他這三天里從天堂墜入地獄再爬回天堂的經(jīng)歷一樣。
同樣的歡呼再一次響徹陳良的耳畔。
在這一刻,漏洞似乎不再是他們的敵人,他們好像和這些漏洞冰釋前嫌,相互擁抱。
直到陳良坐在陽光明媚的北京中關(guān)村,向雷鋒網(wǎng)編輯講述這一切的時候,他依然覺得,這次成功除了自己的努力,還有命運之神的無私眷顧。
他之所以這樣說,是因為上帝似乎并沒有照顧韓國神童 Lokihardt。
【正襟危坐的就是色藝雙絕的韓國神童 Lokihardt(JungHoon Lee)】
就在 Lokihardt 進行最后一個破解的時候,所有人都相信他會成功,最終和 Sniper 并列第一。但是就在他操作的過程中,意想不到的事情發(fā)生了——Windows 系統(tǒng)突然彈窗,提示用戶“該操作有風險”。這個彈窗暴露了正在后臺潛行的 Lokihardt,他的進攻立刻被裁判判為失敗。
Lokihardt 禮貌地向陳良和鄧欣表示了祝賀,而與此同時身后的韓國媒體們憤然離場。所有的事情發(fā)生在一瞬間。陳良仔細思考,覺得事有蹊蹺。以他的了解,神童并不會犯如此大的失誤。賽后,陳良私下找到 Lokihardt,才問出了事情的緣由:
Lokihardt 自己的 Windows 是在聯(lián)網(wǎng)狀態(tài)下安裝的,而比賽的官方電腦卻是在脫機狀態(tài)下安裝的。這個微小的差異導(dǎo)致了兩臺電腦的“默認設(shè)置”出現(xiàn)了微小的差別——官方電腦在攻擊過程中突然多了一步對用戶 ID 的驗證。而這個問題是 Lokihardt 在自己的電腦上無論如何都不會發(fā)現(xiàn)的。
陳良告訴雷鋒網(wǎng):“和他溝通之后才發(fā)現(xiàn),他的破解思路非常了不起。”然而規(guī)則就是規(guī)則,規(guī)則里所謂的“默認設(shè)置”最終解釋權(quán)還是在主辦方手里,無論是 Lokihardt 還是陳良和鄧欣都明白:多說無用。這次韓國神童“落難”,但也許在另一個平行世界里,不走運的正是陳良和鄧欣。
塵埃落定,新的“漏洞之王”屬于陳良和鄧欣的團隊。人們紛紛向他們表示祝賀,而他們卻走向失敗的韓國神童,安慰運氣欠佳的 Lokihardt。
面對更看重結(jié)果的雀躍的中國網(wǎng)友和暴怒的韓國媒體,我們卻能更深刻地體會,這個對手到底有多么值得尊敬。
鄧欣說。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。