專利名稱:一種保護瀏覽器的防篡改方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機安全防護領(lǐng)域,尤其是一種保護瀏覽器的防篡改方法和裝置。
背景技術(shù):
電子商務(wù)的快速發(fā)展,帶來了巨大的商機。全新的消費模式的高速發(fā)展,人們的安全防護意識還跟不上科技的發(fā)展。因此,需要安全防護軟件廠商,國家網(wǎng)絡(luò)管理部門,人們的積極監(jiān)督才能保證網(wǎng)絡(luò)的健康發(fā)展。電子商務(wù)需要進一步發(fā)展,需要排除釣魚網(wǎng)站和木馬病毒的隱患。受到釣魚和木馬影響的用戶越來越多,這些用戶中不少是通過瀏覽器瀏覽網(wǎng)購網(wǎng)站,通過瀏覽器完成交易。用戶幾乎所有的操作步驟都從瀏覽器上執(zhí)行,因此保護瀏覽器的安全使用就成為了一項重大的任務(wù)。例如,我國專利申請?zhí)?0111045617.2公開了一種識別被篡改網(wǎng)頁的方法及裝置。其通過網(wǎng)址欄輸入URL獲得的頁面與模擬由鏈接跳轉(zhuǎn)方式獲得的頁面的比較,根據(jù)比較結(jié)果判斷是否網(wǎng)頁頁面是否被篡改。這種方式是后發(fā)制人的方式,當網(wǎng)頁被篡改后才能被發(fā)現(xiàn),若發(fā)現(xiàn)不及時,用戶的利益會遭受到損失。這種方式不利于從源頭上防止惡意程序的進入。為了避免用戶的瀏覽器在網(wǎng)購時被病毒篡改,導(dǎo)致用戶的金錢損失,需要從瀏覽器上防止病毒程序,阻止病毒程序進行瀏覽器修改,需要一種主動的防御模式。
發(fā)明內(nèi)容
本發(fā)明的目的,就是克服現(xiàn)有技術(shù)的不足,提供一種能在進入網(wǎng)購模式后,防止未知進程修改瀏覽器進程的保護瀏覽器的防篡改方法和裝置。為了達到上述目的,采用如下技術(shù)方案:—種保護瀏覽器的防篡改方法,包括以下步驟:提取瀏覽器的訪問網(wǎng)址;檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址;監(jiān)控瀏覽器進程,判斷是否存在修改瀏覽器進程的進程;判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程。進一步地,所述監(jiān)測瀏覽器進程,判斷是否存在修改瀏覽器進程的進程包括監(jiān)測瀏覽器進程的內(nèi)存,判斷是否存在修改瀏覽器進程內(nèi)存的進程;或監(jiān)測瀏覽器進程的代碼,判斷是否存在針對瀏覽器進程的遠程線程注入操作。進一步地,所述瀏覽器訪問的目標網(wǎng)址包括網(wǎng)購網(wǎng)址。進一步地,所述判斷所述進程是否為安全進程包括把所述進程與云端進程數(shù)據(jù)庫的安全進程對比或與本地進程數(shù)據(jù)庫的安全進程對比。進一步地,所述瀏覽器包括基于Trident、Gecko、Presto、Webkit、WebCore、KHTML內(nèi)核的瀏覽器。一種保護瀏覽器的防篡改裝置,包括:提取模塊,用于提取瀏覽器的訪問網(wǎng)址;檢測模塊,用于檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址;目標網(wǎng)址數(shù)據(jù)庫,用于存儲目標網(wǎng)址;監(jiān)視模塊,用于通過監(jiān)控瀏覽器進程,判斷是否存在修改瀏覽器進程的進程;處理模塊,用于判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程;云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫,用于存儲安全進程的信息。進一步地,所述檢測模塊檢測瀏覽器的訪問網(wǎng)址與預(yù)設(shè)的目標網(wǎng)址是否一致,若一致,則檢測模塊通知監(jiān)視模塊監(jiān)視瀏覽器進程。進一步地,所述監(jiān)視模塊包括內(nèi)存監(jiān)視單元和代碼監(jiān)視單元,所述內(nèi)存監(jiān)視單元用于檢測瀏覽器進程的內(nèi)存,所述代碼監(jiān)視單元用于檢測瀏覽器進程的代碼,所述內(nèi)存監(jiān)視單元或代碼監(jiān)視單元監(jiān)視是否存進程修改瀏覽器進程,若存在,則通知處理模塊處理所述進程。進一步地,所述處理模塊把所述進程的信息與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫的安全進程的信息對比,若所述進程的信息與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫的安全進程的信息相同,則處理模塊判斷所述進程為安全進程,所述進程的信息包括進程的名稱,對應(yīng)的執(zhí)行文件和執(zhí)行文件所在目錄。進一步地,所述瀏覽器包括基于Trident、Gecko、Presto、Webkit、WebCore、KHTML內(nèi)核的瀏覽器。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:本發(fā)明在瀏覽器進入網(wǎng)購模式后,采取主動防御方式,防止未知進程或惡意進程修改瀏覽器進程。通過鉤子機制監(jiān)控瀏覽器進程,檢測是否存在未知進程修改瀏覽器進程的內(nèi)存或通過遠程線程注入代碼,從兩方面保證瀏覽器正常工作,防止瀏覽器進程被未知或惡意進程修改,維護了用戶的安全,避免了用戶的財產(chǎn)損失。本發(fā)明適用使用不同內(nèi)核的瀏覽器。
圖1是本發(fā)明所述保護瀏覽器的防篡改方法的流程圖;圖2是本發(fā)明所述保護瀏覽器的防篡改裝置的結(jié)構(gòu)示意圖。圖不:I一提取模塊;2—檢測模塊;3 —目標網(wǎng)址數(shù)據(jù)庫;4一監(jiān)視模塊;41 一內(nèi)存監(jiān)視單元;42—代碼監(jiān)視單元;5—處理模塊;6—本地進程數(shù)據(jù)庫。
具體實施例方式下面將結(jié)合附圖以及具體實施方法來詳細說明本發(fā)明,在本發(fā)明的示意性實施及說明用來解釋本發(fā)明,但并不作為對本發(fā)明的限定。請參閱圖1,其是本發(fā)明保護瀏覽器的防篡改方法的流程圖。該方法包括以下步驟:SlO:提取瀏覽器的訪問網(wǎng)址。
具體地,在瀏覽器啟動后,檢測瀏覽器的瀏覽狀態(tài)。當用戶啟動瀏覽器后,記錄瀏覽器訪問的網(wǎng)址。瀏覽器訪問的網(wǎng)址可以通過系統(tǒng)日志實時獲得,也可以通過瀏覽器的網(wǎng)址欄在訪問頁面直接獲得。S20:檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址。具體地,判斷瀏覽器的訪問網(wǎng)址是否與預(yù)設(shè)的目標網(wǎng)址相同。當瀏覽器的訪問網(wǎng)址與預(yù)設(shè)的目標網(wǎng)址相同時,開始監(jiān)控瀏覽器進程,防止瀏覽器進程被修改。所述目標網(wǎng)址優(yōu)選為網(wǎng)購網(wǎng)址。若瀏覽器訪問的網(wǎng)頁網(wǎng)址為網(wǎng)購網(wǎng)址,則瀏覽器進入了網(wǎng)購模式。S30:監(jiān)控瀏覽器進程,判斷是否存在修改瀏覽器進程的進程。瀏覽器進入網(wǎng)購模式后,監(jiān)控瀏覽器進程。通過現(xiàn)有技術(shù)鉤子(HOOK)機制獲知瀏覽器進程的狀態(tài)。通過系統(tǒng)函數(shù)可以修改內(nèi)存,修改內(nèi)存過程中需要加載驅(qū)動。在驅(qū)動里面掛鉤具有防御功能的函數(shù),如果存在修改內(nèi)存的動作,則會發(fā)現(xiàn)進程的修改動作。監(jiān)視瀏覽器進程主要包括是否存在進程修改瀏覽器進程的內(nèi)存或針對瀏覽器進程通過遠程線程注入代碼。所述修改瀏覽器進程的內(nèi)存指通過修改瀏覽器進程執(zhí)行期間使用的動態(tài)分配的內(nèi)存,改變?yōu)g覽器進程的工作狀態(tài),影響瀏覽器進程的正常工作。所述針對瀏覽器進程通過遠程線程注入代碼指通過遠程線程注入新的代碼,令瀏覽器進程具有新的功能模塊。例如,瀏覽器進程具有打開網(wǎng)頁的功能,若注入新的代碼,代碼形成具有記錄賬號和密碼并發(fā)送至遠方服務(wù)器的功能模塊,則瀏覽器進程既有打開網(wǎng)頁的功能,又有記錄賬號和密碼并發(fā)送至遠方服務(wù)器的功能。所述進程在修改瀏覽器進程的內(nèi)存或針對瀏覽器進程通過遠程線程注入新代碼之前,這些動作在windows操作系統(tǒng)中產(chǎn)生相應(yīng)的消息。若通過鉤子機制獲知瀏覽器進程的內(nèi)存被修改或針對瀏覽器進程通過遠程線程注入新的代碼兩種情況中的任一種消息,則存在修改瀏覽器進程的進程。S40:判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程。具體地,判斷所述進程是否為安全進程通過把所述進程與云端進程數(shù)據(jù)庫的安全進程對比或與本地進程數(shù)據(jù)庫的安全進程對比。所述云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫中存儲有安全進程的信息。所述安全進程的信息包括進程的名稱,進程對應(yīng)的執(zhí)行文件,執(zhí)行文件所在目錄等信息。若所述進程的名稱,對應(yīng)的執(zhí)行文件,執(zhí)行文件所在目錄均與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫中存儲的安全進程的信息相同,則判斷所述進程為安全進程。允許所述進程修改瀏覽器進程。如果所述進程的名稱,對應(yīng)的執(zhí)行文件,執(zhí)行文件所在目錄均與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫中存儲的安全進程的信息不相同,則判斷所述進程為未知進程,阻止所述進程修改瀏覽器進程。通過發(fā)送指令命令瀏覽器內(nèi)核停止執(zhí)行修改動作,以達到阻止所述進程修改瀏覽器進程的目的。本實施例的瀏覽器包括基于Trident、Gecko、Presto、Webkit、WebCore、KHTML 內(nèi)核的瀏覽器。基于Trident、Gecko、Presto、Webkit、WebCore、KHTML內(nèi)核的瀏覽器都適用本實施例。請參考圖2,其為保護瀏覽器的防篡改裝置的一種結(jié)構(gòu)示意圖,包括:提取模塊1,檢測模塊2,目標網(wǎng)址數(shù)據(jù)庫3,監(jiān)視模塊4,內(nèi)存監(jiān)視單元41,代碼監(jiān)視單元42,處理模塊5,本地進程數(shù)據(jù)庫6。提取模塊1,用于提取瀏覽器的訪問網(wǎng)址。訪問網(wǎng)址從系統(tǒng)日志實時獲得,也可以通過瀏覽器的網(wǎng)址欄在訪問頁面直接獲得。提取模塊I提取了瀏覽器的訪問網(wǎng)址,發(fā)送至檢測模塊2。檢測模塊2接收到訪問網(wǎng)址,檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址。若訪問網(wǎng)址是目標網(wǎng)址,通知監(jiān)視模塊4監(jiān)控瀏覽器進程;若訪問網(wǎng)址不是目標網(wǎng)址,繼續(xù)檢測瀏覽器的訪問網(wǎng)址。所述目標網(wǎng)址存儲于目標網(wǎng)址數(shù)據(jù)庫3,目標網(wǎng)址的類型可根據(jù)實際情況設(shè)定。檢測模塊2通過訪問網(wǎng)址和目標網(wǎng)址數(shù)據(jù)庫3中的目標網(wǎng)址,若兩者相同,則訪問網(wǎng)址為目標網(wǎng)址。優(yōu)選地,所述目標完治數(shù)據(jù)庫3中存儲的目標網(wǎng)址為網(wǎng)購網(wǎng)址。若瀏覽器的訪問網(wǎng)址與目標網(wǎng)址數(shù)據(jù)庫3中的網(wǎng)購網(wǎng)址相同,則瀏覽器進入網(wǎng)購模式,發(fā)送消息至監(jiān)視模塊4,監(jiān)視模塊4開始監(jiān)控瀏覽器進程。監(jiān)視模塊4用于監(jiān)控瀏覽器進程,攔截修改瀏覽器進程的進程。所述監(jiān)視模塊4包括內(nèi)存監(jiān)視單元41和代碼監(jiān)視單元42。所述內(nèi)存監(jiān)視單元41用于監(jiān)視瀏覽器的內(nèi)存;所述代碼監(jiān)視單元42用于監(jiān)視瀏覽器進程的代碼。該進程修改瀏覽器進程前,會產(chǎn)生相應(yīng)的消息。所述內(nèi)存監(jiān)視單元41從消息中檢測出所述進程存在修改瀏覽器內(nèi)存的消息或所述代碼監(jiān)視單元42從消息中檢測所述進程存在遠程線程注入代碼的消息,則監(jiān)視模塊4通知處理模塊5處理所述進程。所述內(nèi)存監(jiān)視單元41或代碼監(jiān)視單元42通過鉤子機制獲取所述進程的消息。處理模塊5用于判斷所述進程是否為安全進程,若是,允許所述進程修改瀏覽器進程;若否,阻止所述進程修改瀏覽器進程。所述處理模塊5通過所述進程的信息與本地進程數(shù)據(jù)庫6的安全進程的信息對比,判斷所述進程是否為安全進程。所述進程的信息包括進程的名稱,進程對應(yīng)的執(zhí)行文件,執(zhí)行文件所在目錄等信息。若所述進程的信息包括進程的名稱,進程對應(yīng)的執(zhí)行文件,執(zhí)行文件所在目錄與本地進程數(shù)據(jù)庫6的安全進程的信息相同,則處理模塊判斷所述進程為安全進程;若否,則處理模塊判斷所述進程為未知進程,攔截未知進程對瀏覽器進程的修改。通過發(fā)送指令命令瀏覽器內(nèi)核停止執(zhí)行修改動作,以達到阻止所述進程修改瀏覽器進程的目的。所述瀏覽器包括基于Trident、Gecko、Presto、Webkit、WebCore、KHTML 內(nèi)核的瀏
IrWSBJaL-HPT O進一步地,所述處理模塊5通過所述進程的信息與云端進程數(shù)據(jù)庫的安全進程的信息對比,判斷所述進程是否為安全進程。云端進程數(shù)據(jù)庫的更新速度比本地的快,判斷未知進程的速度更快,準確度更高。以上對本發(fā)明實施例所提供的技術(shù)方案進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明實施例的原理以及實施方式進行了闡述,以上實施例的說明只適用于幫助理解本發(fā)明實施例的原理;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例,在具體實施方式
以及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種保護瀏覽器的防篡改方法,其特征在于,包括以下步驟: 提取瀏覽器的訪問網(wǎng)址; 檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址; 監(jiān)測瀏覽器進程,判斷是否存在修改瀏覽器進程的進程; 判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程。
2.根據(jù)權(quán)利要求1所述的保護瀏覽器的防篡改方法,其特征在于:所述監(jiān)測瀏覽器進程,判斷是否存在修改瀏覽器進程的進程包括監(jiān)測瀏覽器進程的內(nèi)存,判斷是否存在修改瀏覽器進程內(nèi)存的進程;或監(jiān)測瀏覽器進程的代碼,判斷是否存在針對瀏覽器進程的遠程線程注入操作。
3.根據(jù)權(quán)利要求1所述的保護瀏覽器的防篡改方法,其特征在于:所述瀏覽器訪問的目標網(wǎng)址包括網(wǎng)購網(wǎng)址。
4.根據(jù)權(quán)利要求1所述的保護瀏覽器的防篡改方法,其特征在于:所述判斷所述進程是否為安全進程包括把所述進程與云端進程數(shù)據(jù)庫的安全進程對比或與本地進程數(shù)據(jù)庫的安全進程對比。
5.根據(jù)權(quán)利要求1所述的保護瀏覽器的防篡改方法,其特征在于:所述瀏覽器包括基于 Trident、Gecko、Presto、Webkit、WebCore、KHTML 內(nèi)核的瀏覽器。
6.一種保護瀏覽器的防篡改裝置,其特征在于,包括: 提取模塊,用于提取瀏覽器的訪問網(wǎng)址; 檢測模塊,用于檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址; 目標網(wǎng)址數(shù)據(jù)庫,用于存儲目標網(wǎng)址; 監(jiān)視模塊,用于監(jiān)控瀏覽器進程,判斷是否存在修改瀏覽器進程的進程; 處理模塊,用于判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程; 云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫,用于存儲安全進程的信息。
7.根據(jù)權(quán)利要求6所述的保護瀏覽器的防篡改裝置,其特征在于:所述檢測模塊檢測瀏覽器-若一致,則檢測模塊通知監(jiān)視模塊監(jiān)視瀏覽器進程。
8.根據(jù)權(quán)利要求6所述的保護瀏覽器的防篡改裝置,其特征在于:所述監(jiān)視模塊包括內(nèi)存監(jiān)視單元和代碼監(jiān)視單元,所述內(nèi)存監(jiān)視單元用于檢測瀏覽器進程的內(nèi)存,所述代碼監(jiān)視單元用于檢測瀏覽器進程的代碼,所述內(nèi)存監(jiān)視單元或代碼監(jiān)視單元監(jiān)視是否存進程修改瀏覽器進程,若存在,則通知處理模塊處理所述進程。
9.根據(jù)權(quán)利要求6所述的保護瀏覽器的防篡改裝置,其特征在于:所述處理模塊把所述進程的信息與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫的安全進程的信息對比,若所述進程的信息與云端進程數(shù)據(jù)庫或本地進程數(shù)據(jù)庫的安全進程的信息相同,則處理模塊判斷所述進程為安全進程,所述進程的信息包括進程的名稱,對應(yīng)的執(zhí)行文件和執(zhí)行文件所在目錄。
10.據(jù)權(quán)利要求6所述的保護瀏覽器的防篡改裝置,其特征在于:所述瀏覽器包括基于Trident、Gecko、Presto、Webkit、WebCore、KHTML 內(nèi)核的瀏覽器。
全文摘要
本發(fā)明公開了一種保護瀏覽器的防篡改方法和裝置,本方法包括以下步驟提取瀏覽器的訪問網(wǎng)址;檢測瀏覽器的訪問網(wǎng)址是否為目標網(wǎng)址,若是,監(jiān)控瀏覽器進程,若否,繼續(xù)檢測瀏覽器的訪問網(wǎng)址;監(jiān)控瀏覽器進程,判斷是否存在修改瀏覽器進程的進程;判斷修改瀏覽器進程的進程為安全進程或未知進程,若所述進程為安全進程,允許所述進程修改瀏覽器進程,若所述進程為未知進程,阻止所述進程修改瀏覽器進程。通過阻止未知進程修改瀏覽器進程,防止病毒修改瀏覽器進程,對瀏覽器進程實施保護。
文檔編號G06F21/51GK103218561SQ20131008661
公開日2013年7月24日 申請日期2013年3月18日 優(yōu)先權(quán)日2013年3月18日
發(fā)明者蘇文杰, 祁偉, 傅盛 申請人:珠海市君天電子科技有限公司, 北京金山安全軟件有限公司, 貝殼網(wǎng)際(北京)安全技術(shù)有限公司, 北京金山網(wǎng)絡(luò)科技有限公司