孫小雨,楊濤,胡曉勤
(四川大學(xué)計算機(jī)學(xué)院,成都 610065)
一種基于文件過濾驅(qū)動和TrueCrypt的文件系統(tǒng)保護(hù)方案
孫小雨,楊濤,胡曉勤
(四川大學(xué)計算機(jī)學(xué)院,成都610065)
隨著計算機(jī)的廣泛應(yīng)用,大量的涉密數(shù)據(jù)都被存儲在存儲介質(zhì)上面,所以我們對數(shù)據(jù)的安全性有了更高的要求,比起傳統(tǒng)的應(yīng)用層的Hook技術(shù)來保護(hù)數(shù)據(jù)的安全,基于Windows內(nèi)核層的文件過濾驅(qū)動技術(shù)具有更加底層并且更加穩(wěn)定和高效。
本文將介紹一種基于Windows文件過濾驅(qū)動技術(shù)和TrueCrypt加密虛擬磁盤的方法來保護(hù)計算機(jī)的信息安全,比起傳統(tǒng)的透明加密技術(shù)來保護(hù)機(jī)密文件的方法,使用本文這種方法具有更加穩(wěn)定,并且具有一定的防病毒的效果,因此,該方法是一個保護(hù)文件系統(tǒng)安全的一個創(chuàng)新方法,并且在實(shí)踐中得到了滿意的結(jié)果。
當(dāng)前市場上比較流行的保障文件安全的方法主要以文件透明加解密技術(shù)為主要代表。透明加密技術(shù)是近年來針對企業(yè)數(shù)據(jù)保密需求應(yīng)運(yùn)而生的一種數(shù)據(jù)加密技術(shù)。所謂透明,是指對使用者來說是透明的,感覺不到加密存在,當(dāng)使用者在打開或編輯指定文件時,系統(tǒng)將自動對加密的數(shù)據(jù)進(jìn)行解密,讓使用者看到的是明文。保存數(shù)據(jù)的時候,系統(tǒng)自動對數(shù)據(jù)進(jìn)行加密,保存的是密文。而沒有權(quán)限的人,無法讀取保密數(shù)據(jù),從而達(dá)到數(shù)據(jù)保密的效果。但是文件透明加密技術(shù)有很多嚴(yán)重的缺點(diǎn):(1)容易損壞文件。由于在加密的過程中如果發(fā)生了斷電或者系統(tǒng)故障那么文件就被永久性的損壞了,如果這份文件十分重要,這會給用戶以毀滅性的打擊。(2)文件透明加密技術(shù)由于對操作系統(tǒng)里面所有的規(guī)定文件都進(jìn)行了加密,如果有權(quán)限的管理員想要對文件進(jìn)行移植操作會變得十分困難,因?yàn)槲募该骷用芤话愣际歉鶕?jù)本機(jī)的硬件信息作為私鑰進(jìn)行加密,所以對于本機(jī)進(jìn)行文檔的瀏覽沒有問題,但是移植到其他的機(jī)器上的文件就不能夠被正常瀏覽,但是不方便有特殊需要時的必要的文件轉(zhuǎn)移,文件透明加密技術(shù)在這方面不靈活。(3)文件透明加密技術(shù)只能夠?qū)Ρ镜氐奈募乐剐孤叮遣痪邆涞钟《竞湍抉R的功能。
針對上面市場上主流的文件透明加密的種種缺點(diǎn),本文采用的基于文件過濾驅(qū)動技術(shù)和TrueCrypt的加密虛擬磁盤的方式來進(jìn)行保護(hù)用戶的機(jī)密文件,有效地解決了上述的問題,基于TrueCrypt成熟的磁盤加密技術(shù),不會造成文件的損壞,基于Windows文件過濾驅(qū)動的重定向技術(shù)能夠有效地防止木馬病毒對計算機(jī)系統(tǒng)的破壞性,并且能夠增強(qiáng)對文件轉(zhuǎn)移的靈活性。
以Windows文件過濾驅(qū)動技術(shù)和TrueCrypt這個開源的磁盤加密軟件為主要技術(shù)組成一種全新的Windows系統(tǒng)下的文件保護(hù)系統(tǒng)以取代傳統(tǒng)的文件加密保護(hù)模式。
1.1文件過濾驅(qū)動技術(shù)
在Windows操作系統(tǒng)當(dāng)中,文件系統(tǒng)驅(qū)動程序(FSD,F(xiàn)ile System Driver)是用來管理磁盤上的文件的,它負(fù)責(zé)存儲本地的數(shù)據(jù),接收本地磁盤文件的打開、讀取、寫入、關(guān)閉等請求,通常這些請求來自用戶進(jìn)程,通過I/O管理器發(fā)送到文件系統(tǒng)。
文件過濾型驅(qū)動程序 (FSFD,File System Filter Driver)是疊加在文件系統(tǒng)驅(qū)動程序上的過濾型驅(qū)動程序,F(xiàn)SFD是針對FSD而言的。它運(yùn)行于操作系統(tǒng)的內(nèi)核模式,在系統(tǒng)內(nèi)核驅(qū)動中假如新的層,在不影響上層和下層接口的情況下,能夠截獲到所有的文件系統(tǒng)請求,從而不需要修改上層的軟件或下層的驅(qū)動程序,就可以加入新的功能。文件系統(tǒng)過濾驅(qū)動的目標(biāo)是不活系統(tǒng)對文件的種種操作的行為,例如文件的創(chuàng)建、讀寫、改名,目錄的創(chuàng)建、打開、枚舉、改名、刪除等操作。并且可以選擇完成或者修改這些請求。正是由于這種能力,致使其應(yīng)用在文件保護(hù)、文件透明加密、移動存儲控制、殺毒軟件、行為監(jiān)控等諸多的安全方面。
文件過濾驅(qū)動在Windows系統(tǒng)中的位置如圖1所示,從圖中可以看出文件過濾驅(qū)動負(fù)責(zé)接收上層的IRP (I/O Request Packet)請求,處理后傳遞給下層對象。

圖1 文件過濾驅(qū)動位置
1.2TrueCrypt虛擬磁盤
TrueCrype磁盤加密是一款免費(fèi)并且開源的軟件,它利用了目前普遍采用的虛擬磁盤技術(shù)和磁盤過濾技術(shù)來完成對數(shù)據(jù)的快速、自動加解密,所有存儲在TrueCrypt虛擬磁盤上的文件都被進(jìn)行了透明的加密。在虛擬磁盤正確加載以后可以像訪問普通的磁盤分區(qū)一樣訪問它們,包括磁盤的格式化、創(chuàng)建文件夾、文件復(fù)制、文件粘貼、文件重命名等。進(jìn)入TrueCrypt虛擬磁盤需要使用磁盤加密時候的密碼,在輸入了正確的密碼以后,就能夠解密加密的磁盤,就能夠正常的使用TrueCtypt的虛擬磁盤。
TrueCrypt擁有三種不同方式的加密磁盤:①對整個磁盤進(jìn)行加密。該方法是對整個磁盤,包括磁盤上的操作系統(tǒng)進(jìn)行了加密,因此,每次進(jìn)入操作系統(tǒng)之前都會進(jìn)行密碼的驗(yàn)證,如果密碼驗(yàn)證成功,那么就能夠進(jìn)入系統(tǒng),整個物理磁盤被TrueCrypt的磁盤過濾驅(qū)動透明解密,進(jìn)而能夠進(jìn)入操作系統(tǒng)。②對磁盤分區(qū)進(jìn)行加密。該方法比較對整個磁盤進(jìn)行加密更加靈活,該方法對單個邏輯分區(qū)或者幾個邏輯分區(qū)進(jìn)行加密,這樣就可以不對系統(tǒng)所在的分區(qū)進(jìn)行磁盤加密,開機(jī)就可以不進(jìn)行開機(jī)密碼驗(yàn)證。③使用文件虛擬加密磁盤,這種方法最為靈活并且最為方便。該方法用文件虛擬出來一個磁盤,并且對磁盤進(jìn)行讀寫都是使用透明加密的方式,這樣對虛擬磁盤的各種操作,實(shí)際上是對這個虛擬磁盤文件進(jìn)行操作。在不使用這個虛擬磁盤的時候,它以一個文件的形式存在,并且是加密的,不會被竊取信息。
2.1文件過濾驅(qū)動技術(shù)
文件過濾驅(qū)動部分的核心技術(shù)就是寫能夠?qū)ξ募M(jìn)行重定向的過濾驅(qū)動,需要把編寫帶有文件重定向功能的過濾驅(qū)動掛載到?jīng)]有被TrueCrypt加密的磁盤上,當(dāng)開啟了文件重定向保護(hù)以后,就能夠?qū)ξ募淖x寫進(jìn)行重定向。具體實(shí)現(xiàn)如下:
(1)對普通的磁盤(除TrueCrypt加密盤)進(jìn)行掛載文件重定向過濾驅(qū)動,并在TrueCrypt加密的磁盤設(shè)置一個tmp的隱藏文件夾,其他磁盤進(jìn)行寫文件時候,將其進(jìn)行復(fù)制到該目錄一個對應(yīng)的目錄下,以后對其他磁盤進(jìn)行寫操作實(shí)際上都是對該復(fù)制版的文件進(jìn)行。當(dāng)對文件進(jìn)行讀取的時候,首先會判斷該文件在加密盤tmp文件夾下是否有對應(yīng)的復(fù)制版本存在,如果有復(fù)制版本存在,就重新設(shè)置文件過濾驅(qū)動的IRP請求,讓文件系統(tǒng)對tmp文件夾中對應(yīng)的文件進(jìn)行訪問,如果tmp中沒有對應(yīng)的文件,那么就不更改IRP請求,讓文件系統(tǒng)繼續(xù)訪問原來的文件,制造一個類似全局沙箱的文件系統(tǒng)。
(2)白名單的設(shè)置。對于一些大文件,如ISO、RMVB 和DLL等這些體積大,并且這些文件都是只讀性的文件,正常情況下不會對這些類型的文件進(jìn)行寫入。因此,可以對這類文件類型設(shè)置成白名單,白名單的文件類型過濾驅(qū)動不會對其進(jìn)行重定向處理,也不會進(jìn)行復(fù)制操作,但是會禁止寫入操作。這樣就能夠減少系統(tǒng)重定向和文件復(fù)制造成的系統(tǒng)性能的損失。
(3)緩存文件自動清空。當(dāng)關(guān)閉過濾驅(qū)動以后,加密磁盤的tmp文件夾中的緩存文件會清空,這樣下次開啟過濾驅(qū)動以后又會是一個新的環(huán)境,文件沒有被修改,達(dá)到了一個沙箱的保護(hù)目的。
2.2文件虛擬磁盤
使用TrueCrypt的文件虛擬磁盤功能,能夠使用文件進(jìn)行虛擬出一個虛擬磁盤,并且對虛擬磁盤進(jìn)行讀寫都是進(jìn)行快速透明加密的,因此,對該虛擬磁盤進(jìn)行讀寫的文件將會被加密,關(guān)閉虛擬磁盤以后,虛擬磁盤將消失,只剩下一個加密的磁盤文件,使用起來十分方便,此種類型的虛擬磁盤也比較符合本系統(tǒng)的需求。
2.3系統(tǒng)的整合
應(yīng)用層Ring3對文件虛擬磁盤和過濾驅(qū)動進(jìn)行整合。具體的操作流程如下:
(1)應(yīng)用層客戶端輸入TrueCrypt加密磁盤的密碼,如果密碼驗(yàn)證成功,開啟虛擬磁盤,并將虛擬磁盤對應(yīng)的設(shè)備符號傳給過濾驅(qū)動。
(2)過濾驅(qū)動獲取虛擬磁盤的符號以后,在虛擬磁盤下面創(chuàng)建tmp文件夾,并去讀取文件類型白名單的文件類型,在Windows的內(nèi)核中建立一個鏈表記錄白名單文件類型格式。
(3)開啟過濾驅(qū)動的文件重定向功能,開啟模擬沙箱功能,實(shí)現(xiàn)對非虛擬磁盤的重定向和防止寫入功能。系統(tǒng)的操作流程圖如圖2:

圖2 保護(hù)系統(tǒng)的操作流程
通過對該系統(tǒng)的性能進(jìn)行了測試發(fā)現(xiàn),在合理的進(jìn)行了白名單設(shè)置,系統(tǒng)會損失15%左右的性能,但是能夠達(dá)到全局的虛擬沙箱的功能保護(hù)Windows系統(tǒng)免受病毒和木馬的破壞,并且提供的虛擬磁盤能夠滿足用戶對敏感文件的存儲功能。
使用這種方式實(shí)現(xiàn)的防泄密系統(tǒng)能夠具有更好的兼容性,并且實(shí)現(xiàn)了全局的保護(hù),兼具了系統(tǒng)還原的功能和文件保護(hù)的功能。這種方案改變了傳統(tǒng)的透明加密系統(tǒng)對Windows系統(tǒng)防泄密和保護(hù)的壟斷,并且相比較透明加密這種純文件過濾驅(qū)動的方式,本方案采用了文件過濾驅(qū)動和磁盤過濾驅(qū)動兩種方式,取長補(bǔ)短,結(jié)合了兩種過濾驅(qū)動的優(yōu)點(diǎn),能夠更加靈活和更加高性能的保護(hù)了企業(yè)用戶的計算機(jī)安全。
[1]譚文,陳銘霖.Windows內(nèi)核安全與驅(qū)動開發(fā)[M].北京:電子工業(yè)出版社,2015
[2](美)Jeffrey Richter.Windows核心編程.北京:機(jī)械工業(yè)出版社,2008
[3]張帆.Windows驅(qū)動開發(fā)詳解[M].北京:電子工業(yè)出版社,2008.
[4](韓)李承遠(yuǎn).逆向工程核心原理[M].北京:人民郵電出版社,2014.
楊濤,男,山東鄒城人,本科助理工程師,研究方向?yàn)殡娏ο到y(tǒng)信息通信新技術(shù)應(yīng)用、信息安全等領(lǐng)域
胡曉勤,四川內(nèi)江人,博士
In recent years,with the rapid development of computer network,the importance to computer information security is becoming more and more increasingly being emphasized.Especially the government and enterprise internal information is particularly important.But the traditional antivirus software and Trojan Avira software effect is not good,to Trojan and virus behavior analysis and the characteristic database often because innovation virus exists,because without the latest feature library and behavior cause effect is not good.So we use a new virtual disk file system filter driver of file redirection and TrueCrypt protected mode on the user's confidential documents based on protection.
A File System Protection Scheme Based on File Filter Driver and TrueCrypt
SUN Xiao-yu,YANG Tao,HU Xiao-qin
(College of Computer Science,Sichuan University,Chengdu 610065)
1007-1423(2016)03-0077-04
10.3969/j.issn.1007-1423.2016.03.018
孫小雨(1988-),男,山東棲霞人,碩士,研究方向?yàn)榫W(wǎng)絡(luò)信息安全
2015-12-15修改日期:2015-12-30
近幾年,隨著計算機(jī)網(wǎng)絡(luò)的高速發(fā)展,對于計算機(jī)信息安全的重要性越來越被強(qiáng)調(diào),尤其是政府和企業(yè)的內(nèi)部資料顯得尤為重要。但是傳統(tǒng)的的殺毒軟件和木馬查殺軟件的效果并不好,對木馬和病毒的行為分析和特征庫往往會因?yàn)閯?chuàng)新性病毒的存在,因無最新的特征庫和行為導(dǎo)致效果并不好,故采用一種全新的基于文件過濾驅(qū)動的文件重定向和TrueCrypt的虛擬磁盤的保護(hù)方式來對用戶的機(jī)密文件進(jìn)行保護(hù)。
信息安全;文件過濾驅(qū)動;重定向;TrueCrypt