專利名稱:利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)安全技術(shù)領(lǐng)域,特別是涉及一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及一種安全瀏覽器。
背景技術(shù):
在計(jì)算機(jī)安全領(lǐng)域,沙箱(也稱為沙盒)是一種程序的隔離運(yùn)行機(jī)制,其目的是限制不可信進(jìn)程的權(quán)限。沙箱技術(shù)經(jīng)常被用于執(zhí)行未經(jīng)測試的或不可信的客戶程序。為了避免不可信程序可能破壞其它程序的運(yùn)行,沙箱技術(shù)通過為不可信客戶程序提供虛擬化的磁盤、內(nèi)存以及網(wǎng)絡(luò)資源,而這種虛擬化手段對客戶程序來說是透明的。由于沙箱里的資源被虛擬化(或被間接化),所以沙箱里的不可信程序的惡意行為往往會被限制在沙箱中,從而保護(hù)系統(tǒng)原有的狀態(tài)。具體來說,沙箱技術(shù)可以將一個程序放入沙箱運(yùn)行,這樣該程序所創(chuàng)建、修改、刪除的所有文件和注冊表都會被虛擬化重定向,也就是說所有操作都是虛擬的,真實(shí)的文件和注冊表不會被改動,這樣可以確保病毒無法對系統(tǒng)關(guān)鍵部位進(jìn)行改動破壞系統(tǒng)。目前沙箱技術(shù)提供了兩種類型的沙箱一種是特定型沙箱,例如Chr0me( —種瀏覽器)利用沙箱技術(shù)將渲染引擎或Flash放在沙箱內(nèi)運(yùn)行,以保證瀏覽器的安全;還有一種是通用型沙箱,例如=Sandb0Xie (另一種瀏覽器)則提供給用戶一個沙箱,讓用戶自行選擇軟件程序放入沙箱內(nèi)運(yùn)行。與特定型沙箱相比,上述由用戶選擇的通用型沙箱為用戶提供了更多的靈活性, 極大地方便了用戶的使用。但是,這種讓用戶選擇的方式存在以下幾個問題第一,用戶必須自行判斷哪些是有風(fēng)險(xiǎn)的程序需要放在沙箱內(nèi)運(yùn)行,如果用戶不了解程序的特性,就可能選擇錯誤;第二,錯誤地使用沙箱,如將正在編輯文件的編輯程序放置沙箱內(nèi),會導(dǎo)致文件丟失;第三,用戶自行選擇的方式易用性不高,操作復(fù)雜,不符合用戶的操作習(xí)慣。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,以解決現(xiàn)有技術(shù)中由用戶自行選擇的沙箱技術(shù)所存在的問題。為了解決上述問題,本發(fā)明公開了一種利用沙箱技術(shù)進(jìn)行防御的方法,包括在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是, 則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。其中,當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí)如果所述目標(biāo)對象為目標(biāo)程序,則將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行;
如果所述目標(biāo)對象為目標(biāo)文件,則將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;如果所述目標(biāo)對象為用戶輸入的信息,則將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和 /或關(guān)鍵詞。其中,所述在對目標(biāo)對象執(zhí)行操作之前觸發(fā)防御步驟,包括如果所述目標(biāo)對象為目標(biāo)程序,則將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)防御步驟;和/或,在下載所述目標(biāo)程序之前觸發(fā)防御步驟;如果所述目標(biāo)對象為目標(biāo)文件,則將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)防御步驟;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)防御步驟;如果所述目標(biāo)對象為用戶輸入的信息,則在用戶輸入所述信息時(shí)觸發(fā)防御步驟。優(yōu)選的,所述自動判斷包括判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是, 則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到,則不符合匹配規(guī)則。優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/ 或文件特征值、和/或下載來源。 優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,根據(jù)客戶端的請求,由服務(wù)器端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;和/或,由客戶端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還包括彈出提示窗提示用戶是否導(dǎo)入沙箱。本發(fā)明還提供了一種利用沙箱技術(shù)進(jìn)行防御的裝置,包括判斷觸發(fā)模塊,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動判斷模塊;自動判斷模塊,用于對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。其中,當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí)如果所述目標(biāo)對象為目標(biāo)程序,則所述自動判斷模塊將該目標(biāo)程序?qū)肷诚洌谏诚渲型瓿稍撃繕?biāo)程序的運(yùn)行;如果所述目標(biāo)對象為目標(biāo)文件,則所述自動判斷模塊將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;如果所述目標(biāo)對象為用戶輸入的信息,則所述自動判斷模塊將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。其中,如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動判斷模塊;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動判斷模塊;如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動判斷模塊;和/ 或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動判斷模塊;如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊在用戶輸入所述信息時(shí)觸發(fā)自動判斷模塊。優(yōu)選的,所述自動判斷模塊包括規(guī)則判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。優(yōu)選的,所述自動判斷模塊還包括父進(jìn)程判斷子模塊,用于在創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述自動判斷模塊還包括用戶選擇判斷子模塊,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述自動判斷模塊還包括白名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。優(yōu)選的,所述自動判斷模塊還包括黑名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱; 如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),所述規(guī)則判斷子模塊判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/ 或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/ 或文件特征值、和/或下載來源;當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),所述規(guī)則判斷子模塊判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述裝置還包括提示模塊,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。本發(fā)明還提供了一種安全瀏覽器,包括如上所述的利用沙箱技術(shù)進(jìn)行防御的裝置。與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點(diǎn)首先,本發(fā)明提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前, 自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,由此帶來以下優(yōu)點(diǎn)第一,可以幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行,而不需要用戶自行判斷;第二,避免將安全無風(fēng)險(xiǎn)的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失;第三,無需用戶的參與,因此不影響用戶的操作,易用性高。其次,本發(fā)明所述的目標(biāo)對象不僅可以是目標(biāo)程序,還可以是目標(biāo)文件或用戶輸入的信息。因此,本發(fā)明不僅可以對一些軟件程序進(jìn)行自動判斷,還可以對圖片等文件的執(zhí)行是否安全進(jìn)行自動判斷,而且還可以對用戶輸入的網(wǎng)址、關(guān)鍵詞等信息進(jìn)行自動判斷,如果網(wǎng)址或關(guān)鍵詞是某電影網(wǎng)站是,則打開一個新的瀏覽器在沙箱內(nèi)去瀏覽這個網(wǎng)站。
圖1是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖;圖2是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖3是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。 對于采用了沙箱技術(shù)的系統(tǒng),本發(fā)明提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,從而幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行。下面通過實(shí)施例進(jìn)行詳細(xì)說明。參照圖1,是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。步驟101,在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟;步驟102,對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;如果是,則執(zhí)行步驟103 ;如果否,則執(zhí)行步驟104。步驟103,如果需要導(dǎo)入沙箱,則在沙箱中完成該目標(biāo)對象的執(zhí)行。步驟104,如果不需要導(dǎo)入沙箱,則在沙箱外完成該目標(biāo)對象的執(zhí)行。即按照正常的處理流程執(zhí)行該目標(biāo)對象。優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還可以彈出提示窗提示用戶是否導(dǎo)入沙箱,以方便用戶根據(jù)自動判斷的結(jié)果進(jìn)行自由選擇。上述實(shí)施例中,所述目標(biāo)對象包括但不限于目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。下面分別進(jìn)行詳細(xì)說明。(1)目標(biāo)程序所述目標(biāo)程序通常指可執(zhí)行文件,如電子書、在線播放器、序號生成器等。用戶可通過多種方式觸發(fā)步驟102的執(zhí)行,觸發(fā)方式包括但不限于將目標(biāo)程序下載到客戶端后,通過雙擊或在右鍵菜單中點(diǎn)擊“打開”等方式在客戶端運(yùn)行該目標(biāo)程序之前,可觸發(fā)步驟102進(jìn)行自動判斷,從而防止惡意程序的運(yùn)行破壞系統(tǒng);和/或,在下載目標(biāo)程序之前進(jìn)行觸發(fā),從而在將惡意程序下載到客戶端之前就提前進(jìn)行了防御。此外,對于一些可在線運(yùn)行的目標(biāo)程序,也可以在運(yùn)行之前觸發(fā)防御保護(hù)??傊趯δ繕?biāo)程序的任何操作之前都可進(jìn)行自動判斷,以保護(hù)系統(tǒng)的安全性。對于判斷為需要導(dǎo)入沙箱執(zhí)行的目標(biāo)程序,所述在沙箱中完成該目標(biāo)程序的執(zhí)行是指將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行。例如,對于某網(wǎng)站上的色情播放器,將該播放器放入沙箱中運(yùn)行。(2)目標(biāo)文件所述目標(biāo)文件通常指圖片等不可執(zhí)行文件,這種目標(biāo)文件的執(zhí)行需要由關(guān)聯(lián)程序完成。例如,對于圖片,需要啟動圖片瀏覽器來瀏覽,所述圖片瀏覽器即為該圖片文件的關(guān)聯(lián)程序。對于判斷為需要導(dǎo)入沙箱執(zhí)行的目標(biāo)文件,所述在沙箱中完成該目標(biāo)文件的執(zhí)行是指將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件。 例如,對于不可信的圖片文件,可以將圖片瀏覽器導(dǎo)入沙箱來打開該圖片。
針對目標(biāo)文件,用戶也可通過多種方式觸發(fā)步驟102的執(zhí)行,觸發(fā)方式包括但不限于將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后,在客戶端運(yùn)行該目標(biāo)文件之前進(jìn)行觸發(fā);和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前進(jìn)行觸發(fā)??傊?,在對目標(biāo)文件的任何操作之前都可進(jìn)行自動判斷,以保護(hù)系統(tǒng)的安全性。(3)用戶輸入的信息用戶輸入的信息包括用戶輸入的網(wǎng)址、關(guān)鍵詞等信息。如果所述目標(biāo)對象為用戶輸入的信息,則通常在用戶輸入所述信息時(shí)觸發(fā)步驟 102進(jìn)行安全防御,即判斷用戶輸入的網(wǎng)址、關(guān)鍵詞等信息是否安全可信,如果不可信,則執(zhí)行步驟103。對于判斷為需要導(dǎo)入沙箱執(zhí)行的用戶輸入信息,所述在沙箱中完成該用戶輸入信息的執(zhí)行是指將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序。例如,對于存在可疑的網(wǎng)址,在沙箱中新打開一個瀏覽器來鏈接到該網(wǎng)址對應(yīng)的網(wǎng)站,所述瀏覽器程序即為接收網(wǎng)址輸入的關(guān)聯(lián)程序。結(jié)合上述⑴、⑵、(3),無論用戶要操作的目標(biāo)對象是哪一種,圖1所示方法都可以自動判斷其執(zhí)行是否需要導(dǎo)入沙箱。本發(fā)明實(shí)施例提供的自動判斷方法包括但不限于 判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。具體而言,所述判斷可以是查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到, 則不符合匹配規(guī)則。即數(shù)據(jù)庫中存儲了各種判斷的規(guī)則,或者直接存儲了符合匹配規(guī)則的對象的特征,如果在數(shù)據(jù)庫中查詢到所述待操作的目標(biāo)對象,則表明該目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱。針對不同的目標(biāo)對象,相對應(yīng)的匹配規(guī)則也不同1)當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑,和/或
加密數(shù)據(jù)(如MD5),和/或文件屬性(如產(chǎn)品名稱、版本信息、簽名發(fā)行者、文件大小等),和/或圖標(biāo)特征值(如圖標(biāo)哈希值),和/或文件特征值(如文件哈希值),和/或下載來源(如從哪個網(wǎng)站下載);相應(yīng)的,所述來源程序的相關(guān)信息包括來源程序的文件路徑,和/或加密數(shù)據(jù)(如MD5),和/或文件屬性(如產(chǎn)品名稱、版本信息、簽名發(fā)行者、文件大小等),和/或圖標(biāo)特征值(如圖標(biāo)哈希值),和/或
文件特征值(如文件哈希值),和/或下載來源(如從哪個網(wǎng)站下載)?;谏鲜瞿繕?biāo)對象的相關(guān)信息和來源程序的相關(guān)信息,所述匹配規(guī)則可以是例1 對于網(wǎng)站上的色情播放器,匹配規(guī)則如下來源程序?yàn)闉g覽器程序或資源管理器;目標(biāo)的文件名包含“日本AV”或“情色”...;目標(biāo)的文件圖標(biāo)為特定播放器圖標(biāo);目標(biāo)的文件大小可以限制在一個范圍,比如1MB IOMB ;目標(biāo)的文件描述比如XXXX成人播放器,xxxx專用播放器。即符合上述規(guī)則的播放器即判定為色情播放器。例2 對于未知有風(fēng)險(xiǎn)的電子書,匹配規(guī)則如下目標(biāo)文件名稱包含“電子書”的關(guān)鍵字;目標(biāo)文件圖標(biāo)的特征值包含電子書的圖標(biāo)的特征。對于符合上述規(guī)則的電子書判定為有風(fēng)險(xiǎn)的電子書。例3 對于未知有風(fēng)險(xiǎn)的序號生成器,匹配規(guī)則如下目標(biāo)文件名稱有包含“序號生成器”或“keygen”或“cracker”或“破解機(jī)”的關(guān)
鍵字;目標(biāo)文件圖標(biāo)的特征值包含序號生成器的圖標(biāo)的特征。對符合上述規(guī)則的序號生成器可判斷為有風(fēng)險(xiǎn)的序號生成器。除上述列舉的幾種匹配規(guī)則之外,還可以有其他的多種規(guī)則,如進(jìn)行模糊匹配或全文匹配,優(yōu)先進(jìn)行文件名稱的匹配,等等,視具體應(yīng)用而定,在此不再一一列舉。2)當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。例如,判斷用戶輸入的網(wǎng)址是否為一些色情網(wǎng)站的網(wǎng)址,或者判斷用戶輸入的關(guān)鍵詞是否包含“日本AV”或“情色”等信息。通過用戶輸入的信息,就可以預(yù)先判斷出用戶下一步要瀏覽的網(wǎng)站或要搜索的網(wǎng)頁是否需要放入沙箱。基于上述列舉的各種匹配規(guī)則,優(yōu)選的,在對目標(biāo)對象進(jìn)行上述匹配規(guī)則的自動判斷之前,還可以優(yōu)先進(jìn)行如下的自動判斷,列舉如下1)在判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。即如果所述用于自動判斷目標(biāo)對象的執(zhí)行的進(jìn)程存在父進(jìn)程,則該用于自動判斷的進(jìn)程稱為子進(jìn)程。如果父進(jìn)程已導(dǎo)入沙箱中,說明該父進(jìn)程不可信,那么該父進(jìn)程調(diào)用的子進(jìn)程也是不可信的,所以子進(jìn)程也應(yīng)該導(dǎo)入沙箱執(zhí)行。2)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
即用戶可參與選擇是否放入沙箱,如果用戶已主動選擇放入沙箱,則不需要進(jìn)行匹配規(guī)則的自動判斷。 3)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。所述白名單中列出了比較安全的目標(biāo)對象,白名單中的目標(biāo)對象可以不導(dǎo)入沙箱而直接執(zhí)行。如果待操作的目標(biāo)對象在所述白名單中,則可以免除匹配規(guī)則的自動判斷。如果待操作的目標(biāo)對象不在所述白名單中,標(biāo)明所述待操作的目標(biāo)對象是未知對象,還需要進(jìn)一步進(jìn)行自動判斷。4)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。所述黑名單中列出了一定不可信的目標(biāo)對象,如果待操作的目標(biāo)對象在所述黑名單中,則直接導(dǎo)入沙箱執(zhí)行;但如果不在黑名單中,也不能排除所述待操作的目標(biāo)對象一定安全,因此還需要繼續(xù)進(jìn)行匹配規(guī)則的判斷。在實(shí)際應(yīng)用中,如果待操作的目標(biāo)對象在黑名單中,也可以直接進(jìn)行攔截而不放入沙箱,這些都可以由用戶進(jìn)行選擇。上述1)至4)可以單獨(dú)在匹配規(guī)則的判斷之前使用,也可以組合起來在匹配規(guī)則的判斷之前使用?;谏鲜鰞?nèi)容,在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例還提供了以下兩種實(shí)現(xiàn)方式第一種,根據(jù)客戶端的請求,由服務(wù)器端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;具體來說,服務(wù)器端存儲了自動判斷的各種規(guī)則,如果待操作的目標(biāo)程序或目標(biāo)文件已經(jīng)下載到了客戶端,在用戶點(diǎn)擊執(zhí)行時(shí),客戶端會將要進(jìn)行判斷的請求發(fā)給服務(wù)器, 由服務(wù)器進(jìn)行自動判斷。或者,從服務(wù)器上下載目標(biāo)程序或目標(biāo)文件之前,服務(wù)器根據(jù)客戶端的下載請求,判斷是否導(dǎo)入沙箱下載?;蛘?,在用戶輸入網(wǎng)址、關(guān)鍵詞時(shí),服務(wù)器根據(jù)用戶的輸入進(jìn)行自動判斷。第二種,由客戶端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。這種情況下,客戶端存儲了自動判斷的各種規(guī)則,并定期從服務(wù)器上更新,客戶端可在用戶對目標(biāo)對象進(jìn)行操作之前進(jìn)行自動判斷。綜上所述,上述實(shí)施例提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,由此帶來以下優(yōu)點(diǎn)第一,可以幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行,而不需要用戶自行判斷;第二,避免將安全無風(fēng)險(xiǎn)的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失;第三,無需用戶的參與,因此不影響用戶的操作,易用性高?;谏鲜鰞?nèi)容,本發(fā)明還提供了圖2所示的優(yōu)選實(shí)施例。
參照圖2,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。以目標(biāo)對象是目標(biāo)程序?yàn)槔?,目?biāo)對象是目標(biāo)文件和用戶輸入信息的情況與此類似,不再詳述。整個待操作的目標(biāo)程序自動進(jìn)入沙箱的判斷流程如下步驟201,創(chuàng)建進(jìn)程;步驟202,判斷父進(jìn)程是否在沙箱內(nèi);如果父進(jìn)程在沙箱內(nèi),則跳轉(zhuǎn)到步驟208 ;如果父進(jìn)程不在沙箱內(nèi),則繼續(xù)步驟203。步驟203,判斷用戶是否選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱;如果用戶已選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則跳轉(zhuǎn)到步驟208 ;如果用戶未選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則繼續(xù)步驟204。步驟204,判斷所述待操作的目標(biāo)程序是否在白名單中;如果在白名單中,則跳轉(zhuǎn)到步驟209 ;如果不在白名單中,則是未知程序,繼續(xù)步驟205。步驟205,判斷所述待操作的目標(biāo)對象是否在黑名單中;如果在黑名單中,則跳轉(zhuǎn)到步驟208 ;如果不在黑名單中,則繼續(xù)步驟206。步驟206,判斷所述目標(biāo)程序是否為特定類型的程序;即根據(jù)各種匹配規(guī)則判斷是否為特定類型的程序;如果是,則繼續(xù)步驟207 ;如果不是,則跳轉(zhuǎn)到步驟209。步驟207,彈出提示窗提示用戶該目標(biāo)程序?qū)?dǎo)入沙箱內(nèi)執(zhí)行;如果用戶選擇導(dǎo)入,則將該目標(biāo)程序加入沙箱運(yùn)行列表。步驟208,開始將目標(biāo)程序的文件/注冊表的寫入、刪除、修改等操作動作導(dǎo)向沙箱中,判斷流程結(jié)束。步驟209,將目標(biāo)程序在一般環(huán)境下運(yùn)行(非沙箱模式),判斷流程結(jié)束。需要說明的是,上述步驟203至步驟205的順序也可以更換,但都需要在步驟206
> . 、r -需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的?;谏鲜鰞?nèi)容,本發(fā)明還提供了相應(yīng)的裝置實(shí)施例,如圖3所示。參照圖3,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。所述裝置可以包括以下模塊判斷觸發(fā)模塊31,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動判斷模塊32 ;自動判斷模塊32,用于對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。其中,所述目標(biāo)對象包括但不限于目標(biāo)程序,目標(biāo)文件,用戶輸入的信息。當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí)如果所述目標(biāo)對象為目標(biāo)程序,則所述自動判斷模塊32將該目標(biāo)程序?qū)肷诚洌?在沙箱中完成該目標(biāo)程序的運(yùn)行;如果所述目標(biāo)對象為目標(biāo)文件,則所述自動判斷模塊32將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;如果所述目標(biāo)對象為用戶輸入的信息,則所述自動判斷模塊32將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌谏诚渲懈鶕?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。并且,如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊31將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動判斷模塊32 ;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動判斷模塊32 ;如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊31將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動判斷模塊 32 ;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動判斷模塊32 ;如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊31在用戶輸入所述信息時(shí)觸發(fā)自動判斷模塊32。進(jìn)一步,所述自動判斷模塊32可以包括規(guī)則判斷子模塊321,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則, 如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。進(jìn)一步,當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),所述規(guī)則判斷子模塊321判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/ 或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/ 或文件特征值、和/或下載來源;當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),所述規(guī)則判斷子模塊321判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述自動判斷模塊32還可以包括父進(jìn)程判斷子模塊322,用于在創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后, 判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述自動判斷模塊32還可以包括用戶選擇判斷子模塊323,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo) 對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述自動判斷模塊32還可以包括白名單判斷子模塊324,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。優(yōu)選的,所述自動判斷模塊32還可以包括黑名單判斷子模塊325,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。優(yōu)選的,所述裝置還可以包括提示模塊33,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。上述利用沙箱技術(shù)進(jìn)行防御的裝置可以部署在服務(wù)器端,也可以部署在客戶端, 在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行,避免將安全無風(fēng)險(xiǎn)的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失,而且由于無需用戶的參與,因此不影響用戶的操作,易用性高?;谏鲜龅睦蒙诚浼夹g(shù)進(jìn)行防御的裝置,本發(fā)明實(shí)施例還提供了一種安全瀏覽器,該瀏覽器包括如上述圖3實(shí)施例所述的用沙箱技術(shù)進(jìn)行系統(tǒng)防御的裝置,并可采用圖1 或圖2所述的方法自動判斷待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。具體描述可參見上述圖1、圖2和圖3的相關(guān)內(nèi)容,不再詳述。本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,上文中的“和/或”表示本文既包含了 “和”的關(guān)系,也包含了 “或”的關(guān)系, 其中如果方案A與方案B是“和”的關(guān)系,則表示某實(shí)施例中可以同時(shí)包括方案A和方案 B ;如果方案A與方案B是“或”的關(guān)系,則表示某實(shí)施例中可以單獨(dú)包括方案A,或者單獨(dú)包括方案B。以上對本發(fā)明所提供的一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器, 進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種利用沙箱技術(shù)進(jìn)行防御的方法,其特征在于,包括在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí)如果所述目標(biāo)對象為目標(biāo)程序,則將該目標(biāo)程序?qū)肷诚洌谏诚渲型瓿稍撃繕?biāo)程序的運(yùn)行;如果所述目標(biāo)對象為目標(biāo)文件,則將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;如果所述目標(biāo)對象為用戶輸入的信息,則將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/ 或關(guān)鍵詞。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在對目標(biāo)對象執(zhí)行操作之前觸發(fā)防御步驟,包括如果所述目標(biāo)對象為目標(biāo)程序,則將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)防御步驟;和/或,在下載所述目標(biāo)程序之前觸發(fā)防御步驟;如果所述目標(biāo)對象為目標(biāo)文件,則將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)防御步驟;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)防御步驟;如果所述目標(biāo)對象為用戶輸入的信息,則在用戶輸入所述信息時(shí)觸發(fā)防御步驟。
4.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,所述自動判斷包括判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
9.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到,則不符合匹配規(guī)則。
10.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和 /或目標(biāo)文件時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
12.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
13.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于根據(jù)客戶端的請求,由服務(wù)器端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;和/或,由客戶端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
14.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還包括彈出提示窗提示用戶是否導(dǎo)入沙箱。
15.一種利用沙箱技術(shù)進(jìn)行防御的裝置,其特征在于,包括判斷觸發(fā)模塊,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動判斷模塊;自動判斷模塊,用于對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí)如果所述目標(biāo)對象為目標(biāo)程序,則所述自動判斷模塊將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行;如果所述目標(biāo)對象為目標(biāo)文件,則所述自動判斷模塊將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;如果所述目標(biāo)對象為用戶輸入的信息,則所述自動判斷模塊將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌谏诚渲懈鶕?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動判斷模塊;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動判斷模塊;如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動判斷模塊;和/或, 在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動判斷模塊;如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊在用戶輸入所述信息時(shí)觸發(fā)自動判斷模塊。
18.根據(jù)權(quán)利要求15至17任一所述的裝置,其特征在于,所述自動判斷模塊包括規(guī)則判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述自動判斷模塊還包括父進(jìn)程判斷子模塊,用于在創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
20.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述自動判斷模塊還包括用戶選擇判斷子模塊,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
21.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述自動判斷模塊還包括白名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
22.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述自動判斷模塊還包括黑名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
23.根據(jù)權(quán)利要求18所述的裝置,其特征在于當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),所述規(guī)則判斷子模塊判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),所述規(guī)則判斷子模塊判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
24.根據(jù)權(quán)利要求15至17任一所述的裝置,其特征在于,還包括提示模塊,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。
25.一種安全瀏覽器,其特征在于,包括如上述權(quán)利要求15至M任一權(quán)利要求所述的利用沙箱技術(shù)進(jìn)行防御的裝置。
全文摘要
本發(fā)明提供了一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,以解決現(xiàn)有技術(shù)中由用戶自行選擇的沙箱技術(shù)所存在的問題。所述方法包括在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。本發(fā)明可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行。
文檔編號G06F21/00GK102184356SQ201110100859
公開日2011年9月14日 申請日期2011年4月21日 優(yōu)先權(quán)日2011年4月21日
發(fā)明者孫曉駿, 潘劍鋒, 范紀(jì)鍠, 路健華 申請人:奇智軟件(北京)有限公司