米守防,蘇 飛
(大連民族學院計算機科學與工程學院,遼寧 大連 116605)
基于文件過濾驅動的移動存儲介質讀寫控制
米守防,蘇 飛
(大連民族學院計算機科學與工程學院,遼寧 大連 116605)
分析了文件過濾驅動的基本技術,并基于文件過濾驅動實現了對移動存儲介質的讀寫控制系統(tǒng),從而有效保證了計算機數據的安全。
文件過濾驅動;移動存儲介質;安全
近年來,信息安全問題成為人們關注的焦點。權威機構做的調查結果顯示:超過 85%的安全威脅來自單位內部。而作為新一代取代軟盤的移動存儲設備 (如 U盤、移動硬盤、移動光驅等),因為其使用靈活、方便,使它在企業(yè)信息化的過程中迅速得到普及,越來越多的敏感信息、秘密數據和檔案資料被存貯在移動存儲介質里,這給企業(yè)信息資源帶來相當大的安全隱患。鑒于上述的安全風險,應該對移動存儲介質的使用進行管理或控制以避免無限制使用帶來的風險,移動介質的控制和管理首要的是讀寫的控制。本文介紹了一種基于文件系統(tǒng)驅動過濾的移動存儲介質讀寫控制的方法,并提供了系統(tǒng)設計的思路和具體實現。
文件系統(tǒng)過濾的目標,是捕獲Windows系統(tǒng)對文件的種種操作行為,比如文件的創(chuàng)建、打開、讀 /寫、改名 ,目錄的創(chuàng)建、打開、枚舉、改名、刪除等。捕獲對文件的操作,并對其進行過濾,能實現很多強大的功能,比如檢查病毒、數據加密、數據備份、安全監(jiān)控等[1]。用戶進程對磁盤上文件的操作由W IN 32子系統(tǒng)調用相應的服務來代表該進程發(fā)出請求。I/O管理器接受到上層傳來的 I/O請求,通過構造輸入輸出請求包 IRP(I/O Request Package)來描述這個請求[2],然后向下傳遞給文件系統(tǒng)驅動、存儲設備驅動做后續(xù)處理,低層驅動處理完畢后把結果返回給發(fā)出請求的應用進程,整個過程如圖 1。
圖1 文件系統(tǒng)工作原理
文件過濾驅動程序是針對文件系統(tǒng)驅動而言。當應用程序讀寫文件時,I/O管理器將這些請求變成 IRP發(fā)給文件系統(tǒng)設備棧,文件系統(tǒng)驅動程序把文件系統(tǒng)操作轉換為響應的存儲設備驅動程序的操作,并通過 I/O管理器來調用存儲設備驅動程序。I/O管理器支持分層驅動模型,這樣可以按照人們的需求開發(fā)具有某種功能的驅動程序插入到這個層次中,捕獲與讀寫請求相應的IRP請求,然后再向下傳遞或者直接向上返回結果。這樣通過文件系過濾驅動程序構造附加設備對象掛載在文件系統(tǒng)存儲設備之上,對文件操作的請求能夠被過濾驅動感知,并能及時獲得移動存儲的硬件信息對讀寫請求進行控制,文件系統(tǒng)過濾驅動工作原理如圖 2。
圖2 文件系統(tǒng)過濾驅動工作原理
文件系統(tǒng)主要生成兩類設備:控制設備(CDO)和卷設備 (VDO)[3]。文件系統(tǒng)驅動本身生成一個控制設備對象,這個設備對象的主要任務是修改整個驅動的內部配置。綁定控制設備對象可以實現移動存儲介質的認證。另一種由文件系統(tǒng)生成的設備對象是文件系統(tǒng)“安裝”的卷設備對象。對卷上的文件進行讀寫的 IRP都會發(fā)送到相應卷設備對象上,所以,要捕獲對卷上文件的讀寫操作就必須綁定卷設備對象[4]。
文件過濾驅動就裝載在過濾設備對象上,形成一個分層的堆棧。文件系統(tǒng)的設備對象總是位于堆棧的底部。任何對于設備的訪問都是 I/O管理器從堆棧的頂端開始傳遞 IRP請求包的。如果在某個文件系統(tǒng)堆棧的頂端裝載一個文件過濾驅動程序,則可以截獲 I/O管理器對設備對象操作的所有 IRP包,通過控制 IRP包實現對設備的控制。
一個新的移動存儲介質一旦被系統(tǒng)發(fā)現,就會在文件系統(tǒng)中生成一個卷,獲得卷設備對象,通過 Io Register Fs Registration Change()可以綁定文件的控制設備對象。文件系統(tǒng)的控制設備對象會得到一個主功能代碼是 IRP_M J_FILE_SYSTEM_CONTROL,次功能代碼是 IRP_MN_MOUNT_VOLUM E的 IRP。文件系統(tǒng)過濾驅動便可以截獲到的卷設備安裝請求。
通過卷設備對象的獲取,可以獲知硬件的信息。把獲取的硬件基本信息通過設備擴展進行存儲。當卷被加載后,設備擴展得到數據和應用程序傳遞的權限控制字進行比較,實現對移動存儲介質的控制。
3.1 移動介質信息獲取
在WDK中有關于硬件設備的數據結構STORAGE_DEV ICE_DESCR IPTOR,用來指示存儲硬件設備的基本信息??梢酝ㄟ^獲取這個數據結構中的數據來獲取對應的硬件基本信息。
typedef struct _STORAGE_DEV ICE_DESCR IPTOR {
……
ULONG VendorIdOffset;//指向供貨商標識字符串,沒有數據為 0
ULONG ProductIdOffset;//指向生產商標識字符串,沒有數據為 0
ULONG ProductRevisionOffset;//指向產品版本字符串,沒有數據為 0
ULONG SerialNumberOffset;//指向產品序列號字符串,沒有數據為 -1
STORAGE_BUS_TYPE BusType;//設備連接的總線類型
……
} STORAGE_DEV ICE_DESCR IPTOR,*PSTORAGE_DEV ICE_DESCR IPTOR;
通過上述數據結構在 BusType獲取可移動存儲介質類型,通過 ProductIdOffset和 VendorIdOffset獲取可移動存儲介質的品牌和生產廠商[5]。
設備擴展主要用來維護設備狀態(tài)信息、存儲驅動程序使用的內核對象或系統(tǒng)資源 (如自旋鎖)、保存驅動程序需要的數據等。由于大多數的總線驅動、功能驅動和過濾器驅動都要工作在任意線程上下文,即任意線程都可能成為當前線程,所以,設備擴展是保存設備狀態(tài)信息和數據的主要空間。通過綁定的卷設備對象,把獲取到的移動存儲介質相關信息存儲到其設備擴展中。
typedef struct_SFILTER_DEV ICE_EXTENSION
{
……
BOOLEAN IsUsbDisk;//U盤
BOOLEAN IsUsbCdrom;//可移動光驅
BOOLEAN IsRemovableDisk;//可移動硬盤
BOOLEAN IsVendorId;//廠家信息
……
}SFILTER_DEV ICE_EXTENSION,*PSFILTER_DEV ICE_EXTENSION;
上述數據結構在設備擴展中添加可移動介質的相關信息判斷。
3.2 移動介質控制流程
在局域網內,客戶端加載過濾驅動,從服務器端讀取控制權限字,通過 Device IoControl()函數將控制碼和請求一起傳遞給驅動程序。當可移動介質被加載后,獲取移動存儲介質相關信息,填寫PDEV ICE_EXTENSION等參數。在讀寫派遣函數中,首先對設備擴展信息進行判斷,然后判斷控制字是否匹配。這樣就可以實現對可移動存儲介質的控制,賦予其相應的讀寫權限。控制方法流程圖如圖 3。
移動存儲介質安全管理是信息安全管理的重要組成部分,用戶程序對磁盤的訪問請求被 I/O管理器打包成 IRP向下傳遞給文件系統(tǒng)驅動、存儲設備驅動對其進行處理,處理完畢把結果返回給出發(fā)出請求的用戶進程,這個過程如圖 1所示。當移動存儲設備接入系統(tǒng)時主功能代碼 IRP_M J_FILE_SYSTEM_CONTROL,次功能代碼 IRP_MN_MOUNT_VOLUM E的安裝請求 IRP便可以被過濾驅動截獲。在安裝過程中通過賦予移動介質不同讀寫權限來實現對移動存儲介質的控制,從而防范移動存儲介質可能引起的不安全因素來實現移動存儲介質應用的安全性。該技術已經集成到了局域網安全控制系統(tǒng)中投入使用,取得了很好的效果。
圖3 移動介質控制流程
[1]譚文 ,楊瀟 ,邵堅磊 ,等. 寒江獨釣 ——Windows內核安全編程[M].北京:電子工業(yè)出版社,2000.
[2]武安河.Window s2000/XPWDM設備驅動程序開發(fā)[M].2版.北京:電子工業(yè)出版社,2005.
[3]侯興超.基于移動存儲設備管理的主機防信息泄漏系統(tǒng)研究與設計[D].西安:解放軍信息工程大學,2007.
[4]王黎,蔡皖東.移動存儲介質安全管理系統(tǒng)設計與實現[J].信息安全與通信保密,2007(2):119-121.
[5]王立明,米守防,蘇飛,等.Windows下基于 IRP機制的存儲設備[J].大連民族學院學報,2010(3):244-246.
(責任編輯 劉敏)
Removable Storage Device Control of R/W Based on File Filter Drive
MI Shou-fang,SU Fei
(College of Computer Science&Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China)
The basic technology of file filter drive are analyzed.The removable storage device control of R/W based on file filter d rive are relized.The safety of computer data are kept in the devise.
file system filter deriver;removable storagem edia;security
TP309 < class="emphasis_bold">文獻標志碼:A
A
1009-315X(2011)01-0049-03
2010-06- 07;
2010-09-16
米守防 (1978-),男,回族,山東鄒城人,工程師,主要從事計算機應用技術研究。