系統環境仿真必要性
當今社會高速發展,計算機技術有著前所未有的發展前景,信息技術的成熟化也為各種不法分子提供了犯罪的條件。信息詐欺、勒索病毒、色情傳播、毒品交易、商業機密信息的竊取與破壞、政府網站攻擊、軍事部門網站攻擊等等,新型網路犯罪手段增加,犯罪技術層出不窮,造成的危害也越來越大,受影響範圍更加廣泛。
由於犯罪取材有很多不便利的因素,如取證目標體積過大難以拆卸,或運行的環境多樣複雜化等等。如果只利用常規取證手段,案件很難進行偵破。動態仿真取證系統即基於對犯罪分子的計算機進行仿真,從而再現計算機的運行環境,為偵破案件提供有效思路的一種取證手段。所獲信息具有法律證據合法有效性,為司法鑑定和計算機取證提供重要的幫助,搜尋確認罪犯及其犯罪證據,並可據此提起訴訟,從而將犯罪嫌疑人繩之於法。
計算機仿真取證
計算機仿真取證是指在仿真模擬目標計算機系境的運行環境下實施的動態取證活動。由於一些證據信息是系統運行時產生的,而且有些軟體要依賴於系統的作業系統、管理員許可權等問題,所以就需要依賴於仿真取證系統來取證。通過系統仿真對系統原始環境再現,可實現數據防寫、數據動態線上分析和保全,這也是仿真取證的主要特點。同時也可以在硬體級唯讀模式下,以第一用戶視角展示被取證對象的作業系統環境及數據,並獲取相應電子證據。
總言之,計算機仿真取證是指運用計算機仿真技術實現對目標計算機系繞的仿真模擬和環境再現,在系統防寫狀態下實施的對目標系統中各類電子數據原有狀態的還原、操作軌跡的追蹤以及各種數據記錄的收集與保全活動。
計算機仿真取證的原理
計算機仿真取證主要是利用虛擬機技術、Shadow技術、重新定向等技術對目標計算機系統的作業系統核心、硬體設備、用戶環境、各種網路協定、應用程式、數據記錄等信息進行動態的仿真運行模擬、以在此基礎上構建出安全的,可供動態取證的操作環境。
計算機仿真取證的分類
按照取證對象的不同,可將計算機仿真取證分為:基於原機的仿真、基於硬碟鏡像的仿真和基於硬碟鏡像檔案的仿真。基於原機的仿真是在擁有原始主機且系統處於防寫狀態下的即時化線取證、其主要目的是動態獲取目標主機中的即時數據工、程式運行數據、網路通信信息以及攻擊、入侵行為的數據記錄;基於硬碟仿真取證是在藉助虛擬機技術的基礎上對裝有作業系統的硬碟進行硬體的仿真重建,通過仿真加戴原有系統設定,重建原有計算機系統運行的軟、便件環境,進行原始電子數據的動態分析獲取;基於硬體鏡像的仿真取證是在甄別鏡像檔案中的原有系統配置信息的基礎上、實現原載系統的仿真啟動,以線上直觀、準確的判別、收集和保全所需的電子證據。
手機系統仿真取證
同樣,為了解決手機取證系統難以提取手機套用的動態數據即雲端數據的訪問問題,建立了手機仿真取證系統。手機仿真取證系統在專用取證設備上運行仿真器,模擬手機運行環境,運行並登錄手機應用程式,進行雲端數據的瀏覽和分析。通過手機仿真取證系統,能夠提取QQ聊天歷史記錄,查詢微信紅包等網際網路金融交易的詳細信息 。
手機仿真取證系統
通過在專用設備上建立仿真器,“拷貝”原有手機運行環境、數據及應用程式,實現在仿真系統登錄套用後,進行雲端數據的瀏覽和分析。仿真過程中也可實時抓取應用程式的通訊數據,分析應用程式的行為特徵。
具體地,對Android手機的仿真來說,目前市面上Android仿真器軟體種類繁多,如:Android官方仿真器、Bluestacks、Genymotion和Andy等,每個Android仿真器有其各自特點,但同時也都有各自的缺陷,需要根據實際情況對不同Android仿真器進行選擇。
Android官方手機仿真器主要由手機仿真器程式-emulator.exe、虛擬機核心-kernel、虛擬機根檔案系統鏡像-ramdisk.img、虛擬機系統檔案鏡像-system.img、虛擬機用戶檔案鏡像-userdata.img五個部分組成,其中仿真器程式和虛擬機核心是獨立開原始碼項目,其他部分可從Android開源項目-AOSP中編譯生成。
手機仿真器程式主要是對手機硬體的模擬,如對0cpu、keyboard、gps和modem等硬體進行模擬;虛擬機核心主要是增加一些支持仿真器的特殊驅動,比如:qemutrace和qemupipe等;虛擬機根檔案系統鏡像(ramdisk.img)也包含一些配合虛擬機核心運行的參數配置;虛擬機系統檔案鏡像主要包括Android系統層面檔案(包含內置一些系統套用),這個鏡像內容決定虛擬機模擬的Android版本;虛擬機用戶檔案鏡像最開始基本為單個檔案系統,在虛擬機第一次啟動過程中生成相應檔案(類似手機第一次開機或恢復手機出廠設定)。
手機仿真過程
啟動虛擬機,之後通過adb install向虛擬機安裝一個agent,再由手機仿真應用程式傳送數據到虛擬機上的agent,最後再由agent通過Android系統的API把數據導入虛擬機Android系統,這種方法主要運用在聯繫人,簡訊和通話記錄導入;
啟動虛擬機,之後通過adb install安裝手機套用到虛擬機,再通過adb push命令把手機套用數據上傳到虛擬機data分區對應目錄,最後修改相應的配置參數,比如:uid、gid和permission等,這種方法主要運用在第三方套用;上述兩種載入數據方法最主缺點速度慢,效率低,也容易出錯;
在啟動虛擬機之前,根據手機數據直接修改虛擬機用戶檔案鏡像,對比前兩種方式,在虛擬機運行過程中減少套用安裝和數據載入過程,加快虛擬機運行速度,同時也提高數據載入的效率和準確性。
手機仿真取證方法
手機線上仿真:提取手機套用數據進行線上仿真,通過仿真器查看手機套用的數據,進行調查分析並可以實現截圖取證,這樣能夠保留原有手機數據的完整性、有效性;手機鏡像離線仿真:手機在提取鏡像後歸還,通過手機仿真系統,可以載入鏡像進行離線仿真。通過仿真器上查手機套用的數據,進行調查分析並可以實現截圖取證。
通過提取QQ、微信、陌陌、阿里雲等主流聊天通訊軟體的聊天記錄、語音記錄、視頻圖像、紅包、轉賬等重要信息;還有現在的一些直播軟體,視頻軟體,目標系統的網上瀏覽信息,
解決手機取證支持率。目前,各大取證軟體對取證系統尤其是手機上套用系統的版本比較敏感,安卓系統6.0後大大限制了root許可權,而且各大軟體廠商對版本的更新疊代速度更是遠遠超過取證軟體的疊代速度,致使一般取證無法勝任取證工作,是否能夠解析應用程式與版本密切相關。手機仿真系統優點是不依賴應用程式的解析,能夠直接載入套用數據進行瀏覽分析,避開了版本升級,提升了手機取證的支持率。
目前手機仿真存在速度慢、個別套用不支持等問題,但隨著仿真技術和計算機軟硬體水平的發展,這些問題將會得到完善的解決方案。