一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全的主機(jī)安全技術(shù)領(lǐng)域,具體涉及一種基于內(nèi)核模塊的Iinux文件密級標(biāo)識(shí)的方法。
【背景技術(shù)】
[0002]為支持各種文件系統(tǒng),且同時(shí)允許訪問其他操作系統(tǒng)的文件,Iinux內(nèi)核在用戶進(jìn)程和文件系統(tǒng)之間引入了一個(gè)抽象層,該抽象層為虛擬文件系統(tǒng)(VFS),一方面,它用來提供一種操作文件、目錄及其他對象的統(tǒng)一方法。另一方面,它能夠與各種方法給出的具體文件系統(tǒng)的實(shí)現(xiàn)達(dá)成妥協(xié)。
[0003]從用戶角度來看,文件操作由標(biāo)準(zhǔn)庫的函數(shù)執(zhí)行。這些函數(shù)指示內(nèi)核執(zhí)行系統(tǒng)調(diào)用,然后系統(tǒng)調(diào)用執(zhí)行所需的操作,各個(gè)文件系統(tǒng)實(shí)現(xiàn)的接口可能不同,通過VFS提供的抽象操作,將通用文件對象與具體文件系統(tǒng)實(shí)現(xiàn)的底層機(jī)制關(guān)聯(lián)起來。
[0004]文件密級標(biāo)識(shí)是目前信息安全領(lǐng)域新型的安全應(yīng)用市場需求,現(xiàn)在市場上一種是基于訪問權(quán)限的,但是這種方式一旦被攻破獲取足夠權(quán)限,便可以肆無忌憚地訪問機(jī)密數(shù)據(jù),該方法的防范措施是比較脆弱的;另外一種是數(shù)據(jù)加密方式,雖然機(jī)密性比較強(qiáng),但是每次用戶都需要手動(dòng)加解密,操作繁瑣,極大地影響了系統(tǒng)性能。但是本發(fā)明通過引入了配置文件模塊,使得對系統(tǒng)的控制更加靈活,同時(shí)采用了一種對稱的加解密機(jī)制,打造了一個(gè)更加實(shí)用安全的透明加解密文件系統(tǒng)。
【發(fā)明內(nèi)容】
[0005]為了克服現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提供了一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,在內(nèi)核態(tài)的VFS管控相應(yīng)的文件操作函數(shù),實(shí)現(xiàn)對機(jī)密敏感的電子文檔在硬盤上以密文的形式進(jìn)行分級保護(hù);并且在整個(gè)操作的過程中,對用戶是透明的。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,通過內(nèi)核模塊實(shí)現(xiàn)文件密級標(biāo)識(shí)功能,通過指令管控文件操作在虛擬文件系統(tǒng)中的函數(shù),當(dāng)內(nèi)核態(tài)執(zhí)行到管控的函數(shù)時(shí),通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊,如果為加密文件,則讀取配置文件,判斷用戶或進(jìn)程是否有明文讀寫的權(quán)限,如果有,就會(huì)在內(nèi)核態(tài)做相應(yīng)的加解密操作;如果不是加密文件或者沒有相應(yīng)的權(quán)限,則不處理,繼續(xù)按照系統(tǒng)流程執(zhí)行。
[0007]進(jìn)一步地,通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊的方法是:通過修改指令,當(dāng)執(zhí)行到管控的文件操作的函數(shù)時(shí),將CPU指令引導(dǎo)到文件密級標(biāo)識(shí)模塊,對相應(yīng)接口功能的輸入?yún)?shù)、返回值進(jìn)行監(jiān)控管理,同時(shí)保存管控函數(shù)的系統(tǒng)返回地址及通過指令修改的函數(shù)返回地址。
[0008]進(jìn)一步地,所述返回值用于判斷是否繼續(xù)執(zhí)行管控函數(shù):如果前處理過程中已經(jīng)將管控函數(shù)按照新的流程進(jìn)行改寫,則直接跳轉(zhuǎn)到管控函數(shù)的系統(tǒng)返回地址,返回到系統(tǒng)操作的正常流程中;如果前處理僅在管控函數(shù)之前添加了操作,則需跳轉(zhuǎn)到管控函數(shù)內(nèi)繼續(xù)執(zhí)行。
[0009]進(jìn)一步地,當(dāng)管控函數(shù)執(zhí)行完成后,根據(jù)通過指令修改的函數(shù)返回地址,按照指令跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊的后處理,進(jìn)行文件透明加解密操作。
[0010]進(jìn)一步地,當(dāng)加解密操作完成后,跳轉(zhuǎn)到管控函數(shù)的系統(tǒng)返回地址,返回到系統(tǒng)操作的正常流程中。
[0011 ]進(jìn)一步地,所述加密文件通過加解密的函數(shù)接口進(jìn)行判斷。
[0012]進(jìn)一步地,用戶或進(jìn)程是否有明文讀寫權(quán)限的判斷方法是:讀取配置文件時(shí),如果當(dāng)前進(jìn)程的程序名能夠在配置文件中匹配到,則判斷具有明文讀寫權(quán)限。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:直接從內(nèi)核態(tài)實(shí)現(xiàn)對機(jī)密敏感文檔的分級保護(hù)和密級標(biāo)識(shí),對用戶操作透明,不影響用戶的日常使用習(xí)慣,并且能對我國主機(jī)加密文檔保護(hù)技術(shù)、國產(chǎn)操作系統(tǒng)的推廣起到積極的促進(jìn)作用,具體表現(xiàn)如下:
[0014]1、本發(fā)明在內(nèi)核態(tài)通過指令控制函數(shù)跳轉(zhuǎn),使得內(nèi)核模塊具有文件密級標(biāo)識(shí)的功會(huì)K。
[0015]2、本發(fā)明通過修改管控函數(shù)的跳轉(zhuǎn)指令,過濾出關(guān)心的文件進(jìn)行文件密級標(biāo)識(shí),而不關(guān)心的文件繼續(xù)按照系統(tǒng)流程進(jìn)行,所以加載本模塊不會(huì)影響內(nèi)核的正常操作。
[0016]3、本發(fā)明可根據(jù)用戶指定的策略表來控制文件的訪問權(quán)限,并且文件操作在內(nèi)核中進(jìn)行加解密處理對用戶都是透明的,用戶看到的都是明文,所以不會(huì)影響用戶日常操作習(xí)慣。
[0017]4、本發(fā)明可適應(yīng)任何兼容Linux的操作系統(tǒng),且適應(yīng)X86或MIPS等多種平臺(tái)。
【附圖說明】
[0018]本發(fā)明將通過例子并參照附圖的方式說明,其中:
[0019]圖1是本發(fā)明方法的原理框圖。
【具體實(shí)施方式】
[0020]本發(fā)明實(shí)現(xiàn)的功能是實(shí)現(xiàn)對有明文讀寫權(quán)限的用戶進(jìn)行透明加解密處理,保證數(shù)據(jù)在硬盤是以密文形式存在,而用戶始終看到的是明文數(shù)據(jù);并且文件在內(nèi)核態(tài)進(jìn)行的一系列文件加解密操作對用戶都是無感、透明的。
[0021]內(nèi)核模塊是實(shí)現(xiàn)文件密級標(biāo)識(shí)功能,通過指令管控文件操作在VFS虛擬文件系統(tǒng)中的函數(shù),在內(nèi)核態(tài)執(zhí)行到管控的函數(shù)時(shí),通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊,具體的實(shí)現(xiàn)步驟如下:
[0022]1、執(zhí)行文件密級的前處理操作:通過修改指令,當(dāng)執(zhí)行到管控的文件操作的函數(shù)時(shí),將CPU指令引導(dǎo)到文件密級標(biāo)識(shí)模塊,對相應(yīng)接口功能的輸入?yún)?shù)、返回值進(jìn)行監(jiān)控管理,同時(shí)保存管控函數(shù)的系統(tǒng)返回地址及通過指令修改的函數(shù)返回地址。
[0023]2、在執(zhí)行前處理操作時(shí),通過加解密的函數(shù)接口判斷是否為加密文件,當(dāng)判斷為加密文件時(shí),讀取配置文件,如果當(dāng)前進(jìn)程的程序名能夠在配置文件中匹配到,則說明文件具有明文讀取權(quán)限。
[0024]3、當(dāng)執(zhí)行完文件密級標(biāo)識(shí)的前處理操作后,根據(jù)前處理的返回值判斷是否繼續(xù)執(zhí)行管控函數(shù),如果前處理過程中已經(jīng)將管控函數(shù)按照新的流程進(jìn)行改寫,則不進(jìn)行下面步驟的操作,直接跳轉(zhuǎn)到管控函數(shù)的系統(tǒng)返回地址,返回到系統(tǒng)操作的正常流程中,如果前處理只是在管控函數(shù)之前添加一些操作,則需跳轉(zhuǎn)到管控函數(shù)內(nèi)繼續(xù)執(zhí)行。
[0025]4、當(dāng)管控的內(nèi)核函數(shù)執(zhí)行完成后,根據(jù)第一步修改過的地址,按照指令跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊的后處理,進(jìn)行文件透明加解密操作。
[0026]5、根據(jù)第一步保存的管控函數(shù)的系統(tǒng)返回地址,當(dāng)模塊后處理完成后,返回到系統(tǒng)操作的正常流程中。
[0027]本發(fā)明使用后,就會(huì)監(jiān)控文件操作,當(dāng)判斷為加密文件時(shí),會(huì)讀取配置文件,判斷用戶或進(jìn)程是否有明文讀寫的權(quán)限,如果有,就會(huì)在內(nèi)核態(tài)做相應(yīng)的加解密操作。如果不是加密文件或者沒有相應(yīng)的權(quán)限,則不處理,繼續(xù)按照系統(tǒng)流程執(zhí)行。
[0028]在圖1中,右側(cè)的虛線部分是由本發(fā)明實(shí)現(xiàn)的。通過本發(fā)明當(dāng)用戶進(jìn)行文件操作時(shí),經(jīng)過系統(tǒng)調(diào)用進(jìn)入內(nèi)核態(tài),在內(nèi)核中,通過文件密級標(biāo)識(shí)的前處理和后處理操作,將密級文檔進(jìn)行加解密操作,并且對用戶是透明的,從而實(shí)現(xiàn)用戶所有的文件操作都會(huì)被安全保護(hù),密級文檔不會(huì)被有意或無意的泄漏。
[0029]實(shí)施本發(fā)明時(shí):
[0030 ] 1、將本發(fā)明提供的模塊加載到I inux操作系統(tǒng)的內(nèi)核中。
[0031 ] 2、I inux文件密級標(biāo)識(shí)加載到內(nèi)核后,用戶不管是通過命令還是通過圖形化界面操作文件都會(huì)調(diào)用此模塊,實(shí)現(xiàn)文件密級標(biāo)識(shí)和文件密級保護(hù)的功能。
[0032]3、用戶按照日常的操作習(xí)慣打開,讀、寫、關(guān)閉等文件操作即可,模塊所有的處理都是在內(nèi)核態(tài)進(jìn)行的。
【主權(quán)項(xiàng)】
1.一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:通過內(nèi)核模塊實(shí)現(xiàn)文件密級標(biāo)識(shí)功能,通過指令管控文件操作在虛擬文件系統(tǒng)中的函數(shù),當(dāng)內(nèi)核態(tài)執(zhí)行到管控的函數(shù)時(shí),通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊,如果為加密文件,則讀取配置文件,判斷用戶或進(jìn)程是否有明文讀寫的權(quán)限,如果有,就會(huì)在內(nèi)核態(tài)做相應(yīng)的加解密操作;如果不是加密文件或者沒有相應(yīng)的權(quán)限,則不處理,繼續(xù)按照系統(tǒng)流程執(zhí)行。2.根據(jù)權(quán)利要求1所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊的方法是:通過修改指令,當(dāng)執(zhí)行到管控的文件操作的函數(shù)時(shí),將CHJ指令引導(dǎo)到文件密級標(biāo)識(shí)模塊,對相應(yīng)接口功能的輸入?yún)?shù)、返回值進(jìn)行監(jiān)控管理,同時(shí)保存管控函數(shù)的系統(tǒng)返回地址及通過指令修改的函數(shù)返回地址。3.根據(jù)權(quán)利要求2所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:所述返回值用于判斷是否繼續(xù)執(zhí)行管控函數(shù):如果前處理過程中已經(jīng)將管控函數(shù)按照新的流程進(jìn)行改寫,則直接跳轉(zhuǎn)到管控函數(shù)的系統(tǒng)返回地址,返回到系統(tǒng)操作的正常流程中;如果前處理僅在管控函數(shù)之前添加了操作,則需跳轉(zhuǎn)到管控函數(shù)內(nèi)繼續(xù)執(zhí)行。4.根據(jù)權(quán)利要求3所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:當(dāng)管控函數(shù)執(zhí)行完成后,根據(jù)通過指令修改的函數(shù)返回地址,按照指令跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊的后處理,進(jìn)行文件透明加解密操作。5.根據(jù)權(quán)利要求4所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:當(dāng)加解密操作完成后,跳轉(zhuǎn)到管控函數(shù)的系統(tǒng)返回地址,返回到系統(tǒng)操作的正常流程中。6.根據(jù)權(quán)利要求1所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:所述加密文件通過加解密的函數(shù)接口進(jìn)行判斷。7.根據(jù)權(quán)利要求1所述的一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,其特征在于:用戶或進(jìn)程是否有明文讀寫權(quán)限的判斷方法是:讀取配置文件時(shí),如果當(dāng)前進(jìn)程的程序名能夠在配置文件中匹配到,則判斷具有明文讀寫權(quán)限。
【專利摘要】本發(fā)明公開了一種基于內(nèi)核模塊的文件密級標(biāo)識(shí)的方法,通過內(nèi)核模塊實(shí)現(xiàn)文件密級標(biāo)識(shí)功能,通過指令管控文件操作在虛擬文件系統(tǒng)中的函數(shù),當(dāng)內(nèi)核態(tài)執(zhí)行到管控的函數(shù)時(shí),通過指令轉(zhuǎn)換跳轉(zhuǎn)到文件密級標(biāo)識(shí)模塊,如果為加密文件,則讀取配置文件,判斷用戶或進(jìn)程是否有明文讀寫的權(quán)限,如果有,就會(huì)在內(nèi)核態(tài)做相應(yīng)的加解密操作;如果不是加密文件或者沒有相應(yīng)的權(quán)限,則不處理,繼續(xù)按照系統(tǒng)流程執(zhí)行。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:本發(fā)明直接從內(nèi)核態(tài)實(shí)現(xiàn)對機(jī)密敏感文檔的分級保護(hù)和密級標(biāo)識(shí),對用戶操作透明,不影響用戶的日常使用習(xí)慣,并且能對我國主機(jī)加密文檔保護(hù)技術(shù)、國產(chǎn)操作系統(tǒng)的推廣起到積極的促進(jìn)作用。
【IPC分類】G06F21/60, G06F21/62
【公開號】CN105447397
【申請?zhí)枴緾N201610007866
【發(fā)明人】劉靜菠
【申請人】成都衛(wèi)士通信息產(chǎn)業(yè)股份有限公司
【公開日】2016年3月30日
【申請日】2016年1月7日