大家好~我是@史中,我的日常生活是開撩五湖四海的科技大牛,我會(huì)嘗試各種姿勢,把他們的無邊腦洞和溫情故事講給你聽。如果你特別想聽到誰的故事,不妨加微信(微信號(hào):shizhongst)告訴我,反正我也不一定撩得到。
不想走丟的話,你也可以關(guān)注我的自媒體公眾號(hào)“淺黑科技”。
? ? ? ? ? ? ? ? ? ? ? ? ? ? -------正文分割線-------
黑客李偉:我所見證的移動(dòng)安全歷史
文 | 史中
得以見證一個(gè)行業(yè)破土而出,從孱弱到璀璨,是職業(yè)生涯的某種幸運(yùn)。這也許會(huì)成為值得珍藏的回憶標(biāo)本。
李偉就是這樣一名移動(dòng)安全的老兵。在移動(dòng)安全這個(gè)概念誕生之前的1998年,他正坐在摩托羅拉的辦公室里,為尋呼機(jī)的系統(tǒng)開發(fā)核心組件。現(xiàn)在回想起來,中國的移動(dòng)科技爆發(fā),似天水蕩平川,正是始于哪些人們腰間的“小黑盒”。就這樣,他和中國最早的移動(dòng)設(shè)備,以及現(xiàn)在已經(jīng)到了知天命之年的第一批移動(dòng)通信用戶聯(lián)系在了一起。
在李偉眼中,這段將近20年的歷史,和自己最為蓬勃的歲月緊密相連,有一種別樣的溫情。
摩托羅拉、塞班,移動(dòng)安全的洪荒時(shí)代
大學(xué)畢業(yè)后做了三年 Windows 應(yīng)用開發(fā)的李偉覺得,Windows 的系統(tǒng)變得越來越龐大,甚至有些公式化。就在這個(gè)時(shí)候,嵌入式系統(tǒng)獨(dú)特的技術(shù)美感吸引了他。偶然的機(jī)會(huì),他看到了如日中天的摩托羅拉尋呼機(jī)業(yè)務(wù)正在招賢納士,從此開始了移動(dòng)設(shè)備的職業(yè)生涯。
當(dāng)時(shí)好一點(diǎn)的尋呼機(jī)要2000多塊錢,很貴。但我們辦公室每個(gè)人的抽屜一拉開,滿滿全是各種尋呼機(jī)。
李偉饒有興趣地回憶。
一部尋呼機(jī)的系統(tǒng)固然簡單,但是卻有著著豐富的技術(shù)細(xì)節(jié)。李偉舉例,尋呼臺(tái)的基站是以廣播的形式對外發(fā)送信號(hào)。所有的尋呼機(jī)都可以收到,但是必須只有一部尋呼機(jī)能解釋出這個(gè)信號(hào),這其中涉及到的號(hào)碼識(shí)別和尋呼協(xié)議技術(shù)正是他參與研發(fā)的。
然而,隨著世紀(jì)之交臨近,短暫霸占人們生活的尋呼機(jī)迅速被手機(jī)拉下神壇。李偉也順理成章地成為中國第一批手機(jī)的開發(fā)專家。縱然從界面和易用性來講,彼時(shí)的手機(jī)可以用簡陋來形容。但即使如此,安全技術(shù)也是必不可少的。
當(dāng)時(shí)的環(huán)境下,并沒有漏洞和利用漏洞提權(quán)的安全概念。因?yàn)槭謾C(jī)系統(tǒng)是特殊的資源,需要對手機(jī)設(shè)計(jì)完全不同于 PC 的一整套權(quán)限訪問模式,來限制惡意資源訪問。比如“drm”,就是一種限制資源訪問次數(shù)和轉(zhuǎn)發(fā)的系統(tǒng)。而且,在當(dāng)時(shí)我們也設(shè)計(jì)了硬件層、驅(qū)動(dòng)層、應(yīng)用層的防護(hù)系統(tǒng),以防止任何一個(gè)層次可能出現(xiàn)的漏洞。
李偉告訴史中,這是他最早涉及到的安全項(xiàng)目。
然而,他隱隱感到一種不安,因?yàn)樵谒南胂笾校徊渴謾C(jī)應(yīng)該搭載復(fù)雜一些的操作系統(tǒng)。這個(gè)想法最終促使他在2005年加入了后來名聲大噪的塞班(Sybian)。
彼時(shí)塞班還沒有被諾基亞收購,他作為這個(gè)智能系統(tǒng)在中國的第一個(gè)工程師,負(fù)責(zé)塞班對整個(gè)中國市場開發(fā)者的技術(shù)輔導(dǎo)和對接。
因?yàn)槲矣泻芏嘁苿?dòng)設(shè)備嵌入式開發(fā)經(jīng)驗(yàn),所以對于手機(jī)系統(tǒng)的底層邏輯非常熟悉。越是到系統(tǒng)底層,各個(gè)系統(tǒng)的邏輯相似度越高,在內(nèi)核層,塞班、Android、iOS 的邏輯都是非常類似的。而和系統(tǒng)底層相關(guān)的應(yīng)用,只有安全這一個(gè)類別。
李偉如此解釋自己走上移動(dòng)安全道路的原因。也正是在這個(gè)時(shí)候,移動(dòng)系統(tǒng)的安全問題真正開始浮現(xiàn)。
在當(dāng)時(shí),手機(jī)病毒雖然是稀有物種,但是對于手機(jī)系統(tǒng)商和軟件開發(fā)商來說,已經(jīng)成為不容忽視的問題。開發(fā)反病毒軟件的團(tuán)隊(duì)們,也成為了李偉辦公室的常客。例如后來名噪一時(shí)的網(wǎng)秦,例如一個(gè)名為“信安易”的手機(jī)殺毒軟件,后來成為了360手機(jī)衛(wèi)士。
中國第一批 Root 安卓的人
2010年,3Q大戰(zhàn)爆發(fā)。現(xiàn)在看來,這場商業(yè)史上的經(jīng)典戰(zhàn)爭成為了中國移動(dòng)安全技術(shù)軍備競賽的元年。那一年,帶著摩托羅拉和塞班系統(tǒng)這兩個(gè)移動(dòng)通信史上最大的光環(huán),李偉已經(jīng)成為了中國當(dāng)時(shí)為數(shù)不多炙手可熱的手機(jī)安全專家。
準(zhǔn)備火力全開的騰訊向他伸出了橄欖枝,李偉就此組建移動(dòng)安全實(shí)驗(yàn)室。
“安卓底層的對抗,簡單說就是注入和反注入的能力對抗。當(dāng)時(shí)騰訊在這方面的能力比較弱,我可以說是臨危受命。”李偉回憶道。實(shí)際上,回看當(dāng)時(shí)的手機(jī)江湖,Android 只有一歲,用李偉的話說,不僅是騰訊,所有人對于 Android 的安全構(gòu)架,“都處在一個(gè)朦朧的狀態(tài)”。
為了對抗病毒和惡意軟件,李偉必須找到一種技術(shù),從應(yīng)用層一直打通內(nèi)核層拿到系統(tǒng)的底層權(quán)限。這其中的核心技術(shù),就是我們現(xiàn)在熟知的 Root。只是在當(dāng)時(shí),這個(gè)詞還未被發(fā)明。
2011年初,李偉憑借經(jīng)驗(yàn)斷定,這種能“突破系統(tǒng)結(jié)構(gòu)的技術(shù)”是存在的。而且,另一件事佐證了他的判斷。
LBE 的張勇是我的朋友,他是國內(nèi)第一個(gè)做出 Android Root 的人, 他既然做出來了,我就相信這件事肯定可以做。
當(dāng)年6月,李偉帶著兩個(gè)兄弟,開始了“底層權(quán)限控制技術(shù)”的研究。這項(xiàng)技術(shù)的難度在于,不僅要求研究者掌握 Android 的底層邏輯,還要對上層的服務(wù)層和框架層有深刻的理解。對于李偉來說,他仍然需要從零開始補(bǔ)足 Android 系統(tǒng)的上層邏輯。那段時(shí)間,每天工作到夜里兩三點(diǎn),是他的常態(tài)。
雖然現(xiàn)在對于 Android 系統(tǒng)的 Root 技術(shù),可以在網(wǎng)絡(luò)上找到現(xiàn)成的開源技術(shù)和架構(gòu)。但是當(dāng)年在沒有任何參考的情況下,能把 Root 搞出來,還是很有難度的。
李偉說。
兩個(gè)月之后,實(shí)驗(yàn)室成功地向騰訊交付了這個(gè)“底層權(quán)限控制技術(shù)”。他不無驕傲地回憶,這個(gè)技術(shù)“領(lǐng)先了對手半年時(shí)間”。
這位中國第一批 Root Android 系統(tǒng)的大牛,并沒有對我過多回憶其中的困難。但從零開始構(gòu)建 Root 的世界觀,可以想見他使出了怎樣的“洪荒之力”。
病毒戰(zhàn)爭
在完成了 Root 技術(shù)開發(fā)之后,移動(dòng)安全實(shí)驗(yàn)室接到了新的任務(wù),那就是提高手機(jī)管家對于手機(jī)病毒的查殺能力。
“Android 是一個(gè)新平臺(tái),當(dāng)時(shí)惡意軟件爆發(fā),所有業(yè)界的殺軟查殺率都不好。業(yè)界急需一個(gè)有病毒捕捉能力的體系。”他說。
病毒往往隱藏在 App 中進(jìn)行傳播。而業(yè)界普遍認(rèn)為,一個(gè)對于 App 的自動(dòng)分析處理系統(tǒng)是最好的解決方案。但是,李偉對當(dāng)時(shí)騰訊采用的分析系統(tǒng)構(gòu)架并不滿意,他決定操刀做一些改進(jìn),從而提高病毒識(shí)別的準(zhǔn)確率。
想要分辨出病毒的難點(diǎn)在于,你必須知道一個(gè) App 到底有哪些惡意行為。
例如讀取電話本、上傳資料。這兩個(gè)動(dòng)作本身沒問題,但是如果一個(gè)程序先讀了你的電話本,然后把它上傳到服務(wù)器,這個(gè)動(dòng)作就很可疑。
然而難點(diǎn)也正在這里,單獨(dú)判斷程序讀電話本和上傳資料都很簡單,但是把這兩個(gè)動(dòng)作的邏輯關(guān)系識(shí)別出來,就有很大的難度,需要分析程序的執(zhí)行流程,或者說需要虛擬執(zhí)行。
李偉設(shè)計(jì)的系統(tǒng),簡單來說就是用盡可能準(zhǔn)確的諸多行為模型對大量的 App 進(jìn)行篩查。在2011年的時(shí)候,這個(gè)系統(tǒng)一天會(huì)篩查幾萬個(gè)文件。而為了保證準(zhǔn)確性和改進(jìn)系統(tǒng),還會(huì)有大量的人工復(fù)檢。“大概每個(gè)人每天要審計(jì)好幾百個(gè) App 的代碼”,李偉回憶。
讓李偉欣慰的是,這些辛苦沒有白付,優(yōu)化了一年之后,在2012年騰訊的手機(jī)病毒檢測能力終于到了國內(nèi)領(lǐng)先的水平,而且在一次國際測評(píng)中拿到了滿分的成績。
除此之外,李偉對于初期殺毒引擎的設(shè)計(jì)一直不滿意。用他的話說,設(shè)計(jì)的“有點(diǎn)糙”。
例如一個(gè)游戲的安裝包可能達(dá)到80M,在手機(jī)上的殺毒引擎就會(huì)把這80M的文件全部放到內(nèi)存中,再進(jìn)行檢測。這種處理方法會(huì)占用很多內(nèi)存,而且檢測的時(shí)間很長。
我們設(shè)計(jì)了一種方法,向系統(tǒng)申請很小片的內(nèi)存用于病毒掃描。一個(gè)80M 的 APK 安裝包里,很可能真正的代碼只有 4M,其他的都是資源和圖片。這種情況下,只需要把可能包含惡意程序的代碼部分放到內(nèi)存里檢測就可以完全實(shí)現(xiàn)病毒查殺。
這個(gè)原理聽上去很簡單,對于實(shí)驗(yàn)室的技術(shù)水平來說,實(shí)現(xiàn)起來也并不復(fù)雜。事實(shí)證明,他們用這種技術(shù),實(shí)現(xiàn)了殺毒速度十倍的提升。團(tuán)隊(duì)發(fā)現(xiàn),他們發(fā)明的這項(xiàng)技術(shù)已經(jīng)走在了病毒查殺的前列,所以還專門申請了專利。“這導(dǎo)致競爭對手必須采用其他的技術(shù)路線。”李偉說。
深夜追兇
雖然整個(gè)中國的手機(jī)殺毒軟件技術(shù)在飛速進(jìn)步,但是在利益的驅(qū)使下,惡意軟件的蓬勃之勢絲毫沒有減弱。李偉講述了在2012年,他遇到的最為奇葩,最為忍無可忍的惡意軟件。
病毒檢測系統(tǒng)捕捉到了一個(gè)惡意程序,我們照例對它進(jìn)行人工篩查。我們發(fā)現(xiàn)這個(gè)病毒會(huì)在微信等流行的程序上面覆蓋一層窗口,惡意推廣它的廣告,誘導(dǎo)用戶下載其他 App。可惡的是,它還會(huì)有一些交互的按鈕,給用戶的感覺就像是微信在推送這些廣告一樣。更可惡的是,它還會(huì)根據(jù)入侵的 App 不同,改變按鈕的風(fēng)格,讓用戶覺得渾然一體。
做了很多年反病毒工作的李偉覺得忍無可忍,黑客居然躺到了自家微信的門口“為非作歹”。更可怕的是,通過利用 Android 的系統(tǒng)權(quán)限,這個(gè)病毒可以獲取很多用戶的隱私信息。
李偉和團(tuán)隊(duì)經(jīng)過分析惡意軟件的代碼,發(fā)現(xiàn)了它用于控制和回連的服務(wù)器地址。而經(jīng)過公開資料的查詢,居然很容易就定位到了病毒作者的真實(shí)姓名和地址。和上層溝通之后,騰訊決定報(bào)警。
從發(fā)現(xiàn)病毒,到分析研究,定位犯罪分子,到報(bào)案出警,所有的事情都發(fā)生在一天之內(nèi)。我記得當(dāng)天深夜,公安需要團(tuán)隊(duì)出人連夜去江蘇配合辦案,我們團(tuán)隊(duì)的人有很多都沒有把身份證帶在身上。好在有帶了身份證的同事,都沒有來得及回家,就直接買票去了江蘇。當(dāng)天就把犯罪分子緝拿歸案了。
現(xiàn)在想起這個(gè)“深夜追兇”的故事,李偉仍然難掩內(nèi)心的波瀾。對于大部分的病毒,殺毒軟件只能做到攔截和查殺,但是像這次一樣斬草除根的行動(dòng)并不多。對于他來說,做手機(jī)安全十多年,眼前的場景讓他堅(jiān)信了自己工作的價(jià)值。
保衛(wèi) App
2013年,李偉注意到了一個(gè)特別的趨勢,那就是很多病毒不再把注意力集中在 Android 系統(tǒng)之上,而是直接“搞 App ”。有了這個(gè)想法之后,李偉開始研發(fā)一套監(jiān)測 App 漏洞的系統(tǒng),并且本能地對自家的微信等 App 進(jìn)行測試。這一查不要緊,他確實(shí)發(fā)現(xiàn)了自家產(chǎn)品存在很多問題,這讓團(tuán)隊(duì)驚出一身冷汗,緊急對微信等核心產(chǎn)品做了修補(bǔ)。
于是李偉注意到,“應(yīng)用安全”很可能是未來一個(gè)非常重要的安全方向。于是他把移動(dòng)安全實(shí)驗(yàn)室的工作重心放到了“應(yīng)用漏洞”的研究上。
相比攻擊 Android 系統(tǒng),攻擊 App 的成本很低。而且 App 和用戶最近,里面有很多個(gè)人的信息。這些都是黑產(chǎn)最為關(guān)心的。通過入侵 App 拿到個(gè)人通訊錄或者關(guān)系鏈,比入侵系統(tǒng)之后再拿這些數(shù)據(jù)要簡單得多。
李偉說。
對于一個(gè) App 來說,最常見的漏洞有以下幾種情況:
1、很多 App 中會(huì)使用 Webview 內(nèi)嵌瀏覽器,如果安全機(jī)制做得不夠,這里就有可能成為攻擊入口。用戶通過 Webview 打開一個(gè)惡意url,就會(huì)執(zhí)行遠(yuǎn)程攻擊代碼。
2、一些 App 也可能通過自身的協(xié)議聯(lián)網(wǎng)。在這種情況下,黑客可以通過“中間人攻擊”或者“偽造服務(wù)器”的方法,向客戶端發(fā)送惡意代碼。
3、在 Android 系統(tǒng)中存在一個(gè) App 之間的相互調(diào)用機(jī)制。如果調(diào)用接口安全性不高的話,App 1 就可以利用 App2 執(zhí)行一些惡意代碼,從而竊取 App 內(nèi)的隱私信息。
通俗來說,如果一個(gè)聊天 App 被攻擊,那么很可能受害者掃一下二維碼,就被盜取了他的通訊錄和關(guān)系鏈,而如果漏洞厲害的話(這樣的漏洞也屢次被發(fā)現(xiàn)),是可能跨 App 攻擊的。
他說,從某種程度上來說,找到 App 的漏洞比找到操作系統(tǒng)漏洞更難,因?yàn)楣粜枰肟冢?App 對外開放的接口,遠(yuǎn)沒有操作系統(tǒng)對外開放的接口那么多。他說:
App漏洞利用和系統(tǒng)漏洞利用不同。
系統(tǒng)的使用者是 App, App 可能調(diào)用所有的系統(tǒng)接口。
而 App 的使用者是人,人一般只會(huì)使用有限的幾個(gè)接口,例如:網(wǎng)絡(luò)訪問、語音、掃碼、信息鍵入。
所以我們只能通過這些接口做文章。
李偉的 App 漏洞挖掘思路,在某種程度上和騰訊的另一位大牛,研究系統(tǒng)漏洞的吳石有些相似。
這種輸入特定數(shù)據(jù)的方法,本質(zhì)上是虛擬執(zhí)行。我們必須從這些接口輸入特定的數(shù)據(jù),造成 App 的運(yùn)行錯(cuò)誤,從而發(fā)現(xiàn)和利用漏洞。
數(shù)據(jù)輸入動(dòng)作很大程度上是自動(dòng)化的。我們根據(jù)經(jīng)驗(yàn)發(fā)現(xiàn) App 的薄弱環(huán)節(jié),然后利用自動(dòng)化的工具生成一些極端的數(shù)據(jù),以此來觀察 App 的不同反應(yīng)。
隱形的對手
App 漏洞研究是一件苦差事,因?yàn)?App 在大多數(shù)情況下并不是標(biāo)準(zhǔn)化的。對于研究者而言,雖然經(jīng)驗(yàn)可以復(fù)用,但對于不同的 App 都要分別開展研究。而且,由于 App 安全受國家和用戶群的限制,并沒有系統(tǒng)漏洞受關(guān)注。但是李偉覺得移動(dòng)安全實(shí)驗(yàn)室的工作意義非凡。
我們對市面上 Top 200 和用戶量較大的 App 都會(huì)進(jìn)行研究。從13年到今天,總共發(fā)現(xiàn)了100多個(gè)高危漏洞,這些漏洞覆蓋了10億用戶。
理論上來說,對于 App 的漏洞利用非常隱蔽。如果已經(jīng)有黑產(chǎn)竊取了某些 App 的用戶資料,也只會(huì)在竊取的當(dāng)時(shí)產(chǎn)生流量,不會(huì)留下數(shù)據(jù)包等證據(jù)。李偉告訴雷鋒網(wǎng),在行業(yè)中對于某 App 的用戶信息究竟有沒有遭到竊取,很難產(chǎn)生官方的統(tǒng)計(jì)。所以李偉和團(tuán)隊(duì)的對手其實(shí)是“隱形”的。他們的所有努力,都是以想象中的敵人為對手,在對手發(fā)現(xiàn)并且利用漏洞之前先行封堵。如果以每個(gè)高危漏洞攻擊一個(gè)用戶算來,他們已經(jīng)阻止了潛在的1000億次進(jìn)攻。
雖然對手從不露面,但是李偉不敢有絲毫懈怠。某種意義上來說,他更像名將蒙恬,卻匈奴七百里,筑長城而守藩籬。
正是因?yàn)檫@片戰(zhàn)場上駐守著諸多如李偉一樣的百戰(zhàn)名將,才使方寸之間的虛擬世界運(yùn)行如常。
再自我介紹一下吧。我是 ?史中,是一個(gè)傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以關(guān)注微博:史中方槍槍,或者加我微信:shizhongst。
不想走丟的話,你也可以關(guān)注我的自媒體公眾號(hào)“淺黑科技”。