本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種磁盤(pán)隔離方法和系統(tǒng)。
背景技術(shù):
單機(jī)雙系統(tǒng)是面向企業(yè)信息化辦公提出的一種雙模式辦公系統(tǒng)。它能夠?yàn)槠髽I(yè)內(nèi)部員工計(jì)算機(jī)提供兩種操作系統(tǒng),一種為自由操作系統(tǒng),一種為工作操作系統(tǒng),兩個(gè)操作系統(tǒng)要求互不可見(jiàn)并且互不可訪問(wèn)。實(shí)現(xiàn)雙系統(tǒng)硬盤(pán)資源的隔離。
現(xiàn)有的單機(jī)雙系統(tǒng)磁盤(pán)隔離技術(shù)主要是采用雙物理硬盤(pán),再額外加一個(gè)雙硬盤(pán)物理隔離卡,通過(guò)控制硬盤(pán)及切換網(wǎng)線,在內(nèi)外網(wǎng)的環(huán)境中使一個(gè)硬盤(pán)僅對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)有效,其網(wǎng)絡(luò)物理連線上是完全分離的且不存在公用存儲(chǔ)信息,從而實(shí)現(xiàn)單機(jī)在兩個(gè)網(wǎng)絡(luò)之間真正的物理隔離,單臺(tái)電腦低成本實(shí)現(xiàn)了傳統(tǒng)兩臺(tái)電腦才能實(shí)現(xiàn)的網(wǎng)絡(luò)物理隔離的信息安全功能,一機(jī)兩用,極大地提高了計(jì)算機(jī)系統(tǒng)的資源利用率。
使用雙硬盤(pán)物隔離卡,一臺(tái)電腦上只需增加一個(gè)硬盤(pán)即可使一臺(tái)計(jì)算機(jī)變成兩臺(tái)相對(duì)獨(dú)立的計(jì)算機(jī)。雙硬盤(pán)采用切換SATA或IDE硬盤(pán)數(shù)據(jù)線方式,在同一時(shí)間只有一塊硬盤(pán)在工作,另一塊硬盤(pán)斷電,實(shí)現(xiàn)內(nèi)外信息的安全隔離,防止泄密,適用于內(nèi)外網(wǎng)單雙布線和ADSL單機(jī)上網(wǎng)的用戶(單布線須配合線路選擇器使用)用戶可自定義開(kāi)機(jī)提示畫(huà)面。
但是,采用物理隔離也有其缺點(diǎn),首先:當(dāng)前的企業(yè)移動(dòng)辦公主要使用筆記本電腦,額外增加一塊硬盤(pán)和物理隔離卡只能找廠商定制,不僅成本高昂而且外形厚重,不便攜帶。其次:當(dāng)前的筆記本電腦硬盤(pán)容量普遍過(guò)大,1TB的容量很常見(jiàn),額外增加一塊硬盤(pán)造成硬盤(pán)資源的浪費(fèi)。最后:雙物理隔離需要考慮雙硬盤(pán)之間的兼容、切換等問(wèn)題,適配性差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供了一種磁盤(pán)隔離方法,本發(fā)明提供了如下方案:
一種磁盤(pán)隔離方法,包括:
通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;
根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;
若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);
若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。
根據(jù)本發(fā)明的上述方法,所述獲取用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求之前,包括:
創(chuàng)建控制設(shè)備對(duì)象,用于接受應(yīng)用程序的控制;
為所述控制設(shè)備對(duì)象創(chuàng)建源設(shè)備對(duì)象;
將所述源設(shè)備對(duì)象綁定至文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象。
根據(jù)本發(fā)明的上述方法,基于所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象,創(chuàng)建卷監(jiān)控,包括:
當(dāng)文件系統(tǒng)裝配卷的時(shí)候,通過(guò)所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象獲取文件系統(tǒng)為各個(gè)卷所創(chuàng)建的卷的目的設(shè)備對(duì)象;
為所述卷的目的設(shè)備對(duì)象創(chuàng)建卷的源設(shè)備對(duì)象;
將所述卷的源設(shè)備對(duì)象綁定至所述卷的目的設(shè)備對(duì)象。
根據(jù)本發(fā)明的上述方法,所述通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求,包括:通過(guò)控制設(shè)備對(duì)象對(duì)所述卷的目的設(shè)備對(duì)象監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求。
根據(jù)本發(fā)明的上述方法,包括:
根據(jù)所述用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求解析出讀取和寫(xiě)入的目標(biāo)磁盤(pán)分區(qū)號(hào);
判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中。
根據(jù)本發(fā)明的另一方面,還提供一種磁盤(pán)隔離系統(tǒng),包括:
獲取模塊,其用于通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;
判斷模塊,其用于根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;
執(zhí)行模塊,若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);
若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。
根據(jù)本發(fā)明的另一方面,包括創(chuàng)建模塊,其用于在獲取用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求之前,
創(chuàng)建控制設(shè)備對(duì)象,用于接受應(yīng)用程序的控制;
為所述控制設(shè)備對(duì)象創(chuàng)建源設(shè)備對(duì)象;
將所述源設(shè)備對(duì)象綁定至文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象。
根據(jù)本發(fā)明的另一方面,所述創(chuàng)建模塊,還用于基于所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象,創(chuàng)建卷監(jiān)控,包括:
當(dāng)文件系統(tǒng)裝配卷的時(shí)候,通過(guò)所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象獲取文件系統(tǒng)為各個(gè)卷所創(chuàng)建的卷的目的設(shè)備對(duì)象;
為所述卷的目的設(shè)備對(duì)象創(chuàng)建卷的源設(shè)備對(duì)象;
將所述卷的源設(shè)備對(duì)象綁定至所述卷的目的設(shè)備對(duì)象。
根據(jù)本發(fā)明的另一方面,所述獲取模塊具體用于通過(guò)控制設(shè)備對(duì)象對(duì)所述卷的目的設(shè)備對(duì)象監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求。
根據(jù)本發(fā)明的另一方面,所述判斷模塊具體用于:
根據(jù)所述用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求解析出讀取和寫(xiě)入的目標(biāo)磁盤(pán)分區(qū)號(hào);
判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中。由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。本發(fā)明旨在通過(guò)安裝自定義的驅(qū)動(dòng)程序,不必進(jìn)行硬件物理卡的安裝就能夠在本操作系統(tǒng)中隔離、隱藏另外一個(gè)操作系統(tǒng)的磁盤(pán)信息。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例一提供的一種磁盤(pán)隔離方法的處理流程圖;
圖2為本發(fā)明實(shí)施例二提供的一種磁盤(pán)隔離系統(tǒng)的系統(tǒng)模塊圖。
具體實(shí)施方式
為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
實(shí)施例一
本實(shí)施例中,先系統(tǒng)需要先加載磁盤(pán)卷,獲取磁盤(pán)卷信息;
該實(shí)施例提供了一種磁盤(pán)隔離方法的處理流程如圖1所示,包括如下的處理步驟:
步驟11、通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;
所述獲取用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求之前,包括:
創(chuàng)建控制設(shè)備對(duì)象,用于接受應(yīng)用程序的控制;
為所述控制設(shè)備對(duì)象創(chuàng)建源設(shè)備對(duì)象;
將所述源設(shè)備對(duì)象綁定至文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象;
本實(shí)施例中,基于sFilter的API框架并以驅(qū)動(dòng)服務(wù)的形式運(yùn)行。sFilter是windows系統(tǒng)文件過(guò)濾的框架,sFilter需要處理IRP請(qǐng)求,需要處理卷的綁定,還要處理FastIo。
具體地,由sFilter創(chuàng)建控制設(shè)備對(duì)象,即sfilter先創(chuàng)建一個(gè)control device object;用于接受應(yīng)用程序的控制;
創(chuàng)建多個(gè)device object作為為所述控制設(shè)備對(duì)象創(chuàng)建的源設(shè)備對(duì)象,綁定至每個(gè)對(duì)應(yīng)的文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象device object上;目的設(shè)備對(duì)象的格式包括但不限于:NTFS,F(xiàn)AT,CDFS,等等;注意不要綁到文件系統(tǒng)識(shí)別器(file system recognizer)上,它是用來(lái)加載真正的文件系統(tǒng)驅(qū)動(dòng)程序的。
如下給出本實(shí)施例的主要部分的代碼,
綁定完文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象device object后,sFilter就可以收到發(fā)給各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序的IRP請(qǐng)求了,基于文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象創(chuàng)建卷監(jiān)控,包括:
當(dāng)文件系統(tǒng)裝配卷的時(shí)候,通過(guò)所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象獲取文件系統(tǒng)為各個(gè)卷所創(chuàng)建的卷的目的設(shè)備對(duì)象;
為所述卷的目的設(shè)備對(duì)象創(chuàng)建卷的源設(shè)備對(duì)象;
將所述卷的源設(shè)備對(duì)象綁定至所述卷的目的設(shè)備對(duì)象。
所述獲取用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求,包括:
通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;
步驟12、根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;
步驟13、若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);
步驟14、若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。
具體地,
初始化sFilter的工作流程,通過(guò)綁定在文件系統(tǒng)的所述卷的目的設(shè)備對(duì)象,讀取隔離磁盤(pán)列表,截獲到的主功能號(hào)為IRP_MJ_READ和IRP_MJ_WRITE的IRP請(qǐng)求,從這兩種IRP請(qǐng)求中解析出讀取和寫(xiě)入的目標(biāo)磁盤(pán)分區(qū)號(hào),若在該目標(biāo)磁盤(pán)的分區(qū)號(hào)在隔離磁盤(pán)的白名單中,拒絕用戶訪問(wèn)所述目標(biāo)磁盤(pán),否則放過(guò),允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。
另外,通過(guò)修改硬盤(pán)分區(qū)表中的文件系統(tǒng)標(biāo)志來(lái)達(dá)到磁盤(pán)隱藏的目的,將硬盤(pán)分區(qū)中需要隱藏的分區(qū)的文件系統(tǒng)標(biāo)志設(shè)置成操作系統(tǒng)不能識(shí)別的文件系統(tǒng)類(lèi)型就可以達(dá)到隱藏的效果。從而實(shí)現(xiàn)磁盤(pán)隱藏的目的。
實(shí)施例二
該實(shí)施例提供了一種磁盤(pán)隔離系統(tǒng),其具體實(shí)現(xiàn)結(jié)構(gòu)如圖2所示,具體可以包括如下的模塊:
獲取模塊21,其用于通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;
判斷模塊22,其用于根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;
執(zhí)行模塊23,若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);
若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。
本實(shí)施例的一種磁盤(pán)隔離系統(tǒng),包括創(chuàng)建模塊20,其用于在獲取用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求之前,
創(chuàng)建控制設(shè)備對(duì)象,用于接受應(yīng)用程序的控制;
為所述控制設(shè)備對(duì)象創(chuàng)建源設(shè)備對(duì)象;
將所述源設(shè)備對(duì)象綁定至文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象。
所述創(chuàng)建模塊20,還用于基于所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象,創(chuàng)建卷監(jiān)控,包括:
當(dāng)文件系統(tǒng)裝配卷的時(shí)候,通過(guò)所述文件系統(tǒng)驅(qū)動(dòng)的目的設(shè)備對(duì)象獲取文件系統(tǒng)為各個(gè)卷所創(chuàng)建的卷的目的設(shè)備對(duì)象;
為所述卷的目的設(shè)備對(duì)象創(chuàng)建卷的源設(shè)備對(duì)象;
將所述卷的源設(shè)備對(duì)象綁定至所述卷的目的設(shè)備對(duì)象。
所述獲取模塊20具體用于通過(guò)控制設(shè)備對(duì)象對(duì)所述卷的目的設(shè)備對(duì)象監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求。
所述判斷模塊22具體用于:
根據(jù)所述用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求解析出讀取和寫(xiě)入的目標(biāo)磁盤(pán)分區(qū)號(hào);
判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中。
用本發(fā)明實(shí)施例的系統(tǒng)進(jìn)行磁盤(pán)隔離的具體過(guò)程與前述方法實(shí)施例類(lèi)似,此處不再贅述。
綜上所述,本發(fā)明實(shí)施例通過(guò)通過(guò)對(duì)卷的監(jiān)控,獲取各個(gè)文件系統(tǒng)驅(qū)動(dòng)程序所接收的用戶訪問(wèn)的目標(biāo)磁盤(pán)的IRP請(qǐng)求;根據(jù)所述IRP請(qǐng)求,判斷所述目標(biāo)磁盤(pán)的分區(qū)號(hào)是否在隔離磁盤(pán)的白名單中;若在則拒絕所述用戶訪問(wèn)所述目標(biāo)磁盤(pán);若不在,則允許所述用戶訪問(wèn)所述目標(biāo)磁盤(pán)。本發(fā)明旨在通過(guò)安裝自定義的驅(qū)動(dòng)程序,不必進(jìn)行硬件物理卡的安裝就能夠在本操作系統(tǒng)中隔離、隱藏另外一個(gè)操作系統(tǒng)的磁盤(pán)信息。
本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個(gè)實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。