国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VMware虛擬磁盤結(jié)構(gòu)分析及在電子數(shù)據(jù)取證中的應用

2011-09-26 09:03:06錢偉沙晶
中國司法鑒定 2011年2期
關(guān)鍵詞:磁盤扇區(qū)差分

錢偉,沙晶

(上海辰星電子數(shù)據(jù)司法鑒定中心公安部第三研究所信息網(wǎng)絡(luò)安全公安部重點實驗室,上海200035)

VMware虛擬磁盤結(jié)構(gòu)分析及在電子數(shù)據(jù)取證中的應用

錢偉,沙晶

(上海辰星電子數(shù)據(jù)司法鑒定中心公安部第三研究所信息網(wǎng)絡(luò)安全公安部重點實驗室,上海200035)

詳細分析了VMware的虛擬磁盤結(jié)構(gòu),并針對電子數(shù)據(jù)取證中的磁盤鏡像虛擬加載、虛擬機數(shù)據(jù)遷移、虛擬磁盤文件的搜索和虛擬磁盤數(shù)據(jù)的鑒定與恢復等實際問題提出相應的解決方案。

虛擬機;磁盤;電子數(shù)據(jù);取證

Abstract:This paper gave a detailed structural analysis of VMware virtual disk and corresponding solutions to problems emerged in electronic data examination,like virtual disk image loading,data migration of virtual machines,files search on virtual disk,examination and restoration of virtual disk data.

Key words:virtual machine;disk;electronic data;electronic evidence

1 引言

計算機虛擬技術(shù)是通過軟件來模擬計算機硬件的技術(shù)。目前,物理計算機的計算量、存儲量有了非常大的進步。計算機上安裝了虛擬機之后可以在一臺機器上模擬出多臺機器的效果,能完成架設(shè)多計算機服務程序、隱蔽網(wǎng)絡(luò)訪問等需求,因此,越來越多的數(shù)據(jù)以及服務被存儲和移植到了虛擬計算機上。隨之帶來的針對虛擬機的數(shù)據(jù)恢復與取證需要對虛擬機磁盤結(jié)構(gòu)有一定的了解。本文詳細分析了最常用的VMware虛擬機磁盤的文件結(jié)構(gòu)并闡述其在電子數(shù)據(jù)取證中的應用。

2 VMware虛擬磁盤結(jié)構(gòu)概述

VMDK(Virtual Machine Disk)是VMware虛擬機存儲虛擬磁盤鏡像的一種文件格式,虛擬機磁盤文件代表了虛擬機的存儲卷,它以.vmdk后綴命名。

VMware虛擬磁盤有兩個關(guān)鍵的特征:

1)虛擬磁盤可能使用包含在同一個文件中的后備存儲器,也可能使用包含許多更小文件集合的存儲。

2)所有虛擬磁盤所需的磁盤空間可能在虛擬磁盤創(chuàng)建的時候被分配,也可能從小開始、逐步增大來容納更多的數(shù)據(jù)。

特定的一個虛擬磁盤可能有符合上述兩個特征的任意組合。

從虛擬機的差分控制來說,虛擬磁盤文件可以分為兩類:基礎(chǔ)磁盤文件(Base)和差分控制鏈接(Delta)。圖1所示的為磁盤差分控制結(jié)構(gòu),這些鏈接文件串連在一起便構(gòu)成了虛擬磁盤文件。

圖1 磁盤差分控制結(jié)構(gòu)

在虛擬機剛被創(chuàng)建時,虛擬磁盤僅僅包括基礎(chǔ)磁盤文件。當虛擬機創(chuàng)建了一個快照,那么虛擬磁盤就包括基礎(chǔ)磁盤文件和差分控制鏈接兩者。從創(chuàng)建快照之刻起,客戶操作系統(tǒng)寫到磁盤的所有改變都保存在差分控制鏈接處。有可能有不止一個差分控制鏈接與一個特定的基礎(chǔ)磁盤文件相關(guān)聯(lián)。基礎(chǔ)磁盤文件和差分控制鏈接都由一個或者多個Extent(數(shù)據(jù)存儲文件,是物理存儲的一個范圍,通常是一個文件)組成。該文件被虛擬磁盤使用。圖2顯示的是基礎(chǔ)磁盤文件以及差分控制鏈接文件的構(gòu)成方式。

圖2 磁盤文件的構(gòu)成方式

從虛擬磁盤存儲的信息來說,虛擬磁盤文件也分為兩種:第一種是描述文件,該文件包括磁盤的版本、ID、類型等多種信息。第二種是Extent文件,該文件中存儲了虛擬機的數(shù)據(jù)。Extent文件分為兩類:平板Extent和稀疏Extent。

3 VMware描述文件分析

圖3為虛擬機VMware的描述文件內(nèi)容。文件記錄了文件版本、創(chuàng)建類型等一系列信息。該文件在分片存儲時會單獨生成,在分配方式為單個磁盤文件時將會被嵌在該文件內(nèi)。

圖3 描述文件結(jié)構(gòu)

3.1 描述文件結(jié)構(gòu)分析

3.1.1 磁盤文件描述

(1)version:后面的數(shù)字是描述文件的版本號,默認為1。

(2)CID:顯示內(nèi)容ID(content ID)。在虛擬磁盤被打開后,第一次被修改時生成的隨機32位值。每個鏈接頭(link header)同時包含了內(nèi)容ID和父內(nèi)容ID(parent content ID)。如果一個鏈接有父鏈接,如圖1中的B和C鏈接,那么它的父內(nèi)容ID就是父鏈接的內(nèi)容。如果一個鏈接沒有父鏈接,如圖1中的鏈接A一樣,那么它的父內(nèi)容ID就設(shè)置為CID_NOPARENT。

(3)parentCID:顯示了父鏈接的內(nèi)容ID。如果一個鏈接沒有任何父鏈接,換句話說該鏈接就是基礎(chǔ)磁盤,那么就設(shè)置為如下值:#define CID_NOPARENT,也就是全為1。

(4)createType:顯示了虛擬磁盤的類型。

(5)parentFileNameHint:該項只在本描述文件為嵌入式并且為差分控制文件時才會出現(xiàn),其中包含了該差分控制文件父鏈接的路徑。

3.1.2 Extent描述

在圖4中把Extent分成四個屬性進行詳細分析:

圖4 Extent描述

(1)訪問方式:可供選擇的有:RW、RDONLY和NOACCESS。

(2)扇區(qū)大?。簩傩缘臄?shù)值是后面文件名對應文件的扇區(qū)數(shù)量,而每一個扇區(qū)的大小為512個字節(jié),兩者相乘即是文件大小。

(3)Extent類型:類型可以是平板或者稀疏。

(4)文件名:顯示的是相對于描述文件的Extent路徑。

3.1.3 磁盤數(shù)據(jù)庫

ddb是一個結(jié)構(gòu)體,其中ddb.adapterType的類型表示為ide。adapterType的類型一共有三種,在創(chuàng)建虛擬磁盤的時候可以用參數(shù)指定,這三種類型分別是:

(1)ide:老的適配器格式,可以兼容比較老的軟件;

(2)buslogic:一種BusLogic SCSI適配器,性能較高;

(3)lsilogic:LSI Logic SCSI適配器,在新的系統(tǒng)中有比較高的性能。

4 VMware數(shù)據(jù)存儲文件分析

經(jīng)過描述文件的分析,可知Extent的類型有平板和稀疏兩種類型。

4.1 平板文件

虛擬機磁盤文件在虛擬機創(chuàng)建時就分配了全部的空間,分配方式可分為兩種:第一種為單個磁盤文件,Extent文件將所有需要的虛擬磁盤空間申請為一個指定大小的.vmdk文件。第二種為多個2GB的磁盤文件,將生成多個大小為2GB的.vmdk文件來占據(jù)預先就分配的虛擬磁盤空間。

當虛擬文件按照這種方式構(gòu)成時,描述文件與Extent文件將都為獨立的文件,描述文件不作為嵌入扇區(qū)寫在Extent內(nèi)部。

4.2 稀疏文件[1]

數(shù)據(jù)存儲空間并不是在創(chuàng)建時就已經(jīng)全部分配,而是在需要的時候才動態(tài)申請。在稀疏Extent中將通過索引來確定數(shù)據(jù)在Extent文件中的位置。分配方式也可分為兩種:第一種為單個磁盤文件。將不生成單獨的描述文件,描述文件將被嵌入到稀疏數(shù)據(jù)文件的第二個扇區(qū)中,所有的差分控制文件都是該種類型的文件。第二種為多個2GB的磁盤文件,分割成的多個磁盤文件在創(chuàng)建初期就會被全部生成,但是僅僅包含虛擬機的頭信息以及為稀疏數(shù)據(jù)檢索所預留的磁盤空間,其他具體存放數(shù)據(jù)區(qū)域?qū)⒃谑褂弥兄鸩皆黾印?/p>

稀疏文件通過層次結(jié)構(gòu)的索引機制,來達到模擬存儲磁盤數(shù)據(jù)的目的。圖5是稀疏文件結(jié)構(gòu)的具體組成(圖中的顆粒文件為Grain,指的是一系列扇區(qū)組成的存儲數(shù)據(jù)的塊文件)。

圖5 稀疏文件結(jié)構(gòu)

4.2.1 稀疏文件頭

文件頭是存放在鏈接文件第一個扇區(qū)中的文件數(shù)據(jù)。圖6為稀疏文件頭中的具體數(shù)據(jù),并在表1中詳細解釋各個字段的含義。

4.2.2 可選描述文件

4種磁盤空間分配方式中,只有稀疏分配的單文件模式?jīng)]有獨立的描述文件,把描述信息寫在了嵌入式描述文件段中。其他的3種分配方式都有單獨的描述文件。

表1 稀疏文件頭各字段含義

4.2.3 稀疏文件存儲方式

VMware軟件為了提高虛擬機的恢復能力,在虛擬磁盤上保存了兩份顆粒目錄以及顆粒表,對應圖5中的冗余顆粒目錄、冗余顆粒表、顆粒目錄和顆粒表。

稀疏文件的存儲區(qū)域管理是一個包括三層的層次結(jié)構(gòu):

(1)最高層次顆粒目錄:顆粒目錄中的項保存著稀疏Extent上對應顆粒表的扇區(qū)偏移量,顆粒目錄的大小取決于稀疏Extent文件的長度,每一個顆粒目錄的項是一個32位的值。

(2)次級層次顆粒表:顆粒表中的項保存著稀疏Extent上對應顆粒的扇區(qū)偏移量。一般來說在顆粒表中有512個項,而每個項是一個32位的值,所以每個顆粒表的大小為2KB。在一個新創(chuàng)建的稀疏Extent文件中所有的顆粒表的項都會被初始化為0,這意味著,顆粒表項指向的顆粒還未被分配。當顆粒被創(chuàng)建時,顆粒表的項將會被初始化,并指向顆粒在稀疏Extent文件中對應的位置。

圖6 文件頭數(shù)據(jù)

(3)最低層次顆粒:顆粒是在虛擬磁盤上存儲數(shù)據(jù)的一系列扇區(qū)的組合,由多少扇區(qū)組成一個顆粒在頭文件中的grainsize參數(shù)中會給出,在默認情況下是128,因此在默認情況下每個顆粒保存64KB的虛擬機數(shù)據(jù)。

以圖6所示的稀疏文件為例:冗余顆粒目錄在第0x15個扇區(qū),也就是對應位置0x2A00處。

圖7中可以看到第一個顆粒目錄項所顯示的顆粒表的扇區(qū)偏移量為0x17,每個顆粒表之間的扇區(qū)偏移量之差為4,也就是2KB大小。

圖8中每4位表示一個顆粒的扇區(qū)偏移量(32位最多可以表示2048GB),全零的區(qū)域表示該位置的空間還沒有被分配。上圖說明,磁盤的開始128個扇區(qū)被存放在扇區(qū)偏移量為0x880的位置,接下來的三個顆粒中的扇區(qū)沒有被存放數(shù)據(jù)。

圖9中的數(shù)據(jù)是windows第一扇區(qū),引導扇區(qū)中的內(nèi)容。存儲方式與操作系統(tǒng)無關(guān),此處僅僅是演示正確性。

5 電子數(shù)據(jù)取證中的應用

在電子數(shù)據(jù)取證中,常常會有這樣的幾種情況出現(xiàn):

(1)受鑒定取證的計算機中保存有兩個或者多個操作系統(tǒng),其中重要的數(shù)據(jù)被保存在虛擬計算機中。

(2)得到的并不是物理磁盤,而是磁盤鏡像文件。

所以說虛擬技術(shù)對于數(shù)據(jù)的鑒定和恢復、服務遷移等都有著重要的作用。本節(jié)將結(jié)合電子數(shù)據(jù)取證中的具體問題來詳解Vmware虛擬機的多功能取證工具MyVirtualTools.exe在實際中的應用。

表2 MyVirtualTools.exe的主要參數(shù)

5.1 磁盤鏡像的虛擬加載

在數(shù)據(jù)鑒定中常常得到的不是一個可以被直接加載的硬盤,而是一個物理磁盤的鏡像文件。當有某些鑒定取證需要進入磁盤文件內(nèi)的操作系統(tǒng)時,便出現(xiàn)了問題。因為在磁盤上的一個數(shù)據(jù)文件計算機是不會把它引導成系統(tǒng)啟動的。這時可以使用MyVirtualTools.exe軟件把該磁盤數(shù)據(jù)文件轉(zhuǎn)換成VMware虛擬機文件并通過VMware虛擬機加載啟動。這樣的方式比起使用DUMP工具把磁盤鏡像文件拷貝到物理磁盤便捷了許多。具體使用分類以及參數(shù)如下:

(1)若對于轉(zhuǎn)換磁盤文件生成的.vmdk文件大小沒有要求,可以僅僅生成平板模式的虛擬機文件。

參數(shù)示例:MyVirtualTools.exe–f–pv源路徑;目的路徑

參數(shù)中的源路徑表示鏡像文件的路徑以及文件名,目的路徑表示生成的虛擬機系統(tǒng)文件夾存放的路徑以及文件夾的名稱。

圖7 部分冗余顆粒目錄

圖8 部分顆粒表

圖9 偏移0x880處數(shù)據(jù)

(2)若磁盤鏡像文件中實際數(shù)據(jù)占用的空間與鏡像占用的空間差距太大時,可以選擇把文件轉(zhuǎn)換成稀疏文件模式的虛擬機文件。在這種情況下MyVirtualTools.exe軟件會自行構(gòu)造三層索引結(jié)構(gòu),并分配合理的存儲顆粒文件。由于系統(tǒng)申請的空間并不一定是連續(xù)的,所以若是按序存放的話必定會出現(xiàn)很多的空白區(qū)域浪費了磁盤的存儲空間。而使用稀疏文件模式時,空白的文件將會在索引中注明00,表示該區(qū)域的空間并沒有被分配。轉(zhuǎn)換之后能節(jié)約大量的磁盤空間,對于存儲備份鑒定所需的磁盤數(shù)據(jù)有著重要的作用。

參數(shù)示例:MyVirtualTools.exe–s–pv源路徑;目的路徑。

以上兩種方式運行之后將會產(chǎn)生一個虛擬系統(tǒng)的文件夾,之后便可以使用VMware虛擬機進行加載啟動了。

5.2 虛擬機數(shù)據(jù)遷移[2]

電子數(shù)據(jù)的取證和鑒定的數(shù)據(jù)與應用服務有時為了各自的獨立性會把自己加載在虛擬機中進行工作。但是隨著時間不斷的推移,各個數(shù)據(jù)與服務之間的進展各不相同。有些可能沒有什么變化,有些可能隨著鑒定處理數(shù)據(jù)的不斷增大,圖像處理精度的不斷提高等原因,虛擬機已經(jīng)無法再提供處理的環(huán)境。這時便需要把虛擬磁盤文件轉(zhuǎn)化為物理磁盤在真實的計算機上進行操作。使用MyVirtualTools.exe可以把兩種模式的虛擬機系統(tǒng)轉(zhuǎn)化為物理磁盤鏡像文件,接著可以通過計算機DUMP鏡像到物理磁盤,最后在物理計算機上運行原來的虛擬系統(tǒng)。

(1)平板文件模式:當VMware虛擬機的磁盤模式是平板模式時,虛擬磁盤的結(jié)構(gòu)類似于物理磁盤。

參數(shù)示例:MyVirtualTools.exe–f–vp源路徑;目的路徑。

參數(shù)中的源路徑是虛擬機系統(tǒng)文件夾存放的路徑以及文件夾的名稱,目的路徑是生成的鏡像文件的路徑以及文件名。

(2)稀疏文件模式:由于在這種模式下虛擬磁盤文件的內(nèi)容不是按序存放在磁盤文件中,而是通過一個三層索引結(jié)構(gòu),以一定的存儲顆粒大小存放起來的。轉(zhuǎn)換時,通過查各級的索引表對于已經(jīng)被申請空間中的數(shù)據(jù),找到對應的地址并以存儲顆粒為大小拷貝到物理磁盤鏡像上;對于還未被分配的空間在其上填充00空出該區(qū)域以備以后使用。轉(zhuǎn)換之后,物理磁盤鏡像文件的大小為磁盤完全分配時的大小。

參數(shù)示例:MyVirtualTools.exe–s–vp源路徑;目的路徑。

以上兩種方式運行之后可以生成一個物理磁盤的鏡像文件。然后就可以使用磁盤DUMP工具把生成的物理鏡像文件拷貝到物理磁盤。這樣便完成了鑒定虛擬平臺遷移到物理平臺的任務。不但可以保留原先所有的數(shù)據(jù)以及資料,并且實際的性能由于遷移也得到了提高。

5.3 虛擬磁盤文件搜索

在實際的電子數(shù)據(jù)取證中,有時僅僅需要在虛擬計算機中搜索一個文件,或者打開在指定文件路徑下的文件。這種情況下使用VMware虛擬機軟件加載虛擬磁盤文件或者通過Mount命令掛載虛擬磁盤來完成以上的兩種需求都略顯繁瑣。使用MyVirtualTools.exe工具可以通過輸入文件名來搜索或打開指定文件。

(1)搜索虛擬計算機中的文件:MyVirtualTools.exe–f–search文件名,工具將會返回同文件名的所有文件的路徑。

(2)打開指定文件:MyVirtualTools.exe–s–open文件路徑加文件名,工具將會返回文件的內(nèi)容,在此常常被用來查看文本文件。

5.4 虛擬磁盤數(shù)據(jù)鑒定與恢復[3]

在實際的電子數(shù)據(jù)鑒定中,得到的虛擬磁盤中的數(shù)據(jù)有時已經(jīng)被刪除或者被破壞,這便使得取證遇到了障礙。MyVirtualTools.exe主要完成的功能是還原恢復虛擬機中已經(jīng)被刪除的文件,輸入?yún)?shù)運行之后將會在指定文件夾內(nèi)產(chǎn)生恢復文件。

參數(shù)示例:MyVirtualTools.exe–f–recovery源路徑;目的路徑。

參數(shù)中的源路徑是虛擬機系統(tǒng)文件夾存放的路徑以及文件夾的名稱,目的路徑是恢復出來的文件存放的路徑文件夾名稱。

更進一步的虛擬數(shù)據(jù)恢復工作可以把該工具和物理磁盤取證恢復工具結(jié)合使用。例如,先把虛擬操作系統(tǒng)的磁盤轉(zhuǎn)化為物理磁盤文件,然后再使用encase等恢復工具進行工作。

6 結(jié)論

通過對VMware虛擬機虛擬磁盤文件結(jié)構(gòu)的分析,并結(jié)合工具對于電子數(shù)據(jù)取證中的實際問題提出了解決方案。今后還將會對VPC、Xen等其他虛擬機的虛擬磁盤文件結(jié)構(gòu)進行分析并給出適合需求的應用實例、方法以及工具。

[1]戴士劍,涂彥暉.數(shù)據(jù)恢復技術(shù)[M].北京:電子工業(yè)出版社,2005:3.

[2]何歡,何倩.數(shù)據(jù)備份與恢復[M].北京:機械工業(yè)出版社,2010:9.

[3]劉偉.數(shù)據(jù)恢復技術(shù)深度揭秘[M].北京:電子工業(yè)出版社,2010.5.

(本文編輯:施少培)

Structural Analysis of VMware Virtual Disk and its Application in Electronic Data Examination

QIAN Wei,SHA Jing
(Shanghai Stars Digital Forensic Center,Key Laboratory of Information Network Security,Ministry of Public Security,Shanghai 200035,China)

TP393

A

10.3969/j.issn.1671-2072.2011.02.013

1671-2072-(2011)02-0060-05

2009-08-06

錢偉(1984-),男,助理工程師,碩士研究生,主要從事網(wǎng)絡(luò)攻防虛擬技術(shù)研究。E-mail:smile1_9_8_4@hotmail.com。

猜你喜歡
磁盤扇區(qū)差分
分階段調(diào)整增加扇區(qū)通行能力策略
南北橋(2022年2期)2022-05-31 04:28:07
數(shù)列與差分
解決Windows磁盤簽名沖突
電腦愛好者(2019年2期)2019-10-30 03:45:31
修改磁盤屬性
U盤故障排除經(jīng)驗談
磁盤組群組及iSCSI Target設(shè)置
創(chuàng)建VSAN群集
基于貝葉斯估計的短時空域扇區(qū)交通流量預測
重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
基于差分隱私的大數(shù)據(jù)隱私保護
崇左市| 大连市| 鹤岗市| 安图县| 闸北区| 建昌县| 保定市| 宜宾县| 金坛市| 若羌县| 铁岭县| 富源县| 兴城市| 全南县| 丘北县| 苗栗市| 四子王旗| 静安区| 集贤县| 永年县| 栾川县| 沈丘县| 渑池县| 莱州市| 醴陵市| 冀州市| 徐水县| 黎平县| 石台县| 庆城县| 宜城市| 星座| 德江县| 蛟河市| 璧山县| 天气| 积石山| 翼城县| 绥化市| 霍邱县| 西丰县|