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