專利名稱:一種windows操作系統(tǒng)下的數(shù)據(jù)防護(hù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)防護(hù)系統(tǒng),特別涉及一種windows操作系統(tǒng)下的數(shù)據(jù)防護(hù)系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的飛速發(fā)展,信息安全越發(fā)引起人們的關(guān)注。數(shù)據(jù)安全更是信息安全中一個(gè)重要的組成部分,特別是企業(yè)的機(jī)密數(shù)據(jù)和文件、用戶的重要資料和涉及個(gè)人隱私的數(shù)據(jù),一旦這些數(shù)據(jù)被惡意地利用,將會(huì)造成極其嚴(yán)重的后果。造成數(shù)據(jù)泄露主要原因有以下幾點(diǎn)1.存有企業(yè)秘密數(shù)據(jù)的設(shè)備的丟失與被盜,未加密的移動(dòng)設(shè)備中數(shù)據(jù)的盜用,已經(jīng)成為了企業(yè)數(shù)據(jù)泄露的主要原因;2.保存在個(gè)人電 腦上不受保護(hù)的重要數(shù)據(jù),任何人都可以訪問(wèn),重要數(shù)據(jù)就可能被利用,數(shù)據(jù)的安全性得不到保障;3.數(shù)據(jù)刪除不徹底,在Windows下正常刪除文件并不能將文件徹底從硬盤(pán)中清除掉,使用數(shù)據(jù)恢復(fù)軟件很容易將其恢復(fù),用戶的重要數(shù)據(jù)有潛在被恢復(fù)的可能;4.黑客、木馬利用電腦的漏洞,攻擊和控制電腦,獲取用戶的重要數(shù)據(jù),危害到用戶的隱私或保密信肩、O目前,數(shù)據(jù)安全防護(hù)技術(shù)尚不完善,市面上雖有此類軟件,但大多缺乏一套完整的防護(hù)體系,無(wú)法滿足用戶的需求,存在數(shù)據(jù)刪除不徹底,訪問(wèn)控制安全性不高等問(wèn)題。對(duì)數(shù)據(jù)安全的需求,迫切需要一個(gè)集數(shù)據(jù)隱藏、加密、擦除、備份一體化的數(shù)據(jù)防護(hù)系統(tǒng),實(shí)現(xiàn)了對(duì)重要數(shù)據(jù)全方位、綜合性、系統(tǒng)化的安全防護(hù),滿足個(gè)人和企業(yè)用戶對(duì)數(shù)據(jù)安全防護(hù)需求。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種集數(shù)據(jù)隱藏、加密、擦除、備份一體化的數(shù)據(jù)防護(hù)系統(tǒng),實(shí)現(xiàn)了對(duì)重要數(shù)據(jù)全方位、綜合性、系統(tǒng)化的安全防護(hù)。本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的—種windows操作系統(tǒng)下的數(shù)據(jù)防護(hù)系統(tǒng),包括用于指定需保護(hù)文件的文件保護(hù)列表,加密解密模塊、文件保護(hù)模塊、數(shù)據(jù)擦除模塊、自我保護(hù)模塊、用戶設(shè)置管理模塊和備份恢復(fù)模塊,其中加密解密模塊對(duì)用戶指定的文件進(jìn)行加密或者解密;文件保護(hù)模塊截獲上層應(yīng)用程序的I/O請(qǐng)求,如果涉及文件保護(hù)列表中的文件,則通過(guò)為每個(gè)用戶單獨(dú)設(shè)置的文件保護(hù)列表查詢用戶與受保護(hù)文件的權(quán)限關(guān)系,如果是授權(quán)用戶則可以正常訪問(wèn),如果不是授權(quán)用戶,則利用磁盤(pán)卷驅(qū)動(dòng)對(duì)文件保護(hù)列表內(nèi)的文件進(jìn)行驅(qū)動(dòng)級(jí)別的隱藏,或者返回一個(gè)錯(cuò)誤信息,使沒(méi)有權(quán)限的用戶不能對(duì)受保護(hù)的文件進(jìn)行任何操作;數(shù)據(jù)擦除模塊對(duì)用戶指定的磁盤(pán)上的文件進(jìn)行不可恢復(fù)擦除;自我保護(hù)模塊在應(yīng)用層和驅(qū)動(dòng)層之間互相驗(yàn)證,從而確保對(duì)受保護(hù)的文件訪問(wèn)是經(jīng)過(guò)本系統(tǒng)授權(quán)的,防止惡意程序偽造系統(tǒng)文件,繞過(guò)訪問(wèn)控制機(jī)制訪問(wèn)受保護(hù)的文件;用戶設(shè)置管理模塊為多個(gè)用戶分別在本系統(tǒng)中注冊(cè)賬號(hào),實(shí)現(xiàn)用戶安全模式的選擇,每個(gè)用戶均可根據(jù)自己的需求設(shè)置安全模式而不影響其他用戶的設(shè)置;數(shù)據(jù)備份模塊用于備份注冊(cè)表以及本系統(tǒng)關(guān)鍵文件。有益效果本發(fā)明在windows操作系統(tǒng)下實(shí)現(xiàn)了一種集數(shù)據(jù)隱藏、加密、擦除、備份一體化的數(shù)據(jù)防護(hù)系統(tǒng),實(shí)現(xiàn)了對(duì)重要數(shù)據(jù)全方位、綜合性、系統(tǒng)化的安全防護(hù)。
圖I是系統(tǒng)的模塊結(jié)構(gòu)圖; 圖2是文件保護(hù)模塊的模塊結(jié)構(gòu)圖;圖3是文件保護(hù)模塊對(duì)受保護(hù)文件進(jìn)行驅(qū)動(dòng)級(jí)別隱藏的實(shí)現(xiàn)流程圖; 圖4是加密解密模塊的處理流程圖;圖5是數(shù)據(jù)擦除模塊的處理流程圖;圖6是用戶設(shè)置管理模塊的模塊結(jié)構(gòu)圖;圖7是數(shù)據(jù)備份模塊的模塊結(jié)構(gòu)圖;圖8是自我保護(hù)模塊的處理流程圖。
具體實(shí)施例方式下面結(jié)合附圖,具體說(shuō)明本發(fā)明的優(yōu)選實(shí)施方式。實(shí)施例I為在windows下安裝本發(fā)明的思想實(shí)現(xiàn)的一個(gè)綜合數(shù)據(jù)防護(hù)系統(tǒng),該系統(tǒng)包括文件保護(hù)列表,加密解密模塊、訪問(wèn)控制模塊、數(shù)據(jù)擦除模塊、自我保護(hù)模塊、用戶設(shè)置管理模塊和備份恢復(fù)模塊,附圖I表示出了系統(tǒng)的模塊,每個(gè)模塊的具體實(shí)現(xiàn)如下一、文件保護(hù)模塊文件保護(hù)模塊截獲上層應(yīng)用程序的I/O請(qǐng)求,如果涉及文件保護(hù)列表中的文件,則通過(guò)為每個(gè)用戶單獨(dú)設(shè)置的文件保護(hù)列表查詢用戶與受保護(hù)文件的權(quán)限關(guān)系,如果是授權(quán)用戶則可以正常訪問(wèn),如果不是授權(quán)用戶,則利用磁盤(pán)卷驅(qū)動(dòng)對(duì)文件保護(hù)列表內(nèi)的文件進(jìn)行驅(qū)動(dòng)級(jí)別的隱藏,或者返回一個(gè)錯(cuò)誤信息,使沒(méi)有權(quán)限的用戶不能對(duì)受保護(hù)的文件進(jìn)行任何操作。附圖2是文件保護(hù)模塊的模塊結(jié)構(gòu)圖。圖中的IRP消息即上層應(yīng)用程序的I/O請(qǐng)求包。附圖3是文件保護(hù)模塊對(duì)受保護(hù)文件進(jìn)行驅(qū)動(dòng)級(jí)別隱藏的實(shí)現(xiàn)流程圖。在應(yīng)用層打開(kāi)文件夾或者調(diào)用文件的時(shí)候,在對(duì)文件任何操作之前都會(huì)發(fā)送一個(gè)IRP_MJ_CREATE類型的消息才能進(jìn)行其他的處理,這個(gè)消息里面包括了相應(yīng)文件夾的地址、名字、操作類型等信息,在下層驅(qū)動(dòng)進(jìn)行操作后,會(huì)返回一個(gè)消息,即為操作的結(jié)果,其中包含了文件夾內(nèi)所有文件的信息。應(yīng)用程序收到這個(gè)返回的消息后,再進(jìn)行處理,這就是操作系統(tǒng)進(jìn)行文件操作的方式。文件保護(hù)模塊的實(shí)現(xiàn)過(guò)程為在磁盤(pán)每個(gè)卷的驅(qū)動(dòng)中增加一個(gè)函數(shù),該函數(shù)攔截上層應(yīng)用程序的IRP消息,如果是IRP_MJ_CREATE消息,則找到相應(yīng)的存放操作結(jié)果的緩沖區(qū)域,依次遍歷緩沖區(qū)中的信息并且與文件保護(hù)列表的文件進(jìn)行對(duì)比,如若發(fā)現(xiàn)是受到保護(hù)的文件則去查詢用戶與受保護(hù)文件的權(quán)限關(guān)系。用戶設(shè)置管理模塊會(huì)為每個(gè)用戶設(shè)置一個(gè)單獨(dú)的文件保護(hù)列表,訪問(wèn)控制子模塊通過(guò)每個(gè)用戶的文件保護(hù)列表查詢用戶是否可以訪問(wèn)受保護(hù)文件。如果是屬于該用戶的受保護(hù)文件則允許訪問(wèn),如果是屬于其他用戶的受保護(hù)文件,則隱藏受保護(hù)文件信息,即剪去受到保護(hù)的文件所占的緩沖區(qū)以及相關(guān)信息,將后面的信息與前面的信息連接,修改后的返回消息就不包括受到保護(hù)的文件,然后將修改后的返回消息傳到上層的應(yīng)用程序,使資源管理器或者其他程序無(wú)法訪問(wèn)到文件。二、加密解密模塊附圖4是加密解密模塊的處理流程圖。在用戶需要加密指定文件時(shí),加密解密模塊對(duì)用戶選中的文件使用指定算法以及密鑰進(jìn)行加密,并將加密的文件存放到用戶指定的位置,同時(shí)自動(dòng)把加密后的文件放入文 件保護(hù)列表,從而可以通過(guò)文件保護(hù)模塊實(shí)現(xiàn)對(duì)該文件的隱藏,使文件得到加密和隱藏的雙重保護(hù)。缺省情況下,加密解密模塊使用密鑰長(zhǎng)度為128比特位的TEA算法加密文件,用戶也可以選擇使用密鑰長(zhǎng)度為256比特位的AES算法加密重要的文件。在默認(rèn)情況下,加密解密模塊利用本機(jī)的物理硬盤(pán)序列號(hào)與用戶設(shè)定的密鑰共同組成最終的密鑰,用戶也可以選擇使用自己的密碼作為密鑰對(duì)文件進(jìn)行加密。在對(duì)文件加密后,加密解密模塊會(huì)自動(dòng)通過(guò)數(shù)據(jù)擦除模塊擦除原來(lái)的文件;對(duì)文件解密后,用戶可選擇是否擦除已經(jīng)加密過(guò)的文件。三、數(shù)據(jù)擦除模塊附圖5是數(shù)據(jù)擦除模塊的處理流程圖。數(shù)據(jù)擦除模塊的處理流程為一、根據(jù)所要?jiǎng)h除文件或文件夾的路徑,獲得該文件所在的卷,在Windows下,使用CreateFile以形如“\\. \X: ”的字符串作為名字打開(kāi)X盤(pán)即NTFS的卷,比如打開(kāi)C盤(pán)使用“\\. \C: ”;然后使用ReadFile讀取該卷的前512字節(jié),即起始扇區(qū),獲得以下參數(shù)每個(gè)扇區(qū)的字節(jié)數(shù)、每個(gè)簇所含的扇區(qū)數(shù)、主MFT所在的邏輯簇號(hào)、文件記錄(File Record)的簇?cái)?shù)、索引記錄(Index Record)的簇?cái)?shù);每個(gè)卷在實(shí)現(xiàn)NTFS時(shí),采取的一些基本參數(shù)可能不同,因此需要在加載一個(gè)卷的時(shí)候讀取該卷的一些基本參數(shù)。二、根據(jù)所要?jiǎng)h除文件的路徑,查找該文件ID ;在NTFS中,每一個(gè)文件或文件夾相對(duì)應(yīng)的MFT項(xiàng)構(gòu)成B+樹(shù)的一個(gè)個(gè)節(jié)點(diǎn),其中文件不會(huì)有子節(jié)點(diǎn),它一定是葉子節(jié)點(diǎn),而文件夾可能是葉子結(jié)點(diǎn),也可能是分支節(jié)點(diǎn)。在每個(gè)文件夾的MFT項(xiàng)中,表示文件系統(tǒng)結(jié)構(gòu)的有常駐的$INDEX_R00T即0x90屬性和非常駐的$INDEX_ALL0CATI0N 即 OxAO 屬性。$INDEX_R00T 屬性中包含了個(gè)數(shù)可變的 Index Entry,每個(gè)都描述了該文件夾下的文件或子文件夾的包含文件ID的一些基本信息。如果子節(jié)點(diǎn)過(guò)多的話則還可能有$INDEX_ALL0CATI0N屬性,將子節(jié)點(diǎn)的Index Entry信息存儲(chǔ)到它指示的磁盤(pán)的簇中。如此一來(lái),如果子節(jié)點(diǎn)是文件夾的話則又可以遞歸下去,從而最終可以遍歷完整個(gè)B+樹(shù),獲得文件系統(tǒng)中所有文件和文件夾的信息。根據(jù)所要?jiǎng)h除文件的路徑,在由文件或文件夾MFT項(xiàng)構(gòu)成的B+樹(shù)中定位到相應(yīng)的文件或文件夾,并獲得該文件的文件ID ;三、擦 除文件相關(guān)信息;在獲得了文件ID之后,根據(jù)以下公式定位文件MFT項(xiàng)在磁盤(pán)上的位置文件MFT項(xiàng)偏移量=文件ID*每個(gè)MFT項(xiàng)的字節(jié)數(shù)+主MFT的邏輯簇號(hào)*每個(gè)簇的字節(jié)數(shù);然后根據(jù)文件MFT項(xiàng)頭的結(jié)構(gòu),將第0x17個(gè)字節(jié)與0x02個(gè)字節(jié)按位與,結(jié)果如果是0則判斷為文件,否則判斷為文件夾;如果是文件,則執(zhí)行把文件在磁盤(pán)上分配的所有碎片通過(guò)指定的覆寫(xiě)方法(如一遍填零或填一或填隨機(jī)數(shù),美國(guó)國(guó)防部DoD 5220-22-M標(biāo)準(zhǔn)的7遍擦寫(xiě)方法,Gutmann方法的35遍擦寫(xiě)方法等)進(jìn)行擦除,使得文件主體數(shù)據(jù)被徹底擦除,不能恢復(fù);之后還可以根據(jù)需要選擇性地把文件MFT項(xiàng)進(jìn)行刪除或偽造處理,把文件MFT項(xiàng)中關(guān)于該文件的一些基本信息包括屬性$STANDARD_INF0RMATI0N結(jié)構(gòu)中的創(chuàng)建時(shí)間、修改時(shí)間、文件大小,以及文件MFT末尾的可選數(shù)據(jù)流如圖片文件的縮略圖剝?nèi)?,防止文件周邊信息被泄露。如果是文件夾,則需要先把文件夾中的子文件和文件夾刪除,最后刪除該文件夾。每個(gè)空文件夾在進(jìn)行刪除之前,首先把該文件非常駐的$INDEX_ALL0CATI0N屬性的內(nèi)容擦除,之后按照刪除文件同樣的方式處理文件夾的MFT項(xiàng)中的內(nèi)容。四、用戶設(shè)置管理模塊附圖6是用戶設(shè)置管理模塊的模塊結(jié)構(gòu)圖。用戶設(shè)置管理模塊實(shí)現(xiàn)用戶安全模式的選擇,每個(gè)用戶均可根據(jù)自己的需求設(shè)置安全模式,如選擇加密方式、是否隱藏文件、刪除文件方式等,而不影響其他用戶的設(shè)置。用戶可以選擇只加密文件,而不進(jìn)行驅(qū)動(dòng)級(jí)別的隱藏防護(hù),也可以選擇進(jìn)行既加密又隱藏的雙重防護(hù)。如果用戶選擇不隱藏文件,驅(qū)動(dòng)會(huì)從電腦里卸載,下一次啟動(dòng)程序?qū)⒉粫?huì)加載驅(qū)動(dòng),文件隱藏的功能將被取消;如果用戶重新選擇隱藏文件,驅(qū)動(dòng)程序會(huì)馬上加載,文件保護(hù)列表里的文件會(huì)被立即隱藏保護(hù)。用戶可以設(shè)定多個(gè)登錄賬戶,每個(gè)賬戶擁有自己?jiǎn)为?dú)的文件保護(hù)列表,查詢文件操作建立在這個(gè)文件列表的基礎(chǔ)上,由此實(shí)現(xiàn)了使用每個(gè)賬戶登錄只能訪問(wèn)本賬戶所保存的文件,即不同賬戶只對(duì)自身保存的文件有訪問(wèn)權(quán)限,因此可以滿足多用戶共同使用系統(tǒng)的需求。用戶設(shè)置管理模塊將本系統(tǒng)的關(guān)鍵文件全部添加到文件保護(hù)列表中,因此非本系統(tǒng)的任何其它應(yīng)用程序都不能夠修改以及查看這些關(guān)鍵文件,系統(tǒng)的自保護(hù)能力得到很大提升。五、數(shù)據(jù)備份模塊附圖7是數(shù)據(jù)備份模塊的模塊結(jié)構(gòu)圖。數(shù)據(jù)備份模塊包括注冊(cè)表備份和U盤(pán)解鎖盤(pán)兩個(gè)子模塊。注冊(cè)表備份子模塊實(shí)現(xiàn)將注冊(cè)表以及包括系統(tǒng)密鑰的關(guān)鍵文件進(jìn)行導(dǎo)出備份并且加密,存放在用戶指定位置并進(jìn)行保護(hù);以及導(dǎo)入恢復(fù)。U盤(pán)解鎖盤(pán)子模塊支持制作U盤(pán)解鎖盤(pán),把系統(tǒng)的關(guān)鍵文件復(fù)制到選定U盤(pán)存放,為該U盤(pán)增加標(biāo)記以實(shí)現(xiàn)身份驗(yàn)證,并且鎖定該U盤(pán)為唯一的解鎖盤(pán);在忘記登陸密碼或者加密密鑰的情況下,可以利用已經(jīng)建立好的U盤(pán)解鎖盤(pán)進(jìn)行解鎖,正常登陸系統(tǒng)執(zhí)行各種操作。六、自我 保護(hù)模塊附圖8是自我保護(hù)模塊的處理流程圖。自我保護(hù)模塊實(shí)現(xiàn)驅(qū)動(dòng)層與應(yīng)用層的互相保護(hù),驅(qū)動(dòng)正常情況下將處于鎖定狀態(tài),應(yīng)用層啟動(dòng)時(shí)會(huì)進(jìn)行驗(yàn)證解鎖,系統(tǒng)解鎖成功后,可以操作受保護(hù)的文件,反之解鎖失敗后系統(tǒng)仍處于鎖定狀態(tài),無(wú)法操作受保護(hù)的文件,應(yīng)用層程序退出運(yùn)行時(shí),會(huì)再次通知驅(qū)動(dòng)層程序,使之進(jìn)入鎖定狀態(tài);在系統(tǒng)處于鎖定狀態(tài)時(shí),任何程序無(wú)法訪問(wèn)受到保護(hù)的文件;在系統(tǒng)進(jìn)入解鎖狀態(tài)時(shí),只有用戶正常登陸系統(tǒng)才能訪問(wèn)擁有權(quán)限的文件。使用這種雙向自我保護(hù)機(jī)制,防止本系統(tǒng)程序遭到篡改或者偽造,保證只有在本系統(tǒng)正常運(yùn)行的情況下能夠訪問(wèn)受保護(hù)的文件。自我保護(hù)模塊的解鎖方法是應(yīng)用層程序啟動(dòng)時(shí)向下層驅(qū)動(dòng)下發(fā)驗(yàn)證消息,下層驅(qū)動(dòng)驗(yàn)證該消息,如果驗(yàn)證失敗,系統(tǒng)仍處于鎖定狀態(tài);如果驗(yàn)證成功,對(duì)應(yīng)用層發(fā)來(lái)的消息處理并且返回反向驗(yàn)證消息,應(yīng)用層接到該消息立即進(jìn)行驗(yàn)證,若驗(yàn)證失敗則退出并且鎖定驅(qū)動(dòng),若驗(yàn)證成功則通知驅(qū)動(dòng)程序,應(yīng)用層和驅(qū)動(dòng)層驗(yàn)證成功后系統(tǒng)解除鎖定狀態(tài),此時(shí)應(yīng)用程序可以操作受到保護(hù)的文件。本系統(tǒng)驅(qū)動(dòng)層模塊和應(yīng)用層模塊相對(duì)獨(dú)立運(yùn)行,兩模塊之間有相互識(shí)別對(duì)方模塊的功能,系統(tǒng)激活后就自動(dòng)啟動(dòng)雙向驗(yàn)證機(jī)制,在系統(tǒng)運(yùn)行中利用安全的驗(yàn)證策略實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)防護(hù),尤其是防止應(yīng)用層模塊被惡意的篡改、偽造、監(jiān)聽(tīng),一旦監(jiān)測(cè)到應(yīng)用層被惡意操作,驅(qū)動(dòng)層立即終止同應(yīng)用層的連接并且拒絕來(lái)自該虛假應(yīng)用層模塊的操作。同樣,一旦應(yīng)用層監(jiān)測(cè)到驅(qū)動(dòng)層被破壞,將對(duì)系統(tǒng)進(jìn)行鎖定,禁止數(shù)據(jù)的流出。本發(fā)明不僅限于以上實(shí)施例,凡是利用本發(fā)明的設(shè)計(jì)思路,做一些簡(jiǎn)單變化的設(shè)計(jì),都應(yīng)計(jì)入本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種windows操作系統(tǒng)下的數(shù)據(jù)防護(hù)系統(tǒng),其特征在于包括用于指定需保護(hù)文件的文件保護(hù)列表,加密解密模塊、文件保護(hù)模塊、數(shù)據(jù)擦除模塊、自我保護(hù)模塊、用戶設(shè)置管理模塊和備份恢復(fù)模塊,其中 加密解密模塊對(duì)用戶指定的文件進(jìn)行加密或者解密; 文件保護(hù)模塊截獲上層應(yīng)用程序的I/O請(qǐng)求,如果涉及文件保護(hù)列表中的文件,則通過(guò)為每個(gè)用戶單獨(dú)設(shè)置的文件保護(hù)列表查詢用戶與受保護(hù)文件的權(quán)限關(guān)系,如果是授權(quán)用戶則可以正常訪問(wèn),如果不是授權(quán)用戶,則利用磁盤(pán)卷驅(qū)動(dòng)對(duì)文件保護(hù)列表內(nèi)的文件進(jìn)行驅(qū)動(dòng)級(jí)別的隱藏,或者返回一個(gè)錯(cuò)誤信息,使沒(méi)有權(quán)限的用戶不能對(duì)受保護(hù)的文件進(jìn)行任何操作; 數(shù)據(jù)擦除模塊對(duì)用戶指定的磁盤(pán)上的文件進(jìn)行不可恢復(fù)擦除; 自我保護(hù)模塊在應(yīng)用層和驅(qū)動(dòng)層之間互相驗(yàn)證,從而確保對(duì)受保護(hù)的文件訪問(wèn)是經(jīng)過(guò)本系統(tǒng)授權(quán)的,防止惡意程序偽造系統(tǒng)文件,繞過(guò)訪問(wèn)控制機(jī)制訪問(wèn)受保護(hù)的文件; 用戶設(shè)置管理模塊為多個(gè)用戶分別在本系統(tǒng)中注冊(cè)賬號(hào),實(shí)現(xiàn)用戶安全模式的選擇,每個(gè)用戶均可根據(jù)自己的需求設(shè)置安全模式而不影響其他用戶的設(shè)置; 數(shù)據(jù)備份模塊用于備份注冊(cè)表以及本系統(tǒng)關(guān)鍵文件。
2.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述文件保護(hù)模塊的實(shí)現(xiàn)過(guò)程為在磁盤(pán)每個(gè)卷的驅(qū)動(dòng)中增加一個(gè)函數(shù),該函數(shù)攔截上層應(yīng)用程序的IRP消息,如果是IRP_MJ_CREATE消息,則找到相應(yīng)的存放操作結(jié)果的緩沖區(qū)域,依次遍歷緩沖區(qū)中的信息并且與文件保護(hù)列表的文件進(jìn)行對(duì)比,如若發(fā)現(xiàn)是受到保護(hù)的文件則去查詢用戶與受保護(hù)文件的權(quán)限關(guān)系。用戶設(shè)置管理模塊會(huì)為每個(gè)用戶設(shè)置一個(gè)單獨(dú)的文件保護(hù)列表,訪問(wèn)控制子模塊通過(guò)每個(gè)用戶的文件保護(hù)列表查詢用戶是否可以訪問(wèn)受保護(hù)文件。如果是屬于該用戶的受保護(hù)文件則允許訪問(wèn),如果是屬于其他用戶的受保護(hù)文件,則隱藏受保護(hù)文件信息,即剪去受到保護(hù)的文件所占的緩沖區(qū)以及相關(guān)信息,將后面的信息與前面的信息連接,修改后的返回消息就不包括受到保護(hù)的文件,然后將修改后的返回消息傳到上層的應(yīng)用程序,使資源管理器或者其他程序無(wú)法訪問(wèn)到文件。
3.根據(jù)權(quán)利要求I或2所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述數(shù)據(jù)擦除模塊的處理流程為 一、根據(jù)所要?jiǎng)h除文件或文件夾的路徑,獲得該文件所在的卷,在Windows下,使用CreateFile以形如“\\. \X: ”的字符串作為名字打開(kāi)X盤(pán)即NTFS的卷;然后使用ReadFile讀取該卷的前512字節(jié),即起始扇區(qū),獲得以下參數(shù)每個(gè)扇區(qū)的字節(jié)數(shù)、每個(gè)簇所含的扇區(qū)數(shù)、主MFT所在的邏輯簇號(hào)、文件記錄的簇?cái)?shù)、索引記錄的簇?cái)?shù); 二、根據(jù)所要?jiǎng)h除文件的路徑,查找該文件ID 根據(jù)所要?jiǎng)h除文件的路徑,在由文件或文件夾MFT項(xiàng)構(gòu)成的B+樹(shù)中定位到相應(yīng)的文件或文件夾,并獲得該文件的文件ID ; 三、擦除文件相關(guān)信息 在獲得了文件ID之后,根據(jù)以下公式定位文件MFT項(xiàng)在磁盤(pán)上的位置 文件MFT項(xiàng)偏移量=文件ID*每個(gè)MFT項(xiàng)的字節(jié)數(shù)+主MFT的邏輯簇號(hào)*每個(gè)簇的字節(jié)數(shù); 然后根據(jù)文件MFT項(xiàng)頭的結(jié)構(gòu),將第0x17個(gè)字節(jié)與0x02個(gè)字節(jié)按位與,結(jié)果如果是0則判斷為文件,否則判斷為文件夾; 如果是文件,則執(zhí)行把文件在磁盤(pán)上分配的所有碎片通過(guò)指定的覆寫(xiě)方法進(jìn)行擦除,使得文件主體數(shù)據(jù)被徹底擦除,不能恢復(fù); 如果是文件夾,則需要先把文件夾中的子文件和文件夾刪除,最后刪除該文件夾。
4.根據(jù)權(quán)利要求3所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,在擦除文件主體數(shù)據(jù)之后,根據(jù)需要把文件MFT項(xiàng)進(jìn)行刪除或偽造處理,把文件MFT項(xiàng)中關(guān)于該文件的一些基本信息包括屬性$STANDARD_INFORMATION結(jié)構(gòu)中的創(chuàng)建時(shí)間、修改時(shí)間、文件大小,以及文件MFT末尾的可選數(shù)據(jù)流剝?nèi)?,防止文件周邊信息被泄露?br>
5.根據(jù)權(quán)利要求I或2所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述用戶設(shè)置管理模塊 將本系統(tǒng)的關(guān)鍵文件全部添加到文件保護(hù)列表中,因此非本系統(tǒng)的任何其它應(yīng)用程序都不能夠修改以及查看這些關(guān)鍵文件。
6.根據(jù)權(quán)利要求3所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述用戶設(shè)置管理模塊將本系統(tǒng)的關(guān)鍵文件全部添加到文件保護(hù)列表中,因此非本系統(tǒng)的任何其它應(yīng)用程序都不能夠修改以及查看這些關(guān)鍵文件。
7.根據(jù)權(quán)利要求I或2所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述自我保護(hù)模塊在應(yīng)用層和驅(qū)動(dòng)層之間互相驗(yàn)證的方法為自我保護(hù)模塊實(shí)現(xiàn)驅(qū)動(dòng)層與應(yīng)用層的互相保護(hù),驅(qū)動(dòng)正常情況下將處于鎖定狀態(tài),應(yīng)用層啟動(dòng)時(shí)會(huì)進(jìn)行驗(yàn)證解鎖,系統(tǒng)解鎖成功后,可以操作受保護(hù)的文件,反之解鎖失敗后系統(tǒng)仍處于鎖定狀態(tài),無(wú)法操作受保護(hù)的文件,應(yīng)用層程序退出運(yùn)行時(shí),會(huì)再次通知驅(qū)動(dòng)層程序,使之進(jìn)入鎖定狀態(tài);在系統(tǒng)處于鎖定狀態(tài)時(shí),任何程序無(wú)法訪問(wèn)受到保護(hù)的文件;在系統(tǒng)進(jìn)入解鎖狀態(tài)時(shí),只有用戶正常登陸系統(tǒng)才能訪問(wèn)擁有權(quán)限的文件。
8.根據(jù)權(quán)利要求3所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述自我保護(hù)模塊在應(yīng)用層和驅(qū)動(dòng)層之間互相驗(yàn)證的方法為自我保護(hù)模塊實(shí)現(xiàn)驅(qū)動(dòng)層與應(yīng)用層的互相保護(hù),驅(qū)動(dòng)正常情況下將處于鎖定狀態(tài),應(yīng)用層啟動(dòng)時(shí)會(huì)進(jìn)行驗(yàn)證解鎖,系統(tǒng)解鎖成功后,可以操作受保護(hù)的文件,反之解鎖失敗后系統(tǒng)仍處于鎖定狀態(tài),無(wú)法操作受保護(hù)的文件,應(yīng)用層程序退出運(yùn)行時(shí),會(huì)再次通知驅(qū)動(dòng)層程序,使之進(jìn)入鎖定狀態(tài);在系統(tǒng)處于鎖定狀態(tài)時(shí),任何程序無(wú)法訪問(wèn)受到保護(hù)的文件;在系統(tǒng)進(jìn)入解鎖狀態(tài)時(shí),只有用戶正常登陸系統(tǒng)才能訪問(wèn)擁有權(quán)限的文件。
9.根據(jù)權(quán)利要求7所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述自我保護(hù)模塊的解鎖方法是應(yīng)用層程序啟動(dòng)時(shí)向下層驅(qū)動(dòng)下發(fā)驗(yàn)證消息,下層驅(qū)動(dòng)驗(yàn)證該消息,如果驗(yàn)證失敗,系統(tǒng)仍處于鎖定狀態(tài);如果驗(yàn)證成功,對(duì)應(yīng)用層發(fā)來(lái)的消息處理并且返回反向驗(yàn)證消息,應(yīng)用層接到該消息立即進(jìn)行驗(yàn)證,若驗(yàn)證失敗則退出并且鎖定驅(qū)動(dòng),若驗(yàn)證成功則通知驅(qū)動(dòng)程序,應(yīng)用層和驅(qū)動(dòng)層驗(yàn)證成功后系統(tǒng)解除鎖定狀態(tài),此時(shí)應(yīng)用程序可以操作受到保護(hù)的文件。
10.根據(jù)權(quán)利要求8所述的一種數(shù)據(jù)防護(hù)系統(tǒng),其特征在于,所述自我保護(hù)模塊的解鎖方法是應(yīng)用層程序啟動(dòng)時(shí)向下層驅(qū)動(dòng)下發(fā)驗(yàn)證消息,下層驅(qū)動(dòng)驗(yàn)證該消息,如果驗(yàn)證失敗,系統(tǒng)仍處于鎖定狀態(tài);如果驗(yàn)證成功,對(duì)應(yīng)用層發(fā)來(lái)的消息處理并且返回反向驗(yàn)證消息,應(yīng)用層接到該消息立即進(jìn)行驗(yàn)證,若驗(yàn)證失敗則退出并且鎖定驅(qū)動(dòng),若驗(yàn)證成功則通知驅(qū)動(dòng)程序,應(yīng)用層和驅(qū)動(dòng)層驗(yàn)證成功后系統(tǒng)解除鎖定狀態(tài),此時(shí)應(yīng)用程序可以操作受到保護(hù) 的文件。
全文摘要
本發(fā)明涉及一種windows操作系統(tǒng)下的數(shù)據(jù)防護(hù)系統(tǒng),包括加密解密模塊對(duì)用戶指定的文件進(jìn)行加密或者解密;文件保護(hù)模塊截獲上層應(yīng)用程序的I/O請(qǐng)求,對(duì)文件保護(hù)列表內(nèi)的文件進(jìn)行驅(qū)動(dòng)級(jí)別的隱藏;數(shù)據(jù)擦除模塊對(duì)用戶指定的磁盤(pán)上的文件進(jìn)行不可恢復(fù)擦除;自我保護(hù)模塊在應(yīng)用層和驅(qū)動(dòng)層之間互相驗(yàn)證;用戶設(shè)置管理模塊為多個(gè)用戶分別在本系統(tǒng)中注冊(cè)賬號(hào),實(shí)現(xiàn)用戶安全模式的選擇;數(shù)據(jù)備份模塊用于備份注冊(cè)表以及本系統(tǒng)關(guān)鍵文件。本發(fā)明在windows操作系統(tǒng)下實(shí)現(xiàn)了一種集數(shù)據(jù)隱藏、加密、擦除、備份一體化的數(shù)據(jù)防護(hù)系統(tǒng),實(shí)現(xiàn)了對(duì)重要數(shù)據(jù)全方位、綜合性、系統(tǒng)化的安全防護(hù)。
文檔編號(hào)G06F21/00GK102722671SQ20121017995
公開(kāi)日2012年10月10日 申請(qǐng)日期2012年6月1日 優(yōu)先權(quán)日2012年6月1日
發(fā)明者關(guān)正, 李響, 李波, 鐘鳴, 陳博, 陳杰浩, 馬辰 申請(qǐng)人:北京理工大學(xué)