◆陸慶華 祝榮星 陳 飛
(浙江省麗水市公安局 浙江 323000)
面向安卓移動(dòng)終端設(shè)備數(shù)據(jù)取證技術(shù)
◆陸慶華 祝榮星 陳 飛
(浙江省麗水市公安局 浙江 323000)
在安卓移動(dòng)終端設(shè)備運(yùn)行中,提取數(shù)據(jù),并對(duì)數(shù)據(jù)的分析和處理成為重要的取證內(nèi)容。本文針對(duì)面向安卓移動(dòng)終端設(shè)備數(shù)據(jù)取證技術(shù)展開研究。
移動(dòng)設(shè)備;安卓;終端設(shè)備;數(shù)據(jù)分析;取證
隨著移動(dòng)終端技術(shù)的不斷升級(jí),安卓移動(dòng)終端設(shè)備在司法取證中得以廣泛應(yīng)用,實(shí)現(xiàn)了數(shù)據(jù)取證,提高了取證工作效率[1]。數(shù)字取證所發(fā)揮的作用是對(duì)所發(fā)現(xiàn)的證據(jù)進(jìn)行收集、分析,以使得所獲取正確具有重要的司法價(jià)值。
數(shù)字取證的目的是滿足司法證據(jù)的要求,對(duì)電子數(shù)據(jù)進(jìn)行取證和分析。主要包括與證據(jù)有關(guān)的電子數(shù)據(jù),如文檔文件、圖像文件、音頻及視頻文件等。
1.1 數(shù)字取證之檢查設(shè)備狀態(tài)
數(shù)字取證的檢查設(shè)備狀態(tài)包括外觀是否完整,設(shè)備型號(hào),開關(guān)機(jī)狀態(tài),電池電量,解鎖狀態(tài),聯(lián)網(wǎng)狀態(tài)等按照現(xiàn)代用戶的使用習(xí)慣,絕大多數(shù)用戶會(huì)在智能終端設(shè)備上設(shè)置密碼鎖或圖案鎖。
1.2 將需要檢測(cè)設(shè)備連接到取證工作站
采用 USB 轉(zhuǎn)接線、藍(lán)牙裝置、紅外裝置、WIFI等等,以只讀方式與工作站進(jìn)行連接。
1.3 取證
取證工具自動(dòng)搜索或人工檢索類型庫中與待檢測(cè)設(shè)備匹配的設(shè)備型號(hào),匹配驅(qū)動(dòng)程序建立數(shù)據(jù)連接,獲取并分析數(shù)據(jù),生成取證報(bào)告。
在對(duì)安卓移動(dòng)終端設(shè)備的數(shù)字取證系統(tǒng)進(jìn)行設(shè)計(jì)的時(shí)候,可以設(shè)計(jì)數(shù)字取證模塊,根據(jù)數(shù)字取證的運(yùn)行環(huán)節(jié)可以將其劃分為四個(gè)模塊,即獲取數(shù)據(jù)的模塊、傳輸數(shù)據(jù)的模塊、分析數(shù)據(jù)的模塊和處理數(shù)據(jù)的模塊。這些模塊都有各自特定的功能,之間相互作用著協(xié)同運(yùn)行,使得取證工作順利展開。
2.1 獲取數(shù)據(jù)的模塊
數(shù)據(jù)獲取模塊包括有4個(gè)子模塊,即為Ingest數(shù)據(jù)獲取模塊、Android安卓模塊、E01模塊和EXIF模塊。Ingest模塊所發(fā)揮的功能是數(shù)據(jù)源以及相關(guān)文件的獲取;Android模塊所發(fā)揮的功能是獲取終端數(shù)字;E01模塊所發(fā)揮的作用是識(shí)別該類型的文件并獲取相關(guān)數(shù)據(jù);EXIF模塊所發(fā)揮的作用是識(shí)別EXIF圖像,并對(duì)有關(guān)文件進(jìn)行分析。
2.2 傳輸數(shù)據(jù)的模塊
傳輸數(shù)據(jù)的模塊所采用的是通信技術(shù)對(duì)相關(guān)數(shù)據(jù)進(jìn)行傳輸,包括有4個(gè)子模塊,即為Services提供服務(wù)的模塊、Core Component Inter Faces核心組成構(gòu)件的接口模塊、Core Utils核心通用模塊、Key word Search Service搜索關(guān)鍵字的模塊[2]。其中,Services模塊所發(fā)揮的作用是為模塊直接的信息傳遞提供必要的服務(wù);Core Component Inter Faces模塊所發(fā)揮的作用是建立信息傳遞所需要的通信接口,使得組件之間的信息可以順利傳輸;Core Utils模塊功能所發(fā)揮的作用是為信息傳輸提供通用工具;Key word Search Service模塊所發(fā)揮的作用是為搜索關(guān)鍵字提供必要的服務(wù)。
2.3 分析數(shù)據(jù)的模塊
分析數(shù)據(jù)的模塊包括有9個(gè)子模塊,即為File typeid處理文件的模塊、Seven Zip處理壓縮包的模塊、Data Model數(shù)據(jù)模塊、File Ext Mismatch識(shí)別不匹配擴(kuò)展名的模塊、Core核心模塊、Key word Search搜索關(guān)鍵字的模塊、File Search搜索文件的模塊、Core libs核心庫模塊、Recent Activity近期活動(dòng)的模塊[3]。其中,F(xiàn)ile type模塊所發(fā)揮的作用是判斷文件的類型并對(duì)相關(guān)問題進(jìn)行分析;Seven Zip模塊所發(fā)揮的作用是識(shí)別壓縮包文件并對(duì)相關(guān)問題進(jìn)行分析;Data Model模塊所發(fā)揮的作用是建立數(shù)據(jù)模塊并對(duì)相關(guān)問題進(jìn)行分析;File Ext Mismatch模塊是導(dǎo)入擴(kuò)展名并對(duì)相關(guān)問題進(jìn)行分析;Core核心模塊所發(fā)揮的作用是加載核心庫并對(duì)相關(guān)問題進(jìn)行分析;Key word Search模塊所發(fā)揮的作用是搜索關(guān)鍵字并對(duì)相關(guān)問題進(jìn)行分析;File Search模塊所發(fā)揮的作用是搜索文件并對(duì)相關(guān)問題進(jìn)行分析;Core libs模塊所發(fā)揮的作用是加載核心庫并對(duì)相關(guān)問題進(jìn)行分析;Recent Activity模塊所發(fā)揮的作用是提取各項(xiàng)活動(dòng)任務(wù)并對(duì)相關(guān)問題進(jìn)行分析。
2.4 處理數(shù)據(jù)的模塊
處理數(shù)據(jù)的模塊包括有7個(gè)子模塊,即為Content Viewers瀏覽內(nèi)容的模塊、Hash Data base哈希數(shù)據(jù)校驗(yàn)的模塊、Directory Tree目錄樹模塊、Report報(bào)告模塊、Time line時(shí)間軸模塊。其中,Content Viewers模塊所發(fā)揮的作用是瀏覽元數(shù)據(jù)、Hash Data base模塊所發(fā)揮的作用是采用哈希校驗(yàn)的方法對(duì)數(shù)據(jù)進(jìn)行取證;Directory Tree模塊所發(fā)揮的作用是將建立數(shù)據(jù)樹目錄、Report模塊所發(fā)揮的作用是將符合用戶需求的取證報(bào)告制定出來、Time line模塊所發(fā)揮的作用是分析時(shí)間、事件以及行為之間所存在的相關(guān)性[4]。
安卓移動(dòng)終端設(shè)備通過運(yùn)行Sleuth Kit框架進(jìn)行數(shù)字取證的,所運(yùn)行的是Windows 7系統(tǒng)運(yùn)行環(huán)境,應(yīng)用Netbeans IDE開發(fā)平臺(tái),所使用的程序語言為JAVA語言。
3.1 獲取數(shù)據(jù)模塊的創(chuàng)建
使用JAVA語言創(chuàng)建一個(gè)新的.class 文件,可以參照TSK 框架對(duì)factory.class 文件進(jìn)行配置,對(duì)數(shù)據(jù)獲取模塊進(jìn)行創(chuàng)建,即為“is Data Source Ingest Module Factory()”,進(jìn)行獲取數(shù)據(jù)源模塊的執(zhí)行,即為“create Data Source Ingest Module()”。對(duì)于接口函數(shù)的運(yùn)行,主要采用“startup()”方法和“process()”方法,其中“process()”方法是完成獲取數(shù)據(jù)的各項(xiàng)任務(wù)[5]。如果用戶將獲取數(shù)據(jù)的操作取消,就可以調(diào)用獲取數(shù)據(jù)的模塊,啟動(dòng)“Job Context.is Job Cancelled()”中斷任務(wù)。如果需要分析數(shù)據(jù)內(nèi)容,可以采用“findFiles()” 方法,創(chuàng)建“Ingest Message”,也可以啟動(dòng)“post Message()”將信息發(fā)送到系統(tǒng)的收件箱中。
3.2 進(jìn)行數(shù)據(jù)模塊的權(quán)限管理
要有效地控制用戶的取證權(quán)限,可以使用Filter過濾器,根據(jù)用戶權(quán)限對(duì)用戶進(jìn)行等級(jí)劃分,即有權(quán)力使用ROOT 功能的用戶為高級(jí)授權(quán)用戶,auth-value值可以是“1”,也可以是“0”;有權(quán)力使用獲取數(shù)據(jù)信息的功能的用戶為中級(jí)授權(quán)用戶,auth-value值可以是“1”;有權(quán)力使用數(shù)據(jù)源的用戶為其他用戶,auth-value值可以是“0”。
3.3 取證報(bào)告的制定
取證報(bào)告的制定所采用的是表格報(bào)告。具體操作中選用數(shù)據(jù)列表,根據(jù)用戶需要對(duì)相關(guān)的數(shù)據(jù)信息進(jìn)行分類處理,可以采用“add Row”方法,也可以采用“start Table”方法,中,使用用戶不僅可以獲取信息,而且還以表格的形式呈現(xiàn)。
3.4 建立數(shù)據(jù)庫
面向安卓移動(dòng)終端設(shè)備的數(shù)據(jù)取證系統(tǒng),需要將SQ Lite 數(shù)據(jù)庫建立起來。對(duì)于數(shù)據(jù)信息的統(tǒng)計(jì)可以使用Map 函數(shù),所包括的內(nèi)容為事件的起始時(shí)間和事件的結(jié)束時(shí)間[6]。聚合事件可以使用List 函數(shù),所包括的內(nèi)容為事件所發(fā)生的時(shí)間和事件的類型。
綜上所述,安卓移動(dòng)終端設(shè)備在司法取證中得到廣泛應(yīng)用。使用安卓移動(dòng)終端設(shè)備進(jìn)行取證工作中,需要針對(duì)所獲取的數(shù)據(jù)信息進(jìn)行分析。通過了解數(shù)字取證模塊設(shè)計(jì),并對(duì)取證系統(tǒng)的運(yùn)行狀況進(jìn)行分析是非常必要的。
[1]趙斌,何涇沙,萬雪姣,張玉強(qiáng),劉公政.針對(duì)安卓移動(dòng)終端設(shè)備的數(shù)據(jù)取證技術(shù)分析[J].警察技術(shù),2014.
[2]王隨剛,吳莎莎,李昂.基于SQLite3的安卓手機(jī)數(shù)據(jù)恢復(fù)技術(shù)的研究[J].警察技術(shù),2012.
[3]丁未.將工業(yè)與科技世界的運(yùn)行統(tǒng)一在Python語言的開源框架中[J].中國儀器儀表,2013.
[4]武貝貝.面向NAND閃存的SQLite數(shù)據(jù)恢復(fù)技術(shù)研究與應(yīng)用[D].杭州電子科技大學(xué)碩士學(xué)位論文,2013.
[5]A.Hoog.卓取證實(shí)戰(zhàn):調(diào)查、分析與移動(dòng)安全[M].何涇沙.機(jī)械工業(yè)出版社,2013.
[6]杜江,褚?guī)洠悄苁謾C(jī)取證研究[J].電腦知識(shí)與技術(shù),2011.