FBI和蘋果的撕逼大戲可謂高 潮不斷,如今FBI已經(jīng)斥資請入第三方破 解了該犯罪qiang手的iPhone 5c,,由此又帶來一系列問題:iPhone到底安不安全,?執(zhí)法部門是否應(yīng)該公布破 解方法? 不妨往另一個(gè)方向思考,。如果qiang手用的是Android手機(jī)呢,?鑒于Android仍是智能手機(jī)市場的另一大陣營,使用Android系統(tǒng)的公司也更多,,我們做了一個(gè)實(shí)驗(yàn),,把FBI的方法原封不動地用來測試Android系統(tǒng)的安全性能與破 解難度。 我知道你可能看不下去太技術(shù)向的東西,,所以先把結(jié)論放上來: 1,、總的來說,安裝了iOS和Android最新版本的設(shè)備對離線攻擊的抵御能力是類似的,,前提是廠商和用戶對設(shè)備做了正確的配置,。老舊版本的系統(tǒng)可能稍微脆弱一點(diǎn),不用十秒就能被破 解了,。此外,,系統(tǒng)配置和軟件缺陷也會降低兩大陣營手機(jī)的安全性。 2,、不過,,在線上攻擊方面,我們找出了一些差別,,這是由用戶和遠(yuǎn)程管理配置兩方面原因帶來的,。一開始,Android的默認(rèn)設(shè)置對線上攻擊的抵御力更強(qiáng),,但我們用于測試的Nexus 4卻不允許用戶設(shè)置鎖屏密碼的最大輸入次數(shù)(其他設(shè)備可能有所差異),。iOS設(shè)備的安全功能更全面,但用戶必須事先手動開啟這些功能,。 3,、遠(yuǎn)程控制軟件也可能降低Android系統(tǒng)的安全性,這取決于具體的軟件,。此前,,F(xiàn)BI嘗試重設(shè)iPhone 5c的密碼以失敗告終,然而我們這次實(shí)驗(yàn)里卻用這種方法破 解了Android系統(tǒng),。 給小白的背景科普 在智能手機(jī)上進(jìn)行數(shù)據(jù)加密會產(chǎn)生一串密鑰,,這是手機(jī)結(jié)合用戶的解鎖密碼(一般是四位或六位密碼)和專屬該設(shè)備的一長串復(fù)雜數(shù)字生成的。攻擊者可以選擇直接破 解這串密鑰,,或者分別破 解解鎖密碼和設(shè)備編號以及它們的組合,??傊谱g這串密鑰一點(diǎn)也不輕松,,但有時(shí)候,,從加密手機(jī)里獲取數(shù)據(jù)根本就不需要破 解它的密碼,。 你可以嘗試在目標(biāo)手機(jī)里安裝一個(gè)定制的應(yīng)用程序來提取信息,。2011年3月,谷歌就實(shí)現(xiàn)了遠(yuǎn)程安裝程序,,清理被流氓軟件感染的手機(jī),,不知道現(xiàn)在的Android系統(tǒng)是否還允許這一功能。 許多應(yīng)用會用到Android的備份API,。因此,,手機(jī)上安裝的應(yīng)用只要備份了數(shù)據(jù),就能夠直接從備份的站點(diǎn)上讀取,。如果目標(biāo)數(shù)據(jù)存儲在可移動的SD卡上,,那么SD卡是可以加密的。但是,,目前只有最新版本的Android系統(tǒng)允許用戶加密SD卡,,也不是所有應(yīng)用會把數(shù)據(jù)在SD卡上進(jìn)行加密。 一些手機(jī)有指紋識別器,,這種時(shí)候拿一張手機(jī)主人的指紋照片就行了,。 另一些手機(jī)還修改了操作系統(tǒng),讓用戶能夠在正常操作之外讀取設(shè)備數(shù)據(jù),,這可能削弱安全性,。 如果以上方法都不奏效,那只好硬碰硬破譯密碼了,。 “強(qiáng)力”攻擊 在所謂的“強(qiáng)力”(brute force)攻擊中,,攻擊者能夠把所有可能的密碼組合都試一遍,直到試到正確的組合,,強(qiáng)行破 解手機(jī),。 “強(qiáng)力”攻擊主要分為兩種,離線的和線上的,。在一些情況下,,離線攻擊更簡單,只需把數(shù)據(jù)從設(shè)備上復(fù)制下來,,存到更強(qiáng)大的電腦上,,然后用一些專用的軟件或其他技術(shù)來嘗試所有的密碼組合。但是,,因?yàn)檫@種方法太認(rèn)死理,,要不就是嘗試所有的加密密鑰,,要不就是分別找出用戶的密碼和設(shè)備號。 安卓機(jī)上生成加密密鑰的簡要機(jī)理 舉個(gè)栗子,,如果要強(qiáng)力破 解一串標(biāo)準(zhǔn)的128位AES密鑰,,你得嘗試的密碼共有一千萬的十次冪個(gè)(10的38次方)。就算你用超級計(jì)算機(jī),,也得花上億萬年才能破 解出來,。 相對來說,猜密碼可能稍快一點(diǎn):六位數(shù)字的PIN也就一百萬種組合而已,。如果密碼里還包括字母和特殊符號,,也不過是幾千億種組合嘛。但是別忘了,,后面還跟著一串不比密鑰簡單的設(shè)備號,。 線上攻擊是指直接攻擊手機(jī)。因?yàn)樵O(shè)備號能夠直接從OS中讀取,,這種方法需要嘗試的密鑰組合遠(yuǎn)比前一種要少,。但是,用戶能夠設(shè)定手機(jī)來防御這類線上攻擊,,比如在錯(cuò)誤的密碼輸入之后設(shè)置延時(shí),,這樣就延長了破 解所需的時(shí)間,甚至設(shè)定在輸入錯(cuò)誤多少次之后直接刪除數(shù)據(jù),。蘋果的iOS系統(tǒng)就有以上功能,,能夠在密碼輸入錯(cuò)誤后自動加入延時(shí),用戶也能自己設(shè)置在密碼輸入錯(cuò)誤十次后抹除設(shè)備數(shù)據(jù),。 實(shí)驗(yàn)開始 不同手機(jī)廠商會對自家的Android設(shè)備進(jìn)行不同的配置,。鑒于Nexus用的是谷歌的標(biāo)準(zhǔn)配置,我們這次就用了一臺裝有Android 5.1.1,、允許全盤加密的Nexus 4來進(jìn)行試驗(yàn),。 實(shí)驗(yàn)前,我們讓手機(jī)處于鎖屏狀態(tài),。Android允許使用PIN,、密碼和手勢密碼,本實(shí)驗(yàn)對三種方式都做了嘗試,。我們手動設(shè)置了手機(jī)的密碼,,但解密過程是隨機(jī)進(jìn)行嘗試的。 首先,,在五次密碼輸入錯(cuò)誤后,,Android在下一次輸入密碼前加入了三十秒的延遲。跟iPhone不同的是,Android的延遲時(shí)間不會隨著失敗次數(shù)的增加而延長,。在四十次嘗試之后,,我們發(fā)現(xiàn)每輸入五次錯(cuò)誤才會出現(xiàn)一次三十秒的延時(shí)。手機(jī)會記錄密碼連續(xù)輸入的次數(shù),,但也的確刪除了數(shù)據(jù)(或許其他廠商的Android手機(jī)會采取跟iOS類似的加長延時(shí)方式,。) 有了這些延時(shí),強(qiáng)力破 解六位PIN(也就是一百萬種組合)所需的時(shí)間得以延長,,但最糟糕的情況下也不過是多了69天,。如果密碼是六位字母,那么即使只用小寫字母,,這些延長的時(shí)間加起來可長達(dá)58年,。 輸入密碼錯(cuò)誤十次后,,手機(jī)顯示需要重啟,。輸入錯(cuò)誤二十次、重啟了兩次后,,Android系統(tǒng)開始計(jì)算錯(cuò)誤次數(shù),,到達(dá)一定次數(shù)會觸發(fā)設(shè)備抹除數(shù)據(jù)。攻擊繼續(xù)進(jìn)行下去,,到了第30次,,設(shè)備抹除了所有數(shù)據(jù),恢復(fù)了出廠設(shè)置,。 在離線攻擊情況下,,Android和iOS并無多大差異,但到了線上攻擊差異就顯著了,。在iOS系統(tǒng)中,,一旦達(dá)到了特定次數(shù)的密碼輸入錯(cuò)誤,鎖屏和啟動過程都能抹除用戶數(shù)據(jù),,但用戶必須事先開啟該功能,。在Android系統(tǒng)中,密碼輸入錯(cuò)誤達(dá)到特定次數(shù)后,,只有啟動過程會刪除用戶數(shù)據(jù),。然而,我們此次用到的Nexus 4并不能設(shè)置鎖屏密碼錯(cuò)誤的限制次數(shù),。盡管如此,,Android和iOS都能開啟遠(yuǎn)程管理,這樣就都能在錯(cuò)誤達(dá)到一定次數(shù)后刪除數(shù)據(jù),。 還能開掛,? FBI和蘋果的案子里涉及的iPhone 5c的主人實(shí)為其中一名qiang手的雇主,上面裝有移動設(shè)備管理(MDM)軟件,讓公司跟蹤手機(jī)并遠(yuǎn)程實(shí)現(xiàn)其他功能,。在Android手機(jī)上,,這樣的MDM應(yīng)用往往作為“設(shè)備管理員”安裝在設(shè)備上,在iOS系統(tǒng)中則要用管理工具Apple Configurator來進(jìn)行設(shè)置,。 我們用來測試的MDM成功地重設(shè)了密碼,,然后用新的密鑰派生函數(shù)來生成了新的密鑰 我們給這次實(shí)驗(yàn)的Nexus 4開發(fā)了自己的MDM應(yīng)用,經(jīng)檢驗(yàn)?zāi)軌蛱^用戶來重設(shè)密碼,,我們便能直接用新密碼來解鎖手機(jī),。要遠(yuǎn)程實(shí)現(xiàn)這點(diǎn),手機(jī)必須開機(jī)并連接網(wǎng)絡(luò),,MDM程序也必須設(shè)置成允許通過MDM服務(wù)器遠(yuǎn)程控制重設(shè)密碼,。 如果攻擊者想要得到廠商或軟件公司的幫忙來進(jìn)行破 解,Android陣營的情況比iOS更為復(fù)雜,。一般來說,,操作系統(tǒng)軟件都有一個(gè)專屬的數(shù)字碼,只有擁有正確數(shù)字碼的公司能夠?qū)Σ僮飨到y(tǒng)進(jìn)行升級,,這就可能給攻擊者留下了乘機(jī)而入的“后門”,。對于iOS系統(tǒng),管好蘋果公司就可以了,,但生產(chǎn)銷售Android手機(jī)的公司可謂浩如煙海,。 谷歌是Android操作系統(tǒng)的主要開發(fā)者,也為其推出的旗艦手機(jī)Nexus背書,。三星為三星手機(jī)背書,。一些手機(jī)運(yùn)營商也可能參與其中。另外,,許多用戶用的是Android的定制版本,,開發(fā)不同版本軟件的這些公司都值得FBI發(fā)愁。 雖然坊間已在謠傳各種破 解iPhone的方法,,但蘋果方面也宣稱,,一旦破 解方法泄露便能反過來對漏洞進(jìn)行“反破 解”,進(jìn)一步加密iOS系統(tǒng),,且看FBI花的一百萬美金能夠支撐多久,。 |
|