盤古越獄團隊談FBI事件!FBI vs Apple:FBI僥倖拿下這一局

1459649497-2257420_n  
(圖來自CNN)
最近受到國際媒體關注的消息就是FBI vs Apple事件,此事也造成很多方的誤解,甚至有些網友認為FBI真的沒人才,還只是正在演一齣戲?對於此次事件,專門研究iOS安全與越獄的盤古也跳出來進行分析iPhone破解背後所需要的漏洞與技術,藉由此次機會也讓蘋果發現存在iPhone5C上的漏洞,後續蘋果將會要求FBI公佈這些細節,修正還存在bootrom漏洞,接下來讓我們來看看FBI真的很僥倖拿下這一局勝利原因。


底下全文轉貼自盤古越獄團隊
最近鬧的沸沸揚揚的FBI vs Apple的事件,期間經歷了FBI在法庭上要求蘋果開發通用的破解鎖屏密碼的程序( 並非媒體所傳的後門 ),蘋果發布iOS 9.3,FBI要求查看iOS源代碼到最後蘋果威脅要在iCloud中用點對點加密代替現在的Master Key方案,最終該事件在前幾天塵埃落定。據傳言是在某個神秘選手的幫忙下,FBI終於解開了那台iPhone 5C手機。
最近的媒體傳聞都是說蘋果的鎖屏密碼多麼難破解, 神秘選手技術多麼厲害, 其實據我們分析, FBI這一次只是運氣好, 碰到的是一台iPhone 5C, 如果這台設備是iPhone 5S的話, 那麼很大可能還要通過法律手段。
蘋果的鎖屏密碼到底有多難破?為什麼說這一次說FBI是僥倖的?對於我們普通用戶來說又有什麼影響?請看盤古實驗室對蘋果數據加密機制以及鎖屏密碼保護機制的技術分析。

iOS上哪些數據做了加密?

1459650111-3212698496  
首先, iOS整個磁盤是全盤加密的,解密的EMF Key (file-system master encryption key)保存在閃存中1號扇區的可安全擦除區域(擦除後無法恢復,並且支持遠程擦除),該key對每台設備都是唯一,並且會在數據擦除時銷毀;其次,在磁盤之上的文件系統的內容也是加密的,在每個文件創建的時候會隨機生成針對每個文件的Per -File Key,通過這個Per-File Key對文件中的內容進行加密保護,並且蘋果又為此設計了Class Key來對Per-File Key進行保護。蘋果設計AF等各個不同的保護級別的Class Key,每個級別分別對應了密鑰生成和銷毀的時機,該級別可以通過數據保護的API來指定。默認設備上的信息,通訊錄,郵件等都指定了iOS數據保護功能,而常見的幾個級別分別是:

全面保護(Class A)
數據保護最為嚴格的級別,系統解鎖後才能夠解鎖解密的密鑰,並且在鎖定以後丟棄該密鑰。
未打開文件保護(Class B)
數據保護較為嚴格的級別,通過密鑰包中的Class Key進行協商生成公私鑰,文件一但解鎖後即使系統鎖屏仍然可以訪問,直到文件句柄被關閉。
首次認證前保護(Class C)
數據保護較為嚴格的級別,在系統啟動時第一次輸入密碼時解鎖解密的密鑰,並且在系統關閉時丟棄密鑰。
無數據保護(Class D)
沒有指定數據保護,但這不意味著文件沒有加密保護,對於沒有設置數據保護的其他所有文件,iOS中用一個DKey(Device Key)進行保護。該Key設備唯一,並且保存在閃存的可安全擦除區域。

從上述機制我們可以看出蘋果對iOS數據保護的整個設計框架是相當完善的,結合硬件並且通過多重保護機制來防止各種物理手段上對設備的數據破解。

解鎖密碼(Passcode)的作用

假設把每個文件的加密看作為上了一道鎖的話,那麼對應的開鎖的鑰匙就存放在系統密鑰包裡面,而鎖屏密碼除了防止用戶進入系統桌面之外,更重要的角色就是利用密碼對系統密鑰包進行額外的加密保護。很多人對鎖屏密碼理解的一個誤區,就是鎖屏密碼只是物理手段上防止進入手機的一個保護,但實際上,用戶在第一次設置鎖屏密碼的時候,鎖屏密碼會結合硬件加密引擎生成一個叫做Passcode Key的密鑰,通過這個密鑰對保存在密鑰包中的各個鑰匙(Class Key)進行加密保護。鎖屏密碼不會以其他加密的形式保存在設備上,用戶在解鎖的時候,會直接用輸入的密碼生成Passcode Key對密鑰包中的Class Key解密,解密失敗代表用戶密碼錯誤。

從蘋果的數據加密和鎖屏密碼的保護機制來看,直接拆除存儲芯片並對其進行文件讀寫操作是不可能的。

破解Passcode Key的手段

Passcode Key是用戶輸入的passcode結合系統硬件的加密引擎以及PBKDF2(Password-Based Key Derivation Function)算法生成的。PBKDF2的基本原理是通過一個偽隨機函數,把明文和一個鹽值及加密重複次數作為輸入參數,然後重複進行運算,並最終產生密鑰。重複運算的會使得暴力破解的成本變得很高,而硬件key及鹽值的添加基本上斷絕了通過“彩虹表”攻擊的可能

由於硬件加密引擎的Key無法提取,所以只能在目標的機器上運行暴力破解程序進行破解,假設用戶的密碼設置的足夠複雜的話,那麼破解的周期就會變得非常久。

在FBI這個案例中,由於嫌犯可能開啟了輸錯10次密碼自動擦除設備的選項,一旦暴力猜測程序連續10次輸入錯誤的密碼,設備上的所有內容就會擦除掉。一旦觸發數據擦除,蘋果會首先對可安全擦除區域進行擦除,物理方式上即使能夠恢復大部分加密數據,但是卻無法恢復可安全擦除區域中的數據,因為大部分的解密密鑰都保存在這個區域中,例如能夠解開系統密鑰包的二進制數據的BAG1 Key。

後續蘋果為了封堵各種暴力猜測Passcode的方法,在64位設備的Secure Enclave中增加了定時器,針對嘗試密碼的錯誤次數,增加嘗試的延時,即使斷電重啟也無法解決。




 

歷史上曾經出現過的破解方法

■ 早期的A4及更老的芯片(iPhone4之前的設備包括iPhone4)存在bootrom漏洞,通過bootrom中的硬件漏洞獲取設備的shell然後運行暴力破解程序。[A4後面的芯片目前沒有公開的bootrom漏洞] ■ iOS7中存在利用外接鍵盤可以暴力破解密碼,甚至停用的設備也可以破解的漏洞。[該漏洞已經在iOS8中修復] ■ iOS8的早期幾個版本中存在密碼嘗試失敗立即斷電並不會增加錯誤計數的漏洞。[該漏洞已經修復]

FBI是怎麼破解這台手機的?

FBI要想要破解的這台手機是一台iPhone 5C並且運行著iOS 9,從硬件的角度上來說這是一台32位的設備(沒有Secure Enclave),所以我們覺得相對可能的幾個方案是(第三種是可能性最高的):

■ 通過未公開的bootrom/iboot漏洞來獲得系統的權限,然後通過修補內核的方式去繞過軟件的錯誤計數來進行暴力破解密碼。
■ 使用未公開的暴力破解繞過錯誤計數的漏洞(類似曾經出現過的強制斷電繞過的漏洞)
■ 事先通過物理方式先對手機上閃存的數據進行克隆,由於32位系統不支持在Secure Enclave做硬件的計時和計數,可以通過類似USB外接鍵盤進行暴力猜測,每當猜測到9次左右的時候,再通過物理方式用克隆的數據對手機進行數據恢復,這樣就避免了數據被擦除的尷尬。
■ 通過攝像頭追終嫌疑人的生活軌跡並且分析,比如攝像頭剛好拍攝到嫌疑人在星巴克解鎖手機,那麼就可以通過圖片分析的手段來判斷用戶輸入的鎖屏密碼是什麼。

為什麼說FBI是幸運的?

如果這是一台64位的設備(擁有Secure Enclave),第三方即使擁有bootrom級別的漏洞都不可能對設備進行暴力破解, 除非在找到Secure Enclave的漏洞才有可能對設備進行暴力破解, 目前來看這種可能性微乎其微。這種情況下也許走司法程序是個更容易的方法。

那麼蘋果是否還有弱點?

從設備上的保護力度來看,蘋果做的這套保護架構在沒有類似bootrom漏洞之類的大殺器幾乎很難去破解,那麼是否有弱點?答案是肯定有的。
由於蘋果在新的系統上引入了Touch ID來作為一個快捷輸入passcode的方式,在設備已經輸入過正確的解鎖密碼的情況下,並且設備解鎖的時間在48小時之內,其實還是可以通過克隆指紋的方式對設備進行解鎖。
其次就是當用戶啟用了iCloud數據備份的情況下,蘋果在備份加密數據的同時,還對密鑰包使用非對稱密鑰加密的方式加密後保存在蘋果的iCloud服務器上,並且蘋果擁有Master Key進行解密。

作為普通用戶我應該怎麼做?

作為一個普通用戶來說,其實不用擔心太多。因為你的數據還沒敏感到蘋果會來審查,你更應該關心的是註冊Apple ID的郵件服務商是否足夠安全,Apple ID的密碼是否太簡單,記得開啟Apple ID兩步認證哦。
如果你自認是一個對數據保護有極高要求的用戶,那麼建議你不要打開iCl​​oud數據備份,不要設置指紋,鎖屏密碼最好不要設置數字的密碼。

 

★ 聲明:本文版權所有,非經瘋先生授權,不得轉載!如發現未經授權轉載至其它網站將採取相關處理流程。


【 如喜歡瘋先生教學歡迎加入粉絲團 】

你可能有興趣的文章