望京“黑客”圖鑑

最近《北京女子圖鑑》很火。不過看這篇文章之前,你要做好幾個心理準備:

1.這篇文章不是講黑客男主如何在北京遇上12個女主“打怪升級”的故事。

2.因為我們的採訪地點在望京的阿里中心,所以我。。。稍微開了個腦洞,取了這個標題,但標題和文章這次終於是相關的了。在這篇《望京黑客圖鑑(一)》中,我只重點講講兩個白帽黑客的故事,並不能代表整個望京地區的黑客形象。如果你讀完覺得不盡興,歡迎推薦望京、通州、西北旺、豐臺。。。甚至是深圳、杭州、四川等祖國大江南北的黑客給我,說不定(二)(三)(四)就出來了。

望京“黑客”圖鑑

1

在《北京女子圖鑑》裡,女主林可在這幾集中遇到了好不容易下定決心買房,但是限購政策一出來,夢想泡湯的困境。

對阿里安全獵戶座實驗室的蒸米來說,這不是一個問題。

三年前,蒸米從香港中文大學博士畢業時,接到了好幾個互聯網巨頭企業的offer,最後,他從1萬多名應聘者中脫穎而出,成為了阿里當年錄取的1000多個應屆生中唯二的“阿里星”,不僅每年有和阿里高層吃飯談心的機會,還順利地跨過了在北京長期發展的最關鍵的門檻——北京戶口,並在北京買了一套房。

如果“望京黑客圖鑑”的價值觀是“成功、錢、戶口”的話,蒸米在北京闖蕩的起點要比很多人高,按照他自己的話來說,就是“簡直不能更順了,這可能才是這些年他遇到的最大挫折”。

但是,我們要講的並不是一個這樣的故事。

採訪前,我印象中的蒸米渾身閃著“blingbling”的光:阿里安全獵戶座實驗室研究成員,OverSky、 藍蓮花和 Insight-lab 的成員,他還分析並命名了 XcodeGhost 和 WormHole 。

哦,對了,他是新浪微博上有 4 萬活粉的互聯網博主。

看上去,“安全網紅”這個標籤是撕不掉了。

事實正相反,蒸米展現出的這一面是:對抗、不服、執拗,擁有隨時隨地 diss 一切的“反骨”特質,但這些特質背後,也許與他一直追求的東西有關。

2

蒸米從小就習慣了對抗。

那時候的他太愛玩遊戲,父母不允許,設了各種系統密碼,甚至把那個電腦電源藏起來,蒸米因此學會了焊接、破解,最後無論父母怎麼設置,他都能把上了鎖的電腦復原,繼續玩遊戲,父母直接怒了,就讓蒸米轉學了。

這次對抗的直接後果是,蒸米和初戀女朋友分手了,遊戲和女孩之間,他選擇了前者,被扔到了“沒有個人電腦”的寄宿學校。

他不甘心,和寄宿學校的機房老師打好了關係,天天跑到機房打遊戲。“為了能打遊戲,我學習了很多的黑客技術。”這就是這名望京黑客的故事開端,更是一名黑客“對抗”歷程的開始。

這一次,他要“對抗”的是破解的寂寞、“侷限的視野”以及開發人員的“人性”。

比如,針對XcodeGhost 病毒樣本的分析,他花了一天,這個影響1億人的重大安全事件背後,並不是發現者的“運氣爆棚”,因為針對這一類東西,他都會第一時間進行分析,每一個都沒有錯過,“總會碰上重大的東西”。

“你要有一顆耐得住寂寞的心,要深入,能夠在某一點上堅持做研究,不能浮躁。”蒸米覺得,自己還在“三級黑客”的通道上攀爬著,也沒達到這個點。

當然,這裡的“三級”跟一些演員沒什麼關係。在他眼中,初級黑客只能挖洞,不知道為何會有漏洞,如何利用漏洞;二級黑客懂得如何奪取控制權,不但知道為什麼這個漏洞會使系統崩潰,還知道如何利用這個漏洞來控制整套系統;三級黑客對系統非常熟悉,甚至比開發人員還要清楚系統如何運作,不但能發現漏洞、利用漏洞,還能夠發現新類型的漏洞,找到系統的缺陷。

蒸米覺得,太多人被侷限在了初級和二級黑客的視野中,登頂一覽眾山的黑客實在太少。

他對這種“侷限”有著強烈反抗,diss 一切停留在開始而不往上攀登的行為。

在實驗室裡,蒸米和他的搭檔小龍(化名)主要研究 iOS 和 macOS 的系統特點,不斷與蘋果的開發人員較量。

蒸米把這種工作稱之為一種“對抗”,“開發人員可能只追求效率和完成任務,但不考慮一些系統機制上的風險。”

“可是,你們的對手是蘋果的開發人員。”我強調了一次。蒸米毫不忌諱地說:“對,這樣才讓我們的工作有挑戰性。”

從我之前採訪一些黑客的經歷看,很少有人直接把“被研究對象和公司”擺在自己的對立面,因為“黑客”這一詞有時被太多負面標籤所束縛,如果不想給自己的研究職業造成阻礙,“幫助對方進行安全建設”是一種風險較小的說法——事實也是如此,有著正經安全研究工作和真正黑客精神的人從來不屑於做“真正對抗”的事情。

與蒸米特質相反的小龍立馬給他“找補”:“其實,也不能說是蘋果的開發人員是我們的對手,我們是幫助蘋果團隊。我覺得說跟人是對立面這個點,其實不是特別確切。準確地說,是跟人的常識的對立。”

同為 89 年生的小龍從清華博士畢業,與蒸米搭檔了半年,兩人一激烈一沉穩的性格形成鮮明對比。兩人正處在“甜蜜搭檔期”,還好他和小龍性格互補,不然就會“幹起來”,如此截然不同的兩個人倒是對“對抗人性與常識”認知一致。

小龍說:“程序畢竟是人寫的,每個人寫程序時,都有一些自己的理解和經驗,或多或少放進自己的一些習慣。我們要做的事情,就是找到人的習慣可能產生的問題。這種問題經常發生,以我們要對抗人的常識,用反方向思路攻破。把整個系統攻破只是一個結果,最主要目的,是希望能讓整個業界對我們所做的系統安全有更新的認知。”

比如,很多人協作寫一個系統,因為這個程序是這個人寫的,他對這個程序的感悟是這樣的,但他不會把所有感悟都交給下一個人,導致兩個人的思路完全錯開。這種時候,就會現安全漏洞。

我反問小龍和蒸米:“你們也要搭檔搞破解,你們的思路就一定完全對得上嗎?”

蒸米:“不能,我們也是人啊。”

“對,但這有一個問題,我們是做攻擊技術研究的,研究過程中,如果出問題了,只是導致攻擊失效。但是,如果開發人員溝通之間出了問題,就會導致這個系統出錯。我們只是讓攻擊失效,這一點無所謂。”小龍說。

3

蒸米和小龍最近在歐洲信息安全會議HACK IN THE BOX(HITB)完成了一個“小項目”:macOS 的兩個漏洞和利用機制,簡單來說,是在最新版的蘋果macOS上,利用一個普通用戶的權限拿到內核控制權,然後再操控整臺電腦。

這對他們而言不是什麼難事,但項目內外依然是“對抗”。

蘋果的開發人員最近給試圖挑戰的黑客提升了破解的門檻,比如,他們設計了內核地址隨機化,裡面很多值在開機時是隨機的。如果黑客試圖突破系統,猜錯一次值,系統會重啟崩潰。

這樣的難度相當於在茫茫大海里撈出一根針。開發人員在猜對手的能力:這樣你都能猜到?不太可能的。

蒸米和小龍則在對抗這種“隨機”,就像蝴蝶輕輕煽動一下翅膀,就可能引發一場暴風雨。一切看上去不確定的因素之間有沒有某種關聯,從而導致“隨機數”就是“隨機數”?

他們發現,有些東西可以反推出合格隨機數,這是漏洞之一。

再者,因為之前提到的開發人員為了提升效率,百密也有一疏:某些關鍵值沒有加鎖,第二個漏洞產生了。在正常情況下,一個函數執行沒有問題,但是,如果有多個線程同時執行某個函數,函數中一些共享的資源則可能出現問題。

就像兩個人都要喝這杯水,在正常情況下,蘋果要先加鎖,另一個人在前一個人已經申請拿到這杯水的同時不能碰這杯水。但是,蘋果忘了加鎖,導致兩個人同時在伸手拿水。

這就觸發了問題。

小龍說,這意味著黑客還能在用戶不知不覺的情況下,把他以為要拿到手裡的水替換成一杯毒藥。也就是說,黑客利用這兩個漏洞,不僅可以完全獲取macOS的內核控制權,調取隱私信息,還能植入惡意的應用。

項目內,是高手過招,關於系統安全的對抗。

項目外,則是博弈。這項成果是他們認為的“一個偉大的項目當中的一個階段性成果。”這兩個黑客手中,還有更多 iOS 的漏洞,蒸米和小龍並不想把這些漏洞都放出去。一則這些漏洞詳情一旦被披露,很多同一系列的、類型的洞就會被開發人員修復——他們並不在意一城一地的得失,但是“持久地博弈”才能讓自己像開發人員一般思考,甚至比開發人員更瞭解這個系統,這才是促進整個系統越來越安全的動力所在。

他們不滿足於僅僅做一個“提升安全”的黑客,他們的野心還要更大一些——也許是成為系統的設計師。

“萬變不離其宗。其實所有操作系統都差不多,如果我們能夠研究出一種安全機制,更好做一些系統防護,雖然在Windows、iOS、安卓上具體實現不一樣,但這個機制的本質是一樣的,如果它能在所有系統上都這麼用,對安全防護的幫助是很大的,並且對於系統的性能影響比較小。”蒸米說。

4

不是所有黑客可以登頂望京阿里中心 A 座 34 樓。

他們各自行路,一邊作伴,也都有負重。

小龍博士畢業後,從學術界轉向工業屆半年,顧不上看周圍人怎麼行走,還在奮力攀爬,不斷探究系統問題產生的根本原因是什麼——小龍認為,這種思路區別於著眼於漏洞,就只看到漏洞的角度,至少,對於他們上述的大計劃和系統設計師的夢想是有益的。

對阿里這個電商帝國而言,所有安全工作,甚至包括研究都要圍繞業務來做。這意味著,你看到的他們的研究成果也許只是其工作的三分之一,另外那些則要在龐大體系裡與不同團隊磨合。

無論是在阿里的安全人員,還是已經從阿里走出開始下一段精彩的安全從業者,都曾告訴我,能將安全與業務煉化得爐火純青的人少之又少,要達到這個程度一定會“備受折磨”,但成功者會感激那段獨特的“試煉”。

安全跟商業化之間,可能不是那麼容易轉換,蒸米還在“磨練”。

但外人不曾這麼想。

蒸米認為,自從挖人風氣大漲後,一些人“比著獅子大開口”,但能力卻沒有相應提升,好像一切都唾手可得一樣。還有一些以前頗有成就的“老人”停了下來,沒有跟上最新的研究。

在這種浮躁的氛圍中,他時不時“掐”自己一把,“你可千萬不能成為這樣的人,哪怕將來再有錢,再厲害,也不能忘記了要搞安全研究”。


分享到:


相關文章: