楊雪
摘 要: Android智能手機的廣泛應(yīng)用使其成為備受關(guān)注的數(shù)字取證源,近年來取證技術(shù)不斷發(fā)展,Android手機取證標(biāo)準(zhǔn)日臻成熟。研究了Android手機存儲設(shè)備NAND閃存的異步更新策略這一有利于取證的特性,詳細(xì)描述了符合國際標(biāo)準(zhǔn)的Android手機取證過程,以及Android手機取證技術(shù)的國內(nèi)外研究現(xiàn)狀和面臨的挑戰(zhàn)。在此基礎(chǔ)上展望未來發(fā)展趨勢,為進(jìn)一步研究Android手機取證提供參考性意見。
關(guān)鍵詞: Android智能手機; 數(shù)字取證; 取證標(biāo)準(zhǔn); 取證現(xiàn)狀
中圖分類號:TN929.53 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)06-07-03
Abstract: The widely used Android smartphones have become main source of digital forensic. In recent years, standard of forensic procedure has become matured and forensic technology is constantly evolving. This article describes the usage of NAND flash chip as storage device in Android phone and its out-of-place-write strategy that forensic officers can take advantage of. Then this article illustrates the international guidelines of mobile phone forensic process, provides an overview of the state-of-the-art mobile phone forensic technology and the challenges investigators are facing, proposes possible trends in this field. Hope this work can serve as an effective support for future in-depth study of Android phone forensics.
Key words: Android smartphone; digital forensic; forensic guidelines; state-of-the-art
0 引言
網(wǎng)絡(luò)與信息技術(shù)的蓬勃發(fā)展使智能手機市場迅速擴張。IDC(International Data Corporation)在2015年2月24日發(fā)布的全球手機市場調(diào)查報告[1]中稱,截至2014年第4季度,全球智能手機保有量達(dá)到13億部,其中Android手機占81.5%。Android手機的廣泛應(yīng)用使其成為目前備受關(guān)注的數(shù)字取證源。本文研究Android手機取證技術(shù),對近年來國內(nèi)外研究現(xiàn)狀進(jìn)行概述和分析并展望Android手機取證的未來趨勢。
1 Android手機取證相關(guān)特性
由于攜帶輕便、功耗低、存儲數(shù)據(jù)不易丟失等特點,NAND閃存被廣泛用作Android手機的存儲設(shè)備。由于NAND閃存的耐擦寫程度遠(yuǎn)低于磁存儲器,為了延長閃存的使用壽命,必須通過異步更新的策略實現(xiàn)磨損均衡[2]。即:修改文件時,新數(shù)據(jù)并不直接寫入原來的位置,而是寫入一塊未分配的區(qū)域,并將原數(shù)據(jù)標(biāo)記為無效;NAND閃存在空間不足時啟動垃圾回收機制把這些區(qū)域標(biāo)記為可用。NAND閃存的這一特性為Android手機取證提供了有利機會。
2 Android手機取證過程
NIST在2014年5月發(fā)布的《移動設(shè)備取證指南》中把移動設(shè)備的取證過程分為證據(jù)保全、證據(jù)獲取、證據(jù)分析和生成報告四個階段[3]。Android手機的取證過程也遵照相應(yīng)規(guī)定。
2.1 證據(jù)保全
證據(jù)保全的目的是保護(hù)駐留在移動設(shè)備及其可移動介質(zhì)上的數(shù)據(jù),基本步驟包括記錄現(xiàn)場、網(wǎng)絡(luò)隔離和證據(jù)保存。
2.1.1 記錄現(xiàn)場
使用相機記錄現(xiàn)場并生成一份有關(guān)手機狀態(tài)的報告。拍照時要避免觸碰或污染手機及其所處的環(huán)境。如果手機的界面是可查看的,則要用相機記錄屏幕內(nèi)容,獲取手機的系統(tǒng)時間、服務(wù)狀態(tài)、電量水平及其他可視化圖標(biāo)等。
2.1.2 網(wǎng)絡(luò)隔離
來電或短信會修改手機的狀態(tài)或數(shù)據(jù),GPS定位數(shù)據(jù)可能暴露取證人員的位置,此外,一些手機可以通過發(fā)送命令遠(yuǎn)程鎖定或擦除數(shù)據(jù)。因此,在取證前需要把手機與網(wǎng)絡(luò)隔離。
開啟飛行模式、關(guān)機和將手機放入屏蔽容器是實現(xiàn)隔離的三種基本方法。然而,這些方法都存在一些缺陷。開啟飛行模式需要與手機的鍵區(qū)交互,這會帶來一些操作上的風(fēng)險,而且飛行模式無法完全阻止系統(tǒng)使用GPS服務(wù)。關(guān)機后再次開機可能會激活認(rèn)證(如:手機開機密碼),使數(shù)據(jù)提取變得復(fù)雜。保持開機實施網(wǎng)絡(luò)隔離會縮短電池使用時間,因為手機在無法連接到網(wǎng)絡(luò)時會增大發(fā)射信號的強度。法拉第籠通常用來屏蔽信號,但它在手機位于基站附近時可能無法完全發(fā)揮作用。普渡大學(xué)的實驗顯示[4],屏蔽設(shè)備并不能完全阻止網(wǎng)絡(luò)通信,短消息最容易透過屏蔽,緊跟其后的是電話和多媒體短信息。目前常用的網(wǎng)絡(luò)屏蔽方法有蜂窩網(wǎng)絡(luò)隔離卡、把手機放入屏蔽容器、屏蔽手機周邊區(qū)域和禁用手機的網(wǎng)絡(luò)服務(wù)等。
2.1.3 證據(jù)保存
由于手機數(shù)據(jù)易失,獲取到手機后應(yīng)盡快送往取證實驗室處理。存儲證據(jù)的介質(zhì)應(yīng)密封在容器中放到?jīng)鏊?、干燥的安全區(qū)域。
2.2 證據(jù)獲取
獲取證據(jù)的方式可分為三類:手工獲取、邏輯獲取和物理獲取。
手工獲取是取證人員記錄自己的全部操作并利用系統(tǒng)原有的應(yīng)用程序獲取數(shù)據(jù)。這種獲取方式的優(yōu)點是操作簡單、獲取到的信息容易理解;缺點是人工操作的出錯率很高,且獲取的信息非常有限。因此,手工獲取通常作為其他獲取方式的補充。
邏輯獲取把移動設(shè)備與計算機相連接,然后用命令提取信息。通常情況下,邏輯獲取通過訪問設(shè)備的文件系統(tǒng)獲取那些未被刪除的數(shù)據(jù)。利用第三方程序獲得ROOT權(quán)限,在adb shell上執(zhí)行dd命令以獲取/dev/mtd目錄下的所有mtd文件是常用的Android手機邏輯獲取方式。常用的邏輯獲取工具有AFLogial、Celebrite UFED等。這種數(shù)據(jù)獲取方式的不足之處在于,需要安裝代理軟件且不能獲得已刪除或文件系統(tǒng)無法識別的數(shù)據(jù)。
當(dāng)移動設(shè)備損壞或不具備執(zhí)行邏輯獲取所需的標(biāo)準(zhǔn)接口時,邏輯獲取便無法執(zhí)行。一般來說,邏輯獲取技術(shù)主要與文件系統(tǒng)交互,而物理獲取工作在更底層,作用于物理存儲介質(zhì)。物理獲取能夠按位獲得芯片的完整鏡像,主要的技術(shù)有bootloader、JTAG(Joint Test Action Group)、Chip off和微讀取等。
Bootloader是指在移動設(shè)備上安裝取證人員定制的外部操作系統(tǒng),引導(dǎo)設(shè)備啟動后將原系統(tǒng)的數(shù)據(jù)導(dǎo)出。Bootloader能夠繞過手機的安全機制,F(xiàn)lasher Box就使用這種獲取方式。
JTAG方式利用板上芯片測試技術(shù)獲取駐留在存儲介質(zhì)上的數(shù)據(jù)[5],JTAG工具能在數(shù)據(jù)受到最小改動的情況下從設(shè)備中直接獲取鏡像,無需將芯片從電路板上取下。但JTAG的數(shù)據(jù)獲取速度較慢且接入點難以尋找,有些設(shè)備制造商屏蔽了JTAG調(diào)試接入方式。
Marcel Breeuswma等人認(rèn)為,把存儲介質(zhì)從電路板上焊下(Chip off)再用商業(yè)可編程讀寫器讀取數(shù)據(jù)是最直接的獲取數(shù)據(jù)的方法[6]。這種獲取方式對操作者的經(jīng)驗及技巧有很高要求,且可能對設(shè)備造成不可逆的損壞。
微讀取是最具侵入性、最高端,同時也是最昂貴和費時的物理獲取技術(shù)。其方法是用高倍顯微鏡查看門電路的狀態(tài),要求取證人員有相應(yīng)的設(shè)備且對相關(guān)信息有足夠多的了解。
物理獲取的難點在于芯片的引腳數(shù)目、定義和尺寸各不相同,且在一定程度上有損壞芯片和數(shù)據(jù)的風(fēng)險。即便如此,取證界仍普遍認(rèn)同物理獲取優(yōu)于邏輯獲取,因為它能夠提取那些已刪除的文件或無法被文件系統(tǒng)識別的殘余數(shù)據(jù)。
2.3 證據(jù)分析
獲取手機鏡像后要對其進(jìn)行分析,取證人員往往最關(guān)心系統(tǒng)數(shù)據(jù)庫和網(wǎng)絡(luò)瀏覽器數(shù)據(jù)。常用的商業(yè)取證分析軟件有XRY COMPLETE、OXYGEN SOFTWARE、SECURE VIEW2、Final Mobile Forensics和BitPim等。
2.4 生成報告
生成報告是取證的最后階段,是對取證過程中所有操作及所得結(jié)論的詳細(xì)總結(jié)。取證報告應(yīng)包含能夠標(biāo)識案件和取證源的信息,列出所有調(diào)查結(jié)果以及負(fù)責(zé)人的簽名等[3]。一些取證工具能夠根據(jù)預(yù)定義的模板生成報告,并允許用戶修改。
獲取到的數(shù)據(jù)的類型決定了報告是否為硬拷貝格式。大部分智能手機都提供音頻和視頻功能,這些數(shù)據(jù)無法打印,為了更好地呈現(xiàn)證據(jù),此類報告應(yīng)輸出在可移動存儲介質(zhì)上(如:CD、DVD或閃存)。
3 國內(nèi)外研究現(xiàn)狀
2009年,Lessard和Kessler[7]在獲取ROOT權(quán)限后用dd命令拷貝數(shù)據(jù)鏡像,觀察系統(tǒng)數(shù)據(jù)庫和Web瀏覽器中的數(shù)據(jù),他們的工作對Android取證技術(shù)的研究有先導(dǎo)性作用。Hoog[8]的研究是Android取證領(lǐng)域的里程碑,他提出了處理移動設(shè)備的框架,指出最佳的網(wǎng)絡(luò)隔離方法是開啟飛行模式,建議通過adb獲取數(shù)據(jù)。Maus等人[9]在應(yīng)用程序數(shù)據(jù)庫中搜索維度、經(jīng)度和高度等屬性,并將這些數(shù)據(jù)轉(zhuǎn)儲到專門的數(shù)據(jù)庫獲取智能手機中的地理信息。信息工程大學(xué)的吳熙惜[10]等提出基于文件頭尾部標(biāo)志的恢復(fù)算法從Android footprint數(shù)據(jù)庫中恢復(fù)footprint.db和圖片,獲取手機的歷史位置信息。
YAFFS2曾用作Android手機的文件系統(tǒng)。2011年DFRWS[11]發(fā)出挑戰(zhàn),要求從其提供的NAND鏡像中提取有價值的信息。DFRWS最后公布了四項挑戰(zhàn)成果,獲勝者FOX-IT[12]把鏡像加載到Linux系統(tǒng)然后提取信息,他們通過比較時間戳來確定文件的最新版本,并撰寫了一份詳細(xì)的報告。高麗大學(xué)的參賽者Bang[13]等編寫工具yaffs2androidimage處理鏡像并恢復(fù)出整個文件系統(tǒng)。單獨參賽者Rustagi[14]認(rèn)為NAND閃存的OOB信息在文件系統(tǒng)重構(gòu)中起關(guān)鍵作用;另一單獨參賽者Burenin[15]認(rèn)同YAFFS2元信息在提取文件時的作用,但他未考慮文件和目錄之間的關(guān)系,沒能恢復(fù)出完整的目錄結(jié)構(gòu)。國內(nèi)在此方向也有比較深入的研究,杭州電子科技大學(xué)的徐明等人利用YAFFS2鏡像OOB區(qū)域的元信息,用逆序遍歷的方法恢復(fù)出完整的文件系統(tǒng)及各文件的歷史軌跡[16]。武貝貝和堯俊等人在此基礎(chǔ)上提出Android手機SQLite數(shù)據(jù)恢復(fù)[17]和用戶行為的重構(gòu)與分析技術(shù)[18]。由于Google已把文件系統(tǒng)從YAFFS2遷移到EXT4,上述技術(shù)只適用于Android 2.3之前的版本。Dohyun Kim等人詳細(xì)描述了EXT4文件系統(tǒng),并提出針對EXT4的信息提取技術(shù)[19]。
目前Android取證面臨如下挑戰(zhàn)。
⑴ 獲取ROOT權(quán)限存在爭議。如前所述,用第三方程序獲得手機ROOT權(quán)限再通過adb進(jìn)行邏輯獲取是常用的手段,但這會修改手機數(shù)據(jù)。TimothyVidas等人反對在取證過程中獲取ROOT權(quán)限,認(rèn)為用其他鏡像引導(dǎo)手機啟動是更好的方式[20]。
⑵ 手機安全機制。屏幕鎖是最常見的安全機制,暴力攻擊會修改手機數(shù)據(jù),通過其他系統(tǒng)鏡像引導(dǎo)啟動是一種繞過屏幕鎖的方法?!拔埸c攻擊”(smudge attack)是另一種可行的破解方式,用不同角度的光線照射屏幕來發(fā)現(xiàn)屏幕鎖的圖形樣式。此外,新版手機操作系統(tǒng)往往采用更難繞過的安全機制,如Android 4.0允許用戶對手機信息進(jìn)行加密,這意味著取證技術(shù)必須做出調(diào)整。Muller和Spreitzenbarth[21]成功地嘗試對手機進(jìn)行“冷啟動攻擊”(Cold boot attack)獲取內(nèi)存中解密后的信息。
⑶ 手機病毒和惡意軟件的大肆傳播對Android生態(tài)系統(tǒng)構(gòu)成威脅,同時也影響取證技術(shù)的發(fā)展。這些病毒或惡意軟件能夠繞過安全機制,遠(yuǎn)程控制手機發(fā)動攻擊,取證技術(shù)應(yīng)能檢測出它們的存在。例如:使用定制的bootloader繞過原來的系統(tǒng)獲取手機內(nèi)存鏡像,再將其加載到取證系統(tǒng)用合適的反病毒軟件查殺。
4 結(jié)束語
近年來,移動手機取證標(biāo)準(zhǔn)日臻成熟,取證技術(shù)也在不斷發(fā)展。Android取證目前面臨的主要挑戰(zhàn)是如何成功繞過手機安全機制以及防止病毒和惡意軟件的干擾。雖有冷啟動攻擊和bootloader等可行手段,更多類似的繞過安全機制和檢測病毒的方法仍有待研究。此外,Sylve等[22]還提出通過分析Dalvik VM內(nèi)存對整個Android應(yīng)用空間進(jìn)行取證分析的思路。本文詳細(xì)論述了符合國際標(biāo)準(zhǔn)的Android手機取證過程、取證技術(shù)的國內(nèi)外研究現(xiàn)狀和目前面臨的挑戰(zhàn),為在該領(lǐng)域進(jìn)行下一步研究提供參考。
參考文獻(xiàn):
[1] International Data Corporation.IDC Worldwide Quarterly Mobile
Phone Tracker [DB/OL].http://www.idc.com/getdoc.jsp?containerId
=prUS25450615,2015.
[2] wear-leveling. http://en.wikipedia.org/wiki/Wear_leveling[DB/
OL],2015.
[3] Rick Ayers, Sam Brothers, Wayne Jassen. Guidelines on Mobile
Device Forensics [DB/OL]. http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-101r1.pdf,2014.
[4] Eric Katz. A Field Test of Mobile Phone Shielding Devices [D].
College of Technology Master Thesis,2010:33
[5] MarcelBreeuwsma. Forensic imaging of embedded system using
JTAG[J]. Digital Invesigation,2006.
[6] Marcel Breeuwsma,Martien de Jongh, CoertKlaver, etc.Forensic
data recovery from flash memory[J]. Small Scale Device Forensics Journal,2007.
[7] Jeff Lessard, Gary Kessler. Android forensics: Simplifying cell
phone examinations [J]. Small Scale Device Forensics Journal,2011.
[8] Hoog A. Chapter 6-Android forensic techniques, Android
Forensic[M]. Syngress Media, US,2011.
[9] Stefan Maus, Hans Hofken, Marko Schuba. Forensic analysis of
geodata in android smartphones [DB/OL].http://www.schuba.fh-aachen.de/papers/11-cyberforensics.pdf,2011.
[10] 吳熙曦,李炳龍.基于Android平臺的智能手機地理數(shù)據(jù)恢復(fù)[J].武
漢大學(xué)學(xué)報(理學(xué)版),2013.10.
[11] DFRWS.DFRWS-2011-challenge [DB/OL].http://www.dfrws.
org/2011/challenge/index.shtml,2011.
[12] Pooters I, Moorrees S, Arends p. FOX-IT [Z]. http://sandbox.
dfrws.org/2011/fox-it/,2011.
[13] Bang J, Park J, etc. Dfrc-submission [Z]. http://sandbox.dfrws.
org/2011/dfrc/,2011.
[14] Rustagi A. Rustagi-submission [Z]. http://sandbox.dfrws.org/
2011/rustagi,2011.
[15] Burenin PV. Burenin-submission [Z]. http://sandbox.dfrws.org/
2011/burenin/,2011.
[16] Xu Ming, Yang Xue, etc. A metadata-based method for
recovering files and file traces from YAFFS2 [J]. Digital Forensics,2013.
[17] 武貝貝.面向NAND閃存的SQLite數(shù)據(jù)恢復(fù)技術(shù)研究與應(yīng)用[D].
杭州電子科技大學(xué),2013.
[18] 堯俊.Android用戶行為重構(gòu)與分析技術(shù)研究[D].杭州電子科技大
學(xué),2014.
[19] Dohyun Kim, Jungheum Park, etc. Forensic analysis of android
phone using ext4 file system journal log [C]. the 7th FTRA International Conference on Future Information Technology,2012.
[20] Timothy Vidas, Chengye Zhang, Nicolas Christin. Toward a
general collection methodology for Andrid devices [J]. Digital Investigation,2011.
[21] TiloMulle, Michael Spreitzenbarth. FROST[DB/OL]. Lecture
Notes in Computer Science Volume 7954,2013:373-388
[22] Joe Sylve, Andrew Case, etc.Acquisition and analysis of
volatilememory from android devices[J]. Digital Investigation,2012.