網(wǎng)絡(luò)多硬盤復(fù)制機(jī)綜述
時(shí)間:2022-05-24 09:05:00
導(dǎo)語:網(wǎng)絡(luò)多硬盤復(fù)制機(jī)綜述一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1概述
隨著計(jì)算機(jī)犯罪的不斷增加,作為計(jì)算機(jī)科學(xué)、信息安全科學(xué)、法學(xué)和刑事偵查學(xué)交叉學(xué)科的計(jì)算機(jī)取證(ComputerForensics)技術(shù)[1]越來越受到人們的關(guān)注。計(jì)算機(jī)犯罪使得公眾蒙受重大損失,而電子數(shù)據(jù)證據(jù)不同于傳統(tǒng)犯罪證據(jù)在于它們更加容易消失和被破壞,因此,打擊計(jì)算機(jī)犯罪的重點(diǎn)在于找到充分可靠的電子證據(jù)。計(jì)算機(jī)取證是個(gè)技術(shù)性復(fù)雜性要求都比較高的工作,包括物理證據(jù)獲取和信息發(fā)現(xiàn)2個(gè)階段[2]:(1)物理證據(jù)獲取是指司法調(diào)查人員來到計(jì)算機(jī)犯罪現(xiàn)場,尋找并扣留相關(guān)的計(jì)算機(jī)軟件和硬件,要確保原始證據(jù)不受到任何破壞;(2)信息發(fā)現(xiàn)是指從原始數(shù)據(jù)中,尋找可以用來證明或者反駁什么的證據(jù),主要由計(jì)算機(jī)證據(jù)的固定保存、計(jì)算機(jī)證據(jù)的提取、計(jì)算機(jī)證據(jù)的鑒定分析,以及計(jì)算機(jī)證據(jù)的表達(dá)構(gòu)成[3],在整個(gè)過程中,必須保證電子證據(jù)的真實(shí)、可靠、完整并且符合法律規(guī)定。上述電子證據(jù)的固定保存、提取、分析等過程都是分立的,而目前基于硬盤到硬盤復(fù)制的取證保全模式,一般是一對一或者一對多的形式,具體來說就是通過硬盤復(fù)制機(jī)將源硬盤的數(shù)據(jù)克隆到另一個(gè)或者多個(gè)目標(biāo)硬盤上。但是遇到某些案件需要保存分析很多硬盤時(shí),一個(gè)一個(gè)復(fù)制未免耗費(fèi)大量的時(shí)間與人力,這就需要鑒定工作室配備大量的復(fù)制機(jī)及空白硬盤,其次克隆好的目標(biāo)硬盤在鑒定完成后,需要備份備查,這樣就造成設(shè)備的閑置和浪費(fèi)。綜上考慮,由于上述電子取證模式存在著操作復(fù)雜、效率低的缺點(diǎn),并且需要人工干預(yù),自動化、智能化水平很低,因此本文設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于網(wǎng)絡(luò)的多對多硬盤復(fù)制機(jī)。
2網(wǎng)絡(luò)多硬盤復(fù)制機(jī)的系統(tǒng)架構(gòu)
網(wǎng)絡(luò)多硬盤復(fù)制機(jī)的系統(tǒng)架構(gòu)如圖1所示,其在物理上是由高速大容量存儲網(wǎng)絡(luò)、12路熱插拔硬盤托架、網(wǎng)絡(luò)多硬盤復(fù)制機(jī)、鑒定終端等子系統(tǒng)組成。由圖1可知,所有子系統(tǒng)通過交換機(jī)連接到千兆以太網(wǎng)絡(luò)環(huán)境中。大容量存儲設(shè)備主要用于存儲電子介質(zhì)的鏡像,存儲服務(wù)器管理著存儲設(shè)備的讀寫,網(wǎng)絡(luò)多硬盤復(fù)制機(jī)通過網(wǎng)絡(luò)將硬盤托架上需要鑒定的多個(gè)源硬盤分別做成文件鏡像,并通過高速存儲網(wǎng)絡(luò)保存到存儲設(shè)備中,在該復(fù)制過程中,硬盤復(fù)制機(jī)會實(shí)時(shí)地顯示運(yùn)行狀態(tài),在復(fù)制完成后,將文件鏡像的校驗(yàn)碼記錄在日志中;當(dāng)硬盤鏡像復(fù)制完成后,鑒定終端用于對存儲設(shè)備上的硬盤鏡像文件進(jìn)行數(shù)據(jù)恢復(fù)和鑒定分析等。
3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1高速存儲網(wǎng)絡(luò)設(shè)計(jì)
因?yàn)榫W(wǎng)絡(luò)硬盤復(fù)制機(jī)對傳輸速度要求很高,所以高速存儲網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)非常關(guān)鍵。如圖1所示硬盤復(fù)制機(jī)、鑒定終端、存儲服務(wù)器通過存儲區(qū)域網(wǎng)絡(luò)(StorageAreaNetwork,SAN)連接到交換機(jī)上。存儲服務(wù)器主要將SAN環(huán)境中的磁盤陣列和磁帶庫統(tǒng)一管理起來并形成一個(gè)共享文件系統(tǒng),于是每個(gè)直連在SAN網(wǎng)絡(luò)的主機(jī)都可以以光纖的高速度訪問文件系統(tǒng),這樣不必通過網(wǎng)絡(luò)在主機(jī)間拷貝文件提高系統(tǒng)性能,而且降低磁盤存儲成本。硬盤復(fù)制機(jī)通過存儲網(wǎng)絡(luò)將數(shù)據(jù)鏡像保存到磁盤陣列中,鑒定終端通過存儲網(wǎng)絡(luò)讀取存儲設(shè)備中的數(shù)據(jù)鏡像進(jìn)行鑒定分析處理。用戶無須在網(wǎng)絡(luò)上的主機(jī)間復(fù)制或移動文件,從而實(shí)現(xiàn)內(nèi)容的高速提取、快速并行處理及異構(gòu)環(huán)境下的數(shù)據(jù)共享。
3.2復(fù)制機(jī)和硬盤托架的通信協(xié)議選擇
iSCSI(InternetSCSI)[4]是基于IP協(xié)議的技術(shù)標(biāo)準(zhǔn),在TCP/IP協(xié)議上傳輸SCSI命令,實(shí)現(xiàn)SCSI和TCP/IP協(xié)議的連接。網(wǎng)絡(luò)硬盤復(fù)制機(jī)、硬盤托架通過iSCSI協(xié)議進(jìn)行通信,在協(xié)議中,硬盤托架其實(shí)相當(dāng)于一個(gè)iSCSITarget設(shè)備,而硬盤復(fù)制機(jī)充當(dāng)著iSCSIInitiator設(shè)備。硬盤托架將接收到的iSCSI命令包解析成對磁盤設(shè)備的操作,并將結(jié)果傳送回硬盤復(fù)制機(jī)。于是在硬盤復(fù)制機(jī)上,通過iSCSI發(fā)送Login命令后掛載硬盤托架上的磁盤后,使用托架上的硬盤就像訪問本地的SCSI設(shè)備一樣簡單。上述內(nèi)容的完成都無需用戶干預(yù),而且對終端用戶是完全透明的。
3.3硬盤托架的硬件設(shè)計(jì)
硬盤托架在iSCSI協(xié)議中,扮演著Target的角色。設(shè)計(jì)的硬盤托架同時(shí)支持4個(gè)復(fù)制單元共12個(gè)硬盤插拔,硬盤復(fù)制單元結(jié)構(gòu)示意圖如圖2所示。由圖2可知,每個(gè)單元共有3個(gè)硬盤接口(支持IDE及SATA硬盤接口、USB接口、多功能讀卡器接口),硬盤通過一個(gè)特制的硬盤轉(zhuǎn)接卡插到硬盤托架上。為確保硬盤插進(jìn)硬盤托架后數(shù)據(jù)不能被修改,要對每個(gè)硬盤接口進(jìn)行寫保護(hù)。另外還需要對每塊硬盤能進(jìn)行編號描述處理,這可以通過iSCSI目標(biāo)命名方式來實(shí)現(xiàn)。
3.4網(wǎng)絡(luò)硬盤復(fù)制機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)絡(luò)硬盤復(fù)制機(jī)在iSCSI協(xié)議中,扮演著Initiator的角色,負(fù)責(zé)將對磁盤設(shè)備的操作封裝成iSCSI命令包然之后,通過iSCSI協(xié)議發(fā)送給硬盤托架。復(fù)制機(jī)通過IP地址連接上硬盤托架并且將插槽位置上的硬盤加載到本地,于是在復(fù)制機(jī)上,可以操縱硬盤托架上的硬盤了。圖3描述網(wǎng)絡(luò)硬盤復(fù)制機(jī)的工作職能。在用戶與界面進(jìn)行交互指定硬盤后,復(fù)制機(jī)根據(jù)用戶選擇的硬盤進(jìn)行復(fù)制,在復(fù)制工作中,界面上還會實(shí)時(shí)的顯示硬盤復(fù)制進(jìn)度、即時(shí)復(fù)制速度、已用時(shí)間等相關(guān)信息。除此以外,用戶還可以對硬盤復(fù)制任務(wù)進(jìn)行控制,包括暫停、恢復(fù)甚至取消復(fù)制等。所有的這一切都通過用戶與界面的交互來完成。復(fù)制任務(wù)完成后,系統(tǒng)會將鏡像和相關(guān)的校驗(yàn)碼保存到存儲設(shè)備中以供后續(xù)的分析。
3.4.1主界面通過iSCSI協(xié)議,由于用戶可以在網(wǎng)絡(luò)硬盤復(fù)制機(jī)的界面上對硬盤托架上的硬盤進(jìn)行操作,因此知道界面上模擬硬盤與實(shí)際硬盤架上硬盤的對應(yīng)關(guān)系是必不可少的。設(shè)計(jì)中硬盤復(fù)制機(jī)的邏輯主界面模擬硬盤托架的物理架構(gòu),即每一個(gè)硬盤都與遠(yuǎn)程硬盤托架上具體的插槽相對應(yīng)。由于在硬盤托架的設(shè)計(jì)過程中,對每個(gè)插槽的硬盤進(jìn)行相應(yīng)的iSCSI命名,因此在復(fù)制機(jī)上可以獲知每個(gè)硬盤的在iSCSI協(xié)議下的名稱。圖4為盤復(fù)制機(jī)的模擬硬盤托架主界面。由圖4可知,指示燈顯示硬盤的工作狀態(tài)。當(dāng)指示燈為綠時(shí),顯示該位置的硬盤正處于工作狀態(tài),對應(yīng)于硬盤托架上的同等位置上的插槽位置安放了硬盤;而指示燈熄滅則表示硬盤托架上的相應(yīng)插槽位置沒有硬盤或者硬盤已經(jīng)拔除。通過這樣的對應(yīng)關(guān)系,用戶可以方便地對硬盤進(jìn)行辨識和一系列操作。
3.4.2硬盤復(fù)制任務(wù)硬盤復(fù)制機(jī)的主要任務(wù)在于對硬盤進(jìn)行原始鏡像。傳統(tǒng)的硬盤復(fù)制機(jī)主要將其原始數(shù)據(jù)寫入另一個(gè)空白硬盤中,然而這勢必造成資源的浪費(fèi)。本文硬盤復(fù)制機(jī)與之不同,將鏡像寫入磁盤陣列,并且記錄相對應(yīng)的哈希校驗(yàn)碼。這樣做,一方面可以方便的對檢材進(jìn)行備案,另一方面也被用作后續(xù)的鑒定任務(wù)。支持的硬盤鏡像有2種:(1)DD文件,也就是硬盤原始二進(jìn)制數(shù)據(jù)的完全克隆;(2)EWF(EncaseWitnessFormat)文件[5],EWF通過二進(jìn)制模式復(fù)制原始硬盤或媒介計(jì)算MD5哈希值驗(yàn)證相關(guān)鏡像文件,另外,計(jì)算CRC校驗(yàn)值確定證據(jù)是否被改變。EWF是電子取證領(lǐng)域中的證據(jù)文件,文件包含有3個(gè)組成部分,即文件頭、校驗(yàn)值和數(shù)據(jù)塊,這3個(gè)部分可有效防止數(shù)據(jù)被篡改,并可重新恢復(fù)成數(shù)據(jù)的原始狀態(tài)。而DD鏡像文件不包含文件頭和校驗(yàn)值。傳統(tǒng)的硬盤復(fù)制機(jī)每次只能復(fù)制一個(gè)硬盤,而本文設(shè)計(jì)的網(wǎng)絡(luò)多硬盤復(fù)制機(jī)可以支持多個(gè)硬盤同時(shí)復(fù)制。在復(fù)制過程中,同時(shí)進(jìn)行MD5、SHA128和SHA256多種哈希校驗(yàn)。在界面上會實(shí)時(shí)顯示復(fù)制進(jìn)度,包括完成百分比和即時(shí)速度等。此外用戶可控制復(fù)制進(jìn)程包括暫停、恢復(fù)和取消復(fù)制等。為最大化的利用資源并且提升復(fù)制速度,在每個(gè)硬盤的復(fù)制任務(wù)中采用多線程。系統(tǒng)預(yù)先分配一個(gè)線程池,主線程負(fù)責(zé)處理及與用戶的交互,在線程池中的線程主要處理硬盤的復(fù)制任務(wù)。之所以設(shè)計(jì)這樣的線程池,是為防止系統(tǒng)頻繁的創(chuàng)建線程造成內(nèi)存碎片和復(fù)制速度的顛簸。每當(dāng)用戶指定一個(gè)硬盤復(fù)制任務(wù),主線程將該任務(wù)放到任務(wù)隊(duì)列中,并通知線程池中的對應(yīng)線程進(jìn)行處理。每個(gè)硬盤復(fù)制任務(wù)又具體分為3個(gè)線程,即讀取硬盤數(shù)據(jù),對硬盤數(shù)據(jù)進(jìn)行哈希校驗(yàn),寫鏡像文件到磁盤陣列中。圖5具體描述這3個(gè)線程之間的同步算法。借鑒生產(chǎn)者消費(fèi)者的線程模式[6],系統(tǒng)分配一個(gè)環(huán)形緩沖區(qū),讀線程首先檢測緩沖區(qū)中是否有空閑的緩沖塊,如果緩沖區(qū)滿了就等待,否則循環(huán)讀取一定數(shù)目的硬盤塊數(shù)據(jù)到緩沖塊中,并且喚醒相應(yīng)的校驗(yàn)線程;校驗(yàn)線程對緩沖塊的數(shù)據(jù)進(jìn)行哈希校驗(yàn),完之喚醒寫線程;寫線程主要取出對應(yīng)的緩沖塊,將其數(shù)據(jù)寫進(jìn)鏡像文件中,并且通知讀線程該緩沖塊的數(shù)據(jù)已經(jīng)清空。讀、校驗(yàn)、寫這3個(gè)線程之間互相同步競爭,可以保證復(fù)制任務(wù)的順利進(jìn)行。
3.4.3硬盤托架的實(shí)時(shí)監(jiān)控當(dāng)用戶在硬盤架上插入新的硬盤,或者在某個(gè)插槽位置拔掉硬盤時(shí),在復(fù)制機(jī)界面上,必須實(shí)時(shí)反映這個(gè)熱插拔情況。設(shè)置一個(gè)定時(shí)器用于查詢硬盤托架上的硬盤變動情況。由于硬盤復(fù)制機(jī)的主要任務(wù)是克隆硬盤鏡像,因此如果將這個(gè)定時(shí)查詢器放在前端,勢必與復(fù)制機(jī)主程序爭端資源。具體來說,一方面會造成復(fù)制速度的降低,另一方面還會造成復(fù)制機(jī)主界面的“假死”。將其設(shè)計(jì)成一個(gè)系統(tǒng)服務(wù),在與復(fù)制機(jī)主程序分離之后放在后端,一旦發(fā)現(xiàn)硬盤托架上的硬盤變動情況,發(fā)送相應(yīng)的消息給復(fù)制機(jī)主程序。復(fù)制機(jī)主程序監(jiān)聽該服務(wù),一旦接收到新的消息,隨時(shí)更新硬盤狀態(tài)。
4實(shí)驗(yàn)結(jié)果與性能分析
4.1系統(tǒng)軟硬件配置
存儲服務(wù)器與硬盤復(fù)制機(jī)的硬件配置分別為IntelXeonE5420CPU2.50GHz,16GB內(nèi)存。硬盤托架的硬件配置為IntelXeonE5506CPU2.13GHz,4GB內(nèi)存。磁盤陣列則由12個(gè)SAS硬盤擴(kuò)展到6.7TB。硬盤復(fù)制機(jī)和存儲服務(wù)器都用過QLogicHBA卡連接到光纖交換機(jī)上。交換機(jī)為千兆。復(fù)制機(jī)采用支持跨平臺編譯的Qt軟件包[7]實(shí)現(xiàn),這樣可運(yùn)行在Windows和Linux2種操作系統(tǒng)平臺上。實(shí)驗(yàn)機(jī)器軟硬件配置如表1所示,其中CPU都為IntelXeon。
4.2存儲系統(tǒng)性能分析
衡量存儲系統(tǒng)的性能有許多評價(jià)指標(biāo)[8],本文主要采用吞吐率和響應(yīng)時(shí)間。在實(shí)驗(yàn)中采用Iometer工具[9],設(shè)置3種模式,分別為連續(xù)讀、連續(xù)寫、以及讀/寫混合操作,并且針對不同的I/O請求數(shù)據(jù)量的大小進(jìn)行測試,能反映存儲系統(tǒng)在處理不同大小數(shù)據(jù)包時(shí)的性能差異。吞吐率曲線如圖6所示和平均響應(yīng)時(shí)間曲線如圖7所示。由圖6、圖7可知,隨著每個(gè)I/O請求的數(shù)據(jù)量增加,單位時(shí)間提交的I/O請求會越少,這樣存儲系統(tǒng)在單位時(shí)間內(nèi)用于處理I/O請求的時(shí)間就會減少,從而提高數(shù)據(jù)傳輸速度。另外從數(shù)據(jù)的讀寫來看,明顯的讀操作的處理速度比寫操作要快大約20%。
4.3復(fù)制機(jī)的性能分析
首先比較與傳統(tǒng)硬盤復(fù)制機(jī)的復(fù)制速度,表2列出市面上3種常見的硬盤復(fù)制機(jī)以及本文的網(wǎng)絡(luò)多硬盤復(fù)制機(jī)(簡稱本文)的各種性能參數(shù)(包括復(fù)制方式、哈希類型等)比較。由表2可知,本文復(fù)制機(jī)速度是在只對單個(gè)硬盤進(jìn)行復(fù)制時(shí)測試得到,其他復(fù)制機(jī)的速度都是從官方說明書上獲取的數(shù)據(jù)(由于傳統(tǒng)復(fù)制機(jī)要將硬盤備份到空白硬盤上,為了節(jié)約成本,因此對這些復(fù)制機(jī)沒有進(jìn)行實(shí)驗(yàn),只是簡單的列出了說明書上的官方數(shù)據(jù))。由此可見,本文復(fù)制機(jī)在只復(fù)制一個(gè)硬盤時(shí)的速度上與主流復(fù)制機(jī)不相上下,另外在硬盤接口上,哈希校驗(yàn)類型上也與主流復(fù)制機(jī)大致相同。從表2的硬盤復(fù)制方式這一列可以看出,傳統(tǒng)的復(fù)制機(jī)的復(fù)制方式是一對一或者一對多,即將源每次只能將一個(gè)硬盤數(shù)據(jù)寫入到另一個(gè)或者多個(gè)目標(biāo)硬盤上,而網(wǎng)絡(luò)多硬盤復(fù)制機(jī)的復(fù)制方式是多對多,同時(shí)對多個(gè)硬盤進(jìn)行復(fù)制,并將這些硬盤的鏡像數(shù)據(jù)分別保存到每個(gè)鏡像文件中。接下來分析復(fù)制機(jī)在多個(gè)硬盤同時(shí)復(fù)制下的性能。實(shí)驗(yàn)采用一個(gè)U盤、4個(gè)IDE接口、7個(gè)SATA接口共12個(gè)硬盤(容量總大小為5.71TB),表3是多個(gè)硬盤同時(shí)復(fù)制的時(shí)間和平均復(fù)制速度,其中,BB表示平均復(fù)制速度。由表3可知,網(wǎng)絡(luò)多硬盤復(fù)制機(jī)同時(shí)復(fù)制多個(gè)硬的性能明顯比只復(fù)制單個(gè)硬盤要好,此外SATA硬盤的復(fù)制速度也相比IDE硬盤要快。隨著硬盤并行復(fù)制數(shù)目的增多,總復(fù)制速度也相應(yīng)的提升,當(dāng)硬盤復(fù)制的并行數(shù)為5時(shí),速度達(dá)到5.12GB/min。在這之后,平均復(fù)制速度會隨著硬盤復(fù)制的并行數(shù)的增多而下降,比如在并行數(shù)為7時(shí),速度為5.03GB/min。表3的最后2行是針對所有12個(gè)硬盤進(jìn)行復(fù)制,但是最大的并行數(shù)并有設(shè)置成12,原因在前面已經(jīng)描述。復(fù)制機(jī)維護(hù)復(fù)制隊(duì)列和就緒等待2個(gè)隊(duì)列,所有請求復(fù)制的硬盤按照一定規(guī)則進(jìn)行排序并提交給系統(tǒng),先來的硬盤進(jìn)入復(fù)制隊(duì)列,當(dāng)復(fù)制隊(duì)列的數(shù)目多于系統(tǒng)支持的最大硬盤復(fù)制的并行數(shù)時(shí),硬盤則相應(yīng)地進(jìn)入就緒等待狀態(tài)。只要復(fù)制隊(duì)列中有硬盤完成復(fù)制,系統(tǒng)就會喚醒處于就緒隊(duì)列的一個(gè)硬盤使其進(jìn)入復(fù)制狀態(tài)。實(shí)驗(yàn)結(jié)果表明,所有12個(gè)硬盤大約在15h完成,復(fù)制速度大約在6.5GB/min左右,這接近了千兆帶寬網(wǎng)絡(luò)的80%。
5結(jié)束語
本文設(shè)計(jì)并實(shí)現(xiàn)一種面向電子取證的網(wǎng)絡(luò)多硬盤復(fù)制機(jī)。該復(fù)制機(jī)通過網(wǎng)絡(luò)對遠(yuǎn)程硬盤托架上的多個(gè)硬盤進(jìn)行數(shù)據(jù)備份,并將鏡像文件保存到大容量存儲設(shè)備中,以方便鑒定終端挖掘存儲設(shè)備中的鏡像信息。實(shí)驗(yàn)結(jié)果表明,在最佳配置下,能夠快捷、高速地對多個(gè)硬盤進(jìn)行取證,達(dá)到硬盤復(fù)制機(jī)領(lǐng)域的領(lǐng)先水平。今后的研究方向是利用網(wǎng)絡(luò)帶寬提升復(fù)制速度。
- 上一篇:全縣尾菜處理工作方案
- 下一篇:市人口優(yōu)生服務(wù)方案