孫小雨,楊濤,胡曉勤
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
一種基于文件過濾驅(qū)動(dòng)和TrueCrypt的文件系統(tǒng)保護(hù)方案
孫小雨,楊濤,胡曉勤
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
隨著計(jì)算機(jī)的廣泛應(yīng)用,大量的涉密數(shù)據(jù)都被存儲(chǔ)在存儲(chǔ)介質(zhì)上面,所以我們對(duì)數(shù)據(jù)的安全性有了更高的要求,比起傳統(tǒng)的應(yīng)用層的Hook技術(shù)來保護(hù)數(shù)據(jù)的安全,基于Windows內(nèi)核層的文件過濾驅(qū)動(dòng)技術(shù)具有更加底層并且更加穩(wěn)定和高效。
本文將介紹一種基于Windows文件過濾驅(qū)動(dòng)技術(shù)和TrueCrypt加密虛擬磁盤的方法來保護(hù)計(jì)算機(jī)的信息安全,比起傳統(tǒng)的透明加密技術(shù)來保護(hù)機(jī)密文件的方法,使用本文這種方法具有更加穩(wěn)定,并且具有一定的防病毒的效果,因此,該方法是一個(gè)保護(hù)文件系統(tǒng)安全的一個(gè)創(chuàng)新方法,并且在實(shí)踐中得到了滿意的結(jié)果。
當(dāng)前市場(chǎng)上比較流行的保障文件安全的方法主要以文件透明加解密技術(shù)為主要代表。透明加密技術(shù)是近年來針對(duì)企業(yè)數(shù)據(jù)保密需求應(yīng)運(yùn)而生的一種數(shù)據(jù)加密技術(shù)。所謂透明,是指對(duì)使用者來說是透明的,感覺不到加密存在,當(dāng)使用者在打開或編輯指定文件時(shí),系統(tǒng)將自動(dòng)對(duì)加密的數(shù)據(jù)進(jìn)行解密,讓使用者看到的是明文。保存數(shù)據(jù)的時(shí)候,系統(tǒng)自動(dòng)對(duì)數(shù)據(jù)進(jìn)行加密,保存的是密文。而沒有權(quán)限的人,無法讀取保密數(shù)據(jù),從而達(dá)到數(shù)據(jù)保密的效果。但是文件透明加密技術(shù)有很多嚴(yán)重的缺點(diǎn):(1)容易損壞文件。由于在加密的過程中如果發(fā)生了斷電或者系統(tǒng)故障那么文件就被永久性的損壞了,如果這份文件十分重要,這會(huì)給用戶以毀滅性的打擊。(2)文件透明加密技術(shù)由于對(duì)操作系統(tǒng)里面所有的規(guī)定文件都進(jìn)行了加密,如果有權(quán)限的管理員想要對(duì)文件進(jìn)行移植操作會(huì)變得十分困難,因?yàn)槲募该骷用芤话愣际歉鶕?jù)本機(jī)的硬件信息作為私鑰進(jìn)行加密,所以對(duì)于本機(jī)進(jìn)行文檔的瀏覽沒有問題,但是移植到其他的機(jī)器上的文件就不能夠被正常瀏覽,但是不方便有特殊需要時(shí)的必要的文件轉(zhuǎn)移,文件透明加密技術(shù)在這方面不靈活。(3)文件透明加密技術(shù)只能夠?qū)Ρ镜氐奈募乐剐孤?,但是不具備抵御病毒和木馬的功能。
針對(duì)上面市場(chǎng)上主流的文件透明加密的種種缺點(diǎn),本文采用的基于文件過濾驅(qū)動(dòng)技術(shù)和TrueCrypt的加密虛擬磁盤的方式來進(jìn)行保護(hù)用戶的機(jī)密文件,有效地解決了上述的問題,基于TrueCrypt成熟的磁盤加密技術(shù),不會(huì)造成文件的損壞,基于Windows文件過濾驅(qū)動(dòng)的重定向技術(shù)能夠有效地防止木馬病毒對(duì)計(jì)算機(jī)系統(tǒng)的破壞性,并且能夠增強(qiáng)對(duì)文件轉(zhuǎn)移的靈活性。
以Windows文件過濾驅(qū)動(dòng)技術(shù)和TrueCrypt這個(gè)開源的磁盤加密軟件為主要技術(shù)組成一種全新的Windows系統(tǒng)下的文件保護(hù)系統(tǒng)以取代傳統(tǒng)的文件加密保護(hù)模式。
1.1文件過濾驅(qū)動(dòng)技術(shù)
在Windows操作系統(tǒng)當(dāng)中,文件系統(tǒng)驅(qū)動(dòng)程序(FSD,F(xiàn)ile System Driver)是用來管理磁盤上的文件的,它負(fù)責(zé)存儲(chǔ)本地的數(shù)據(jù),接收本地磁盤文件的打開、讀取、寫入、關(guān)閉等請(qǐng)求,通常這些請(qǐng)求來自用戶進(jìn)程,通過I/O管理器發(fā)送到文件系統(tǒng)。
文件過濾型驅(qū)動(dòng)程序 (FSFD,File System Filter Driver)是疊加在文件系統(tǒng)驅(qū)動(dòng)程序上的過濾型驅(qū)動(dòng)程序,F(xiàn)SFD是針對(duì)FSD而言的。它運(yùn)行于操作系統(tǒng)的內(nèi)核模式,在系統(tǒng)內(nèi)核驅(qū)動(dòng)中假如新的層,在不影響上層和下層接口的情況下,能夠截獲到所有的文件系統(tǒng)請(qǐng)求,從而不需要修改上層的軟件或下層的驅(qū)動(dòng)程序,就可以加入新的功能。文件系統(tǒng)過濾驅(qū)動(dòng)的目標(biāo)是不活系統(tǒng)對(duì)文件的種種操作的行為,例如文件的創(chuàng)建、讀寫、改名,目錄的創(chuàng)建、打開、枚舉、改名、刪除等操作。并且可以選擇完成或者修改這些請(qǐng)求。正是由于這種能力,致使其應(yīng)用在文件保護(hù)、文件透明加密、移動(dòng)存儲(chǔ)控制、殺毒軟件、行為監(jiān)控等諸多的安全方面。
文件過濾驅(qū)動(dòng)在Windows系統(tǒng)中的位置如圖1所示,從圖中可以看出文件過濾驅(qū)動(dòng)負(fù)責(zé)接收上層的IRP (I/O Request Packet)請(qǐng)求,處理后傳遞給下層對(duì)象。
圖1 文件過濾驅(qū)動(dòng)位置
1.2TrueCrypt虛擬磁盤
TrueCrype磁盤加密是一款免費(fèi)并且開源的軟件,它利用了目前普遍采用的虛擬磁盤技術(shù)和磁盤過濾技術(shù)來完成對(duì)數(shù)據(jù)的快速、自動(dòng)加解密,所有存儲(chǔ)在TrueCrypt虛擬磁盤上的文件都被進(jìn)行了透明的加密。在虛擬磁盤正確加載以后可以像訪問普通的磁盤分區(qū)一樣訪問它們,包括磁盤的格式化、創(chuàng)建文件夾、文件復(fù)制、文件粘貼、文件重命名等。進(jìn)入TrueCrypt虛擬磁盤需要使用磁盤加密時(shí)候的密碼,在輸入了正確的密碼以后,就能夠解密加密的磁盤,就能夠正常的使用TrueCtypt的虛擬磁盤。
TrueCrypt擁有三種不同方式的加密磁盤:①對(duì)整個(gè)磁盤進(jìn)行加密。該方法是對(duì)整個(gè)磁盤,包括磁盤上的操作系統(tǒng)進(jìn)行了加密,因此,每次進(jìn)入操作系統(tǒng)之前都會(huì)進(jìn)行密碼的驗(yàn)證,如果密碼驗(yàn)證成功,那么就能夠進(jìn)入系統(tǒng),整個(gè)物理磁盤被TrueCrypt的磁盤過濾驅(qū)動(dòng)透明解密,進(jìn)而能夠進(jìn)入操作系統(tǒng)。②對(duì)磁盤分區(qū)進(jìn)行加密。該方法比較對(duì)整個(gè)磁盤進(jìn)行加密更加靈活,該方法對(duì)單個(gè)邏輯分區(qū)或者幾個(gè)邏輯分區(qū)進(jìn)行加密,這樣就可以不對(duì)系統(tǒng)所在的分區(qū)進(jìn)行磁盤加密,開機(jī)就可以不進(jìn)行開機(jī)密碼驗(yàn)證。③使用文件虛擬加密磁盤,這種方法最為靈活并且最為方便。該方法用文件虛擬出來一個(gè)磁盤,并且對(duì)磁盤進(jìn)行讀寫都是使用透明加密的方式,這樣對(duì)虛擬磁盤的各種操作,實(shí)際上是對(duì)這個(gè)虛擬磁盤文件進(jìn)行操作。在不使用這個(gè)虛擬磁盤的時(shí)候,它以一個(gè)文件的形式存在,并且是加密的,不會(huì)被竊取信息。
2.1文件過濾驅(qū)動(dòng)技術(shù)
文件過濾驅(qū)動(dòng)部分的核心技術(shù)就是寫能夠?qū)ξ募M(jìn)行重定向的過濾驅(qū)動(dòng),需要把編寫帶有文件重定向功能的過濾驅(qū)動(dòng)掛載到?jīng)]有被TrueCrypt加密的磁盤上,當(dāng)開啟了文件重定向保護(hù)以后,就能夠?qū)ξ募淖x寫進(jìn)行重定向。具體實(shí)現(xiàn)如下:
(1)對(duì)普通的磁盤(除TrueCrypt加密盤)進(jìn)行掛載文件重定向過濾驅(qū)動(dòng),并在TrueCrypt加密的磁盤設(shè)置一個(gè)tmp的隱藏文件夾,其他磁盤進(jìn)行寫文件時(shí)候,將其進(jìn)行復(fù)制到該目錄一個(gè)對(duì)應(yīng)的目錄下,以后對(duì)其他磁盤進(jìn)行寫操作實(shí)際上都是對(duì)該復(fù)制版的文件進(jìn)行。當(dāng)對(duì)文件進(jìn)行讀取的時(shí)候,首先會(huì)判斷該文件在加密盤tmp文件夾下是否有對(duì)應(yīng)的復(fù)制版本存在,如果有復(fù)制版本存在,就重新設(shè)置文件過濾驅(qū)動(dòng)的IRP請(qǐng)求,讓文件系統(tǒng)對(duì)tmp文件夾中對(duì)應(yīng)的文件進(jìn)行訪問,如果tmp中沒有對(duì)應(yīng)的文件,那么就不更改IRP請(qǐng)求,讓文件系統(tǒng)繼續(xù)訪問原來的文件,制造一個(gè)類似全局沙箱的文件系統(tǒng)。
(2)白名單的設(shè)置。對(duì)于一些大文件,如ISO、RMVB 和DLL等這些體積大,并且這些文件都是只讀性的文件,正常情況下不會(huì)對(duì)這些類型的文件進(jìn)行寫入。因此,可以對(duì)這類文件類型設(shè)置成白名單,白名單的文件類型過濾驅(qū)動(dòng)不會(huì)對(duì)其進(jìn)行重定向處理,也不會(huì)進(jìn)行復(fù)制操作,但是會(huì)禁止寫入操作。這樣就能夠減少系統(tǒng)重定向和文件復(fù)制造成的系統(tǒng)性能的損失。
(3)緩存文件自動(dòng)清空。當(dāng)關(guān)閉過濾驅(qū)動(dòng)以后,加密磁盤的tmp文件夾中的緩存文件會(huì)清空,這樣下次開啟過濾驅(qū)動(dòng)以后又會(huì)是一個(gè)新的環(huán)境,文件沒有被修改,達(dá)到了一個(gè)沙箱的保護(hù)目的。
2.2文件虛擬磁盤
使用TrueCrypt的文件虛擬磁盤功能,能夠使用文件進(jìn)行虛擬出一個(gè)虛擬磁盤,并且對(duì)虛擬磁盤進(jìn)行讀寫都是進(jìn)行快速透明加密的,因此,對(duì)該虛擬磁盤進(jìn)行讀寫的文件將會(huì)被加密,關(guān)閉虛擬磁盤以后,虛擬磁盤將消失,只剩下一個(gè)加密的磁盤文件,使用起來十分方便,此種類型的虛擬磁盤也比較符合本系統(tǒng)的需求。
2.3系統(tǒng)的整合
應(yīng)用層Ring3對(duì)文件虛擬磁盤和過濾驅(qū)動(dòng)進(jìn)行整合。具體的操作流程如下:
(1)應(yīng)用層客戶端輸入TrueCrypt加密磁盤的密碼,如果密碼驗(yàn)證成功,開啟虛擬磁盤,并將虛擬磁盤對(duì)應(yīng)的設(shè)備符號(hào)傳給過濾驅(qū)動(dòng)。
(2)過濾驅(qū)動(dòng)獲取虛擬磁盤的符號(hào)以后,在虛擬磁盤下面創(chuàng)建tmp文件夾,并去讀取文件類型白名單的文件類型,在Windows的內(nèi)核中建立一個(gè)鏈表記錄白名單文件類型格式。
(3)開啟過濾驅(qū)動(dòng)的文件重定向功能,開啟模擬沙箱功能,實(shí)現(xiàn)對(duì)非虛擬磁盤的重定向和防止寫入功能。系統(tǒng)的操作流程圖如圖2:
圖2 保護(hù)系統(tǒng)的操作流程
通過對(duì)該系統(tǒng)的性能進(jìn)行了測(cè)試發(fā)現(xiàn),在合理的進(jìn)行了白名單設(shè)置,系統(tǒng)會(huì)損失15%左右的性能,但是能夠達(dá)到全局的虛擬沙箱的功能保護(hù)Windows系統(tǒng)免受病毒和木馬的破壞,并且提供的虛擬磁盤能夠滿足用戶對(duì)敏感文件的存儲(chǔ)功能。
使用這種方式實(shí)現(xiàn)的防泄密系統(tǒng)能夠具有更好的兼容性,并且實(shí)現(xiàn)了全局的保護(hù),兼具了系統(tǒng)還原的功能和文件保護(hù)的功能。這種方案改變了傳統(tǒng)的透明加密系統(tǒng)對(duì)Windows系統(tǒng)防泄密和保護(hù)的壟斷,并且相比較透明加密這種純文件過濾驅(qū)動(dòng)的方式,本方案采用了文件過濾驅(qū)動(dòng)和磁盤過濾驅(qū)動(dòng)兩種方式,取長(zhǎng)補(bǔ)短,結(jié)合了兩種過濾驅(qū)動(dòng)的優(yōu)點(diǎn),能夠更加靈活和更加高性能的保護(hù)了企業(yè)用戶的計(jì)算機(jī)安全。
[1]譚文,陳銘霖.Windows內(nèi)核安全與驅(qū)動(dòng)開發(fā)[M].北京:電子工業(yè)出版社,2015
[2](美)Jeffrey Richter.Windows核心編程.北京:機(jī)械工業(yè)出版社,2008
[3]張帆.Windows驅(qū)動(dòng)開發(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ì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,對(duì)于計(jì)算機(jī)信息安全的重要性越來越被強(qiáng)調(diào),尤其是政府和企業(yè)的內(nèi)部資料顯得尤為重要。但是傳統(tǒng)的的殺毒軟件和木馬查殺軟件的效果并不好,對(duì)木馬和病毒的行為分析和特征庫往往會(huì)因?yàn)閯?chuàng)新性病毒的存在,因無最新的特征庫和行為導(dǎo)致效果并不好,故采用一種全新的基于文件過濾驅(qū)動(dòng)的文件重定向和TrueCrypt的虛擬磁盤的保護(hù)方式來對(duì)用戶的機(jī)密文件進(jìn)行保護(hù)。
信息安全;文件過濾驅(qū)動(dòng);重定向;TrueCrypt