楊雪
摘 要: Android智能手機(jī)的廣泛應(yīng)用使其成為備受關(guān)注的數(shù)字取證源,近年來取證技術(shù)不斷發(fā)展,Android手機(jī)取證標(biāo)準(zhǔn)日臻成熟。研究了Android手機(jī)存儲(chǔ)設(shè)備NAND閃存的異步更新策略這一有利于取證的特性,詳細(xì)描述了符合國際標(biāo)準(zhǔn)的Android手機(jī)取證過程,以及Android手機(jī)取證技術(shù)的國內(nèi)外研究現(xiàn)狀和面臨的挑戰(zhàn)。在此基礎(chǔ)上展望未來發(fā)展趨勢(shì),為進(jìn)一步研究Android手機(jī)取證提供參考性意見。
關(guān)鍵詞: Android智能手機(jī); 數(shù)字取證; 取證標(biāo)準(zhǔn); 取證現(xiàn)狀
中圖分類號(hào):TN929.53 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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ā)展使智能手機(jī)市場(chǎng)迅速擴(kuò)張。IDC(International Data Corporation)在2015年2月24日發(fā)布的全球手機(jī)市場(chǎng)調(diào)查報(bào)告[1]中稱,截至2014年第4季度,全球智能手機(jī)保有量達(dá)到13億部,其中Android手機(jī)占81.5%。Android手機(jī)的廣泛應(yīng)用使其成為目前備受關(guān)注的數(shù)字取證源。本文研究Android手機(jī)取證技術(shù),對(duì)近年來國內(nèi)外研究現(xiàn)狀進(jìn)行概述和分析并展望Android手機(jī)取證的未來趨勢(shì)。
1 Android手機(jī)取證相關(guān)特性
由于攜帶輕便、功耗低、存儲(chǔ)數(shù)據(jù)不易丟失等特點(diǎn),NAND閃存被廣泛用作Android手機(jī)的存儲(chǔ)設(shè)備。由于NAND閃存的耐擦寫程度遠(yuǎn)低于磁存儲(chǔ)器,為了延長(zhǎng)閃存的使用壽命,必須通過異步更新的策略實(shí)現(xiàn)磨損均衡[2]。即:修改文件時(shí),新數(shù)據(jù)并不直接寫入原來的位置,而是寫入一塊未分配的區(qū)域,并將原數(shù)據(jù)標(biāo)記為無效;NAND閃存在空間不足時(shí)啟動(dòng)垃圾回收機(jī)制把這些區(qū)域標(biāo)記為可用。NAND閃存的這一特性為Android手機(jī)取證提供了有利機(jī)會(huì)。
2 Android手機(jī)取證過程
NIST在2014年5月發(fā)布的《移動(dòng)設(shè)備取證指南》中把移動(dòng)設(shè)備的取證過程分為證據(jù)保全、證據(jù)獲取、證據(jù)分析和生成報(bào)告四個(gè)階段[3]。Android手機(jī)的取證過程也遵照相應(yīng)規(guī)定。
2.1 證據(jù)保全
證據(jù)保全的目的是保護(hù)駐留在移動(dòng)設(shè)備及其可移動(dòng)介質(zhì)上的數(shù)據(jù),基本步驟包括記錄現(xiàn)場(chǎng)、網(wǎng)絡(luò)隔離和證據(jù)保存。
2.1.1 記錄現(xiàn)場(chǎng)
使用相機(jī)記錄現(xiàn)場(chǎng)并生成一份有關(guān)手機(jī)狀態(tài)的報(bào)告。拍照時(shí)要避免觸碰或污染手機(jī)及其所處的環(huán)境。如果手機(jī)的界面是可查看的,則要用相機(jī)記錄屏幕內(nèi)容,獲取手機(jī)的系統(tǒng)時(shí)間、服務(wù)狀態(tài)、電量水平及其他可視化圖標(biāo)等。
2.1.2 網(wǎng)絡(luò)隔離
來電或短信會(huì)修改手機(jī)的狀態(tài)或數(shù)據(jù),GPS定位數(shù)據(jù)可能暴露取證人員的位置,此外,一些手機(jī)可以通過發(fā)送命令遠(yuǎn)程鎖定或擦除數(shù)據(jù)。因此,在取證前需要把手機(jī)與網(wǎng)絡(luò)隔離。
開啟飛行模式、關(guān)機(jī)和將手機(jī)放入屏蔽容器是實(shí)現(xiàn)隔離的三種基本方法。然而,這些方法都存在一些缺陷。開啟飛行模式需要與手機(jī)的鍵區(qū)交互,這會(huì)帶來一些操作上的風(fēng)險(xiǎn),而且飛行模式無法完全阻止系統(tǒng)使用GPS服務(wù)。關(guān)機(jī)后再次開機(jī)可能會(huì)激活認(rèn)證(如:手機(jī)開機(jī)密碼),使數(shù)據(jù)提取變得復(fù)雜。保持開機(jī)實(shí)施網(wǎng)絡(luò)隔離會(huì)縮短電池使用時(shí)間,因?yàn)槭謾C(jī)在無法連接到網(wǎng)絡(luò)時(shí)會(huì)增大發(fā)射信號(hào)的強(qiáng)度。法拉第籠通常用來屏蔽信號(hào),但它在手機(jī)位于基站附近時(shí)可能無法完全發(fā)揮作用。普渡大學(xué)的實(shí)驗(yàn)顯示[4],屏蔽設(shè)備并不能完全阻止網(wǎng)絡(luò)通信,短消息最容易透過屏蔽,緊跟其后的是電話和多媒體短信息。目前常用的網(wǎng)絡(luò)屏蔽方法有蜂窩網(wǎng)絡(luò)隔離卡、把手機(jī)放入屏蔽容器、屏蔽手機(jī)周邊區(qū)域和禁用手機(jī)的網(wǎng)絡(luò)服務(wù)等。
2.1.3 證據(jù)保存
由于手機(jī)數(shù)據(jù)易失,獲取到手機(jī)后應(yīng)盡快送往取證實(shí)驗(yàn)室處理。存儲(chǔ)證據(jù)的介質(zhì)應(yīng)密封在容器中放到?jīng)鏊⒏稍锏陌踩珔^(qū)域。
2.2 證據(jù)獲取
獲取證據(jù)的方式可分為三類:手工獲取、邏輯獲取和物理獲取。
手工獲取是取證人員記錄自己的全部操作并利用系統(tǒng)原有的應(yīng)用程序獲取數(shù)據(jù)。這種獲取方式的優(yōu)點(diǎn)是操作簡(jiǎn)單、獲取到的信息容易理解;缺點(diǎn)是人工操作的出錯(cuò)率很高,且獲取的信息非常有限。因此,手工獲取通常作為其他獲取方式的補(bǔ)充。
邏輯獲取把移動(dòng)設(shè)備與計(jì)算機(jī)相連接,然后用命令提取信息。通常情況下,邏輯獲取通過訪問設(shè)備的文件系統(tǒng)獲取那些未被刪除的數(shù)據(jù)。利用第三方程序獲得ROOT權(quán)限,在adb shell上執(zhí)行dd命令以獲取/dev/mtd目錄下的所有mtd文件是常用的Android手機(jī)邏輯獲取方式。常用的邏輯獲取工具有AFLogial、Celebrite UFED等。這種數(shù)據(jù)獲取方式的不足之處在于,需要安裝代理軟件且不能獲得已刪除或文件系統(tǒng)無法識(shí)別的數(shù)據(jù)。
當(dāng)移動(dòng)設(shè)備損壞或不具備執(zhí)行邏輯獲取所需的標(biāo)準(zhǔn)接口時(shí),邏輯獲取便無法執(zhí)行。一般來說,邏輯獲取技術(shù)主要與文件系統(tǒng)交互,而物理獲取工作在更底層,作用于物理存儲(chǔ)介質(zhì)。物理獲取能夠按位獲得芯片的完整鏡像,主要的技術(shù)有bootloader、JTAG(Joint Test Action Group)、Chip off和微讀取等。
Bootloader是指在移動(dòng)設(shè)備上安裝取證人員定制的外部操作系統(tǒng),引導(dǎo)設(shè)備啟動(dòng)后將原系統(tǒng)的數(shù)據(jù)導(dǎo)出。Bootloader能夠繞過手機(jī)的安全機(jī)制,F(xiàn)lasher Box就使用這種獲取方式。
JTAG方式利用板上芯片測(cè)試技術(shù)獲取駐留在存儲(chǔ)介質(zhì)上的數(shù)據(jù)[5],JTAG工具能在數(shù)據(jù)受到最小改動(dòng)的情況下從設(shè)備中直接獲取鏡像,無需將芯片從電路板上取下。但JTAG的數(shù)據(jù)獲取速度較慢且接入點(diǎn)難以尋找,有些設(shè)備制造商屏蔽了JTAG調(diào)試接入方式。
Marcel Breeuswma等人認(rèn)為,把存儲(chǔ)介質(zhì)從電路板上焊下(Chip off)再用商業(yè)可編程讀寫器讀取數(shù)據(jù)是最直接的獲取數(shù)據(jù)的方法[6]。這種獲取方式對(duì)操作者的經(jīng)驗(yàn)及技巧有很高要求,且可能對(duì)設(shè)備造成不可逆的損壞。
微讀取是最具侵入性、最高端,同時(shí)也是最昂貴和費(fèi)時(shí)的物理獲取技術(shù)。其方法是用高倍顯微鏡查看門電路的狀態(tài),要求取證人員有相應(yīng)的設(shè)備且對(duì)相關(guān)信息有足夠多的了解。
物理獲取的難點(diǎn)在于芯片的引腳數(shù)目、定義和尺寸各不相同,且在一定程度上有損壞芯片和數(shù)據(jù)的風(fēng)險(xiǎn)。即便如此,取證界仍普遍認(rèn)同物理獲取優(yōu)于邏輯獲取,因?yàn)樗軌蛱崛∧切┮褎h除的文件或無法被文件系統(tǒng)識(shí)別的殘余數(shù)據(jù)。
2.3 證據(jù)分析
獲取手機(jī)鏡像后要對(duì)其進(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 生成報(bào)告
生成報(bào)告是取證的最后階段,是對(duì)取證過程中所有操作及所得結(jié)論的詳細(xì)總結(jié)。取證報(bào)告應(yīng)包含能夠標(biāo)識(shí)案件和取證源的信息,列出所有調(diào)查結(jié)果以及負(fù)責(zé)人的簽名等[3]。一些取證工具能夠根據(jù)預(yù)定義的模板生成報(bào)告,并允許用戶修改。
獲取到的數(shù)據(jù)的類型決定了報(bào)告是否為硬拷貝格式。大部分智能手機(jī)都提供音頻和視頻功能,這些數(shù)據(jù)無法打印,為了更好地呈現(xiàn)證據(jù),此類報(bào)告應(yīng)輸出在可移動(dòng)存儲(chǔ)介質(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ù),他們的工作對(duì)Android取證技術(shù)的研究有先導(dǎo)性作用。Hoog[8]的研究是Android取證領(lǐng)域的里程碑,他提出了處理移動(dòng)設(shè)備的框架,指出最佳的網(wǎng)絡(luò)隔離方法是開啟飛行模式,建議通過adb獲取數(shù)據(jù)。Maus等人[9]在應(yīng)用程序數(shù)據(jù)庫中搜索維度、經(jīng)度和高度等屬性,并將這些數(shù)據(jù)轉(zhuǎn)儲(chǔ)到專門的數(shù)據(jù)庫獲取智能手機(jī)中的地理信息。信息工程大學(xué)的吳熙惜[10]等提出基于文件頭尾部標(biāo)志的恢復(fù)算法從Android footprint數(shù)據(jù)庫中恢復(fù)footprint.db和圖片,獲取手機(jī)的歷史位置信息。
YAFFS2曾用作Android手機(jī)的文件系統(tǒng)。2011年DFRWS[11]發(fā)出挑戰(zhàn),要求從其提供的NAND鏡像中提取有價(jià)值的信息。DFRWS最后公布了四項(xiàng)挑戰(zhàn)成果,獲勝者FOX-IT[12]把鏡像加載到Linux系統(tǒng)然后提取信息,他們通過比較時(shí)間戳來確定文件的最新版本,并撰寫了一份詳細(xì)的報(bào)告。高麗大學(xué)的參賽者Bang[13]等編寫工具yaffs2androidimage處理鏡像并恢復(fù)出整個(gè)文件系統(tǒng)。單獨(dú)參賽者Rustagi[14]認(rèn)為NAND閃存的OOB信息在文件系統(tǒng)重構(gòu)中起關(guān)鍵作用;另一單獨(dú)參賽者Burenin[15]認(rèn)同YAFFS2元信息在提取文件時(shí)的作用,但他未考慮文件和目錄之間的關(guān)系,沒能恢復(fù)出完整的目錄結(jié)構(gòu)。國內(nèi)在此方向也有比較深入的研究,杭州電子科技大學(xué)的徐明等人利用YAFFS2鏡像OOB區(qū)域的元信息,用逆序遍歷的方法恢復(fù)出完整的文件系統(tǒng)及各文件的歷史軌跡[16]。武貝貝和堯俊等人在此基礎(chǔ)上提出Android手機(jī)SQLite數(shù)據(jù)恢復(fù)[17]和用戶行為的重構(gòu)與分析技術(shù)[18]。由于Google已把文件系統(tǒng)從YAFFS2遷移到EXT4,上述技術(shù)只適用于Android 2.3之前的版本。Dohyun Kim等人詳細(xì)描述了EXT4文件系統(tǒng),并提出針對(duì)EXT4的信息提取技術(shù)[19]。
目前Android取證面臨如下挑戰(zhàn)。
⑴ 獲取ROOT權(quán)限存在爭(zhēng)議。如前所述,用第三方程序獲得手機(jī)ROOT權(quán)限再通過adb進(jìn)行邏輯獲取是常用的手段,但這會(huì)修改手機(jī)數(shù)據(jù)。TimothyVidas等人反對(duì)在取證過程中獲取ROOT權(quán)限,認(rèn)為用其他鏡像引導(dǎo)手機(jī)啟動(dòng)是更好的方式[20]。
⑵ 手機(jī)安全機(jī)制。屏幕鎖是最常見的安全機(jī)制,暴力攻擊會(huì)修改手機(jī)數(shù)據(jù),通過其他系統(tǒng)鏡像引導(dǎo)啟動(dòng)是一種繞過屏幕鎖的方法。“污點(diǎn)攻擊”(smudge attack)是另一種可行的破解方式,用不同角度的光線照射屏幕來發(fā)現(xiàn)屏幕鎖的圖形樣式。此外,新版手機(jī)操作系統(tǒng)往往采用更難繞過的安全機(jī)制,如Android 4.0允許用戶對(duì)手機(jī)信息進(jìn)行加密,這意味著取證技術(shù)必須做出調(diào)整。Muller和Spreitzenbarth[21]成功地嘗試對(duì)手機(jī)進(jìn)行“冷啟動(dòng)攻擊”(Cold boot attack)獲取內(nèi)存中解密后的信息。
⑶ 手機(jī)病毒和惡意軟件的大肆傳播對(duì)Android生態(tài)系統(tǒng)構(gòu)成威脅,同時(shí)也影響取證技術(shù)的發(fā)展。這些病毒或惡意軟件能夠繞過安全機(jī)制,遠(yuǎn)程控制手機(jī)發(fā)動(dòng)攻擊,取證技術(shù)應(yīng)能檢測(cè)出它們的存在。例如:使用定制的bootloader繞過原來的系統(tǒng)獲取手機(jī)內(nèi)存鏡像,再將其加載到取證系統(tǒng)用合適的反病毒軟件查殺。
4 結(jié)束語
近年來,移動(dòng)手機(jī)取證標(biāo)準(zhǔn)日臻成熟,取證技術(shù)也在不斷發(fā)展。Android取證目前面臨的主要挑戰(zhàn)是如何成功繞過手機(jī)安全機(jī)制以及防止病毒和惡意軟件的干擾。雖有冷啟動(dòng)攻擊和bootloader等可行手段,更多類似的繞過安全機(jī)制和檢測(cè)病毒的方法仍有待研究。此外,Sylve等[22]還提出通過分析Dalvik VM內(nèi)存對(duì)整個(gè)Android應(yīng)用空間進(jìn)行取證分析的思路。本文詳細(xì)論述了符合國際標(biāo)準(zhǔn)的Android手機(jī)取證過程、取證技術(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平臺(tái)的智能手機(jī)地理數(shù)據(jù)恢復(fù)[J].武
漢大學(xué)學(xué)報(bào)(理學(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.