Skip to main content

2015年聖貝納迪諾發生槍擊案造成14人死亡, FBI取得犯罪嫌疑人蘋果iPhone 5後,但由於蘋果先進安全功能,包括對用戶數據進行加密,FBI無法解鎖已恢復的手機。聯邦調查局求助於求美國監控大老鷹國家安全局,但NSA表示他們也辦不到。

因此,聯邦調查局要求蘋果公司創建手機外部iOS操作系統,該操作系統可以在手機的隨機存取存儲器(DRAM)中安裝並運行,以禁用安全功能。蘋果公司將此稱為“GovtOS,但Apple 表示嚴重拒絕,各路人馬包含屁話 性侵 吸毒的約翰·麥克菲胡扯
真實狀況破的了嗎. 讓我們看業內專家真正的思路..

原文出處:
https://arxiv.org/ftp/arxiv/papers/1609/1609.04327.pdf
Sergei Skorobogatov

原創譯者:
OSSLab CIO: thx(熊大):
台灣區唯一受過ACELab原廠教育訓練資料救援專家 
Hitcon 2017 Pacific  ,Hitcon 2012, 2015  講師.iOS Data recovery程式開發者.


摘要 – 本文簡要介紹了iOS 9下Apple iPhone 5c密碼重試計數器的真實世界鏡像攻擊。通過拆卸示例電話的NAND閃存芯片實現此操作,以便物理訪問其與SoC的連接,部分逆向工程其專有總線協議。該過程不需要任何昂貴和復雜的設備。所有需要的部件都是低成本的,並從當地的電子分銷商處獲得。通過使用所描述和成功的硬件鏡像過程,可以繞過密碼重試嘗試的限制。

這是iPhone 5c工作原型和真實硬件鏡像過程的首次公開演示。雖然這個過程可以改進,但它仍然是一個成功的概念驗證項目。了解鏡像的可能性將有助於設計具有更好保護的系統。同時也揭示了與iPhone 5c中的NAND內存分配有關的一些可靠性問題。本文概述了一些未來的研究方向,並提出了幾種可能的對策。我們表明,聲稱iPhone 5c NAND鏡像不可行是不明智的。

一、引言

移動電話,特別是智能手機可以包含大量的個人信息:聯繫歷史記錄,文本消息,位置歷史記錄,在線服務的訪問憑證,財務細節等。因此,對移動的法醫檢查 – 在許多警察調查中,設備存儲已成為重要的調查線索,世界各地的部隊運營大型實驗室,定期檢索和分析犯罪嫌疑人和受害者手機中的數據。與此同時,智能手機正在演變成用於金融交易的個人安全設備,並伴隨用戶對其物理安全性的期望。移動電話供應商,特別是蘋果公司已經通過對存儲在非易失性存儲器中的數據進行加密作出響應,以便保護個人數據和訪問證書,防止從丟失或被盜設備中未經授權地恢復。

當需要更高的數據存儲可靠性時,數據鏡像被廣泛用於計算機存儲。這是一個實時將數據從一個位置複製到存儲設備的過程。因此,從原始位置存儲的信息始終是原始數據的精確副本。數據鏡像在災難發生後恢復關鍵數據非常有用。在計算機系統中,鏡像可以作為標準RAID(冗余獨立磁盤陣列)層次的一部分來實現[1]。從硬件安全角度來看,鏡像過程可能會造成威脅,因為它會創建數據的備份副本,以便恢復系統的先前狀態,例如,使用更高的密碼重試計數器值。

在聯邦調查局於2015年12月從恐怖嫌疑人手中收回一枚蘋果iPhone 5c後,蘋果iPhone 5c不久就成為眾人關注的焦點[2]。 2016年2月,FBI宣布,由於其先進的安全功能,包括對用戶數據進行加密,它無法解鎖已恢復的手機[3]。聯邦調查局首先要求國家安全局打開電話,但他們無法[4]。因此,聯邦調查局要求蘋果公司創建手機的iOS操作系統的新版本,該操作系統可以在手機的隨機存取存儲器中安裝並運行,以禁用某些安全功能。蘋果公司將此稱為“GovtOS”。

由於其政策永不破壞其產品的安全特性,蘋果拒絕了。聯邦調查局回應成功地向美國地方法官Sherri Pym發出法院命令,要求蘋果公司創建並提供所要求的軟件[5]。不到24小時的時間,人們高度期待電話接聽電話即將開始,司法部的律師要求延遲[6]。 3月晚些時候,司法部放棄了強制蘋果公司幫助解鎖iPhone的申辦,稱他們已經“成功訪問了存儲在iPhone上的數據”[7]。

在2016年3月24日的新聞發布會上,聯邦調查局局長James Comey告訴記者,“NAND鏡像”沒辦法用來破解iPhone 5c,說“這行不通”[8,9]。(thx 曰 FBI在數位鑑識跟資料恢復領域真的有點不佳)
幾位技術專家建議將NAND鏡像作為在iPhone 5c中獲得無限密碼嘗試的最可能途徑。 iPhone取證專家Jonathan Zdziarski利用越獄iPhone 5c演示了一種基於軟件的鏡像攻擊概念。

儘管他做了越獄,但他指出“可以不需要越獄”來做到這一點,“因為聯邦調查局可以在物理上復制這些數據。美國聯邦調查局局長科米對這件作品並不滿意,並回應:“你斷言聯邦調查局和司法部撒謊說我們有能力進入聖貝納迪諾殺手的手機是錯誤的。”[10]。

到目前為止,還沒有人在iPhone 5c上演示完全可行的基於硬件的NAND鏡像攻擊。因此,本文旨在說明這一過程的可行性。儘管它不需要昂貴的設備,但在取得圓滿成功的道路上有幾個意想不到的高難度技術問題。本文中描述了大多數這些狀況。

 

二、背景

Apple iOS安全指南[11]介紹了基於iOS的設備(包括iPhone 5c)的基本安全性。一些取證專家描述了不同版本設備之間的差異,例如,iOS中的加密密鑰管理如圖1所示[12]。用戶的密碼以及每個設備的唯一UID密鑰用於計算解鎖“系統密鑰包”的密碼密鑰。這樣,如果更改密碼,則不需要重新加密所有用戶數據,只需要存儲密鑰的一小部分。 UID密鑰被硬編碼到主SoC(片上系統)中,並且是CPU硬件安全引擎的一部分。運行代碼無法訪問此UID密鑰,因此如果不在過程中涉及匹配的SoC硬件,則無法強制使用密碼密鑰。


如果啟用了安全性,那麼在啟動或喚醒iPhone時要求輸入密碼(圖2)。在連續5次不正確的嘗試之後,引入約5秒的短暫等待時間;在下一次不正確的嘗試之後,時間增加到1分鐘;然後5分鐘;然後15分鐘,最後60分鐘。在連續10次錯誤嘗試後,可以選擇永久刪除所有數據。

儘管關於iPhone 5c硬件的信息應該是秘密的,但它仍然可以在各種相關論壇上找到。這包括主板的佈局以及電路圖或原理圖和物料清單[13]。這大大縮短了定位重要組件(如A6 SoC和NAND)所需的時間。 NAND芯片的引腳排列清晰;然而,一些VCCQ和GND引腳被交換,因此簡單地遵循電路圖可能會永久損壞NAND芯片。

任何NAND芯片製造商都沒有記錄LGA60封裝[14]中的閃存器件。雖然目前在他們的目錄中,但是無法在這些特定的NAND芯片上找到任何類型的文檔或數據表。這意味著所有的協議和命令都必須通過使用示波器或邏輯分析儀在硬件接口上竊聽來學習。


有兩種主要類型的閃存 – NOR和NAND [15]。在NOR結構中,存儲器單元以並聯方式連接,而在NAND中,單元串聯連接以減小單元尺寸。此外,高度規則的NAND結構允許更小的製造工藝 – NOR為14nm而不是28nm。另外,一些NAND單元可以為每個單元儲存兩個甚至三個比特的信息。這種閃存器件被稱為MLC和TLC。數據傳輸速率也遠高於NOR。這使得這種內存類型成為高密度存儲應用的領導者。

但是,NAND閃存有一些缺點。首先是需要外部糾錯的故障單元數量更多。為了解決這個問題,NAND內存為糾錯數據分配了額外的空間。其次是重寫次數有限 – 通常為數万甚至數十萬次。另外,由於存儲陣列是按順序訪問的,因此NAND存儲器訪問隨機存儲器塊的延遲很大。

與磁盤媒體不同,磁盤媒體可以實時覆蓋,在寫入任何新數據之前,需要首先擦除閃存存儲器。例如,SK海力士64Gb(8G字節)NAND閃存可以編程為16384個數據字節加上1280個糾錯字節[16]。但是,它只能以256頁或4MB的塊進行擦除。

如果NAND存儲器中的某些頁面或塊不再起作用,則必須用新頁面/塊替換或標記為不可用。這可以通過專用的NAND存儲器控制器在硬件級實現,也可以通過NAND存儲器驅動程序或操作系統在軟件中完成。

據一些消息人士透露,從iPhone 4型號開始,Apple開始使用新型NAND存儲設備,稱為PPN(Perfect Page New)[17]。他們使用專用存儲器控制器來動態執行ECC(錯誤代碼校正),從而減少主SoC芯片的負載。這是通過2011年收購ECC控制器製造商Anobit [18]實現的。此後,四家大型NAND製造商東芝,SK海力士,三星和SanDisk開始生產和供應採用定制接口的全新LGA60封裝的新型NAND存儲器件。

閃存設備使用不同的通信接口。它們可以是串行或併行的。但即使串行SPI接口,也可以同時運行兩條或四條數據線來提高通信速度。大多數NAND器件具有8位或16位寬度的並行接口。現代芯片使用DDR時鐘將傳輸速率提高一倍,而其中一些通過並行運行多個通道受益。這不僅增加了通信速度,而且還允許並行擦除和寫入。所有名為ONFi的主要NAND製造商都達成了一致的標準[19]

三、 準備鏡像

iPhone 5c設備不再製造,因此在Ebay上獲得了用於硬件鏡像實驗的樣本。 只有兩個完全運作; 那些沒有功能的人被用作測試台來驗證想法並確定最佳方法。 全功能手機也升級到了最新的9.3版iOS。

A.使用IPHONE 5C APART

拆解iPhone 5c的拆解過程在互聯網上有詳細描述,iFixit網頁可能是最有名的[21]。在取下屏幕後,拔下所有連接器並小心地取下固定主板的所有螺釘,將其拆下並從框架上取下。圖3顯示了兩側主板的圖像。


下一步是訪問板載組件,特別是NAND存儲器。一些盾牌需要通過用熱風槍拆焊去除。這暴露了一面的A6 SoC芯片和另一面的NAND芯片(圖4)。


NAND芯片不僅採用LGA無鉛封裝進行焊接,而且還使用強力環氧化合物進行膠合。 NAND底面和主PCB之間的距離僅為0.05mm,因此移除過程相當具有挑戰性。除非經過適當的規劃和特殊的薄刀刀具支持,否則這可能會損壞NAND和主PCB。由於主PCB散熱嚴重,因此需要去除300℃以上的溫度。

儘管周圍的環氧樹脂變得更柔軟,但仍會粘附在附近的小型元件(電容器,電感器等)上,並可能將其從主PCB上拉出,從而使其停止工作。為避免損壞其他元件,環氧樹脂在NAND封裝的外圍被減弱,鎳鉻合金導線通過電流加熱到約700℃。高溫環氧化合物也加強了NAND​​封裝周圍的小部件(圖5)。


拆卸NAND芯片的過程始於將主板固定在保持架中。然後將整塊電路板預熱至約150ºC,然後用330ºC的熱空氣加熱NAND封裝。使用薄刀片緩慢並仔細地將NAND與主板分開。結果如圖6所示。


使用高溫空氣去焊接NAND芯片不應導致任何數據丟失。先前的研究表明,閃存將持續加熱至高達400ºC的溫度超過10分鐘,沒有任何退化跡象[22]。

B.佈線NAND存儲器

下一步是檢查主板和NAND是否在去焊操作中仍然存在,並且仍然功​​能齊全。為此,NAND封裝上的所有連接焊盤都使用薄的0.3mm PTFE導線連接到主板上的相應焊盤(圖7)。


為了測試結果,在手機框架和金屬屏蔽罩上都有一個孔(圖8)。然後將兩個屏蔽層焊接回主板,最後組裝手機。

一旦手機開機,Apple徽標最初出現,表明NAND存儲器正在運行,電氣連接正確。

不幸的是,10秒後它消失了,然後啟動過程再次開始。用示波器快速查看信號,發現電源線在高速DDR通信期間無法應對峰值電流。因此,幾個旁路電容器直接安裝在NAND封裝的所有電源焊盤上。然而,NAND內容已經損壞,並且在啟動過程中約10秒後電話仍然崩潰。

任何試圖強制iPhone進入恢復模式的嘗試,以便使用iTunes恢復NAND閃存不成功。該解決方案通過將細線焊接到主PCB上的相應焊盤並使用開關控制這些信號(圖9),從SoC芯片的硬連線(HRESET和FORCE_DFU信號)硬連線。 HRESET信號以低邏輯電平激活,但FORCE_DFU信號需要更高的3V電壓才能執行。這是通過測量電源線和信號之間的保護二極管來計算出來的。

使用iTunes將手機恢復到出廠設置並確保所有功能正常工作後,可以繼續進行實驗。為了輔助信號分析,NAND被連接到一個小型0.05“連接器,而匹配連接器被焊接到原型PCB上並連接到iPhone 5c的主板(圖10)。
 
不幸的是,手機在連接器上無法可靠地與NAND連接,並且在啟動過程中經常崩潰,而任何試圖用iTunes恢復的結果都會導致“出現未知錯誤(14)”。由於延長線的電容和電感,示波器再一次幫助發現信號嚴重失真(圖11)。

頂部波形是SoC端的源極,而最下面的波形是NAND端。 1.8V CMOS邏輯信號的過衝為+ 1.1V,下衝信號為-0.9V。這是一個嚴重的問題,特別是對於RE,WE和DQS等時鐘信號,因為振鈴導致不需要的數據鎖存。


通過在所有信號線中插入小型終端電阻解決了問題。得到的信號如圖12所示。結果只引入了0.12ns的小延遲。這又使電話完美工作,並準備好進行下一步 – 竊聽 NAND通信協議和命令。

 

為了可靠地竊聽通信,中間原型PCB板用緩衝區建成(圖13)。這樣,示波器和邏輯分析儀探頭都可用於信號採集,而無需擔心探頭導線的高電容和低電阻導致NAND通信信號過載。


不幸的是,再次遇到了信號完整性問題。這次是由緩衝元件的輸入和輸出電容引起的。 74LVC和74AVC系列的標準數字CMOS邏輯在4pF至6pF範圍內引入了電容負載。這與導線的電感相結合導致信號線中的過度延遲和振鈴。

唯一的解決方案是選擇較低電容,如74AUP和74AXP系列。然而,在電容性負載問題解決之前,NAND內容在iTunes功能之外被損壞,以恢復iPhone始終報告“發生未知錯誤(4013)”的情況。該解決方案又是基於硬件的。通過用RC鏈(圖14)仔細調整RE線上的延遲,有可能誘使iTunes認為NAND存儲器部分損壞,並強制恢復LLB和iBoot分區。


最後,iPhone 5c在啟動過程中以及正常操作期間準備好檢查協議和命令。


使用示波器分析發現,iPhone 5c在引導過程的不同階段使用不同的接口和命令。一開始,它使用ONFi兼容命令以17MHz的相對低速讀取頁面,然後以50MHz時鐘切換到未公開的專有命令。 iOS加載128MHz的DDR時鐘,從而實現250MB / s以上的峰值吞吐量。樣本電話中使用的SK海力​​士H2JTCG8T21BMR 8GB NAND芯片只有一條通信總線。來自其他製造商的NAND芯片使用兩條總線,並需要兩個用於鏡像的套接字。

使用邏輯分析儀記錄所有命令,並製定iPhone 5c中用於NAND通信的專有自定義協議(圖15)。

四、實現鏡像

下一步是實現所有必要的命令,以支持通過串行端口在由PC控制的單獨設置中讀取,擦除和寫入閃存。

A.協議測試

為了調試所有用於NAND通信的定制命令,製作了一個簡單的適配器電纜,用於將帶有NAND芯片的中間板插入自製的通用IC編程器(圖16)。


使用C編程語言,以1MHz的較慢通信速度複製所有信號。這對理解內存的佈局有很大的幫助。對於8GB存儲,有兩個平面,每個包含1064個塊。擦除操作只能應用於塊。每個塊包含256個頁面,寫入以頁面完成。每頁包含16448字節的信息。

這些信息被分為四個4096個字節的數據和16個字節的索引。在圖17中可以看到,ASCII文本被從0x3430到0x343F的16個字節的二進制數據中斷。很有可能使用索引來標記數據的邏輯映射以確定閃存的耗損均衡。這是因為NAND存儲器中的物理地址是不斷變化,以避免只能重寫有限次數的閃存單元的過早損壞。

B.備份

由於NAND存儲容量很大,使用相同類型的內存來保存備份副本是最方便的。為此,NAND芯片的同一款SK hynix 8GB型號從非工作的iPhone 5c電路板上拆除並連接到連接器。顯然,由於該iPhone中的UID不同,該芯片未在測試手機中運行。儘管如此,iTunes確實允許我們將系統恢復到初始狀態,儘管使用了不同的序列號。但是,由於序列號改變,iPhone未能通過激活階段。儘管如此,這款NAND芯片仍然可以用作備份存儲。

為了創建NAND芯片的精確備份副本,建立了一個特殊的測試板(圖18)。該板的核心是具有硬件PMP端口的Microchip PIC24EP512GP806微控制器,該端口能夠以40MB / s的讀取傳輸速度和80MB / s的寫入速度運行[23]。在這樣的吞吐量下,將原始芯片的所有數據複製到備份大約需要80分鐘。不幸的是,1:1備份副本在iPhone 5c中無法使用。即使啟動蘋果標誌沒有出現在通電。有一些對iPhone的NAND存儲中使用的隱藏分區的引用,這使得克隆成為一項具有挑戰性的任務[24]。


在多次密碼嘗試後,備份副本可用於恢復原始NAND芯片。

C.恢復
NAND鏡像的過程相對簡單。一旦創建並驗證了備份副本,原始芯片就會被插回到iPhone 5c中。開機後大約需要35秒,我們輸入密碼6次。然後通過按住電源按鈕並關閉電源信息來關閉手機。有必要等待,直到NAND的電源消耗大約需要10秒。一旦連接到NAND的LED熄滅,移除NAND並將其插入測試板是安全的。

我們在筆記本電腦上運行的軟件首先掃描NAND中最可能發生變化的區域,並創建一個帶校驗和的文件。然後將該文件與備份掃描進行比較。然後擦除所有更改的塊,並將所有使用的頁面從備份副本中回寫(圖19)。此過程需要30到60秒,具體取決於內存使用情況。恢復完成後,測試板可以關閉,NAND可以放回手機中。


一旦手機啟動並且屏幕滑動,可以輸入密碼六次,直到再次引入一分鐘的延遲。然後,可以一次又一次地重複從備份鏡像的過程,直到找到正確的密碼。平均每個鏡像週期需要90秒。因此,對所有可能的4位密碼進行全面掃描將需要大約40個小時或少於兩天的時間。

在一篇論文中描述整個過程並不容易,因此,這個NAND鏡像過程的工作概念證明演示視頻將放置在互聯網上。更多信息可以在專門的iPhone研究項目頁面找到[25]。

在所提出的方法中,原始芯片總是被恢復到初始密碼嘗試計數器狀態,而不應用損耗均衡。結果,它的閃存被磨損了。儘管NAND芯片允許重寫幾千次,但沒有人知道已經有多少次被使用過。因此,在找到正確的密碼之前它可能會失敗。如果每次重寫都有6次嘗試,則此方法最多需要1667次重寫才能找到4位數的密碼。對於6位密碼,需要重寫超過16萬次,並且很可能會損壞閃存存儲。
從取證角度來看,修改原始NAND存儲器將是不受歡迎的,因為這可能會改變器件中的一些重要信息。

D.克隆
克隆過程涉及創建NAND閃存芯片的完整工作副本。但是,正如前面部分已經提到的那樣,只是將8GB信息從原始芯片複製到另一個取自其他iPhone 5c的相同芯片中,並不能達到預期效果,並且iPhone無法啟動。


為了弄清為什麼簡單複制不起作用,進行了一些額外的研究。為此,NAND Flash芯片的相同型號採用原始芯片的數據進行編程,然後使用示波器和邏輯分析儀對通信進行分析。首先,從正常的16GB空間以外的地址訪問一些頁面。

例如,不是讀取和寫入塊0x00041Axx,CPU正在訪問塊0x00841Axx。儘管這些訪問被映射回0x00041Axx塊,但頁碼與這些頁面的狀態不同。圖20顯示了塊0x00041Axx和0x00841Axx的前幾頁的狀態和校驗和。可以注意到頁面0x00841A02被映射到0x00041A03,頁面0x00841A03到0x00041A05等等。

與0x00841Axx塊的0x40相比,0x00041Axx塊的頁面狀態為0x61。其次,在訪問這些隱藏頁面之前,通信中發現了一些違規行為(圖21)。儘管訪問過程中的數據傳輸是在17MHz的SDR模式下執行的,而配置命令使用的速度更慢(大約1MHz),但命令中的一些數據在DDR3模式下以256MB / s的驚人速率走私。

此外,在23ns的時間段內引入了數據位7的虛擬值。鑑於這些傳輸中的數據建立時間少於1ns,絕大多數可能的攻擊者很可能會忽略這些信息。

在這些發現之後,通信協議的實施在測試板上進行了修改。然後,數據鏡像軟件被修改為包括克隆隱藏頁面。因此,最初創建的NAND芯片克隆在iPhone 5c中功能完整。然後用六個不正確的密碼嘗試進行測試,然後用原始芯片替換它。啟動過程後,可能再次輸入錯誤的密碼六次,直到引入一分鐘延遲。這充分證明了iPhone 5c硬件NAND鏡像攻擊的正確性。

由於這些NAND克隆的數量沒有限制,因此可以預先創建它們,並在其中一個用於密碼測試時並行恢復。這樣,每六次密碼嘗試只需要45秒。對於4位密碼,最大攻擊時間為(10000/6)×45 = 75000秒或約20小時。對於6位密碼,這個時間將增加到大約3個月,在某些情況下可能是可以接受的。

五、涵義

所提出的方法有幾個限制。為了攻擊真實設備,過程的某種形式的自動化是必要的,以避免將NAND存儲設備機械地插入iPhone。這可以通過使用電子開關或多路復用器,或通過仿真NAND芯片來實現,例如使用FPGA。

另一個問題是,從主板上拆除NAND芯片的過程可能會損壞主板和NAND閃存芯片。NAND管理中發現了一些可靠性問題。當非工作iPhone 5c主板的NAND芯片被拆焊和測試時,一些芯片有壞塊。令人驚訝的是,那些壞塊主要在兩個地址空間中:0x000BB100 – 0x000BB1FF和0x000BD000 – 0x000BD0FF。

一樣地址被不同的數據覆蓋,而其他地址的覆蓋發生在新地址中。這同樣適用於地址空間0x0003B1xx和0x0003D0xx。這意味著閃存平均算法沒有正確實現,有些地址更可能失敗。

六、未來的工作
在這個研究項目中分析的iPhone 5c設備遠不是最新的Apple手機。 此後推出了多款新機型,如iPhone 5s,iPhone 6和6s,iPhone SE和iPhone 7.然而,iPhone 5s和6則使用相同類型的NAND閃存設備。 對鏡像進行測試是符合邏輯的。 對於iPhone 6s的型號,將需要更複雜的硬件,因為它們使用高速串行NAND Flash芯片和PCIe接口。

例如,通過使用外部USB控制器來模擬密碼輸入的所有必要功能,對現有設置的一些改進可能涉及自動輸入密碼和重新引導。

採用這種技術進行概念驗證後,通過構建NAND閃存芯片的完整工作仿真器進一步發展它將是有益的。這將顯著加速鏡像過程。進一步改進可能來自尋找軟重啟或將iPhone置於睡眠模式的方式。這將節省完全啟動iOS所需的時間。

開發一種更安全的方法來從主板上移除NAND Flash芯片,或者在不需要物理移除的情況下讀取NAND Flash內容。 NAND芯片有兩個附加墊可用於訪問內部存儲器內容。這些焊盤連接到主板上的測試焊盤。這可能是NAND數據的後門。當然,找出確切的接口和調試協議是一個挑戰。一種可能的方法是採用幾年前提出的先進硬件矽掃描技術[26]。

本文提出的研究預算有限,時間有限。有了適當資助的研究項目和一個體面的研究團隊,對移動設備中NAND存儲的評估可以提升到一個新的水平。

七、結論
本文中介紹的研究已經證明了Apple iPhone 5c中NAND閃存的成功硬件鏡像。通過恢復先前創建的備份副本中的原始NAND數據,可以繞過密碼重試限制。然後通過創建原始芯片的完整工作副本來改進鏡像過程。這樣,原始芯片的取證就完全保留了,並且可以使用原件的多個副本來強制密碼。這是第一次公開演示iPhone 5c的工作原型和真實硬件鏡像。它應該允許在不到一天的時間內暴力破解4位密碼。

途中有幾個障礙。儘管蘋果公司確實引入了一些硬件安全對策,但其中大部分似乎更像是安全隱藏,而非通過措施充分考慮。

本文介紹的實驗設置也可用作實時評估和觀察NAND存儲器的測試平台。這可能有助於發現不僅硬件安全相關的問題,而且還有一些可靠性問題。例如,發現非工作iPhone 5c主板的一半NAND芯片由於過度重寫而導致特定塊失敗。這可能是由於Flash存儲器磨損均衡算法中的一個錯誤,因為它是在軟件中實現的。

提出的方法有幾種方法可以改進。首先,可以使用更高效的硬件和軟件支持來優化NAND訪問。其次,密碼恢復的整個過程可以自動化。第三,而不是使用原來的芯片可以創建適當的1:1克隆。最後,可以在FPGA中仿真NAND存儲器存儲,從而不必浪費時間重寫NAND閃存。最後兩項改進對於必須保留原始NAND存儲的取證應用特別有用。最終,NAND可能不會從主板上拆下來讀取。這樣損壞數據的風險就會很小。

應進一步研究以了解其他移動設備中的NAND存儲鏡像所涉及的風險。
本文提出的鏡像解決方案是使用從電子分銷商處購買的現成組件購買的,預算低於100美元。同樣的方法可以應用於較新型號的iPhone。 iPhone 6 Plus採用相同類型的LGA60 NAND芯片。任何具有足夠技術能力的攻擊者都可以重複實驗。較新的iPhone將需要更複雜的設備和FPGA測試板。

在反對鏡像的對策方面,可以在各個層面採取幾種方法。在硬件級別應該使用更健壯的身份驗證,而不是專用接口。在軟件層面,挑戰 – 響應認證可用於防止訪問NAND存儲器或重放攻擊。在可用性級別,用戶應至少使用6位密碼或更好的8位字符密碼。攻擊此類密碼需要直接訪問SoC以減少嘗試之間的等待時間。

對鏡像可能性的了解肯定有助於設計具有更好保護的系統。儘管政府對iPhone 5c的NAND鏡像的可行性發表了評論,但現在已經證明了這一點充分工作。

致謝
我要感謝Markus Kuhn博士為我的實驗和他的有益討論提供了可用的iPhone 5c樣本,並感謝Ross Anderson教授在我們的安全組會議上測試了這次攻擊。

REFERENCES

[1]           Standard RAID levels, Wikipedia. https://en.wikipedia.org/wiki/Standard_RAID_levels

[2]           2015 San Bernardino attack, Wikipedia. https://en.wikipedia.org/wiki/2015_San_Bernardino_attack

[3]           FBI – Apple encryption dispute, Wikipedia.

https://en.wikipedia.org/wiki/FBI%E2%80%93Apple_encryption_ dispute

[4]           Zack Whittaker: NSA finally admits why it couldn’t hack San Bernardino shooter’s iPhone. ZDNet, 10 June, 2016.

http://www.zdnet.com/article/nsa-comes-clean-on-why-it-couldnt- hack-san-bernardino-shooters-iphone/

[5]           Danny Yadron: Apple ordered to decrypt iPhone of  San Bernardino shooter for FBI. The Guardian, 17 February 2016.

https://www.theguardian.com/us-news/2016/feb/17/apple-ordered- to-hack-iphone-of-san-bernardino-shooter-for-fbi

[6] Ellen Nakashima: FBI may not need Apple to  unlock  San  Bernardino shooter’s iPhone. The Washington Post, 21 March 2016.

https://www.washingtonpost.com/world/national-security/apple- hearing-in-san-bernardino-over-locked-iphone-has-been-

canceled/2016/03/21/1141a56e-efb8-11e5-85a6- 2132cf446d0a_story.html

[7] Matt Zapotosky: FBI has accessed San Bernardino shooter’s phone without Apple’s help. The Washington Post, 28 March 2016.

https://www.washingtonpost.com/world/national-security/fbi-has- accessed-san-bernardino-shooters-phone-without-apples- help/2016/03/28/e593a0e2-f52b-11e5-9804- 537defcc3cf6_story.html

[8] Bryan Chaffin: FBI Director  Comey  Denies  ‘NAND  Mirroring’ Will Be Used to Unlock Terrorist’s iPhone. The Mac Observer, 24 March 2016.

https://www.macobserver.com/tmo/article/fbi-director-comey- denies-nand-mirroring-will-be-used-to-unlock-terrorists

[9] Gregg Keizer: FBI chief shoots down theory that NAND mirroring will be used to crack terrorist’s iPhone. Computer World, 24 March 2016.

http://www.computerworld.com/article/3048243/apple-ios/fbi- chief-shoots-down-theory-that-nand-mirroring-will-be-used-to- crack-terrorists-iphone.html

[10] Ms. Smith: NAND mirroring  proof-of-concept  show  that  FBI  could use it to crack iPhone. Network World, 28 March 2016.

http://www.networkworld.com/article/3048488/security/nand- mirroring-proof-of-concept-show-that-fbi-could-use-it-to-crack- iphone.html

[11] Apple iOS Security, White Paper, May 2016. https://www.apple.com/business/docs/iOS_Security_Guide.pdf

[12] Andrey Belenko: iOS and BlackBerry Forensics. ElcomSoft, 13 December 2012.

http://www.slideshare.net/andrey.belenko/ios-and-blackberry- forensics

[13] iphone 5c schematic diagram. Apple Hardware Repair,  GSM-  Forum.

http://boardreader.com/thread/iphone_5c_schematic_diagram_7fcrt X13tm8.html

[14] Land Grid Array Family, Rectangular, 0.50mm Pitch. MO-303B, JEDEC Global Standards for the Microelectronic Industry, Item No. 11.11-857, Mar 2012

[15] William D. Brown, Joe E. Brewer, Nonvolatile Semiconductor Memory Technology: A Comprehensive Guide to Understanding and Using NVSM Devices, IEEE Press, 1997

[16] SK hynix H27UCG8T2BTR-BC, 64Gb MLC NAND  Flash.  Rev 0.1, October 2012.

[17] Credit Suisse: Apple Nudging Smartphone  Makers  to  Boost  NAND. 15 October 2014.

http://www.barrons.com/articles/apple-nudging-smartphone- makers-to-boost-nand-1413386600

[18] Anand Lal Shimpi: Apple Acquires Anobit: Bringing NAND Endurance Technology In-House. Anand Tech, 21 December 2011.

http://www.anandtech.com/show/5258/apple-acquires-anobit- bringing-nand-endurance-technology-inhouse

[19] Open NAND Flash Interface, ONFi. Specifications. http://www.onfi.org/specifications

[20] Embedded Multi-Media Card (e•MMC). JESD84-B51, JEDEC Global Standards for the Microelectronic Industry, Electrical Standard (5.1), Feb 2015

[21] iPhone 5c Teardown. iFixit team. https://www.ifixit.com/Teardown/iPhone+5c+Teardown/17382

[22] Sergei Skorobogatov: Local Heating Attacks on Flash Memory Devices. 2nd IEEE International Workshop on Hardware-Oriented Security and Trust (HOST), San Francisco, USA, IEEE Xplore,

July 2009

[23] PIC24EP512GP806 Microcontroller. Microchip, Products. http://www.microchip.com/wwwproducts/en/PIC24EP512GP806

[24] Recovering data stored on NAND chip on iPhone 6. iFixit Forum, May 2015.

https://www.ifixit.com/Answers/View/230162/Recovering+data+st ored+on+NAND+chip+on+iPhone+6

[25] Research project on iPhone 5c.

http://www.cl.cam.ac.uk/~sps32/5c_proj.html

[26] Sergei Skorobogatov, Christopher Woods: Breakthrough silicon scanning discovers backdoor in military chip. Cryptographic Hardware and Embedded Systems Workshop (CHES), Leuven, Belgium, LNCS 7428, Springer, September 2012, pp 23-40

轉自https://arxiv.org/ftp/arxiv/papers/1609/1609.04327.pdf

Thx Chang

Author Thx Chang

More posts by Thx Chang