輕巧破解iPhone 5和5c的密碼
蘋果于2012年9月發布了iPhone5,搭載iOS 6.0;當前可用于此設備的iOS最新版本是iOS:10.3.4。
2013年9月,Apple發行了兩款iPhone: iPhone 5s,這是首次配備硬件安全協處理器(Secure Enclave)和指紋讀取器,以及iPhone 5c。隨著iPhone 5c的發布,蘋果試圖進入廉價手機市場引起了爭議。但是,由于價格合理且受到移動運營商的廣泛接受,這款2013年型號已成為美國運營商銷售的最受歡迎的廉價手機之一。
iPhone 5c成為蘋果生產的最后一款32位iPhone,iPhone 5c最初是使用iOS 7.0發行的,這款手機最新的iOS版本是iOS 10.3.3。
iPhone 5c在2015年12月圣貝納迪諾恐怖槍擊事件后聲名鵲起,該事件演變為一場激烈的聯邦調查局和蘋果公司之間的加密事件。在這場糾紛中,美國聯邦調查局(FBI)希望蘋果公司創建一種軟件,并通過電子簽名來解鎖FBI從一名槍手那里獲得的由FBI提供的iPhone 5C。iPhone 5c被完好無損地找回,但被一個四位密碼鎖住了,并被設定在密碼嘗試10次失敗后刪除數據(這是蘋果智能手機上常見的防盜措施)。蘋果拒絕使用后門解鎖,聽證會定于3月22日舉行。然而,就在聽證會開始的前一天,政府推遲了聽證會,稱他們找到了第三方,能夠幫助解鎖iPhone。3月28日,政府宣布FBI已經解鎖了iPhone,并撤回了其請求。最終發現,這部手機沒有透露任何有關陰謀的信息。
聯邦調查局究竟是如何獲得正確密碼的,承包商是誰,為這項服務支付了多少錢,這些都還沒有正式公布。一些新聞媒體援引匿名消息來源的話說,第三方是以色列公司Cellebrite。然而,《華盛頓郵報》報道,據匿名的“知情人士”稱,FBI雇傭了“專業黑客”,這些黑客利用iPhone軟件的零日漏洞,繞過了10次嘗試的限制,根本就沒有用到Cellebrite的幫助。FBI局長詹姆斯·科米表示,該工具或服務花費了130多萬美元。由于Cellebrite和匿名的“專業黑客”都不能公開對此事發表評論,目前仍不清楚是誰干的。基于模糊表述的評論,人們可能傾向于相信Cellebrite是最初的承包商。
目前,ElcomSoft 公司(成立于1990年,是國際領先的數字取證工具開發公司)發布了一個只使用軟件即可破解密碼的方案,其成本僅略高于據稱FBI為破解iPhone而支付的工具費用的0.1%。Elcomsoft iOS法醫工具包可以強力破解iPhone 5/5c的鎖屏密碼,使調查人員能夠解鎖密碼未知的iPhone設備。
說到密碼破解,我們必須提到Sergei Skorobogatov的工作。據悉,Sergei Skorobogatov將NAND內存芯片從iPhone手機的電路板上取出,提取出相關數據在另一臺設備上對目標手機的PIN密碼進行反復嘗試,從而繞過了目標iPhone手機關于輸入十次不正確密碼就會將手機鎖死的安全防范策略。Sergei Skorobogatov發現,通過成本低廉的硬件設備,攻擊者完全可以在24小時內破解四位數的PIN密碼。在他的研究項目:蘋果iPhone 5c的安全分析(基于他的完整研究論文《通向iPhone 5c的坎坷之路和鏡像》)中,Sergei演示了一種概念驗證攻擊,可以利用iPhone 5c并對其密碼進行攻擊。Sergei的方法需要拆卸手機,并且兩次密碼輸入之間的延遲時間為5秒。Sergei聲稱,破解4位密碼可能在一天之內就能完成,而破解6位密碼則需要相當長的時間。
最后,IP-BOX解決方案和它的許多延伸方法都可用于iOS版本,包括iOS 8.1。不過這些IP-BOX方法不兼容任何更新的iOS版本,而且它們的速度與Sergei的解決方案相似,每次嘗試獲得密碼大約需要6秒,或者破解4位密碼大約需要17小時。IP-BOX可破解iPhone手機密碼。當IP-BOX連接至iPhone時,將會猜測所有的密碼,從0000到9999。
與這兩種設備相比,ElcomSoft 公司的解決方案不需要額外的硬件(不過你需要一臺Mac電腦),不需要拆卸手機,運行速度也快了80倍。
至于密碼破解是如何工作的?為什么它在iOS取證領域如此重要?我會在下面詳細介紹。
密碼是iPhone安全模型中最重要的部分
密碼是iPhone安全模型中最重要的部分,從iOS 8開始,包括存儲在鑰匙串中的密碼在內的用戶數據都是用來自用戶密碼的密鑰進行加密的。如果沒有破解密碼,人們將無法訪問BFU(在第一次解鎖之前)設備的基本信息。說到這些設備,繞過屏幕鎖定密碼幾乎沒有意義,因為數據將保持安全加密。
iOS密碼保護有據可查,以下內容就是我節選的蘋果平臺安全文檔,解釋了密碼在iOS生態系統中的作用:
通過設置設備密碼,用戶自動啟用數據保護。iOS和iPadOS支持六位數、四位數和任意長度的字母數字密碼。除了解鎖設備之外,密碼還為某些加密密鑰提供了熵。這意味著擁有設備的攻擊者在沒有密碼的情況下無法訪問特定保護類中的數據。密碼與設備的UID結合在一起,因此必須在受到攻擊的設備上執行暴力破解嘗試。使用較大的迭代計數來降低每次嘗試的速度。迭代計數經過校準,這樣一次嘗試大約需要80毫秒。Touch ID和Face ID可以通過使用戶建立一個比其他方法更強大的密碼來增強這個等式,這增加了保護用于數據保護的加密密鑰的有效熵量,而不會在一整天中多次影響解鎖iOS或iPadOS設備的用戶體驗。
為了進一步阻止暴力密碼攻擊,在鎖定屏幕上輸入無效密碼后,時間延遲會不斷增加。在具有Secure Enclave的設備上,延遲是由Secure Enclave協處理器強制執行的。如果設備在定時延遲期間重新啟動,延遲仍然被強制執行,計時器將在當前期間重新啟動。Secure Enclave 實際上是蘋果對其 A 系列處理器中某個高度機密的稱呼,按照 TEE 標準,現在的處理器都包含“普通世界”和“安全世界”兩部分,Secure Enclave 就是其中的安全世界。這部分的工作是處理數據保護密鑰管理的加密操作 ; 是在通用處理器中區分割出的一個專門處理 Touch ID 指紋、密鑰等敏感信息操作的區域。ARM 處理器架構中的 TrustZone 與此相似,或者說蘋果的 Secure Enclave 可能就是一個高度定制版的 TrustZone。
談到傳統的iPhone,尤其是iPhone 5和iPhone 5c,我們已經測量了兩次密碼嘗試之間的時間延遲。結果是每秒準確的13.6密碼,或每次嘗試73.5毫秒。這非常接近Apple的80毫秒目標。由于這些iPhone型號中沒有Secure Enclave,因此升級時間延遲是由操作系統在軟件中強制實施的,而不是由Secure Enclave協處理器強制實施的。反過來,這意味著只要有人可以訪問某些系統文件,就可以在理論上禁用該延遲。
最后,由于iPhone 5和iPhone 5c沒有配備生物識別硬件,密碼是保護設備的唯一方法。還記得“Touch ID和Face ID可通過使用戶建立比實際更強大的密碼來增強此等式”部分嗎?由于沒有其他方法可以安全地解鎖這些iPhone型號,因此用戶很可能選擇短而簡單的PIN碼,而不是較長的字母數字密碼,以避免“一整天多次影響解鎖iOS設備的用戶體驗”。
哪些密碼是最常見的?
用戶最常選擇的密碼類型取決于幾個因素:iOS中的默認設置以及便利性因素,其中考慮了是否存在Touch ID / Face ID以及輸入密碼的速度和便利性。
默認值
iOS 6具有一個名為“簡單密碼”的設置,默認情況下已啟用。默認情況下,生成的密碼將僅包含4位數字。如果用戶禁用該設置,則他們可以使用任意長度的字母數字密碼。但是,如果用戶輸入的數字不是四位數,則鎖定屏幕將顯示一個數字鍵盤和一個可變大小的文本字段。因此,我們對iOS 6中可用的密碼類型的非官方分類具有以下選擇:
1.4位數字代碼;
2.自定義數字代碼(4位數字代碼除外);
3.自定義的字母數字代碼
在ios9(及ios10)系統中,有以下四個選項可供選擇:
1.4位數字代碼;
2.6位數字代碼;
3.自定義數字代碼;
4.自定義的字母數字代碼;
據多方消息稱,自iOS 9以來,Apple便將密碼轉換為六位數,使其成為默認選項。我們無法針對有問題的兩種iPhone型號驗證這一說法。ElcomSoft 公司對出廠重置后設置iPhone 5和iPhone 5c設備的內部測試導致iOS始終提供設置4位數字代碼的功能。更有趣的是,一旦你嘗試更改6位密碼,iOS仍會提供設置4位PIN的功能。ElcomSoft 公司認為這是“便利因素”的一部分,因為正如Apple平臺安全文檔所指出的那樣,6位密碼無疑會“對用戶在一天中多次解鎖iOS設備的體驗產生負面影響”。
便利因素
用戶可能在觸摸前ID設備上擁有哪種密碼? 2020年5月,Philipp Markert,Daniel V. Bailey,Maximilian Golla,MarkusDürmuth和Adam J. Aviv對用戶選擇的在智能手機上收集的用于解鎖設備的4位和6位PIN進行了研究。在他們的研究中,研究人員結合了來自各種泄漏的多個數據集,并測試了大約1220名測試者。這項研究幫助確定了最常用的4位數和6位數PIN。
研究人員得出了一些似乎頗有爭議的發現,在他們的研究中,研究人員發現更長的6位數PIN并不比4位數PIN有什么優勢。考慮到攻擊者的前40次猜測,研究測試者傾向于選擇更容易猜測的6位PIN。此外,他們的結果表明,當前使用的PIN黑名單無效。通過定量和定性反饋,研究人員發現測試者認為黑名單將改善其PIN,而不會影響可用性。
常用的密碼
我們強烈建議閱讀整個研究過程,以更好地理解用戶如何選擇他們的屏幕鎖定密碼。但真正重要的是最常用的(不安全的)6位數PIN的列表。這個列表中只有2910個條目,測試它們只需要大約4分鐘。此列表中的示例包括全球流行的123456,重復的數字以及代表某些組合(例如131313或287287)的數字密碼。以下是基于用戶出生日期的6位PIN碼;大約有74K種可能的組合,需要1.5小時。只有在這些選擇都用盡之后,我們才會開始持續21個小時的暴力攻擊。