2013年5月31日 星期五

復原損毀VM映像檔 挑戰虛擬機器鑑識採證

採集證據易忽略 若遭刪除更添追查難度
復原損毀VM映像檔 挑戰虛擬機器鑑識採證

邁入數位化時代,使用者若想在硬體資源有限情況下,滿足使用多種作業系統的需求,虛擬化技術是大部分使用者的選擇。但在電腦犯罪中,犯罪者也可能利用虛擬機器軟體建置多個虛擬主機進行非法活動,獲取不法利益。有鑑於此,在進行虛擬機器的鑑識工作前,除了基本的數位鑑識知識外,必須了解虛擬機器的架構,並知悉如何復原損壞的映像檔。

在科技進步的時代,硬體性能每隔一小段時間就提升許多,許多個人電腦及公司行號的主機都具有極佳的硬體配備。

對於企業而言,為了充分利用運作中主機或電腦的閒置資源,或者是減少硬體方面的花費,虛擬化技術是一個解決問題的好選擇,因為它可以用虛擬化技術模擬出另一台電腦,並在模擬出的電腦上建置作業系統,而運作方式又與實體系統沒有太大的差異。

因為前述的好處,虛擬機器已經被廣泛地使用。近期已出現利用虛擬機器進行犯罪的案例。虛擬機器的使用,讓犯罪者可以節省硬體方面的開銷,利用少數幾台主機就可達到模擬數十台主機的效果。

當犯罪行為完成後,數位跡證又可以快速地被銷毀,因此虛擬機器成為了犯罪者的犯罪工具。透過虛擬化技術的電腦犯罪行為,對於鑑識人員而言,與傳統電腦鑑識採證方法已有所差異。

就犯罪者向業者租用主機的情況下,鑑識人員除了不易追蹤犯罪者外,在採證方面亦須業者配合,造成取證的困難性。

另外,採用虛擬機器的犯罪,若是虛擬機器的相關資訊被刪除後,有可能造成鑑識人員忽略對虛擬機器進行查證的工作。而進行虛擬機器的鑑識工作需要了解虛擬機器的特性,例如面對損壞的映像檔,該如何獲取相關的犯罪跡證。

接下來,先介紹虛擬機器的相關背景,以及對於使用虛擬機器主機取證和復原損壞映像檔的方法。

虛擬機器如何運作 

虛擬機器是虛擬化技術其中的一種工具,它可以在主機上或是終端伺服器與終端使用者之間透過虛擬化技術創造出一台虛擬的硬體機器,因為這個硬體並不是實際存在的,所以稱為虛擬機器。雖然稱為虛擬機器,但事實上虛擬機器中的資料是實際存在的。

簡而言之,可以將虛擬機器看成一種模擬器,利用主機既有硬體資源模擬出另一台主機的硬體規格,如同一台電腦。因此對於硬體效能較好的主機而言,可以模擬一個或多個的作業系統來進行作業,減少硬體成本。

目前使用虛擬機器大概有兩種目的,第一種是讓一部具備高效能硬體規格的主機負責多種任務。例如在一部主機上同時裝載多個作業系統,充分運用實體主機的所有資源。

第二種是同時使用多種不同的作業系統,目前市面上有Linux、Mac、Windows等作業系統。而作業系統又有各家的不同版本,對於使用者而言,若想切換多個作業系統,利用虛擬機器就不必重新啟動主機,直接做切換系統的動作。目前市面上有許多不同的虛擬機器軟體可以選用,例如VMware、Microsoft、Citrix等等。

如圖1所示,根據iThome 2011年調查的數據虛擬機器軟體的平台採用,以VMware市占率最高。而且VMware也是最早發展虛擬機器平台的公司,因此本文就以VMware為例進行虛擬機器的介紹。


▲圖1 虛擬化平台採用比例。

虛擬機器採行的架構 

在了解虛擬化技術之前,有兩個名詞必須先了解,就是Host OS以及Guest OS,所謂的Host OS,就是安裝虛擬機器時運行虛擬機器軟體的作業系統,而Guest OS則是在虛擬機器軟體上安裝的作業系統。

例如,在原本的Windows XP系統下安裝了虛擬機器軟體,並且在虛擬機器軟體內安裝Linux作業系統,此時Windows XP即為Host OS,Linux則是Guest OS。但目前的虛擬化技術並不是所有的虛擬機器都必須具備Host OS。

因此,虛擬機器的虛擬化技術主要分為下述兩種:

1.寄宿架構 

所謂的寄宿架構(Hosted Architecture)也稱為初期架構,使用虛擬化技術模擬虛擬的硬體和軟體,並將模擬出的軟、硬體架構於Host OS之上,形成一個在作業系統中存在另一個作業系統的架構。

如圖2左圖所示,虛擬機器軟體讓Host OS認為模擬出的硬體是一個應用程式,而虛擬機器層透過Host OS與實體硬體對話,進而使用硬體的資源。此種架構最大優點是硬體相容性高,只需要具備Host OS,就可以使用Guest OS。


▲圖2 虛擬機器目前採行的兩種架構:寄宿架構及裸金屬架構。

但此種架構的缺點是效能低,各虛擬機器層沒有獨立的硬體資源,一旦Host OS被攻擊的話,也會導致所有虛擬機器無法運作。VMware Workstation與Microsoft Virtual PC即採用此架構。

2. 裸金屬架構 

裸金屬架構(Bare-metal Architecture)比起寄宿架構,是更進階的一種技術,此種架構不再需要透過Host OS與硬體對話,虛擬機器層直接運行在硬體上。

如圖2右圖所示,虛擬機器層直接接管所有硬體資源,並且每一個虛擬機器都有配置硬體資源。因此,在這樣的架構下,最大優點在於不同虛擬系統運作效能高,且任何一個Guest OS遭受攻擊或損壞,皆不會影響到其他的Guest OS。

不過,其缺點是硬體相容性低。因為硬體必須具備相對應的驅動程式才能將Hypervisor植入核心,因此使用限制較多,相容性相對而言較低。VMware ESX/ESXi、Microsoft Hyper-V以及Citrix Xen Server即是採用此種架構。

根據以上所提及的虛擬化技術,目前一般使用者多採用寄宿架構,而企業因為效能關係,則採用裸金屬架構。

VMware Workstation檔案說明 

為了要更了解虛擬機器的運作,接下來會說明虛擬機器的檔案各自代表甚麼意義,並將透過不同的副檔名介紹各個檔案的功能,如此一來就能知道虛擬機器如何將本身模擬成一台電腦。

以下分別說明VMware Workstation內幾種主要的檔案:

Vmx檔 

這是一個主要配置檔,記錄使用者對於虛擬機器的設定值。

Log檔 

Log檔就像是一本日記簿,記錄著VMware Workstation的主要活動,當虛擬機器運作上發生問題時,可以查看先前的Log檔發生什麼問題。而Log檔也存放一些Vmx檔內沒有提及的訊息。

Vmsd檔、Vmsn檔及Vmss檔 

在介紹這三個檔案前,必須先說明何謂「快照」。快照好比對著系統資料庫內的資料拍照,「快照」會將拍照時間點的資料記錄下來,若以後系統有所變動的時候,可以當成還原的依據,而Vmsd檔、Vmsn檔及Vmss檔則為儲存快照資訊和資料的檔案。

Vmsn檔可在使用者對虛擬機器進行快照時記錄當時虛擬機器運行狀態。因此,Vmsd與Vmsn兩者在虛擬機器中扮演著復原點的角色,而Vmss檔則記錄虛擬機器暫停時的狀態。

Vmdk檔 

Vmdk檔在虛擬機器內的角色,就如同電腦中的硬碟。一個虛擬硬碟主要是由多個Vmdk檔組成,因此Vmdk檔內容都存放虛擬機器的資料。數位鑑識人員可以從裡面的資料找尋有無相關線索。

Vmem檔 

相較於Vmdk為扮演虛擬硬碟的角色,Vmem則扮演虛擬機器中的記憶體角色。它記錄虛擬機器存放於記憶體的資料,並且只有當虛擬機器運行或是暫停狀態才會存在,同時它也擔任一個備份資料的角色。不過,當虛擬機器被終止運行時,就如同電腦被關機後揮發性記憶體資料會消失,此檔案也會被虛擬機器自動刪除。

以上所介紹的虛擬機器中的各種檔案,整理如表1以供比對。

表1 虛擬機器的各種檔案 


案例情境說明 

A君利用國內拍賣網站進行拍賣詐騙,並且盜取民眾交易資料,詐騙手法是以付款設定錯誤方式,使被害者重複匯款。

如圖3所示,A君有著資訊背景,為了節省成本及方便管理,他在兩台主機中利用VMware Workstation軟體掛載多個作業系統。


▲圖3 VMware Workstation運行Windows 8於Host OS下。

鑑識人員接獲被害者報案後,隨即追查拍賣網站的IP位址,而經過一連串的追蹤,得知A君主機所在地。到了擺放主機的現場,鑑識人員原本預計會有多台主機,但卻未料到只有兩台主機。

而此時,在現場的A君發現鑑識人員入內,為避免犯罪跡證被萃取,隨即打算刪除有關虛擬機器的檔案。雖鑑識人員立即阻止,但已有部分虛擬機器的檔案被A君刪除。

為了要找尋A君的犯罪證據,鑑識人員發現A君是採用虛擬機器犯案,因此必須針對虛擬機器內的資料進行鑑識。

由於A君利用虛擬機器進行犯案,鑑識人員需要判斷虛擬機器的狀況,才能選擇適當的數位鑑識工作流程,避免破壞數位證據。

虛擬機器聽起來似乎只是虛無飄渺的,但是A君犯罪的資料卻實際記錄於其中。為了蒐集到A君的犯罪證據,接著以四個鑑識步驟介紹虛擬機器的數位鑑識。

1. 分析虛擬機器類型及採用的虛擬化技術

在進行虛擬機器的數位鑑識時,首先必須知道主機上運行的虛擬機器軟體以及所使用的虛擬化技術。原因在於,目前市面上有許多不同的虛擬機器軟體,而每一種軟體都有其特性,鑑識人員依據軟體特性,決定鑑識方法。

了解A君是使用VMware的虛擬軟體後,立即對虛擬機器進行資料萃取和蒐集,例如遭刪除的資料、加密的檔案及其他活動紀錄檔。

由於虛擬機器檔案容量都很大,因此虛擬機器的檔案被刪除,並不會被丟進資源回收筒中,而是直接被系統直接刪除。所以,為了確保資料能夠完整萃取分析,鑑識人員需要進行映像檔的還原,並在映像檔中萃取數位跡證。

2. 虛擬機器上進行數位鑑識的方法 

由於虛擬機器映像檔必須完整才可啟動虛擬機器,鑑識人員在進行虛擬機器的數位鑑識時,為了避免虛擬機器的資料遭受損害,應盡量採用現場蒐證鑑識法。

也就是,在主機仍在運行的情況下,進行資料的取證以及分析。如此一來,除了可取得揮發性記憶體中的資料外,也避免因為關機或系統重新啟動而失去一些重要的資料。

虛擬機器的數位鑑識方法有兩種,第一種是先依照鑑識作業流程,將電腦中的資料利用Encase或FTK等鑑識軟體完整拷貝成映像檔至鑑識硬碟內,並在之後對映像檔內容進行分析。

如圖4所示,對於虛擬機器的鑑識,要特別注意虛擬機器內相關的檔案。這些檔案含有重要的跡證資料,之後鑑識人員進行分析時也需要利用這些檔案重建虛擬機器。


▲圖4 VMware檔案及其檔案類型。

第二種方式是,虛擬機器藉由該軟體相關程式輸出成一個映像檔。之後再利用虛擬機器軟體載入此映像檔,直接透過鑑識工具進行資料的採集和分析。

3. 虛擬機器映像檔復原 

由於A君在鑑識人員進入房間時,已經有做一些破壞的動作,因此鑑識人員進行映像檔的輸出或拷貝時發生映像檔損壞的情形,必須先檢視該映像檔是否可以進行復原。

在復原的方面,若是映像檔為SPARCE文件,在一定的損壞程度中,檔案是可以被復原的,SPARCE文件結構如圖5所示。復原的工作將分成下列的步驟:


▲圖5 SPARCE文件結構。

首先在表頭(Sparse header)部分,可以根據Vmx檔和Log檔的內容進行表頭的復原,因為表頭內主要都存放一些虛擬機器的設定值。

前面有提到Vmx檔主要記錄的是虛擬軟體的設定值,而Log檔則記錄一些主要的活動。因此若是設定值有所變更,也可以從Log檔內發現。

在進行表頭的復原中,主要有以下三個欄位:
(1)Extent的大小
(2)存放Metadata的Sector數量
(3)Grain資料夾的位置。其他欄位採用預設值即可。

完成表頭復原工作後,檢查SPARCE文件結構內的欄位是否有所損壞,若有損壞,則對以下欄位進行復原動作:
(1)CID及Parent CID:此欄位值可以從虛擬機器的快照中找到,也就是本文前段所提到的Vmsd檔、Vmsn檔及Vmss檔,若是沒有虛擬機器的快照,或是無法找尋到此欄位的內容,可以將其設為此欄位本身的預設值”ffffffff”。
(2)Extent的大小:此欄位值與表頭中第一個要復原的欄位是相同的值。
(3)Extent的格式:格式可以分為sparse和flat,此欄位可以由Vmx與Log檔的檔名進行辨識。
(4)Extense的儲存檔名:此欄位亦可由Vmx檔及Log檔中發現。
完成這兩個復原動作後,映像檔大致上已經復原,可以進行分析的動作。

4. 若無法復原以及其他鑑識手法 

若採用上述的方法,映像檔仍然無法恢復,鑑識人員還是必須對於映像檔進行metadata的採取及分析。此外,若虛擬機器是建置於Windows作業系統環境下,可以從註冊檔中找到A君在拍賣所使用的帳號和線索。

除了分析映像檔外,鑑識人員也必須針對Vmem檔進行分析,因為Vmem檔為虛擬機器中的記憶體,在分析Vmem檔時可以利用Compare VMware snapshots或是Memparser工具從記憶體中取得有用的資料,Memparser工具如圖6所示。


▲圖6 Memparser工具。

從虛擬機器中所鑑識出的資料,可提供鑑識人員推斷犯罪者的犯罪手法。同一台機器中,單一作業系統已經不是唯一的選擇。面對能夠多方執行作業系統的虛擬機器,鑑識人員必須了解運作狀態,進而選擇適當的鑑識方法。

結語 

虛擬化技術在雲端技術廣泛的應用下更趨重要,對於犯罪者而言也是方便管理並且可以快速損毀證據的工具。虛擬機器雖然聽起來是透過模擬而產生的系統,但虛擬機器中模擬出的硬體確實是虛擬,但是存在於虛擬機器中的資料卻是實質上的證據。有時鑑識人員可能因為疏忽了虛擬機器而忽略掉重要的證據。鑑識人員在進行虛擬機器的數位鑑識時,必須對虛擬機器有一定的了解,才能夠在虛擬機器中取出更多有用的證據。

原文出處:中央警察大學資訊密碼暨建構實驗室(ICCL)
轉載自《網管人》