蔣海霞 周星宇 童瑋
摘要:針對移動存儲設備在使用中的安全問題,基于文件過濾驅動技術設計開發(fā)了一款能夠對移動存儲設備的讀寫權限進行靈活控制的軟件,功能測試表明該軟件簡便易用,能夠有效地防范電子文件的泄露,增強使用移動存儲設備的安全性。
關鍵詞:移動存儲設備;文件過濾驅動;讀寫控制
中圖分類號:TP333 文獻標識碼:A 文章編號:1009-3044(2016)29-0044-03
隨著USB(universal Serial Bus)技術的發(fā)展,計算機的移動存儲介質普遍采用U盤或移動硬盤。Uu盤、移動硬盤因其體積小、容量大、不易損壞、攜帶方便等諸多優(yōu)點而備受青睞。但在這類移動存儲設備的即插即用和便攜的優(yōu)點背后也給信息的保密安全問題帶來了巨大的壓力。
調查顯示:在各種安全漏洞造成的損失中,30%-40%是由電子文件的泄露造成的。因此,如何對移動存儲設備進行安全管理,防止涉密信息的泄露已經成為有關部門關注的重點。針對這一情況,我們通過對U盤的存儲機制、U盤讀寫控制等技術的研究,利用文件過濾驅動技術實現(xiàn)對U盤的授權,開發(fā)了U盤存儲鑒權認證系統(tǒng),進一步提升了涉密信息的安全性。
1系統(tǒng)設計方案
研究開發(fā)U盤存儲鑒權認證系統(tǒng)的目的是防止外部移動存儲設備未經許可就隨意在主機上進行讀寫。通過了解Win-dows家族操作系統(tǒng)的總體結構、Windows重要的內核組件,主要對文件系統(tǒng)相關的內核組件和與文件過濾驅動技術相關的內核組件進行研究,擬采用基于文件過濾驅動的移動存儲訪問控制方法,該方法通過識別出移動存儲設備,對其讀寫權限進行禁止、瀏覽、只讀、可寫的控制。
考慮到接入主機的USB設備可能還包含有鼠標、鍵盤等,它們大多也是基于USB接口,所以系統(tǒng)首先要對接入主機的USB設備進行識別,以確定是否為移動存儲設備;在確定接入主機的是移動存儲設備后再對其進行讀寫權限和使用操作權限的細粒度的控制,即通過文件過濾驅動程序對接入的移動存儲設備進行讀寫控制??傮w方案如圖1所示。
由此可見,該系統(tǒng)通過對USB存儲設備的識別定位、移動存儲設備權限識別和控制、存儲設備讀寫控制等幾個環(huán)節(jié)對主機信息進行防護。
2文件過濾驅動技術簡介
2.1基本原理
過濾驅動屬于內核模式驅動,其依靠掛載在其他驅動上,對某設備發(fā)往存在的內核模式驅動的請求進行攔截過濾,可以對設備進行功能擴展或是數(shù)據加密等,從而提供附加值。發(fā)往目標驅動的I/O(輸入/輸出)操作請求被過濾驅動攔截過濾(過濾指監(jiān)控、修改功能驅動的數(shù)據流或指令),過濾驅動通過使用目標驅動提供的服務或者使用用戶模式、內核模式軟件提供的服務進行功能擴展。開發(fā)文件系統(tǒng)過濾驅動是為了提供操作系統(tǒng)不能提供的附加功能,例如操作系統(tǒng)一般對于移動存儲設備來者不拒,用戶可以對移動存儲設備上的文件進行任意讀寫,這在信息安全管理上就是一個漏洞,本文即通過開發(fā)文件系統(tǒng)過濾驅動技術,在不改變底層設備驅動情況下,提供新的功能,實現(xiàn)對移動存儲設備的鑒權與管理。
過濾驅動工作原理如圖2所示:
當用戶發(fā)出對文件進行讀寫的操作請求,該請求首先被傳給I/O管理器,其先解析文件路徑,找到符合該功能的文件系統(tǒng)驅動程序后進行發(fā)送。I/O管理器會在內部的注冊表中遍歷每個文件系統(tǒng)驅動,因此只有通過I/O管理注冊的文件系統(tǒng)驅動才能擁有操作文件的權利。文件系統(tǒng)要和I/O管理器以及其他重要的內核組件進行交互。通過設計和實現(xiàn)文件過濾驅動,將其附加到文件系統(tǒng)驅動之上,就可以在I/O管理器發(fā)送IRP(I/O Request Package)給文件系統(tǒng)驅動程序之前截獲該IRP,并根據需要進行定制。文件系統(tǒng)驅動程序只有一個控制設備對象CDO,主要用于接收請求控制文件系統(tǒng)的命令,例如查詢一個卷是否掛載,該訪問請求首先傳遞給I/O管理器,由I/O管理器檢查其是否已掛載,若尚未掛載,則生成掛載IRP,傳遞給文件系統(tǒng)驅動程序的CDO,請求掛載,這時所設計開發(fā)的文件過濾驅動程序將攔截并處理該掛載操作。需要說明的是要實現(xiàn)這一目的,文件過濾驅動必須將自己的CDO附加到文件系統(tǒng)驅動的CDO之上,這樣I/O管理器在給文件系統(tǒng)驅動程序的CDO發(fā)送IRP之前,將檢查是否有過濾驅動的CDO存在,若有多層過濾驅動,則I/O管理器依據從上向下的順序依次傳遞IRP請求,從而確保每個過濾驅動都有機會處理該請求。
2.2設計實現(xiàn)
通過上述分析可知,要達到對移動存儲設備進行鑒權認證的目的,設計和實現(xiàn)文件過濾驅動是關鍵。而文件過濾驅動的設計實現(xiàn)的一般步驟如下:
1)過濾驅動創(chuàng)建設備對象后附加到目標設備對象,以攔截所有發(fā)往該目標設備對象的請求;
2)加載過濾驅動,對截獲的IRP進行處理;
3)建立完成例程,供被附加的設備對象完成IRP時調用;
4)建立刪除例程,在適當?shù)臅r候從被附加的目標設備對象解除附加。
要實現(xiàn)對USB存儲設備的讀寫功能進行控制,需要創(chuàng)建能對相關的IRP進行攔截、監(jiān)視、修改的過濾驅動程序,通過比較論證,采用下層過濾驅動模型就能夠實現(xiàn)對USB存儲設備的安全控制??刂屏鞒倘鐖D3所示。
首先創(chuàng)建過濾驅動程序,把想要實現(xiàn)的對IRP操作的函數(shù)加入,接著加載過濾驅動程序,過濾驅動安裝到系統(tǒng)里面后,通過對IRP包的攔截過濾,從而實現(xiàn)對USB存儲設備的讀寫操作進行控制。
3系統(tǒng)主要功能模塊
根據設計目的,系統(tǒng)主要包括兩個功能模塊:移動存儲設備識別模塊,移動存儲設備訪問控制模塊。
3.1移動存儲設備識別模塊
可以連接計算機的USB設備包括U盤、USB鼠標、移動硬盤、USB鍵盤等等,從信息安全角度考慮,我們只關心具有文件存取功能的移動存儲設備(主要指U盤、移動硬盤),所以首先要識別插入計算機的USB設備是否移動存儲設備。主要有兩種識別方法,一種是在掛載卷時進行識別,即在USB設備插入后,文件過濾驅動程序要攔截由系統(tǒng)發(fā)起的掛載操作,然后通過讀取設備對象的屬性來判斷是否移動存儲設備。另一種方法是在文件讀寫過程中進行識別,即通過對IRP堆棧結構中包含的相關的文件對象中所管理的物理卷設備的屬性的判斷來進行識別
設計實現(xiàn)時,我們采用第一種掛載時識別的方法來判斷是否移動存儲設備。
3.2移動存儲設備訪問控制模塊
訪問控制模塊的控制方法包含兩大類:禁止訪問模式與控制讀寫模式。其中控制讀寫模式又可細分為瀏覽、只讀、可寫三種訪問方式。禁止訪問模式即表示用戶無權對移動存儲設備進行任何操作,從而保護計算機上信息的安全。瀏覽權限下,用戶只能瀏覽移動存儲設備上的文件目錄,但無權讀取移動存儲中的內容。在只讀權限下,用戶只能讀取移動存儲設備中的內容,不能進行拷貝或建立新文檔等寫操作。只有在可寫權限下,用戶才能對移動存儲設備進行正常的讀寫操作。以上各種訪問權限均有相應的應用背景需求。
4系統(tǒng)功能測試
系統(tǒng)功能測試包括過濾驅動程序設備句柄能否準確獲得,驅動程序是否正確安裝、掛載,功能模塊的功能實現(xiàn)等。其中對移動存儲設備訪問控制功能的實現(xiàn)是系統(tǒng)設計的目標,也是測試重點。測試用到的第三方測試工具包括GenInf、Device-Tree、WinObj等。
4.1禁止模式功能測試
首先通過模式設置界面對計算機進行U盤控制模式設置,如圖4所示:
禁止模式設置成功后插入U盤進行測試。結果如圖5所
在禁止模式下,U盤插入計算機后,系統(tǒng)提示無法訪問U盤。在安裝了保密系統(tǒng)的計算機上插入U盤,系統(tǒng)提示“無法訪問未注冊盤”。
4.2瀏覽模式功能測試
瀏覽模式設置成功后插入U盤進行測試,測試結果如圖6所示:
在瀏覽模式下,U盤插入計算機后,可瀏覽U盤中的目錄結構,但拒絕對文件的訪問。
4.3只讀模式功能測試
只讀模式設置成功后插入U盤進行測試,結果如圖7所示:在只讀模式下,U盤插入計算機后,可以只讀方式查看U盤中文件,對U盤不能進行“寫”操作。
4.4可寫模式功能測試
可寫模式設置成功后插入U盤進行寫的測試,測試結果如圖8所示:
在可寫模式下,U盤插入計算機后,可以對U盤進行正常的讀寫操作。
通過功能測試可知,該“U盤存儲鑒權認證系統(tǒng)”使主機能夠靈活地對外部移動存儲設備的使用進行控制,在一定程度上加強了主機的信息防護,進一步地防范失泄密事件的發(fā)生。
5結束語
基于文件過濾驅動技術的u盤存儲鑒權認證系統(tǒng)通過對U盤的讀寫進行控制,實現(xiàn)了對涉密計算機的信息保護,涉密計算機初始設置建議為禁止模式,任何未經用戶許可的非法移動存儲設備都無法從計算機中拷貝出任何信息,從而使計算機在用戶離開時也能得到最大限度的保護。該系統(tǒng)重新設置權限的方法簡單易行,具有很強的實用性。