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