8
本文作者: 史中 | 2016-03-10 08:00 | 專(zhuān)題:100個(gè)頂級(jí)黑客的故事 |
黑客的快感源于什么呢?
雖掘螻蟻之穴,卻蕩破千里之堤;麾下萬(wàn)馬千軍,仍如入無(wú)人之境。
大抵如此。
2015年11月,在日本舉行的 Pwn2Own Mobile 黑客大會(huì)上。龔廣面對(duì)一部 Nexus 6 手機(jī)。他輕輕點(diǎn)擊了一個(gè)網(wǎng)址,隨即一片沉靜,似乎什么都沒(méi)發(fā)生。然而短短片刻,桌面上突然出現(xiàn)了一個(gè)新的圖標(biāo)。原來(lái),在電光火石間,系統(tǒng)已經(jīng)自動(dòng)從 Google Play 市場(chǎng)下載并且安裝了一個(gè)被他指定的App。這一切都靜靜地發(fā)生在水面之下,手機(jī)的主人根本無(wú)從發(fā)現(xiàn)。
現(xiàn)場(chǎng)短暫的沉默,繼以雷動(dòng)的掌聲,祝賀他優(yōu)雅地扒掉 Android 系統(tǒng)的底褲。
觀眾并不知道,這一系列流暢的進(jìn)攻,其實(shí)是龔廣的下策。他原本的計(jì)劃是通過(guò)相互配合的兩個(gè)漏洞,一舉拿下系統(tǒng)控制權(quán),讀出手機(jī)所連接的 Wi-Fi 密碼。
然而,無(wú)巧不成書(shū)。就在他動(dòng)身參加比賽的兩周前,谷歌發(fā)布了新的升級(jí)。閱讀升級(jí)日志之后,龔廣內(nèi)心一驚:本來(lái)準(zhǔn)備妥當(dāng)?shù)膬蓚€(gè)漏洞,其中一個(gè)看起來(lái)已經(jīng)被谷歌發(fā)現(xiàn)并且修復(fù)了。
他重演了一遍攻擊過(guò)程,果然失效。不過(guò),作為江湖老手,一個(gè)優(yōu)雅的黑客,他也沒(méi)那么容易認(rèn)輸。在之前的研究中,他記得 Google Play 存在一個(gè)小的系統(tǒng)設(shè)計(jì)缺陷,于是用剩余的十多天時(shí)間重新寫(xiě)攻擊代碼,最終在比賽開(kāi)始之前一天完成了攻擊程序。這才有了前面發(fā)生的一切——僅僅使用一個(gè)漏洞就擊潰了 Android 系統(tǒng)的防線。
雖然這次攻擊看起來(lái)賞心悅目。但是龔廣告訴雷鋒網(wǎng),他的攻擊并沒(méi)有提取到系統(tǒng)的頂級(jí)權(quán)限,也就是“Root”。
在 Android 系統(tǒng)安全中,Root 就是皇冠上的明珠。如果能拿到它,就可以成為手機(jī)中的上帝,對(duì)所有的文件為所欲為,并且可以讀取手機(jī)主人的所有敏感信息。
雖說(shuō)在日常生活中,我們普通人似乎都可以下載一個(gè) Root 工具把自己的手機(jī)“干翻”,但是 Root 卻遠(yuǎn)比想象中艱難。龔廣告訴雷鋒網(wǎng),Root 需要一連串漏洞(一般為3-4個(gè))的有效配合才可以實(shí)現(xiàn)。
如果打一個(gè)“優(yōu)雅”的比方,那大概就是:
黑客在制造一枚精確制導(dǎo)的導(dǎo)彈,穿過(guò)系統(tǒng)為進(jìn)攻者準(zhǔn)備的導(dǎo)彈防御系統(tǒng)——四道不同的關(guān)卡,最終準(zhǔn)確地?fù)糁袛橙说木栈ā?/strong>
這四道關(guān)卡,就像四個(gè)暗箱。它們層層嵌套,每一個(gè)看上去都無(wú)懈可擊。而你想獲得自由,就必須沖破這四層枷鎖,少一個(gè)都不行。如果你愿意,就隨我變成一段復(fù)仇的代碼,享受一下鮮血四濺的樂(lè)趣吧。
故事馬上開(kāi)始。
手機(jī)的主人通過(guò) Chrome 瀏覽器點(diǎn)擊了鏈接,于是我們成功地閃入了手機(jī)之中。但是,我們發(fā)現(xiàn):
自己不僅被困在 Chrome 這間宮殿當(dāng)中,還被反綁了手腳。
因?yàn)槲覀兗葲](méi)有權(quán)限讀取 Chrome 之外的信息,也沒(méi)有權(quán)力對(duì)系統(tǒng)發(fā)號(hào)施令。
作為一個(gè)網(wǎng)頁(yè)腳本,我們最多有權(quán)調(diào)整一下網(wǎng)頁(yè)的布局、圖片的位置。顯然,作為一個(gè)刺客,這點(diǎn)權(quán)力是沒(méi)有卵用的。這個(gè)時(shí)候,我們突然發(fā)現(xiàn)了房間里的一張桌子,我們用桌角可以割開(kāi)捆綁自己的繩子。
當(dāng)我們重新解放雙手的時(shí)候,我們已經(jīng)成功地利用了第一個(gè)漏洞。此時(shí)已經(jīng)沒(méi)有任何人可以阻擋我們從口袋里掏出“作案工具”了。
然而,我們的境況并沒(méi)有變得太好,因?yàn)檫@間叫做 Chrome 的宮殿是沒(méi)有門(mén)的。如果我們無(wú)法逃逸出去,將會(huì)困死在這里。
然而俗話(huà)說(shuō),上帝在關(guān)上一道門(mén)的時(shí)候,必定會(huì)打開(kāi)一扇窗。天窗是宮殿里唯一和外界連通的渠道。這扇天窗顯然不是為了人進(jìn)出而設(shè)計(jì)的,而是為了房間內(nèi)外空氣流通(App內(nèi)外信息交互)之用。但是在我們眼里,它成為了一個(gè)絕好的漏洞。
我們用手中的工具,把屋里的家具改裝成了一把梯子,終于夠到天窗。此時(shí),我們完成了 Root 中的經(jīng)典動(dòng)作——沙箱逃逸。
寶藏就在眼前的房間里,然而這個(gè)華麗的房間卻大門(mén)緊鎖。這扇大門(mén)擁有一個(gè)奇特的鎖,要想打開(kāi)它,必須用找到一把金色的鑰匙:系統(tǒng)服務(wù)權(quán)限。
作為一個(gè)黑客,我當(dāng)然知道這把鑰匙藏在哪。只不過(guò)這把鑰匙被放在一個(gè)密碼箱中,一般人絕對(duì)沒(méi)有可能碰到。當(dāng)我成功地破解了密碼箱,拿到了金色鑰匙的一瞬間,我已經(jīng)成功利用了第三個(gè)漏洞。
推開(kāi)門(mén),我將要面對(duì)最終的水晶球——Android 系統(tǒng)的內(nèi)核。
站在水晶球面前,我知道我們距離成功只有一步之遙。只要知道最終的咒語(yǔ),我們就可以解開(kāi) Android 的秘密。水晶球向四周散射出耀眼的光芒,無(wú)數(shù)0和1交替閃爍在四周的墻壁上,這是 Android 系統(tǒng) Linux 內(nèi)核的底層代碼。而我們要做的,就是在這數(shù)以?xún)|記的數(shù)字中,找到那一個(gè)微小的錯(cuò)誤。這個(gè)錯(cuò)誤可能是驅(qū)動(dòng)程序的漏洞,也可能是內(nèi)核本身的漏洞??傊?,它就是打開(kāi)一切的咒語(yǔ)。
在審看了數(shù)萬(wàn)行代碼之后,一個(gè)微小的錯(cuò)誤終究沒(méi)能逃脫我們的眼睛。
我們高聲喊出了最終的咒語(yǔ),一道白光閃耀蒼穹。我們?nèi)俦家u,終于沖破了 Android 構(gòu)建的虛擬世界,霎那間回到了我們的天地。周遭景物依然熟悉,然而世界已經(jīng)日月新天。
這恰似輪回。
以上就是一次 Root 的全過(guò)程。當(dāng)我們完成了這個(gè)過(guò)程,就可以帶領(lǐng)千軍萬(wàn)馬重新殺回手機(jī)之中。那時(shí)節(jié),將是金鼓齊鳴,片甲不留。
然而,這些漏洞的命運(yùn)是悲慘的。因?yàn)樗麄儽静辉摯嬖谟谑郎?。曾?jīng)讓我們縱橫捭闔的漏洞免不了一個(gè)個(gè)走上絞刑架。
作為硬件生產(chǎn)廠商的高通和聯(lián)發(fā)科,還有作為軟件商的谷歌,會(huì)根據(jù)龔廣和諸多黑客提供的樣本進(jìn)行漏洞修復(fù)。如果手機(jī)廠商選擇跟進(jìn),升級(jí)到最新的硬件固件和 Android 系統(tǒng)版本(當(dāng)然很多廠商為了系統(tǒng)的穩(wěn)定和用戶(hù)體驗(yàn),并不會(huì)及時(shí)對(duì)所有的軟件進(jìn)行升級(jí)),那么一切都會(huì)變得更加困難。
未來(lái)的某一天,當(dāng)我們?cè)俅瓮ㄟ^(guò)瀏覽器回到 Android 系統(tǒng)之中,也許會(huì)發(fā)現(xiàn):
桌子被抹去了棱角,天窗增加了守衛(wèi),密碼箱換了樣式,而水晶球的咒語(yǔ)不再靈驗(yàn)。
這個(gè)時(shí)候,就是“龔廣們”再次出發(fā)的季節(jié)了。
如今,龔廣去年用于攻破 Android系統(tǒng)的漏洞已經(jīng)被谷歌修復(fù),他也再次受邀到Pwn2Own做演講,分享這次攻擊的技術(shù)細(xì)節(jié)和 Android 世界的驚心動(dòng)魄。
谷歌不斷地增加“漏洞緩解措施”,是否會(huì)讓漏洞利用或者 Root 越來(lái)越難呢?龔廣給出了肯定的答案。不過(guò),沉思片刻之后,他告訴雷鋒網(wǎng):正是由于越來(lái)越難,這件事才變得越來(lái)越有意思。
背景資料:龔廣,360手機(jī)衛(wèi)士安全研究員。主攻瀏覽器和 Android 漏洞挖掘,向谷歌提供大量 Android 高危漏洞,數(shù)次獲得谷歌現(xiàn)金激勵(lì),被稱(chēng)為 Android 系統(tǒng)的“賞金獵人”;多次參加國(guó)際黑客大會(huì)并發(fā)表主題演講。
推薦閱讀:315特別報(bào)道完全版
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。