蒲泓全, 郭艷芬, 衛(wèi)邦國
1(中國科學院 成都計算機應用研究所, 成都 610041)
2(廣西混雜計算與集成電路設計分析重點實驗室, 南寧 530006)
3(成都市武侯區(qū)人民檢察院, 成都 610041)
近年來, 信息技術和智能手機普及率迅速增加, 為人們生活帶來方便的同時, 也為違法犯罪分子提供了科技方法和手段, 因此電子數(shù)據(jù)的提取顯得尤為重要, 由于電子數(shù)據(jù)具有易刪除、易覆蓋、易篡改、易滅失等特點, 影響到電子數(shù)據(jù)的真實性, 所以電子數(shù)據(jù)取證技術對固定電子數(shù)據(jù)、保持電子數(shù)據(jù)原始性提供了可能[1,2].
1991年, 在美國召開第一屆國際計算機調(diào)查專家會議, 首次提出“計算機證據(jù)”的概念, 此后電子取證技術得到快速的發(fā)展, 形成一門計算機學科、法學學科與偵查實踐的交叉學科[3], 下面基于Windows、Android手機、iPhone手機、網(wǎng)絡的電子數(shù)據(jù)取證技術和方法進行深入分析, 并提出電子數(shù)據(jù)取證未來的發(fā)展方向.
電子數(shù)據(jù)主要存儲在計算機中, Windows操作系統(tǒng)是計算機普及度最高、使用范圍最廣的操作系統(tǒng).因此針對Windows系統(tǒng)的電子數(shù)據(jù)取證始終是電子取證研究方向的主流[4-6], Windows操作系統(tǒng)版本較多,下面內(nèi)容都是基于Windows 7.
瀏覽器是一種在萬維網(wǎng)(www)中用于檢索、展現(xiàn)及傳輸信息資源的應用客戶端. 目前國內(nèi)外主流的瀏覽器有: IE、Chrome、Firefox、Opera、QQ、搜狗、360、傲游等. 雖然瀏覽器種類繁多, 內(nèi)核也有差異, 但用戶在使用瀏覽器訪問互聯(lián)網(wǎng)上的資源后, 會在計算機的硬盤上留下痕跡, 其中包括: URL訪問控制列表、緩存(Cache)、Cookies等資源信息. IE瀏覽器是目前使用最多最為廣泛的瀏覽器, 不同的IE瀏覽器版本也會存在一些差異, IE5-IE9采用了相同工作機制和數(shù)據(jù)存儲方式, IE10以上版本則采用了全新的方式, 下面對IE10版本進行深入分析. 從電子數(shù)據(jù)取證角度來看, 新版本瀏覽器IE10最大的變化是使用一個全新的WebCacheV01.dat的數(shù)據(jù)庫文件代替?zhèn)鹘y(tǒng)的index.dat,該文件是一個可拓展存儲引擎(ESE)的數(shù)據(jù)庫, ESE可擴展存儲引擎是一種靈活度很高的數(shù)據(jù)庫類型, 數(shù)據(jù)庫大小可以是1 MB, 也可以達到1 TB. 最重要的是當某條記錄被數(shù)據(jù)庫移除后, 其占用的空間會被標記為刪除但數(shù)據(jù)庫并不會執(zhí)行覆蓋操作, 那么原始記錄可能還存在未被分配的區(qū)域內(nèi), 這就為數(shù)據(jù)恢復提供了可能[4,5]. IE10相關數(shù)據(jù)文件詳細信息如表1所示.
在WebCacheV01.dat數(shù)據(jù)庫查詢“Name”字段中名為 History、Content、Cookies類別對應的ContainerID, 然后再分別查詢其對應的Container_##表即可獲得對應的URL訪問控制列表、緩存和Cookies資源信息.
電子郵件是互聯(lián)網(wǎng)中運用最為廣泛的應用之一,很多針對計算機的電子取證都涉及到對電子郵件的取證, 電子郵件可以通過客戶端, 使用 POP3/IMAP、SMTP協(xié)議收發(fā)電子郵件, 也可以通過網(wǎng)頁方式在線使用, 使用 HTTP 協(xié)議收發(fā)電子郵件, 目前來說, 使用HTTP在線收發(fā)電子郵件因為本地不留存全部數(shù)據(jù), 取證相對困難, 基于電子郵件取證步驟如下[6]:
(1) 查看電子郵件存儲位置, 不同電子郵件存儲位置不同, 可通過默認安裝路徑進行尋找.
(2) 查看郵件頭, 郵件頭作為電子郵件最重要的部分, 存儲了電子郵件傳輸過程的重要信息, 取證人員可利用郵件頭定位發(fā)送者的IP地址. 部分在線收發(fā)郵箱不允許直接查看郵件頭, 需要經(jīng)過其他方法操作方能查看, 例如QQ郵箱需要通過“顯示郵件原文”來獲取郵件頭信息. 圖1是用顯示郵件原文獲取的QQ郵件頭.
圖1 QQ郵件頭
(3) 分析郵件頭, 只要不是用代理服務器和高級的密碼學技術, 電子郵件中總會暴露發(fā)件人身份的有用信息. Received和MessageID是追蹤電子郵件最有用的兩類電子郵件信息, 上圖中用紅色橢圓標記的部分.因為Received信息是由服務器自動加上去的, 攻擊者無法偽造, 除了包含發(fā)件人和收件人信息, 還包括IP地址, 這對于取證結果是不可抵賴的. Message-ID是郵件系統(tǒng)在創(chuàng)建郵件時自動生成的唯一編號, 不可能兩封郵件出現(xiàn)同一個編號, 同時不會被郵件系統(tǒng)回收, 當計算機上的郵件被刪除之后, 可通過檢查郵件服務代理(MTA)上的發(fā)送記錄尋找Message-ID, 然后通過Message-ID來確定發(fā)送主機的IP地址.
(4) 查看郵件內(nèi)容
目前大多數(shù)郵件編碼方式都是遵循MIME編碼標準, 郵件頭中的內(nèi)容不經(jīng)過解碼是無法查看的, 上圖中用藍色橢圓標記的即為郵件內(nèi)容, 需要專門的解碼器進行查看, 例如: Encase、亂碼查看器等.
計算機中運行的程序都存儲在內(nèi)存(RAM)中, 用于記錄CPU運算的臨時數(shù)據(jù)以, 因此RAM中存放了程序運行過程中最重要的狀態(tài)信息. 例如: 運行的程序、打開文件的窗口函數(shù)等. 計算機木馬可能處于某一目的, 在取證過程造假, 修改數(shù)據(jù), 但是應用程序和數(shù)據(jù)在內(nèi)存中卻是真實存在的, 因此針對僅存于內(nèi)存中, 關機就消失的木馬程序, 內(nèi)存取證是唯一的方式.首先內(nèi)存取證的前提是內(nèi)存的獲取, 而且必須在開機的狀態(tài)下獲取, 可以使用相關的工具進行獲取, 例如:Winpmem、KnTTools等. 內(nèi)存獲取之后進行內(nèi)存分析, 2005年電子取證研究工作組(DFRWS)首次提出針對內(nèi)存取證的挑戰(zhàn), 之后對內(nèi)存中保存的數(shù)據(jù)結構分析作為內(nèi)存分析的重點, 也有相關的分析工具供取證人員使用, 例如: memparser、kntlist等.
目前智能手機使用率最高的是Android手機和iPhone手機, 針對這兩類手機取證技術進行詳細介紹和分析.
Android是目前智能手機市場上最為流行的智能手機操作系統(tǒng), 因此成為取證人員關注度最高的手機操作系統(tǒng)之一. 基于Andorid手機的取證技術包括物理取證和邏輯取證[7-9], 圖2是Android手機取證的一般模型.
圖2 Android系統(tǒng)一般取證模型
2.1.1 Andorid系統(tǒng)
Android系統(tǒng)是基于Linux內(nèi)核完全開源的操作系統(tǒng), 任何用戶均可根據(jù)自己的需要修改源代碼并設計自己的操作系統(tǒng). Android系統(tǒng)分為五個部分組成:應用程序和插件、應用程序框架、庫、Andorid運行庫、Linux內(nèi)核. Linux內(nèi)核提供了Android系統(tǒng)最底層的一些功能, 包括: 進程間通信驅(qū)動、Flash驅(qū)動、USB驅(qū)動、電源管理等等. 在Linux內(nèi)核上的庫是實現(xiàn)Android系統(tǒng)自帶程序運行的基礎, 這些庫包括:SQLite、WebKit、SSL、Surface Manager, 所有的庫運行在虛擬環(huán)境中, 這就構成了Android系統(tǒng)的應用程序運行環(huán)境.
2.1.2 Android Debug Bridge
Android Debug Bridge又稱為 ADB, 是取證人員針對Android手機取證經(jīng)常接觸到的一個工具, 屬于Android SDK, 包括服務器端和客戶端, 其主要作用是在客戶端建立和服務器端的通信, 提供通過客戶端執(zhí)行服務器端Shell、上傳/下載文件、建立各種連接并進行映射以及安裝apk程序等功能. 默認情況下,Android手機的ADB功能是關閉的, 需要手動進行開啟USB調(diào)試模式, 并同時需獲得手機的root權限.
2.1.3 邏輯取證
目前所有邏輯取證軟件與手機端的通信均是同時ADB完成. 得到相應的系統(tǒng)文件后, 進行解析獲得短信、通訊錄、通話記錄等一系列應用程序信息的過程.
Android操作系統(tǒng)中大部分的數(shù)據(jù)使用SQLite數(shù)據(jù)庫進行存儲[7], 包括SMS短信、MMS彩信、聯(lián)系人、通話記錄等常見的各種信息, 所以除了使用現(xiàn)成的手機取證工具外, 還需將對應的文件從Android手機中提取出來, 使用相應的軟件進行分析, 從而實現(xiàn)對于Android手機的邏輯數(shù)據(jù)提取. 邏輯取證的前提是獲取手機的root權限.
2.1.4 物理取證
通過ADB的邏輯數(shù)據(jù)取證針對的是手機中還存在的數(shù)據(jù), 通常情況下, 手機中還存在被刪除的信息,這部分信息才可能是取證人員關心的數(shù)據(jù), 這種被刪除的數(shù)據(jù)無法通過邏輯取證獲得, 這時就需要用到物理取證技術. 物理取證技術可分為軟件取證模式和硬件取證模式.
(1) 軟件取證模式
用軟件的方法進行物理取證是Android手機物理取證的的首選[8], 簡單快捷, 通過常用取證軟件設備和命令即可獲取Android手機的系統(tǒng)文件或者鏡像. 軟件物理取證目前有兩種方法.
1) 使用專門修改的loader進行引導, 實現(xiàn)物理讀取.
2) 通過軟件對手機只能dd命令, 前提是獲得root權限.
(2) 硬件取證模式
包括三種方式[9]: 拆解芯片、JTAG、微碼讀取. 拆解芯片可能會造成手機無法還原的后果, 風險較高.JTAG是一個測試標準, 大部分電子設備均可使用JTAG方式進行測試或掃描, 同時Android手機一般具備JTAG端口, 可用于內(nèi)存的讀取與恢復. 微碼讀取是通過分析芯片上的物理電平門限值, 取證人員可以將0和1轉換為ASCII字符, 目前微碼讀取僅作為一種取證方法存在, 運用到實際還有一定差距. 表2是對以上取證方法進行對比, 其中, Y代表滿足要求, N代表不滿足要求.
表2 Android手機取證方法對比
邏輯取證技術應用廣泛, 提取相對簡單, 對原始數(shù)據(jù)的損害較小, 但提取信息的完整性較弱, 不能得到刪除的數(shù)據(jù). 物理取證中的軟件取證提取較為簡單, 對原始數(shù)據(jù)損害也較小, 能夠恢復已經(jīng)刪除的數(shù)據(jù), 而硬件取證技術操作難度較大, 損害數(shù)據(jù)的風險較高, 能得到完整的數(shù)據(jù), 實踐中難以應用.
iPhone手機取證的前提是知道或能破解手機的密碼, 隨著蘋果公司安全性的要求和用戶自身安全意識的增強, 要想破解iPhone手機的密碼是相當困難的, 因此取證人員在最初拿到iPhone手機時, 應立即通過手機所有人獲取密碼, 或者趁手機處于未鎖定狀態(tài), 快速繞過密碼修改設置.
iPhone手機取證根據(jù)取證工具以及取證簡易程度可劃分為5類[10-13]: 人工提取、邏輯分析、十六進制轉儲、芯片拆解、微碼讀取, 圖3是5類取證方法的分級, 從上到下, 方法和取證工具變得更加復雜和專業(yè), 消耗時間更多, 成本更大, 更能獲取取證手機的完整性數(shù)據(jù).
圖3 iPhone取證方法分類
(1) 人工提取
人工提取是最簡單的一種方法, 通過直接查看的方式提取信息, 不能獲得已刪除的記錄, 但方便快捷,對取證人員專業(yè)要求較低.
(2) 邏輯提取
該方法是將iPhone的文件系統(tǒng)備份出來, 通過這種方法, 能夠恢復實際設備的已分配數(shù)據(jù), 并隨后對其進行分析[11]. 邏輯提取通常是取證人員的首選方法, 因為這種方法易于操作并能為后面的分析提供充足的數(shù)據(jù)來源, 操作步驟如下:
1) 打開并運行取證軟件, 如CelleBrite UFED、IXAM、Oxygen Forgensic Suite 2010等.
2) 連接iPhone手機.
3) 開始數(shù)據(jù)備份, 使用Apple同步協(xié)議的設備備份中提取所有數(shù)據(jù), 這種方法是從設備中直接提取數(shù)據(jù).
4) 利用取證軟件, 輸出取證結果.
(3) 十六進制轉儲
十六進制轉儲一般是通過傳輸線將設備和取證工作站連接起來, 這種類型不再通過計算機啟動命令, 而是將預先寫好的代碼植入到手機內(nèi)存中, 執(zhí)行代碼命令手機將用戶數(shù)據(jù)復制到計算機上. 這樣用戶的數(shù)據(jù)被復制、傳輸, 同時作為原始映像保存[12].
該取證方法是直接把物理存儲介質(zhì)作為目標, 而不依賴于文件系統(tǒng)訪問數(shù)據(jù). 這個方法最重要的一點是有可能恢復已刪除的數(shù)據(jù).
(4) 芯片拆解
芯片拆解是指從設備的RAM芯片中用物理手段獲取數(shù)據(jù), 然后利用芯片讀取器提取存儲的數(shù)據(jù). 這種方法比前面幾種方法都具有挑戰(zhàn)性, 芯片拆解對取證人員專業(yè)技術更高, 取證時間更長, 因為取證過程中會存在大量原始的二進制數(shù)據(jù)格式的轉換, 并且芯片損壞的風險較高, 在實踐中不常使用[13].
(5) 微碼讀取
該方法需需要解釋內(nèi)存芯片上的臨時數(shù)據(jù). 通過分析芯片上的電平門限值[12], 將二進制數(shù)據(jù)翻譯為ASCII字符. 該方法需要花費大量的時間和成本, 并對取證分析人員專業(yè)性程度高, 實踐中應用較少.
表3是對以上5種取證方法進行對比, 其中, Y代表滿足要求, N代表不滿足要求.
以上幾種取證方法各有利弊, 人工提取和邏輯提取操作簡單, 易于獲取, 但對取證信息的完整性較弱,十六進制轉儲較前兩種方法更復雜, 但提取的數(shù)據(jù)更完整, 更有意義; 芯片拆解和微碼讀取可能去目標設備有損害, 同時取證過程復雜, 但獲取的信息也最為有效和完整.
表3 iPhone 5種取證方法對比
電子取證對象除了計算機和智能手機之外, 還包括數(shù)據(jù)源最廣的網(wǎng)絡取證, 網(wǎng)絡電子數(shù)據(jù)類型復雜, 并處于動態(tài)可變化狀態(tài). 該取證方法與前兩類方法截然不同, 網(wǎng)絡電子取證包括: 網(wǎng)站服務器取證、路由器取證、數(shù)據(jù)流信息取證等[4,14-20].
網(wǎng)站服務器取證流程[21-25]如下:
(1) 分析目標客戶端的配置文件, 找到對應網(wǎng)站文件存儲的目錄和全部代碼, 導出網(wǎng)站應用的所有代碼文件.
(2) 分析網(wǎng)站服務器文件的配置, 找出網(wǎng)站服務器所使用的數(shù)據(jù)庫類型、IP地址以及訪問數(shù)據(jù)庫的登錄名和密碼, 導出數(shù)據(jù)庫中所有數(shù)據(jù).
(3) 使用提取的網(wǎng)站代碼和數(shù)據(jù)庫構建模擬網(wǎng)站服務器, 注意需要設置同樣的主機名、數(shù)據(jù)庫連接方式等.
(4) 使用同樣的方法搭建模擬網(wǎng)站.
(5) 通過模擬網(wǎng)站登錄, 模擬用戶操作行為, 確定與之相關的網(wǎng)站程序和模塊.
(6) 登錄模擬服務器界面, 確定并分析服務器管理數(shù)據(jù).
路由器作為連接網(wǎng)絡節(jié)點的關鍵設備, 不僅會記錄一般數(shù)據(jù)傳輸?shù)穆酚尚畔ⅲ?同時也會記錄一些關鍵的IP地址或MAC地址的訪問信息, 因此在取證過程中, 路由器顯得較為重要[26-28].
企業(yè)級路由器一般帶有日志功能, 只需要提取日志即可, 一般家庭型路由器均不帶有日志功能, 這就需要在路由器斷電之前進行取證, 否則斷電或重啟路由器后, 一些重要的數(shù)據(jù)就會丟失, 達不到取證效果.
取證人員在經(jīng)過相關法律機關授權后, 可利用網(wǎng)絡嗅探的方式截獲網(wǎng)絡中傳輸?shù)臄?shù)據(jù)信息, 并通過對不同協(xié)議的解析, 從而達到取證的目的. 最常用的是ARP 欺騙嗅探[29,30].
(1) 網(wǎng)卡設置為混雜模式, 使得在這種模式下工作的網(wǎng)卡能夠接收到一切通過它的數(shù)據(jù), 而不管實際的目的地址.
(2) 利用ARP欺騙目標主機, 目標主機認為欺騙主機是正確的交流方, 在傳輸與過程中交換機和計算機需要查詢ARP表, 因此取證人員只需修改ARP表就行實現(xiàn)數(shù)據(jù)的獲取, 把監(jiān)控數(shù)據(jù)引導到自己的主機上.
(3) 分析數(shù)據(jù).
隨著科技的進步和發(fā)展, 傳統(tǒng)取證技術和方法需要改進才能滿足電子取證的要求, 下面就電子數(shù)據(jù)取證技術未來可能的發(fā)展趨勢進行分析[31-37].
(1) 基于密碼學的取證
對個人信息安全逐漸重視, 許多個人信息存儲都使用較強的密碼學技術, 例如: 同態(tài)加密、數(shù)字簽名、比特承諾等方法, 這就需要取證人員具備密碼學相關技術, 傳統(tǒng)的取證工具需要具備最前沿的解密方法, 才能夠獲得電子數(shù)據(jù)內(nèi)容, 為后面分析做準備.
(2) 基于區(qū)塊鏈的取證
隨著比特幣的出現(xiàn), 而區(qū)塊鏈是比特幣的技術基層, 由于區(qū)塊鏈去中心化和匿名性的思想, 成為很多犯罪分子進行各類犯罪的工具, 然后針對區(qū)塊鏈的取證目前來說還相當困難, 還沒有有效的方法獲取區(qū)塊鏈中有用信息, 因此基于區(qū)塊鏈的取證技術將是一個重要的研究方向.
(3) 基于云計算的取證
近年來, 云計算技術得到快速發(fā)展, 給社會帶來便利的同事, 云安全技術卻處于滯后狀態(tài), 出現(xiàn)了許多以云端為目標的違法犯罪, 傳統(tǒng)的網(wǎng)絡取證方法無法滿足云計算取證的特點, 要比傳統(tǒng)取證方法難度大很多,這對電子取證技術來說是亟待解決的問題.
(4) 基于大數(shù)據(jù)的取證
隨著信息社會數(shù)據(jù)涼的急劇增加, 互聯(lián)網(wǎng)給人們帶來豐富信息的同時, 互聯(lián)網(wǎng)海量數(shù)據(jù)給電子取證帶來嚴峻的挑戰(zhàn), 因此傳統(tǒng)的取證設備和分析方法不能滿足大規(guī)模數(shù)據(jù)的要求, 需要建立大數(shù)據(jù)取證平臺, 這將是電子數(shù)據(jù)取證發(fā)展的趨勢.
詳細分析了幾類電子取證方法, 基于Windows電子取證、基于Android手機的電子取證、基于iPhone手機的電子取證、基于網(wǎng)絡電子取證, 并對電子取證未來的發(fā)展方向進行展望.