Qualcomm EDL物理提取FAQ
2019-7-14 高田數位鑑識
EDL介紹資料來源參考於Cellebrite與業界知名的數位鑑識公司Lorenz Investigations
若一開始對於EDL模式尚未熟悉,特別是使用Cellebrite EDL模式的鑑識同仁,可以先閱讀Shahar Tal的“Qualcomm EDL物理提取實用指南”。另外兩份很重要的資訊來源是2018年2月21日與2018年9月12日,由Scott Lorenz與Shahar Tal共同主持的Cellebrite EDL網絡研討會。
鑑識人員需要大量研發鑑識技術的科技廠商繼續做他們正在做的事情。如Cellebrite這樣的廠商將鑑識工具傳遞給合法的檢調單位使用。 且只要經過一定程序的訓練,Cellebrite的EDL漏洞可提供給第一線的鑑識人員使用;如果是有經驗的鑑識人員,善用這個工具也可提取出加密的資料。因此,雖然我們希望像Cellebrite這樣的公司能支援提取更多的裝置,但我們也應該投入時間與資源,在既有的工具之下,將自我經驗持續提升。
Cellebrite並不是唯一一家利用EDL漏洞作為提取的廠商。但Cellebrite在這個模式所提供的提取功能,的確大幅優於其他廠商,主要在於可以提取加密裝置的技術(Decrypting Extraction)。
通常一個裝置可以透過多個方式提取(File System、Physical等等),但如果該裝置支援EDL提取,建議以EDL為主。EDL可以提取出來的資訊是最完整的,但要讓裝置進入到EDL模式,可能會很簡單,也有可能會很困難。在FAQ介紹完後,會再針對進入EDL模式做更多的介紹。
Shahar Tal在他的實用指南中描述了EDL,基本上這是高通(Qualcomm)的緊急下載模式(Emergency Download)。在這個模式中,允許對晶片組進行低階(low level)讀取、設備分析、修復或重新刷機,EDL模式不是由Cellebrite開發的,是高通公司處理器的一項功能。而Cellebrite和其他廠商利用這些功能的漏洞從設備中提取資料。
簡單的答案,不行。雖然大多數的Qualcomm裝置都可以進入到EDL模式,但不代表就一定可以被提取。因為每個晶片組(chipset)的漏洞都不一樣,對Cellebrite來說,只要是新的晶片組,皆須投入大量的研發資源,才有可能找的到漏洞。如最多裝置使用的MSM8909晶片組,Cellebrite就支援decrypted提取。但如果是MSM8210,就無法使用EDL模式提取。
詳細EDL支援的晶片組,可以參考上一篇,物理提取。
一般來說,裝置進入到EDL模式算是相對安全的。進入EDL模式並不會造成裝置的任何影響,但只有在一個情況下例外。因為有好幾個方式可以讓裝置進到EDL模式,其中一個是透過短路方式。如果使用這個方式但接錯腳位時,有可能會造成損壞,所以必須非常小心。另外一個情況是,有可能需要拆開手機才能以找到短入腳位,拆裝過程也必須要小心。
不管是non-decrypting或decrypting EDL提取,都可以繞過螢幕鎖直接進行提取。但如果裝置有使用Secure Startup,則必須要知道Secure Startup的密碼,才可以進行提取。
注意,如果使用non-decrypting提取,裝置是不需要開機進入到Android作業系統,這個模式是透過晶片組的漏洞,進而要求處理器透過USB將裝置的儲存內容全部提取出來。
若是Decrypting提取,則Cellebrite會強制將手機開機後在RAM裡安裝客製的Decrypting Bootloader,裝置會開機並進入Android作業系統,如果裝置有螢幕鎖,該模式也可成功提取所有內容。
除了可以解密的差別之外,簡單講,non-decrypting提取相對簡單。在Cellebrite尚未提供EDL漏洞提取前,早期都是透過ISP或Chip-Off方式來進行物理提取。現在有了EDL漏洞,non-decrypting提取通常只要20分鐘,大幅縮短與降低了操作門檻。
若裝置並沒有加密,只要在4PC上的Generic Profile選取“Smart Phones/PDAs Qualcomm”,就可以簡易與快速的進行低階提取。過程裝置不需開機進入Android作業系統,也不須人機互動操作。若裝置嚴重損壞,這個是唯一個還有機會將裝置內所有資料提取出的方式。
若裝置為加密狀態,在4PC上請選擇“Smart Phones/PDAs Decrypting Qualcomm”。提取過程需要裝置開機進入到Android作業系統,有時須要進入兩次EDL模式,相對比較起來,會比non-decrypting方式麻煩。
同non-decrypting提取,decrypting EDL過程也不需要人機互動,所以即使裝置的螢幕已損壞,這個模式也可以成功提取內容,除非使用ADB decrypting方式或啟用了Secure Startup。
一般而言,若裝置為已加密,解密的動作會是在裝置開機完成後,才掛載解密的分區。而透過EDL提取模式,UFED會要求裝置載入客製的Decrypting Bootloader,待裝置開機到一個特定的時間點,提取模式才會開始進行。
若使用non-decrypting模式提取時,UFED整個過程只要兩步驟就開始低階提取,不管裝置的eMMC或UFS的記憶體是否為加密,就直接提取binary映像檔。因為過程不會載入客製的Decrypting Bootloader來解密,分區也尚未解密,所以你只會看到一個全部都是1與0的加密映像檔。
因為裝置可以由用戶取得後啟用加密,也有可能出廠時預設的狀態就是加密。既然decrypting模式也適用於non-decrypting裝置,那為什麼還要有兩個提取選項? 原因如下
1. Decrypting Bootloader需要6個程序,且手機須開機進入作業系統。
2. Non-Decrypting模式只需要2個程序,且手機不需要開機進入作業系統。
3. Non-Decrypting模式屬於低階提取,不會改變hash值,若手機有損傷,這是唯一可能提取的模式。
4. Decrypting模式需要開機,所以hash值每次提取都不一樣,若手機不是在飛航模式,或有訊號遮蔽的環境,手機有可能會被遠端刪除。
Secure Startup常常會與螢幕鎖混淆。現階段UFED尚無法解開Secure Startup,僅Cellebrite的CAS服務可以提供Secure Startup繞鎖服務。
最簡單的方法是重啟一個裝置,如果有啟動Secure Startup,就會在螢幕上看到“To Start Android, draw your pattern”或 “enter your passcode”或”Your phone is encrypted for security. To start up your device, enter you pin”。根據不同的廠商,螢幕的畫面可能不同,但文字的部分會是一致的。
若有啟用Secure Startup,裝置內的資料一定是加密狀態,該功能唯一的目的就是將裝置加密。若沒啟用Secure Startup並不意味著裝置未加密。 通常第一次使用手機時,啟用過程會詢問用戶是否需要啟用Secure Startup,若跳過之後用戶也可自行啟用該功能。 Secure Startup是用戶可自由決定是否啟用的選項。
- 使用non-decrypting模式提取,結果會類似於使用ISP模式。提取過程因為裝置不須開機,資料藉由低階提取(low-level)可以取出一份完整的映像檔。但由於內容接為加密,所以後續使用PA開啟dump檔案時,PA會告知內容為加密,無法開啟。
- 若採用decrypting模式提取,因提取過程載入客製化的Bootloader後需要開機,這時候裝置會出現Secure Startup的畫面,這時若不知道密碼,提取就無法進行。
若用EDL的角度來評估,non-decrypting提取模式原本就在裝置關機的狀態下執行;而decrypting模式裝置必須從EDL狀態開啟載入Cellebrite客製化的Bootloader後進到開機程序,若有Secure Startup,若沒密碼或圖形解鎖提取還是會卡住。所以是否有沒有須要保持查扣的裝置不關機,不是EDL角度要思考的。
有其他的提取模式是不需要開關機,但切記若裝置不關機,至少要進到飛航模式。
必須使用Decrypting模式提取,開機會先進入Secure Startup畫面,輸入密碼或圖形鎖後Android系統就會成功掛載解密的分區,即使不知道螢幕密碼鎖,也可以成功提取。