網(wǎng)絡(luò)多硬盤復(fù)制機綜述

時間:2022-05-24 09:05:00

導(dǎo)語:網(wǎng)絡(luò)多硬盤復(fù)制機綜述一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

網(wǎng)絡(luò)多硬盤復(fù)制機綜述

1概述

隨著計算機犯罪的不斷增加,作為計算機科學(xué)、信息安全科學(xué)、法學(xué)和刑事偵查學(xué)交叉學(xué)科的計算機取證(ComputerForensics)技術(shù)[1]越來越受到人們的關(guān)注。計算機犯罪使得公眾蒙受重大損失,而電子數(shù)據(jù)證據(jù)不同于傳統(tǒng)犯罪證據(jù)在于它們更加容易消失和被破壞,因此,打擊計算機犯罪的重點在于找到充分可靠的電子證據(jù)。計算機取證是個技術(shù)性復(fù)雜性要求都比較高的工作,包括物理證據(jù)獲取和信息發(fā)現(xiàn)2個階段[2]:(1)物理證據(jù)獲取是指司法調(diào)查人員來到計算機犯罪現(xiàn)場,尋找并扣留相關(guān)的計算機軟件和硬件,要確保原始證據(jù)不受到任何破壞;(2)信息發(fā)現(xiàn)是指從原始數(shù)據(jù)中,尋找可以用來證明或者反駁什么的證據(jù),主要由計算機證據(jù)的固定保存、計算機證據(jù)的提取、計算機證據(jù)的鑒定分析,以及計算機證據(jù)的表達(dá)構(gòu)成[3],在整個過程中,必須保證電子證據(jù)的真實、可靠、完整并且符合法律規(guī)定。上述電子證據(jù)的固定保存、提取、分析等過程都是分立的,而目前基于硬盤到硬盤復(fù)制的取證保全模式,一般是一對一或者一對多的形式,具體來說就是通過硬盤復(fù)制機將源硬盤的數(shù)據(jù)克隆到另一個或者多個目標(biāo)硬盤上。但是遇到某些案件需要保存分析很多硬盤時,一個一個復(fù)制未免耗費大量的時間與人力,這就需要鑒定工作室配備大量的復(fù)制機及空白硬盤,其次克隆好的目標(biāo)硬盤在鑒定完成后,需要備份備查,這樣就造成設(shè)備的閑置和浪費。綜上考慮,由于上述電子取證模式存在著操作復(fù)雜、效率低的缺點,并且需要人工干預(yù),自動化、智能化水平很低,因此本文設(shè)計并實現(xiàn)一個基于網(wǎng)絡(luò)的多對多硬盤復(fù)制機。

2網(wǎng)絡(luò)多硬盤復(fù)制機的系統(tǒng)架構(gòu)

網(wǎng)絡(luò)多硬盤復(fù)制機的系統(tǒng)架構(gòu)如圖1所示,其在物理上是由高速大容量存儲網(wǎng)絡(luò)、12路熱插拔硬盤托架、網(wǎng)絡(luò)多硬盤復(fù)制機、鑒定終端等子系統(tǒng)組成。由圖1可知,所有子系統(tǒng)通過交換機連接到千兆以太網(wǎng)絡(luò)環(huán)境中。大容量存儲設(shè)備主要用于存儲電子介質(zhì)的鏡像,存儲服務(wù)器管理著存儲設(shè)備的讀寫,網(wǎng)絡(luò)多硬盤復(fù)制機通過網(wǎng)絡(luò)將硬盤托架上需要鑒定的多個源硬盤分別做成文件鏡像,并通過高速存儲網(wǎng)絡(luò)保存到存儲設(shè)備中,在該復(fù)制過程中,硬盤復(fù)制機會實時地顯示運行狀態(tài),在復(fù)制完成后,將文件鏡像的校驗碼記錄在日志中;當(dāng)硬盤鏡像復(fù)制完成后,鑒定終端用于對存儲設(shè)備上的硬盤鏡像文件進行數(shù)據(jù)恢復(fù)和鑒定分析等。

3系統(tǒng)設(shè)計與實現(xiàn)

3.1高速存儲網(wǎng)絡(luò)設(shè)計

因為網(wǎng)絡(luò)硬盤復(fù)制機對傳輸速度要求很高,所以高速存儲網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計非常關(guān)鍵。如圖1所示硬盤復(fù)制機、鑒定終端、存儲服務(wù)器通過存儲區(qū)域網(wǎng)絡(luò)(StorageAreaNetwork,SAN)連接到交換機上。存儲服務(wù)器主要將SAN環(huán)境中的磁盤陣列和磁帶庫統(tǒng)一管理起來并形成一個共享文件系統(tǒng),于是每個直連在SAN網(wǎng)絡(luò)的主機都可以以光纖的高速度訪問文件系統(tǒng),這樣不必通過網(wǎng)絡(luò)在主機間拷貝文件提高系統(tǒng)性能,而且降低磁盤存儲成本。硬盤復(fù)制機通過存儲網(wǎng)絡(luò)將數(shù)據(jù)鏡像保存到磁盤陣列中,鑒定終端通過存儲網(wǎng)絡(luò)讀取存儲設(shè)備中的數(shù)據(jù)鏡像進行鑒定分析處理。用戶無須在網(wǎng)絡(luò)上的主機間復(fù)制或移動文件,從而實現(xiàn)內(nèi)容的高速提取、快速并行處理及異構(gòu)環(huán)境下的數(shù)據(jù)共享。

3.2復(fù)制機和硬盤托架的通信協(xié)議選擇

iSCSI(InternetSCSI)[4]是基于IP協(xié)議的技術(shù)標(biāo)準(zhǔn),在TCP/IP協(xié)議上傳輸SCSI命令,實現(xiàn)SCSI和TCP/IP協(xié)議的連接。網(wǎng)絡(luò)硬盤復(fù)制機、硬盤托架通過iSCSI協(xié)議進行通信,在協(xié)議中,硬盤托架其實相當(dāng)于一個iSCSITarget設(shè)備,而硬盤復(fù)制機充當(dāng)著iSCSIInitiator設(shè)備。硬盤托架將接收到的iSCSI命令包解析成對磁盤設(shè)備的操作,并將結(jié)果傳送回硬盤復(fù)制機。于是在硬盤復(fù)制機上,通過iSCSI發(fā)送Login命令后掛載硬盤托架上的磁盤后,使用托架上的硬盤就像訪問本地的SCSI設(shè)備一樣簡單。上述內(nèi)容的完成都無需用戶干預(yù),而且對終端用戶是完全透明的。

3.3硬盤托架的硬件設(shè)計

硬盤托架在iSCSI協(xié)議中,扮演著Target的角色。設(shè)計的硬盤托架同時支持4個復(fù)制單元共12個硬盤插拔,硬盤復(fù)制單元結(jié)構(gòu)示意圖如圖2所示。由圖2可知,每個單元共有3個硬盤接口(支持IDE及SATA硬盤接口、USB接口、多功能讀卡器接口),硬盤通過一個特制的硬盤轉(zhuǎn)接卡插到硬盤托架上。為確保硬盤插進硬盤托架后數(shù)據(jù)不能被修改,要對每個硬盤接口進行寫保護。另外還需要對每塊硬盤能進行編號描述處理,這可以通過iSCSI目標(biāo)命名方式來實現(xiàn)。

3.4網(wǎng)絡(luò)硬盤復(fù)制機的設(shè)計與實現(xiàn)

網(wǎng)絡(luò)硬盤復(fù)制機在iSCSI協(xié)議中,扮演著Initiator的角色,負(fù)責(zé)將對磁盤設(shè)備的操作封裝成iSCSI命令包然之后,通過iSCSI協(xié)議發(fā)送給硬盤托架。復(fù)制機通過IP地址連接上硬盤托架并且將插槽位置上的硬盤加載到本地,于是在復(fù)制機上,可以操縱硬盤托架上的硬盤了。圖3描述網(wǎng)絡(luò)硬盤復(fù)制機的工作職能。在用戶與界面進行交互指定硬盤后,復(fù)制機根據(jù)用戶選擇的硬盤進行復(fù)制,在復(fù)制工作中,界面上還會實時的顯示硬盤復(fù)制進度、即時復(fù)制速度、已用時間等相關(guān)信息。除此以外,用戶還可以對硬盤復(fù)制任務(wù)進行控制,包括暫停、恢復(fù)甚至取消復(fù)制等。所有的這一切都通過用戶與界面的交互來完成。復(fù)制任務(wù)完成后,系統(tǒng)會將鏡像和相關(guān)的校驗碼保存到存儲設(shè)備中以供后續(xù)的分析。

3.4.1主界面通過iSCSI協(xié)議,由于用戶可以在網(wǎng)絡(luò)硬盤復(fù)制機的界面上對硬盤托架上的硬盤進行操作,因此知道界面上模擬硬盤與實際硬盤架上硬盤的對應(yīng)關(guān)系是必不可少的。設(shè)計中硬盤復(fù)制機的邏輯主界面模擬硬盤托架的物理架構(gòu),即每一個硬盤都與遠(yuǎn)程硬盤托架上具體的插槽相對應(yīng)。由于在硬盤托架的設(shè)計過程中,對每個插槽的硬盤進行相應(yīng)的iSCSI命名,因此在復(fù)制機上可以獲知每個硬盤的在iSCSI協(xié)議下的名稱。圖4為盤復(fù)制機的模擬硬盤托架主界面。由圖4可知,指示燈顯示硬盤的工作狀態(tài)。當(dāng)指示燈為綠時,顯示該位置的硬盤正處于工作狀態(tài),對應(yīng)于硬盤托架上的同等位置上的插槽位置安放了硬盤;而指示燈熄滅則表示硬盤托架上的相應(yīng)插槽位置沒有硬盤或者硬盤已經(jīng)拔除。通過這樣的對應(yīng)關(guān)系,用戶可以方便地對硬盤進行辨識和一系列操作。

3.4.2硬盤復(fù)制任務(wù)硬盤復(fù)制機的主要任務(wù)在于對硬盤進行原始鏡像。傳統(tǒng)的硬盤復(fù)制機主要將其原始數(shù)據(jù)寫入另一個空白硬盤中,然而這勢必造成資源的浪費。本文硬盤復(fù)制機與之不同,將鏡像寫入磁盤陣列,并且記錄相對應(yīng)的哈希校驗碼。這樣做,一方面可以方便的對檢材進行備案,另一方面也被用作后續(xù)的鑒定任務(wù)。支持的硬盤鏡像有2種:(1)DD文件,也就是硬盤原始二進制數(shù)據(jù)的完全克?。?2)EWF(EncaseWitnessFormat)文件[5],EWF通過二進制模式復(fù)制原始硬盤或媒介計算MD5哈希值驗證相關(guān)鏡像文件,另外,計算CRC校驗值確定證據(jù)是否被改變。EWF是電子取證領(lǐng)域中的證據(jù)文件,文件包含有3個組成部分,即文件頭、校驗值和數(shù)據(jù)塊,這3個部分可有效防止數(shù)據(jù)被篡改,并可重新恢復(fù)成數(shù)據(jù)的原始狀態(tài)。而DD鏡像文件不包含文件頭和校驗值。傳統(tǒng)的硬盤復(fù)制機每次只能復(fù)制一個硬盤,而本文設(shè)計的網(wǎng)絡(luò)多硬盤復(fù)制機可以支持多個硬盤同時復(fù)制。在復(fù)制過程中,同時進行MD5、SHA128和SHA256多種哈希校驗。在界面上會實時顯示復(fù)制進度,包括完成百分比和即時速度等。此外用戶可控制復(fù)制進程包括暫停、恢復(fù)和取消復(fù)制等。為最大化的利用資源并且提升復(fù)制速度,在每個硬盤的復(fù)制任務(wù)中采用多線程。系統(tǒng)預(yù)先分配一個線程池,主線程負(fù)責(zé)處理及與用戶的交互,在線程池中的線程主要處理硬盤的復(fù)制任務(wù)。之所以設(shè)計這樣的線程池,是為防止系統(tǒng)頻繁的創(chuàng)建線程造成內(nèi)存碎片和復(fù)制速度的顛簸。每當(dāng)用戶指定一個硬盤復(fù)制任務(wù),主線程將該任務(wù)放到任務(wù)隊列中,并通知線程池中的對應(yīng)線程進行處理。每個硬盤復(fù)制任務(wù)又具體分為3個線程,即讀取硬盤數(shù)據(jù),對硬盤數(shù)據(jù)進行哈希校驗,寫鏡像文件到磁盤陣列中。圖5具體描述這3個線程之間的同步算法。借鑒生產(chǎn)者消費者的線程模式[6],系統(tǒng)分配一個環(huán)形緩沖區(qū),讀線程首先檢測緩沖區(qū)中是否有空閑的緩沖塊,如果緩沖區(qū)滿了就等待,否則循環(huán)讀取一定數(shù)目的硬盤塊數(shù)據(jù)到緩沖塊中,并且喚醒相應(yīng)的校驗線程;校驗線程對緩沖塊的數(shù)據(jù)進行哈希校驗,完之喚醒寫線程;寫線程主要取出對應(yīng)的緩沖塊,將其數(shù)據(jù)寫進鏡像文件中,并且通知讀線程該緩沖塊的數(shù)據(jù)已經(jīng)清空。讀、校驗、寫這3個線程之間互相同步競爭,可以保證復(fù)制任務(wù)的順利進行。

3.4.3硬盤托架的實時監(jiān)控當(dāng)用戶在硬盤架上插入新的硬盤,或者在某個插槽位置拔掉硬盤時,在復(fù)制機界面上,必須實時反映這個熱插拔情況。設(shè)置一個定時器用于查詢硬盤托架上的硬盤變動情況。由于硬盤復(fù)制機的主要任務(wù)是克隆硬盤鏡像,因此如果將這個定時查詢器放在前端,勢必與復(fù)制機主程序爭端資源。具體來說,一方面會造成復(fù)制速度的降低,另一方面還會造成復(fù)制機主界面的“假死”。將其設(shè)計成一個系統(tǒng)服務(wù),在與復(fù)制機主程序分離之后放在后端,一旦發(fā)現(xiàn)硬盤托架上的硬盤變動情況,發(fā)送相應(yīng)的消息給復(fù)制機主程序。復(fù)制機主程序監(jiān)聽該服務(wù),一旦接收到新的消息,隨時更新硬盤狀態(tài)。

4實驗結(jié)果與性能分析

4.1系統(tǒng)軟硬件配置

存儲服務(wù)器與硬盤復(fù)制機的硬件配置分別為IntelXeonE5420CPU2.50GHz,16GB內(nèi)存。硬盤托架的硬件配置為IntelXeonE5506CPU2.13GHz,4GB內(nèi)存。磁盤陣列則由12個SAS硬盤擴展到6.7TB。硬盤復(fù)制機和存儲服務(wù)器都用過QLogicHBA卡連接到光纖交換機上。交換機為千兆。復(fù)制機采用支持跨平臺編譯的Qt軟件包[7]實現(xiàn),這樣可運行在Windows和Linux2種操作系統(tǒng)平臺上。實驗機器軟硬件配置如表1所示,其中CPU都為IntelXeon。

4.2存儲系統(tǒng)性能分析

衡量存儲系統(tǒng)的性能有許多評價指標(biāo)[8],本文主要采用吞吐率和響應(yīng)時間。在實驗中采用Iometer工具[9],設(shè)置3種模式,分別為連續(xù)讀、連續(xù)寫、以及讀/寫混合操作,并且針對不同的I/O請求數(shù)據(jù)量的大小進行測試,能反映存儲系統(tǒng)在處理不同大小數(shù)據(jù)包時的性能差異。吞吐率曲線如圖6所示和平均響應(yīng)時間曲線如圖7所示。由圖6、圖7可知,隨著每個I/O請求的數(shù)據(jù)量增加,單位時間提交的I/O請求會越少,這樣存儲系統(tǒng)在單位時間內(nèi)用于處理I/O請求的時間就會減少,從而提高數(shù)據(jù)傳輸速度。另外從數(shù)據(jù)的讀寫來看,明顯的讀操作的處理速度比寫操作要快大約20%。

4.3復(fù)制機的性能分析

首先比較與傳統(tǒng)硬盤復(fù)制機的復(fù)制速度,表2列出市面上3種常見的硬盤復(fù)制機以及本文的網(wǎng)絡(luò)多硬盤復(fù)制機(簡稱本文)的各種性能參數(shù)(包括復(fù)制方式、哈希類型等)比較。由表2可知,本文復(fù)制機速度是在只對單個硬盤進行復(fù)制時測試得到,其他復(fù)制機的速度都是從官方說明書上獲取的數(shù)據(jù)(由于傳統(tǒng)復(fù)制機要將硬盤備份到空白硬盤上,為了節(jié)約成本,因此對這些復(fù)制機沒有進行實驗,只是簡單的列出了說明書上的官方數(shù)據(jù))。由此可見,本文復(fù)制機在只復(fù)制一個硬盤時的速度上與主流復(fù)制機不相上下,另外在硬盤接口上,哈希校驗類型上也與主流復(fù)制機大致相同。從表2的硬盤復(fù)制方式這一列可以看出,傳統(tǒng)的復(fù)制機的復(fù)制方式是一對一或者一對多,即將源每次只能將一個硬盤數(shù)據(jù)寫入到另一個或者多個目標(biāo)硬盤上,而網(wǎng)絡(luò)多硬盤復(fù)制機的復(fù)制方式是多對多,同時對多個硬盤進行復(fù)制,并將這些硬盤的鏡像數(shù)據(jù)分別保存到每個鏡像文件中。接下來分析復(fù)制機在多個硬盤同時復(fù)制下的性能。實驗采用一個U盤、4個IDE接口、7個SATA接口共12個硬盤(容量總大小為5.71TB),表3是多個硬盤同時復(fù)制的時間和平均復(fù)制速度,其中,BB表示平均復(fù)制速度。由表3可知,網(wǎng)絡(luò)多硬盤復(fù)制機同時復(fù)制多個硬的性能明顯比只復(fù)制單個硬盤要好,此外SATA硬盤的復(fù)制速度也相比IDE硬盤要快。隨著硬盤并行復(fù)制數(shù)目的增多,總復(fù)制速度也相應(yīng)的提升,當(dāng)硬盤復(fù)制的并行數(shù)為5時,速度達(dá)到5.12GB/min。在這之后,平均復(fù)制速度會隨著硬盤復(fù)制的并行數(shù)的增多而下降,比如在并行數(shù)為7時,速度為5.03GB/min。表3的最后2行是針對所有12個硬盤進行復(fù)制,但是最大的并行數(shù)并有設(shè)置成12,原因在前面已經(jīng)描述。復(fù)制機維護復(fù)制隊列和就緒等待2個隊列,所有請求復(fù)制的硬盤按照一定規(guī)則進行排序并提交給系統(tǒng),先來的硬盤進入復(fù)制隊列,當(dāng)復(fù)制隊列的數(shù)目多于系統(tǒng)支持的最大硬盤復(fù)制的并行數(shù)時,硬盤則相應(yīng)地進入就緒等待狀態(tài)。只要復(fù)制隊列中有硬盤完成復(fù)制,系統(tǒng)就會喚醒處于就緒隊列的一個硬盤使其進入復(fù)制狀態(tài)。實驗結(jié)果表明,所有12個硬盤大約在15h完成,復(fù)制速度大約在6.5GB/min左右,這接近了千兆帶寬網(wǎng)絡(luò)的80%。

5結(jié)束語

本文設(shè)計并實現(xiàn)一種面向電子取證的網(wǎng)絡(luò)多硬盤復(fù)制機。該復(fù)制機通過網(wǎng)絡(luò)對遠(yuǎn)程硬盤托架上的多個硬盤進行數(shù)據(jù)備份,并將鏡像文件保存到大容量存儲設(shè)備中,以方便鑒定終端挖掘存儲設(shè)備中的鏡像信息。實驗結(jié)果表明,在最佳配置下,能夠快捷、高速地對多個硬盤進行取證,達(dá)到硬盤復(fù)制機領(lǐng)域的領(lǐng)先水平。今后的研究方向是利用網(wǎng)絡(luò)帶寬提升復(fù)制速度。