淺談智能手機取證—技術篇
隨著手機智能化程度越來越高,我們可以通過智能手機處理越來越多的生活需求。智能手機中的電子數據主要來源于用戶使用各類系統應用與第三方應用留下的痕跡,包括聊天記錄、出行記錄、地理位置、支付記錄、通話記錄和短信等信息,獲知此類信息可以幫助辦案人員更好的了解案情,必須及時做好手機的扣押及電子數據的提取與分析工作。
手機電子數據提取流程主要包括現場獲取、實驗室檢驗、檢出數據和檢驗記錄四個部分。在本文中,我們將主要針對實驗室檢驗與檢出數據環節,從數據存儲情況、數據提取技術和取證分析技術三個方面,具體介紹主流的iOS和Android智能手機取證所涉及到的研究基礎和關鍵技術。
1.智能手機數據存儲技術
為了提取和分析移動設備存儲的數據,首先必須知道在哪里可以找到這些數據。下面將根據設備系統類型不同對數據存儲方式進行介紹。
1.1 Android數據存儲技術
Android文件系統通常分為內部存儲和外部存儲,內部存儲即系統內存,用于存儲Android操作系統以及應用程序的私有數據和緩存,外部存儲則類似于 SD卡,正常情況下用戶只能對該部分進行讀寫操作,外部存儲目前也普遍內置到設備中。應用安裝后,系統會自動在內部存儲和外部存儲分別建立應用的私有存儲區域,對于不同的Android設備來說,它們往往具有一些通用的標準存儲位置。圖1展示了Android存儲的層次化描述,最頂層紅色部分表示在取證過程中應重點關注的Android系統分區,下層表示在這些分區中能夠定位的電子數據信息的存儲位置。
圖1 Android數據存儲區域
首先來看“data”分區,這個分區包含所有的用戶數據,是聯系人、短信、設置和應用程序等存放的地方,擦除這個分區就相當于執行恢復出廠設置。在取證時“data”分區下應重點關注的數據存儲目錄見表1。
表1 “data”分區詳情
其次來看“sdcard”分區,這個分區用作外部存儲區域,主要用來緩解系統存儲空間不足帶來的影響,該分區不受安全保護,任何人都可以訪問存儲在這里的數據?!皊dcard”分區中的有用信息包括:相機應用程序拍攝的圖片/視頻、用戶自定義下載的文件以及應用程序公共存儲區存儲的數據。
最后來看“system”分區,此分區用來存放除內核和文件系統以外的系統相關配置,包括了用戶界面、手機預裝的軟件、應用程序運行日志等,這些數據提供了深入了解應用程序運行底層邏輯的可能。
不同的Android設備雖然可能有著不同的文件系統結構,但是它們所具有的這些通用的數據存儲位置給取證人員工作的開展指明了方向。
1.2 iOS數據存儲技術
iOS使用HFS+(Hierarchical File System Plus)文件系統,如圖2所示,一個HFS+卷一般包含6個數據結構,分別是:
(1)卷頭文件(Volume Header):該文件定義卷的基本結構,如每個分配塊的大小、已用和空閑塊的數量,以及其他特殊文件的大小和位置。
(2)分配文件(Allocation File):此文件包括一個位圖,其中包含卷中已使用和未使用的塊。
(3)目錄文件(Catalog File):此文件定義文件系統中文件夾的結構,并用于標識特定文件或文件夾的位置擴展數據塊。
(4)擴展數據塊溢出文件(Extents Overflow File):此文件包含指向需要八個以上連續分配塊的文件的其他擴展數據塊的指針。
(5)屬性文件(Attribute File):此文件包含文件的可自定義屬性。
(6)啟動文件(Startup File):此文件包含系統啟動時所需的信息。
圖2 HFS+文件系統結構
iOS設備一般分為兩部分——系統分區和數據分區。系統分區包含iOS操作系統和所有預裝應用,路徑一般是“/dev/disk0s1”或者“/dev/disk0s1s1”。由于系統部分不包含用戶安裝的應用程序且用戶通常無法訪問該分區且與調查相關的所有信息都在數據分區內,所以此部分很小且此分區通常不被關注。
數據分區占據了存儲空間的大部分,路徑一般是“/dev/disk0s2”或者“/dev/disk0s2s2”。該部分包含用戶數據以及用戶安裝的應用程序。關鍵存儲目錄描述如表2所示。
表2 iOS數據分區關鍵存儲目錄
#
2.智能手機數據提取技術
明確了數據的存儲位置,接下來要考慮如何從智能手機設備中將這些有用數據提取出來。本節主要介紹了四種技術來提取智能手機物理映像或邏輯映像數據,其中前兩種Android和iOS設備可以共用,后兩種僅能針對Android設備。提取物理映像數據可以理解為對存儲設備或分區的逐位復制或數據轉儲,提取邏輯映像數據則可以理解為去拷貝設備存儲的文件和文件夾的副本。
2.1 基于Chip-Off(芯片摘?。┑臄祿崛〖夹g
這種數據提取方式用于提取智能設備物理映像,需要分析人員具備相關硬件技術知識,從設備的電路板上將NAND閃存芯片實際剝離出來,并通過焊接等技術將芯片的引腳直接與硬件分析工具進行連接,以便隨后分析工作的展開。只要閃存芯片完整,即使設備已經損壞,Chip-Off技術也可以從中提取數據,并且不需要提前了解設備解鎖憑據。該技術的缺點是拆解芯片時可能會造成無法還原的后果,耗時較長,風險較高,而且隨著全盤加密技術的普及,通過Chip-Off技術很難獲取到NAND中的明文數據。
2.2 基于備份的數據提取技術
該技術主要通過第三方備份應用軟件或備份應用編程接口來提取設備數據。早期Android沒有提供個人數據備份機制,因此應用商場中發布了很多第三方備份軟件,例如RerWare公司開發的My Backup Pro,這些軟件可以讓用戶或取證人員將終端設備數據備份到SD卡或云端上,如果具有root訪問權限,還可以將“/data/data”等重點存儲區域的文件進行備份。使用谷歌推出的備份應用程序接口進行備份會更加安全、可靠,并且對于所有設備上的應用程序來說具有備份一致性,這有利于備份的恢復工作。iOS設備則可以直接通過iTunes獲取手機備份。
2.3 基于JTAG (Joint Test Action Group)的數據提取技術
JTAG是一種國際標準測試協議,主要用于對各類芯片以及其外圍設備進行測試與調試。目前Android設備的CPU(central processing unit,CPU)硬件一般具備JTAG接口,可以采用JTAG技術手段提取設備的完整鏡像文件并進行深度的數據恢復操作,屬于物理映像數據提取技術。分析人員利用Android設備背后的JTAG測試接口,向設備CPU發送命令,通過JTAG命令將閃存中的所有數據發送給CPU,再從CPU上把閃存芯片的數據提取走。JTAG技術對CPU底層協議的操作是在設備不開機情況下進行的,不需要獲知設備類型、鎖屏密碼等信息,同時避免了對設備物理結構的破壞,數據提取效果與Chip-Off技術完全一致。JTAG技術的缺點主要包括:不是所有設備都支持JTAG,JTAG測試接口很難定位,數據提取過程緩慢以及必須在CPU完好的情況下才能發揮作用。
2.4 基于ADB(Android Debug Bridge)的數據提取技術
ADB是取證人員針對Android設備取證經常接觸到的一個命令行工具,屬于Android SDK,允許計算機和Android設備之間使用USB連接后建立通信。主要功能包括執行服務器端Shell、上傳/下載文件、建立連接和映射以及安裝應用程序等。該工具包含三個套件:Client部分運行在計算機端,用于向Android設備發送命令;Daemon部分運行在設備端后臺,用于運行Client發送過來的命令;Server部分運行在計算機端后臺,用于管理Client和Daemon之間的通信。ADB中的常用命令如表3所示。
表3 ADB常用命令
默認情況下,Android設備的ADB功能是關閉的,需要手動開啟USB調試模式,且需要提前解鎖設備并獲得設備的root權限。
3.智能手機數據分析
從設備中提取出數據后,取證人員需要對數據含義進一步抽取和分析。本小節從時間序列分析、文件雕復和應用分析三個角度進行介紹,這些分析技術都是為了最大限度的對數據上下文進行關聯,以便從中獲取取證所需的關鍵證據信息。
3.1 時間序列分析
時間序列分析是取證調查中的重要部分,通過分析操作事件發生的時間可以定位嫌疑人的可疑操作,相關時間戳也保證了電子證據固化的可信性和司法機構的公信力。
在Android設備中,DropBoxManagerService服務工作路徑下以SystemBoot@[timestamp].[log|txt]形式命名的日志文件能反應設備啟動時間,而以event_data@[timestamp].txt形式命名的日志文件每30分鐘創建一次,可方便取證人員分析設備連續運行時間。除此之外,還有一些數據位置同樣包含有關時間和日期設置的相關信息,例如“/data/property/persist.sys.timezone”文件中包含當前正在使用的時區信息。為獲取文件系統中的時間序列信息,需要先將文件系統以只讀的方式掛載,然后可以借助log2timeline等工具分析文件創建、修改時間。
iOS設備的計時方式沒有采用經典的UNIX時間戳,而是使用MAC絕對時間戳,即自2001年1月1日00:00:00以來經過的秒數。Apple iTunes軟件允許用戶創建iOS設備備份,備份文件夾名稱的末尾會附加備份的時間戳。另外,iMessage、Dropbox、Google Drive等應用數據庫中也存儲了如通話記錄、短信記錄、文件上傳時間等應用自身提供服務的時間戳,同樣在取證過程中需重點關注。
通過運用專業知識,對提取到的時間信息進行分析,技術人員可以更有效的分辨各類操作背后與案件相關的證據信息。
3.2 文件雕復
文件雕復是指對具體文件進行查找和獲取的過程。這個過程中,文件的內容被作為二進制數值對待,文件雕復的工作就是檢查二進制數據,并利用已知文件頭來識別文件類型。若已知某文件有確定的文件尾,文件雕復技術將會從文件頭開始掃描,直到匹配到相應的文件尾,然后將頭尾之間的數據保存為文件,存儲到磁盤中用于后續審查。
傳統的文件雕復技術要求映像中是有序數據,對于產生文件碎片的大文件很難恢復。新型文件雕復技術嘗試突破文件碎片修復的困局,考慮將一些常見文件系統的碎片特征配置化。Scalpel是一款著名的開源文件雕復工具,它通過讀取定義了文件頭尾特征的數據庫從文件系統的原始映像中提取文件,可工作在FAT、NTFS、HFS等常見移動設備原始分區格式之上。
雕復完成后,輸出以文件類型分類存儲。表4中展示了用Scalpel能夠恢復的部分標準文件類型以及可供取證人員參考的文件信息。
表4 Scalpal文件雕復結果
3.3 應用分析
本小節以Android和iOS設備中部分默認應用程序為例進行分析,從應用信息、重要目錄及文件、重要數據庫等方面介紹取證人員在分析時的重點關注對象。
3.4 Android設備
(1)短信與彩信
應用軟件名為Messaging,軟件包名為com.android.providers.telephony。分析“data”分區下該應用的數據目錄,能發現關鍵數據主要存儲在mmssms.db數據庫中,其中重要的數據庫表信息如表5所示。
表5 “Messaging”數據庫表信息
由上表可知,取證人員在分析該應用數據時應重點關注sms表中信息,另外應用目錄下還存在一個app_parts文件夾,其中存有的多媒體附件也是重點分析對象。手機短信可以作為證明案件事實的證據,在進行手機短信內容公證的時候,還要注意記錄下手機的品牌和型號。
(2)瀏覽器
應用軟件名為Internet,軟件包名為com.android.browser。該應用需重點分析的文件和數據庫表如下所示:
表6 “Internet”數據庫表信息
瀏覽器歷史記錄分析的主要目的在于檢查并分析計算機用戶通過網絡瀏覽器在互聯網上查看的內容,一些關鍵證據可能會隱藏其中,尤其在涉及情色及信用卡詐騙等以瀏覽器為主要犯罪工具的案件中。
(3)聯系人
應用軟件名為Contacts,軟件包名為com.android.providers.contacts。該應用關鍵數據主要存儲在contacts2.db數據庫中,其中重要的數據庫表信息如表7所示。
表7 “Contacts”數據庫表信息
統計手機中所有聯系人分布情況,可以用于繪制手機持有者人物畫像,與手機中其他信息進行關聯,可以挖掘出其中出現過的手機號、郵箱、身份證號、銀行卡號、車牌號、人名、地點等關鍵數據。
3.5 iOS設備
(1)短信與彩信
應用名稱“SMS/iMessage”,關鍵數據主要存儲在“/private/var/mobile/Library/SMS/sms.db”數據庫中。Message和msg_pieces是兩個需重點關注的表,message表包括了每一條短信發送者的電話號碼、消息發送時間、消息內容等,msg_pieces表包含了隨著MMS消息發送的文本內容。
(2)Safari瀏覽器
Safari是iOS預裝的一款瀏覽器,它的數據保存在“/private/var/mobile/Library/Safari/”和“/private/var/mobile/Containers/Data/application/C6254D15-92CE-4989-9427-26A589DFA8B7/”兩個路徑下。其中重要信息如下表所示:
表8 “Safari”數據庫表信息
(3)聯系人
聯系人信息存儲在“/private/var/mobile/Library/AddressBook/”文件夾下,其中兩個重要的數據庫是AddressBook.sqlitedb和AddressBookImages.sqlitedb。AddressBook.sqlitedb包含保存的聯系人的姓名、姓氏、電話、電子郵件地址等;AddressBookImages.sqlitedb存儲的是聯系人的頭像信息。
4.智能手機取證面臨的挑戰
智能手機設備電子數據取證的需求與日俱增,在取證過程中仍然面臨著一些挑戰。
首先,與智能移動設備的任何交互都會在某種程度上改變此設備的原始環境,例如對設備進行root操作將有可能破壞整個系統的完整性,導致關鍵證據的丟失。因此,取證人員應特別謹慎的運用不同的取證方案,當原始環境發生改變時應能清楚的說明改變產生的原因以及人員操作的必要性。
其次,目前市場上有大量不同類型、不同版本的智能手機終端設備及其應用,每一個終端設備與平臺相結合又有其獨特性,在數據提取和分析時,針對這些區別,取證人員需要進行大量的測試與驗證。
最后,取證過程中每個技術環節都應嚴格遵循相應的原則和工作標準,否則取證結果的合法性和客觀性將難以得到保證,取得的證據也將不足以被法庭質證采信。
參考文獻
[1]. Andrew Hoog. Android取證實戰:調查、分析與移動安全[M]. 北京:機械工業出版社,2013:166-312.
[2]. Andrew Hoog. iOS取證實戰:調查、分析與移動安全[M]. 北京:機械工業出版社,2013:87-175.
[3]. Lin X, Lin X, Lagerstrom-Fife. Introductory Computer Forensics[M]. Springer International Publishing, 2018.
[4]. 蒲泓全, 郭艷芬, 衛邦國. 電子取證應用研究綜述[J]. 計算機系統應用, 2019, 28(1): 10-16.http://www.c-s-a.org.cn/1003-3254/6707.html.
[5]. 金波, 吳松洋, 熊雄, 等. 新型智能終端取證技術研究[J]. 信息安全學報, 2016 (3): 37-51.
[6]. Gupta A. Learning Pentesting for Android Devices[M]. Packt Publishing Ltd, 2014.
[7]. Sylve J, Case A, Marziale L, et al. Acquisition and analysis of volatile memory from Android devices[J]. Digital Investigation, 2012, 8(3-4): 175-184.
[8]. Epifani M, Stirparo P. Learning iOS forensics[M]. Packt Publishing Ltd, 2016.
[9]. Kaart M, Laraghy S. Android forensics: Interpretation of timestamps[J]. Digital Investigation, 2014, 11(3): 234-248.