D11中的函數(shù)時(shí),通過HOOKwindowsAPIreadfile函數(shù),將密文轉(zhuǎn)化為明文,實(shí)現(xiàn)對D11的讀取。
[0024]在windows系統(tǒng)下,軟件生成新的文件一般都會調(diào)用windowsAPIcreatefile函數(shù),在修改文件點(diǎn)擊保存時(shí)一般會調(diào)用windowsAPImovefile, copyfile等函數(shù)。當(dāng)打開應(yīng)用程序源文件和運(yùn)行二進(jìn)制文件的時(shí)候,一般會調(diào)用windowsAP1penfile,readfile等函數(shù)。
[0025]因此,本發(fā)明的加密模塊需要HOOKcreatefile、movefile、copyfile、openfile、readfile 等 windowsAPI。
[0026]在Windows系統(tǒng)下,進(jìn)程進(jìn)行復(fù)制操作時(shí),會對剪切板進(jìn)行設(shè)置,把復(fù)制的內(nèi)容放進(jìn)剪切板;進(jìn)程進(jìn)行粘貼操作時(shí),會獲取剪切板內(nèi)容。這就存在著把加密進(jìn)程的內(nèi)容通過復(fù)制粘貼,發(fā)生泄密的可能。
[0027]本發(fā)明方法實(shí)時(shí)監(jiān)控剪切板,如圖5所示,當(dāng)調(diào)用設(shè)置剪切板API函數(shù)時(shí),對設(shè)置剪切板的API函數(shù)進(jìn)行Η00Κ,記錄當(dāng)前剪切板的寫入者的進(jìn)程信息;當(dāng)執(zhí)行拷貝剪切板的API函數(shù)時(shí),對拷貝剪切板的API函數(shù)進(jìn)行Η00Κ,根據(jù)剪切板的寫入者與剪切板的使用者的身份判斷是否允許拷貝,如果不允許拷貝,則返回剪切板為空的信息給使用者,如果允許拷貝,則將剪切板的內(nèi)容返回給使用者。
[0028]如果剪切板的寫入者的進(jìn)程是加密進(jìn)程,剪切板的使用者的進(jìn)程是非加密進(jìn)程,就不允許本次的拷貝,返回剪切板的內(nèi)容為空信息,杜絕以復(fù)制粘貼的方式泄密。其他情況都是允許拷貝的。
[0029]設(shè)置剪切板的API是SetClipboardData函數(shù),拷貝剪切板的API是GetClipboardData函數(shù),要實(shí)現(xiàn)上述功能,需要Η00Κ這兩個(gè)API,在進(jìn)程執(zhí)行SetClipboardData之前,記錄剪切板的寫入者的進(jìn)程信息,再執(zhí)行SetClipboardData操作;在進(jìn)程執(zhí)行GetClipboardData之前,根據(jù)剪切板的拷貝策略判斷是否允許本次拷貝,允許的話,執(zhí)行GetClipboardData操作,否則返回剪切板的內(nèi)容為空信息。
[0030]截屏也可以是一種泄密的方法,拷屏可以把需要防泄密的源文件的內(nèi)容截屏后以圖片的方式保存起來。Windows本身就自帶截屏工具,很多截屏軟件,甚至是聊天工具都會帶有截屏的功能。本發(fā)明方法會監(jiān)控各種截屏的操作,當(dāng)用戶截屏的時(shí)候,會判斷當(dāng)前顯示的窗口中是否包含需要防泄密的文件窗口,如果包含,則禁止截屏,如果不包含,則允許用戶正常截屏。截屏控制、文件打印控制的實(shí)現(xiàn)方法相似,只是要Η00Κ的API不一樣而已,所以不再詳細(xì)說明。
[0031]以上通過分別描述每個(gè)過程的實(shí)施場景案例,詳細(xì)描述了本發(fā)明,本領(lǐng)域的技術(shù)人員應(yīng)能理解,在不脫離本發(fā)明實(shí)質(zhì)的范圍內(nèi),可以作修改和變形。
【主權(quán)項(xiàng)】
1.一種保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用加密模塊,所述加密模塊對Web應(yīng)用程序的源文件、編譯生成的二進(jìn)制文件或D11文件進(jìn)行透明加密,在打開被加密的源文件、運(yùn)行被加密的二進(jìn)制文件或D11文件時(shí)進(jìn)行透明解密;以及采用軟件行為控制模塊對Web應(yīng)用程序的開發(fā)軟件進(jìn)行行為控制管理。2.根據(jù)權(quán)利要求1所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用加密模塊實(shí)現(xiàn)對應(yīng)用程序源文件加密和解密的方法為:HOOK用于保存/打開文件的API函數(shù),執(zhí)行加密/解密函數(shù),對源文件進(jìn)行加密/解密;繼續(xù)執(zhí)行用于保存/打開文件的API函數(shù)。3.根據(jù)權(quán)利要求1所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用加密模塊實(shí)現(xiàn)對應(yīng)用程序二進(jìn)制文件進(jìn)行加密、運(yùn)行時(shí)解密的方法為:HOOK用于產(chǎn)生二進(jìn)制文件的API函數(shù),執(zhí)行加密操作,繼續(xù)執(zhí)行產(chǎn)生二進(jìn)制文件的API函數(shù);運(yùn)行應(yīng)用程序的二進(jìn)制文件時(shí),HOOK用于讀取二進(jìn)制文件的API函數(shù),執(zhí)行解密操作,繼續(xù)執(zhí)行讀取二進(jìn)制文件的API函數(shù)。4.根據(jù)權(quán)利要求1所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用加密模塊實(shí)現(xiàn)對D11文件進(jìn)行加密,在D11加載到進(jìn)程空間時(shí),進(jìn)行透明解密;所述透明解密的方法為:H00K NTDLL.dll中用于加載動態(tài)庫的API和文件操作的API,對Dll中的密文進(jìn)行透明解密。5.根據(jù)權(quán)利要求1所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:對軟件進(jìn)行行為控制包括源文件復(fù)制粘貼、打印、截屏。6.根據(jù)權(quán)利要求5所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用軟件行為控制模塊對源文件復(fù)制粘貼的控制方法為:對剪切板的設(shè)置及粘貼API進(jìn)行Η00Κ,當(dāng)調(diào)用剪切板設(shè)置函數(shù)時(shí),記錄當(dāng)前剪切板的寫入者的進(jìn)程信息;當(dāng)執(zhí)行將剪切板內(nèi)容拷貝時(shí),根據(jù)剪切板的寫入者與剪切板的使用者的身份判斷是否允許拷貝,如果不允許拷貝,則返回剪切板為空的信息給使用者;如果允許拷貝,則將剪切板的內(nèi)容返回給使用者。7.根據(jù)權(quán)利要求5所述的保護(hù)Web應(yīng)用程序安全的方法,其特征在于:采用軟件行為控制模塊對文件截屏的控制的方法為:Η00Κ對文件進(jìn)行截屏的API函數(shù);判斷當(dāng)前顯示的窗口中是否包含需要防泄密的源文件窗口 ;如果包含,則禁止截屏操作;如果不包含,則繼續(xù)執(zhí)行截屏的API函數(shù)。
【專利摘要】本發(fā)明提供一種保護(hù)Web應(yīng)用程序安全的方法。所述方法包括采用加密模塊對Web應(yīng)用程序的源文件、編譯生成的二進(jìn)制文件或Dll文件進(jìn)行透明加密,在打開被加密的源文件、運(yùn)行被加密的二進(jìn)制文件時(shí)進(jìn)行透明解密;以及采用軟件行為控制模塊對Web應(yīng)用程序的開發(fā)軟件進(jìn)行控制管理。加密模塊和軟件行為控制模塊的核心技術(shù)為API?HOOK技術(shù),即通過攔截相關(guān)的API的請求后執(zhí)行跳轉(zhuǎn)函數(shù)來實(shí)現(xiàn)保護(hù)應(yīng)用程序安全的功能。本發(fā)明方法可以防止Web應(yīng)用程序源文件泄密,二進(jìn)制文件的反編譯,構(gòu)建了一個(gè)應(yīng)用程序從開發(fā)到運(yùn)行的安全的工作環(huán)境,適用范圍廣。本發(fā)明方法無需額外硬件支持,性價(jià)比高,使用直觀,操作便捷,適用面廣。
【IPC分類】G06F21/14
【公開號】CN105303074
【申請?zhí)枴緾N201510663477
【發(fā)明人】陳萬江, 張衛(wèi), 戴林俊, 王海波, 趙孝磊
【申請人】江蘇敏捷科技股份有限公司
【公開日】2016年2月3日
【申請日】2015年10月15日