張旭
摘要:該文介紹了一種操作系統(tǒng)虛擬仿真取證的方法,然后具體描述了該方法在計(jì)算機(jī)取證過程中所采取的具體步驟,提出了對待取證的操作系統(tǒng)磁盤進(jìn)行虛擬仿真的解決方案并對方案進(jìn)行了探討。最后給出了操作系統(tǒng)虛擬仿真取證方法完整的系統(tǒng)設(shè)計(jì)模型,針對該模型詳細(xì)地討論了在一種寫保護(hù)條件下操作系統(tǒng)虛擬仿真取證系統(tǒng)的設(shè)計(jì)流程。采用了該文中的操作系統(tǒng)虛擬仿真取證的方法,使用物理磁盤或者磁盤鏡像,通過在VMware以只讀方式仿真啟動操作系統(tǒng),在仿真操作系統(tǒng)中可以查看物理磁盤或者磁盤鏡像原始操作系統(tǒng)中的內(nèi)容,以達(dá)到不用損壞物理磁盤或者磁盤鏡像來取證的目的,操作簡單,應(yīng)用范圍廣泛。
關(guān)鍵詞:操作系統(tǒng);虛擬仿真;取證;技術(shù)研究
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)33-0264-03
1 背景
待取證操作系統(tǒng)中的各類數(shù)據(jù)是重要的證據(jù)來源,能較全面的對原始證據(jù)進(jìn)行取證。計(jì)算機(jī)虛擬技術(shù)是通過軟件來模擬計(jì)算機(jī)硬件的技術(shù)。目前,物理計(jì)算機(jī)的計(jì)算量、存儲量有了非常大的進(jìn)步。計(jì)算機(jī)上安裝了虛擬機(jī)之后可以在一臺機(jī)器上模擬出多臺機(jī)器的效果,能完成架設(shè)多計(jì)算機(jī)服務(wù)程序、隱蔽網(wǎng)絡(luò)訪問等需求,因此,越來越多的數(shù)據(jù)以及服務(wù)被存儲和移植到了虛擬計(jì)算機(jī)上。隨之帶來的針對虛擬機(jī)的數(shù)據(jù)恢復(fù)與取證需要在虛擬機(jī)上對物理磁盤或者磁盤鏡像磁盤進(jìn)行系統(tǒng)仿真取證。本文描述的一種操作系統(tǒng)虛擬仿真取證方法克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種解決虛擬操作環(huán)境下針對物理磁盤或者磁盤鏡像的操作系統(tǒng)仿真問題、采用直接從某個(gè)磁盤分區(qū)或者整個(gè)磁盤來創(chuàng)建一個(gè)VMware的虛擬機(jī)的方法達(dá)到對物理磁盤或者磁盤鏡像的仿真取證的操作系統(tǒng)虛擬仿真取證的方法。
2 操作系統(tǒng)虛擬仿真取證方法總體設(shè)計(jì)
2.1 系統(tǒng)模型設(shè)計(jì)
2.2 系統(tǒng)實(shí)施流程
為了能夠更清楚地描述本操作系統(tǒng)虛擬仿真取證方法的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例來作進(jìn)一步的描述。本操作系統(tǒng)虛擬仿真取證方法詳細(xì)分析了使用物理磁盤或者磁盤鏡像,通過在VMware以只讀方式仿真啟動操作系統(tǒng),在仿真操作系統(tǒng)中可以查看物理磁盤或者磁盤鏡像原始操作系統(tǒng)中的內(nèi)容,以達(dá)到不用損壞物理磁盤或者磁盤鏡像來取證的目的。
首先將虛擬操作環(huán)境下虛擬機(jī)中待系統(tǒng)虛擬仿真取證的磁盤文件格式掛載到服務(wù)主機(jī)上;在一種優(yōu)選的實(shí)施方式中,待系統(tǒng)虛擬仿真取證的磁盤文件可以是物理磁盤或者磁盤鏡像;其中,物理磁盤可以是各種類型的物理磁盤,包括SATA、IDE、SSD等各種常見物理硬盤,其支持以USB接口的形式加載物理磁盤;磁盤鏡像則是支持常見的img、dd等磁盤鏡像格式,其支持以文件的形式加載磁盤鏡像。物理磁盤或者磁盤鏡像支持常見的Windows和Linux操作系統(tǒng)類型。
然后,在虛擬機(jī)關(guān)機(jī)的狀態(tài)下獲取虛擬機(jī)的靜態(tài)信息;在一種優(yōu)選的實(shí)施方式中,所述的靜態(tài)信息包含操作系統(tǒng)信息,虛擬機(jī)文件系統(tǒng)內(nèi)容、文件格式、文件結(jié)構(gòu)、分區(qū)信息、文件表、殘存文件。能將文件系統(tǒng)以圖形用戶界面的方式展現(xiàn)給取證人員。支持特定目錄下的特定文件的搜索,將搜索出來的文件進(jìn)行加密,可采用MD5摘要算法或其他算法,加密后的文件不可再改動,具有不可抵賴性,最后以電子證據(jù)的形式保存到數(shù)據(jù)庫中。
在一種優(yōu)選的實(shí)施方式中,選取VMware虛擬機(jī)為例,研究在虛擬操作環(huán)境中的勘查取證分析。VMware虛擬機(jī)的虛擬磁盤格式為VMDK文件,通過對VMDK文件格式的深入分析,將虛擬磁盤模擬為物理設(shè)備,實(shí)現(xiàn)了對虛擬磁盤的掛載,獲取到虛擬磁盤的文件系統(tǒng)。
首先,使用vmware-amount工具將物理磁盤或者磁盤鏡像掛載到本機(jī)操作系統(tǒng)環(huán)境下,對于vmware-amount工具以及其他vmware系統(tǒng)的工具集,由于操作系統(tǒng)的不同會導(dǎo)致這些可運(yùn)行程序所存儲的位置不同,通過調(diào)用Windows操作系統(tǒng)WMI的方法獲取到準(zhǔn)確的vmware工具集可運(yùn)行程序位置。
將虛擬磁盤掛載的過程中會判斷該虛擬機(jī)是否存在快照,如果存在則說明該虛擬機(jī)先前被啟動過,否則未被啟動過。如果這個(gè)磁盤鏡像已經(jīng)在之前被啟動,可以采用從上次離開的地方繼續(xù)工作,亦可從頭開始工作。將整個(gè)物理磁盤或者磁盤鏡像以文件的形式讀入到內(nèi)存中后,一般在磁盤文件的二進(jìn)制字節(jié)的頭部會發(fā)現(xiàn)物理磁盤或者磁盤鏡像對應(yīng)的mbr文件結(jié)構(gòu)。
mbr指的是主啟動扇區(qū),如果物理磁盤或者磁盤鏡像受到破損或者其他外部原因無法正常讀取mbr文件,我們可采用預(yù)先定制的mbr文件結(jié)構(gòu)來重構(gòu)受損的物理磁盤或者磁盤鏡像主啟動扇區(qū)頭,針對不同的操作系統(tǒng)預(yù)先定制有不同的主啟動扇區(qū)頭結(jié)構(gòu)。
3 VMWare虛擬機(jī)仿真取證設(shè)計(jì)
3.1 VMX配置文件設(shè)計(jì)
由于vmware虛擬機(jī)的啟動是從vmx啟動生成的,根據(jù)物理磁盤或者磁盤鏡像的mbr文件中的信息可以生成對應(yīng)的虛擬機(jī)vmx文件。在每個(gè)虛擬機(jī)文件夾底下都能找到一個(gè).vmx的文件。這個(gè)文件記錄了該虛擬機(jī)的配置情況,可以用文本編輯器打開它,發(fā)現(xiàn)其實(shí)就是一個(gè)properties文件。我們針對要虛擬仿真的物理磁盤或者磁盤鏡像,需要編寫代碼手動的生成一個(gè)vmx配置文件,添加以下新增配置內(nèi)容能讓虛擬仿真的物理磁盤或者磁盤鏡像在虛擬機(jī)中正常的啟動。
mainMem.useNamedFile="FALSE",該配置可以禁止vmem交換文件的生成。如果將該配置參數(shù)設(shè)為true,虛擬機(jī)在啟動時(shí)會生成與設(shè)定內(nèi)存相同大小的內(nèi)存交換文件。這就如同操作系統(tǒng)的虛擬內(nèi)存一樣,虛擬機(jī)自己管理虛擬機(jī)的分頁文件,這個(gè)設(shè)定在需要取證的物理磁盤或者磁盤鏡像是適用的,因?yàn)槲锢泶疟P或者磁盤鏡像上可能會運(yùn)行不同的虛擬機(jī)鏡像,各自要相對獨(dú)立。但是如果只是在個(gè)人PC機(jī)上運(yùn)行一個(gè)虛擬機(jī)測試環(huán)境,則該配置會既占硬盤空間又會遇到I/O瓶頸,所以建議關(guān)閉此選項(xiàng),適用操作系統(tǒng)的分頁交換機(jī)制。
MemTrimRate=0,關(guān)閉該選項(xiàng)會禁止待仿真的物理磁盤或者磁盤鏡像在虛擬機(jī)中啟動時(shí)不會用到內(nèi)存釋放給主機(jī),能使虛擬機(jī)的內(nèi)存分配更快。
sched.mem.pshare.enable="FALSE",關(guān)閉該選項(xiàng)會使得待仿真的物理磁盤或者磁盤鏡像在虛擬機(jī)中啟動時(shí)共享普通內(nèi)存塊。
一個(gè)正常的vmx文件主要由Static Values、Drive Info和User Specified這三部分組成。
在程序中可以針對這些不同的參數(shù)含義配置不同的參數(shù)值,以便在待仿真的物理磁盤或者磁盤鏡像中設(shè)置相應(yīng)的虛擬機(jī)參數(shù)。VMWare虛擬操作環(huán)境下的vmx文件生成后,下一步即可以生成可以由VMWare Workstation或者VMWare Player該類虛擬機(jī)工具啟動運(yùn)行的vmdk虛擬磁盤文件。vmdk虛擬磁盤文件通常由Disk Descriptor File和Disk Data Base兩部分組成。
3.2 VMWare虛擬機(jī)仿真啟動
根據(jù)掛載的虛擬磁盤的mbr文件生成了包含上述配置屬性的虛擬機(jī)啟動配置文件.vmx文件,在最后的生成階段,可以選擇只生成vmx文件,通過手動啟動vmx文件來達(dá)到虛擬仿真物理磁盤或者磁盤鏡像的功能。也可以直接調(diào)用操作系統(tǒng)注冊表查詢接口自動獲取到VMware Workstation在系統(tǒng)中安裝的位置、路徑等其他配置,然后直接調(diào)用WMI接口啟動已生成好的vmx虛擬機(jī)文件,以達(dá)到對物理磁盤或者磁盤鏡像仿真取證的目的。
最后根據(jù)輸入的系統(tǒng)仿真參數(shù),通常包括仿真操作系統(tǒng)類型、仿真系統(tǒng)啟動時(shí)間、仿真系統(tǒng)內(nèi)存大小和選擇是從物理磁盤或者磁盤鏡像中啟動仿真系統(tǒng)等參數(shù)生成對應(yīng)該的vmdk文件,根據(jù)原始物理磁盤或者磁盤鏡像中的mbr文件中指定的二進(jìn)制字段會生成對應(yīng)的仿真操作系統(tǒng)注冊表文件,根據(jù)對應(yīng)的注冊表文件和vmdk文件從VMWare Workstation中啟動虛擬操作環(huán)境下的仿真系統(tǒng),以達(dá)到對待取證物理磁盤或者磁盤鏡像的系統(tǒng)仿真取證。
4 結(jié)束語
本文提供一種針對桌面操作系統(tǒng)虛擬仿真取證的有效實(shí)現(xiàn)方法,通過在取證專用計(jì)算機(jī)系統(tǒng)中以虛擬仿真化的方式啟動待取證的操作系統(tǒng),獲得了被取證計(jì)算機(jī)系統(tǒng)啟動后一樣的操作系統(tǒng)界面和環(huán)境,同時(shí)不會改寫被取證操作系統(tǒng)中的原始數(shù)據(jù),確保取證過程中不會對被取證操作系統(tǒng)中的文件進(jìn)行修改,在虛擬仿真化的環(huán)境中進(jìn)行取證操作時(shí),看到的不再僅僅是計(jì)算機(jī)存儲介質(zhì)上的文件和數(shù)據(jù),還可以看到被取證操作系統(tǒng)運(yùn)行環(huán)境和用戶環(huán)境,操作起來也更加方便,有效地實(shí)現(xiàn)了對待取證的計(jì)算機(jī)操作系統(tǒng)進(jìn)行仿真取證的同時(shí)不破壞待取證的計(jì)算機(jī)操作系統(tǒng)中的原始數(shù)據(jù)的取證目的,對于現(xiàn)階段公安一線實(shí)戰(zhàn)針對計(jì)算機(jī)操作系統(tǒng)的無損磁盤或鏡像取證提供了一種簡便實(shí)用的虛擬仿真取證方法。
參考文獻(xiàn):
[1] 黃志煒. 計(jì)算機(jī)犯罪仿真取證重現(xiàn)技術(shù)的研究與系統(tǒng)實(shí)現(xiàn)[D]. 廈門: 廈門大學(xué), 2013.
[2] 宋錚. 虛擬計(jì)算取證技術(shù)研究[D]. 上海: 上海交通大學(xué), 2011.
[3] 周剛. 云計(jì)算機(jī)環(huán)境中面向取證的現(xiàn)場遷移技術(shù)研究[D]. 武漢: 科中科技大學(xué), 2011.
[4] 張俊, 麥永浩. 云計(jì)算機(jī)環(huán)境下仿真計(jì)算機(jī)取證研究[D]. 武漢: 湖北警官學(xué)院, 2011.
[5] 鐘琳. 虛擬機(jī)取證系統(tǒng)的研究與設(shè)計(jì)[D]. 福州: 福州大學(xué), 2010.
[6] 張瑜, 劉慶中, 李濤, 等. 內(nèi)存取證研究與進(jìn)展[D]. ??冢?海南師范大學(xué), 2015.