利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器的制造方法
【專利摘要】本發(fā)明提供了一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,以解決現(xiàn)有技術(shù)中由用戶自行選擇的沙箱技術(shù)所存在的問題。所述方法包括:在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟:對待操作的目標(biāo)對象,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。本發(fā)明可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行。
【專利說明】利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)安全【技術(shù)領(lǐng)域】,特別是涉及一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及一種安全瀏覽器。
【背景技術(shù)】
[0002]在計(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ò)資源,而這種虛擬化手段對客戶程序來說是透明的。由于沙箱里的資源被虛擬化(或被間接化),所以沙箱里的不可信程序的惡意行為往往會(huì)被限制在沙箱中,從而保護(hù)系統(tǒng)原有的狀態(tài)。
[0003]具體來說,沙箱技術(shù)可以將一個(gè)程序放入沙箱運(yùn)行,這樣該程序所創(chuàng)建、修改、刪除的所有文件和注冊表都會(huì)被虛擬化重定向,也就是說所有操作都是虛擬的,真實(shí)的文件和注冊表不會(huì)被改動(dòng),這樣可以確保病毒無法對系統(tǒng)關(guān)鍵部位進(jìn)行改動(dòng)破壞系統(tǒng)。
[0004]目前沙箱技術(shù)提供了兩種類型的沙箱:一種是特定型沙箱,例如=ChiOme(—種瀏覽器)利用沙箱技術(shù)將渲染引擎或Flash放在沙箱內(nèi)運(yùn)行,以保證瀏覽器的安全;還有一種是通用型沙箱,例如=Sandboxie (另一種瀏覽器)則提供給用戶一個(gè)沙箱,讓用戶自行選擇軟件程序放入沙箱內(nèi)運(yùn)行。
[0005]與特定型沙箱相比,上述由用戶選擇的通用型沙箱為用戶提供了更多的靈活性,極大地方便了用戶的使用。但是,這種讓用戶選擇的方式存在以下幾個(gè)問題:
[0006]第一,用戶必須自行判斷哪些是有風(fēng)險(xiǎn)的程序需要放在沙箱內(nèi)運(yùn)行,如果用戶不了解程序的特性,就可能選擇錯(cuò)誤;
[0007]第二,錯(cuò)誤地使用沙箱,如將正在編輯文件的編輯程序放置沙箱內(nèi),會(huì)導(dǎo)致文件丟失;
[0008]第三,用戶自行選擇的方式易用性不高,操作復(fù)雜,不符合用戶的操作習(xí)慣。
【發(fā)明內(nèi)容】
[0009]本發(fā)明所要解決的技術(shù)問題是提供一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,以解決現(xiàn)有技術(shù)中由用戶自行選擇的沙箱技術(shù)所存在的問題。
[0010]為了解決上述問題,本發(fā)明公開了一種利用沙箱技術(shù)進(jìn)行防御的方法,包括:
[0011]在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟:
[0012]對待操作的目標(biāo)對象,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)打;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)打。
[0013]其中,當(dāng)自動(dòng)判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí):
[0014]如果所述目標(biāo)對象為目標(biāo)程序,則將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行;[0015]如果所述目標(biāo)對象為目標(biāo)文件,則將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;
[0016]如果所述目標(biāo)對象為用戶輸入的信息,則將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌谏诚渲懈鶕?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
[0017]其中,所述在對目標(biāo)對象執(zhí)行操作之前觸發(fā)防御步驟,包括:
[0018]如果所述目標(biāo)對象為目標(biāo)程序,則將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)防御步驟;和/或,在下載所述目標(biāo)程序之前觸發(fā)防御步驟;
[0019]如果所述目標(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ā)防御步驟;
[0020]如果所述目標(biāo)對象為用戶輸入的信息,則在用戶輸入所述信息時(shí)觸發(fā)防御步驟。
[0021]優(yōu)選的,所述自動(dòng)判斷包括:判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)貝U,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
[0022]優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括:創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0023]優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括:判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0024]優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括:判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
[0025]優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括:判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0026]優(yōu)選的,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到,則不符合匹配規(guī)則。
[0027]優(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ī)則。
[0028]其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
[0029]優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0030]優(yōu)選的,根據(jù)客戶端的請求,由服務(wù)器端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;和/或,由客戶端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
[0031]優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還包括:彈出提示窗提示用戶是否導(dǎo)入沙箱。
[0032]本發(fā)明還提供了一種利用沙箱技術(shù)進(jìn)行防御的裝置,包括:
[0033]判斷觸發(fā)模塊,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動(dòng)判斷模塊;
[0034]自動(dòng)判斷模塊,用于對待操作的目標(biāo)對象,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
[0035]其中,當(dāng)自動(dòng)判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí):
[0036]如果所述目標(biāo)對象為目標(biāo)程序,則所述自動(dòng)判斷模塊將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行;
[0037]如果所述目標(biāo)對象為目標(biāo)文件,則所述自動(dòng)判斷模塊將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;
[0038]如果所述目標(biāo)對象為用戶輸入的信息,則所述自動(dòng)判斷模塊將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌谏诚渲懈鶕?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
[0039]其中,如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊;
[0040]如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動(dòng)判斷模塊;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動(dòng)判斷模塊;
[0041]如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊在用戶輸入所述信息時(shí)觸發(fā)自動(dòng)判斷模塊。
[0042]優(yōu)選的,所述自動(dòng)判斷模塊包括:規(guī)則判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
[0043]優(yōu)選的,所述自動(dòng)判斷模塊還包括:父進(jìn)程判斷子模塊,用于在創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0044]優(yōu)選的,所述自動(dòng)判斷模塊還包括:用戶選擇判斷子模塊,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0045]優(yōu)選的,所述自動(dòng)判斷模塊還包括:白名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
[0046]優(yōu)選的,所述自動(dòng)判斷模塊還包括:黑名單判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0047]優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時(shí),所述規(guī)則判斷子模塊判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則;
[0048]其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;
[0049]當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),所述規(guī)則判斷子模塊判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0050]優(yōu)選的,所述裝置還包括:提示模塊,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。
[0051]本發(fā)明還提供了一種安全瀏覽器,包括如上所述的利用沙箱技術(shù)進(jìn)行防御的裝置。
[0052]與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點(diǎn):
[0053]首先,本發(fā)明提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,由此帶來以下優(yōu)點(diǎn):
[0054]第一,可以幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行,而不需要用戶自行判斷;
[0055]第二,避免將安全無風(fēng)險(xiǎn)的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失;
[0056]第三,無需用戶的參與,因此不影響用戶的操作,易用性高。
[0057]其次,本發(fā)明所述的目標(biāo)對象不僅可以是目標(biāo)程序,還可以是目標(biāo)文件或用戶輸入的信息。因此,本發(fā)明不僅可以對一些軟件程序進(jìn)行自動(dòng)判斷,還可以對圖片等文件的執(zhí)行是否安全進(jìn)行自動(dòng)判斷,而且還可以對用戶輸入的網(wǎng)址、關(guān)鍵詞等信息進(jìn)行自動(dòng)判斷,如果網(wǎng)址或關(guān)鍵詞是某電影網(wǎng)站是,則打開一個(gè)新的瀏覽器在沙箱內(nèi)去瀏覽這個(gè)網(wǎng)站。
【專利附圖】
【附圖說明】
[0058]圖1是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖;
[0059]圖2是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖;[0060]圖3是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0061]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0062]對于采用了沙箱技術(shù)的系統(tǒng),本發(fā)明提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,從而幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行。
[0063]下面通過實(shí)施例進(jìn)行詳細(xì)說明。
[0064]參照圖1,是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。
[0065]步驟101,在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟;
[0066]步驟102,對待操作的目標(biāo)對象,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;
[0067]如果是,則執(zhí)行步驟103 ;如果否,則執(zhí)行步驟104。
[0068]步驟103,如果需要導(dǎo)入沙箱,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
[0069]步驟104,如果不需要導(dǎo)入沙箱,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
[0070]即按照正常的處理流程執(zhí)行該目標(biāo)對象。
[0071]優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還可以彈出提示窗提示用戶是否導(dǎo)入沙箱,以方便用戶根據(jù)自動(dòng)判斷的結(jié)果進(jìn)行自由選擇。
[0072]上述實(shí)施例中,所述目標(biāo)對象包括但不限于目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。下面分別進(jìn)行詳細(xì)說明。
[0073](I)目標(biāo)程序
[0074]所述目標(biāo)程序通常指可執(zhí)行文件,如電子書、在線播放器、序號(hào)生成器等。
[0075]用戶可通過多種方式觸發(fā)步驟102的執(zhí)行,觸發(fā)方式包括但不限于:將目標(biāo)程序下載到客戶端后,通過雙擊或在右鍵菜單中點(diǎn)擊“打開”等方式在客戶端運(yùn)行該目標(biāo)程序之前,可觸發(fā)步驟102進(jìn)行自動(dòng)判斷,從而防止惡意程序的運(yùn)行破壞系統(tǒng);和/或,在下載目標(biāo)程序之前進(jìn)行觸發(fā),從而在將惡意程序下載到客戶端之前就提前進(jìn)行了防御。此外,對于一些可在線運(yùn)行的目標(biāo)程序,也可以在運(yùn)行之前觸發(fā)防御保護(hù)。總之,在對目標(biāo)程序的任何操作之前都可進(jìn)行自動(dòng)判斷,以保護(hù)系統(tǒng)的安全性。
[0076]對于判斷為需要導(dǎo)入沙箱執(zhí)行的目標(biāo)程序,所述在沙箱中完成該目標(biāo)程序的執(zhí)行是指:將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行。例如,對于某網(wǎng)站上的色情播放器,將該播放器放入沙箱中運(yùn)行。
[0077](2)目標(biāo)文件
[0078]所述目標(biāo)文件通常指圖片等不可執(zhí)行文件,這種目標(biāo)文件的執(zhí)行需要由關(guān)聯(lián)程序完成。例如,對于圖片,需要啟動(dòng)圖片瀏覽器來瀏覽,所述圖片瀏覽器即為該圖片文件的關(guān)聯(lián)程序。
[0079]對于判斷為需要導(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)入沙箱來打開該圖片。[0080]針對目標(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)行自動(dòng)判斷,以保護(hù)系統(tǒng)的安全性。
[0081](3)用戶輸入的信息
[0082]用戶輸入的信息包括用戶輸入的網(wǎng)址、關(guān)鍵詞等信息。
[0083]如果所述目標(biāo)對象為用戶輸入的信息,則通常在用戶輸入所述信息時(shí)觸發(fā)步驟102進(jìn)行安全防御,即判斷用戶輸入的網(wǎng)址、關(guān)鍵詞等信息是否安全可信,如果不可信,則執(zhí)行步驟103。
[0084]對于判斷為需要導(dǎo)入沙箱執(zhí)行的用戶輸入信息,所述在沙箱中完成該用戶輸入信息的執(zhí)行是指:將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序。例如,對于存在可疑的網(wǎng)址,在沙箱中新打開一個(gè)瀏覽器來鏈接到該網(wǎng)址對應(yīng)的網(wǎng)站,所述瀏覽器程序即為接收網(wǎng)址輸入的關(guān)聯(lián)程序。
[0085]結(jié)合上述(I)、( 2 )、( 3 ),無論用戶要操作的目標(biāo)對象是哪一種,圖1所示方法都可以自動(dòng)判斷其執(zhí)行是否需要導(dǎo)入沙箱。本發(fā)明實(shí)施例提供的自動(dòng)判斷方法包括但不限于:判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
[0086]具體而言,所述判斷可以是:查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到,則不符合匹配規(guī)則。即數(shù)據(jù)庫中存儲(chǔ)了各種判斷的規(guī)則,或者直接存儲(chǔ)了符合匹配規(guī)則的對象的特征,如果在數(shù)據(jù)庫中查詢到所述待操作的目標(biāo)對象,則表明該目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱。
[0087]針對不同的目標(biāo)對象,相對應(yīng)的匹配規(guī)則也不同:
[0088]I)當(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ī)則。
[0089]其中,所述目標(biāo)對象的相關(guān)信息包括:
[0090]目標(biāo)對象的文件路徑,和/或
[0091]加密數(shù)據(jù)(如MD5),和/或
[0092]文件屬性(如產(chǎn)品名稱、版本信息、簽名發(fā)行者、文件大小等),和/或
[0093]圖標(biāo)特征值(如圖標(biāo)哈希值),和/或
[0094]文件特征值(如文件哈希值),和/或
[0095]下載來源(如從哪個(gè)網(wǎng)站下載);
[0096]相應(yīng)的,所述來源程序的相關(guān)信息包括:
[0097]來源程序的文件路徑,和/或
[0098]加密數(shù)據(jù)(如MD5),和/或
[0099]文件屬性(如產(chǎn)品名稱、版本信息、簽名發(fā)行者、文件大小等),和/或
[0100]圖標(biāo)特征值(如圖標(biāo)哈希值),和/或[0101]文件特征值(如文件哈希值),和/或
[0102]下載來源(如從哪個(gè)網(wǎng)站下載)。
[0103]基于上述目標(biāo)對象的相關(guān)信息和來源程序的相關(guān)信息,所述匹配規(guī)則可以是:
[0104]例1:對于網(wǎng)站上的色情播放器,匹配規(guī)則如下:
[0105]來源程序?yàn)?瀏覽器程序或資源管理器;
[0106]目標(biāo)的文件名:包含“日本AV”或“情色”…;
[0107]目標(biāo)的文件圖標(biāo):為特定播放器圖標(biāo);
[0108]目標(biāo)的文件大小:可以限制在一個(gè)范圍,比如:IMB~IOMB ;
[0109]目標(biāo)的文件描述:比如xxxx成人播放器,χχχχ專用播放器。
[0110]即符合上述規(guī)則的播放器即判定為色情播放器。
[0111]例2:對于未知有風(fēng)險(xiǎn)的電子書,匹配規(guī)則如下:
[0112]目標(biāo)文件名稱:包含“電子書”的關(guān)鍵字;
[0113]目標(biāo)文件圖標(biāo)的特征值包含:電子書的圖標(biāo)的特征。
[0114]對于符合上述規(guī)則的電子書判定為有風(fēng)險(xiǎn)的電子書。
`[0115]例3:對于未知有風(fēng)險(xiǎn)的序號(hào)生成器,匹配規(guī)則如下:
[0116]目標(biāo)文件名稱:有包含“序號(hào)生成器”或“keygen”或“cracker”或“破解機(jī)”的
關(guān)鍵字;
[0117]目標(biāo)文件圖標(biāo)的特征值包含:序號(hào)生成器的圖標(biāo)的特征。
[0118]對符合上述規(guī)則的序號(hào)生成器可判斷為有風(fēng)險(xiǎn)的序號(hào)生成器。
[0119]除上述列舉的幾種匹配規(guī)則之外,還可以有其他的多種規(guī)則,如進(jìn)行模糊匹配或全文匹配,優(yōu)先進(jìn)行文件名稱的匹配,等等,視具體應(yīng)用而定,在此不再一一列舉。
[0120]2)當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0121]例如,判斷用戶輸入的網(wǎng)址是否為一些色情網(wǎng)站的網(wǎng)址,或者判斷用戶輸入的關(guān)鍵詞是否包含“日本AV”或“情色”等信息。通過用戶輸入的信息,就可以預(yù)先判斷出用戶下一步要瀏覽的網(wǎng)站或要搜索的網(wǎng)頁是否需要放入沙箱。
[0122]基于上述列舉的各種匹配規(guī)則,優(yōu)選的,在對目標(biāo)對象進(jìn)行上述匹配規(guī)則的自動(dòng)判斷之前,還可以優(yōu)先進(jìn)行如下的自動(dòng)判斷,列舉如下:
[0123]I)在判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:
[0124]創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;
[0125]判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0126]即如果所述用于自動(dòng)判斷目標(biāo)對象的執(zhí)行的進(jìn)程存在父進(jìn)程,則該用于自動(dòng)判斷的進(jìn)程稱為子進(jìn)程。如果父進(jìn)程已導(dǎo)入沙箱中,說明該父進(jìn)程不可信,那么該父進(jìn)程調(diào)用的子進(jìn)程也是不可信的,所以子進(jìn)程也應(yīng)該導(dǎo)入沙箱執(zhí)行。
[0127]2)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:
[0128]判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。[0129]即用戶可參與選擇是否放入沙箱,如果用戶已主動(dòng)選擇放入沙箱,則不需要進(jìn)行匹配規(guī)則的自動(dòng)判斷。
[0130]3)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:
[0131]判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
[0132]所述白名單中列出了比較安全的目標(biāo)對象,白名單中的目標(biāo)對象可以不導(dǎo)入沙箱而直接執(zhí)行。如果待操作的目標(biāo)對象在所述白名單中,則可以免除匹配規(guī)則的自動(dòng)判斷。如果待操作的目標(biāo)對象不在所述白名單中,標(biāo)明所述待操作的目標(biāo)對象是未知對象,還需要進(jìn)一步進(jìn)行自動(dòng)判斷。
[0133]4)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:
[0134]判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0135]所述黑名單中列出了一定不可信的目標(biāo)對象,如果待操作的目標(biāo)對象在所述黑名單中,則直接導(dǎo)入沙箱執(zhí)行;但如果不在黑名單中,也不能排除所述待操作的目標(biāo)對象一定安全,因此還需要繼續(xù)進(jìn)行匹配規(guī)則的判斷。
[0136]在實(shí)際應(yīng)用中,如果待操作的目標(biāo)對象在黑名單中,也可以直接進(jìn)行攔截而不放入沙箱,這些都可以由用戶進(jìn)行選擇。
[0137]上述I)至4)可以單獨(dú)在匹配規(guī)則的判斷之前使用,也可以組合起來在匹配規(guī)則的判斷之前使用。
[0138]基于上述內(nèi)容,在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例還提供了以下兩種實(shí)現(xiàn)方式:
[0139]第一種,根據(jù)客戶端的請求,由服務(wù)器端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;
[0140]具體來說,服務(wù)器端存儲(chǔ)了自動(dòng)判斷的各種規(guī)則,如果待操作的目標(biāo)程序或目標(biāo)文件已經(jīng)下載到了客戶端,在用戶點(diǎn)擊執(zhí)行時(shí),客戶端會(huì)將要進(jìn)行判斷的請求發(fā)給服務(wù)器,由服務(wù)器進(jìn)行自動(dòng)判斷?;蛘撸瑥姆?wù)器上下載目標(biāo)程序或目標(biāo)文件之前,服務(wù)器根據(jù)客戶端的下載請求,判斷是否導(dǎo)入沙箱下載?;蛘撸谟脩糨斎刖W(wǎng)址、關(guān)鍵詞時(shí),服務(wù)器根據(jù)用戶的輸入進(jìn)行自動(dòng)判斷。
[0141]第二種,由客戶端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
[0142]這種情況下,客戶端存儲(chǔ)了自動(dòng)判斷的各種規(guī)則,并定期從服務(wù)器上更新,客戶端可在用戶對目標(biāo)對象進(jìn)行操作之前進(jìn)行自動(dòng)判斷。
[0143]綜上所述,上述實(shí)施例提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,由此帶來以下優(yōu)點(diǎn):
[0144]第一,可以幫助用戶決定哪些有風(fēng)險(xiǎn)的程序需要在沙箱內(nèi)運(yùn)行,而不需要用戶自行判斷;
[0145]第二,避免將安全無風(fēng)險(xiǎn)的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失;
[0146]第三,無需用戶的參與,因此不影響用戶的操作,易用性高。
[0147]基于上述內(nèi)容,本發(fā)明還提供了圖2所示的優(yōu)選實(shí)施例。[0148]參照圖2,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。
[0149]以目標(biāo)對象是目標(biāo)程序?yàn)槔?,目?biāo)對象是目標(biāo)文件和用戶輸入信息的情況與此類似,不再詳述。
[0150]整個(gè)待操作的目標(biāo)程序自動(dòng)進(jìn)入沙箱的判斷流程如下:
[0151]步驟201,創(chuàng)建進(jìn)程;
[0152]步驟202,判斷父進(jìn)程是否在沙箱內(nèi);
[0153]如果父進(jìn)程在沙箱內(nèi),則跳轉(zhuǎn)到步驟208 ;
[0154]如果父進(jìn)程不在沙箱內(nèi),則繼續(xù)步驟203。
[0155]步驟203,判斷用戶是否選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱;
[0156]如果用戶已選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則跳轉(zhuǎn)到步驟208 ;
[0157]如果用戶未選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則繼續(xù)步驟204。
[0158]步驟204,判斷所述待操作的目標(biāo)程序是否在白名單中;
[0159]如果在白名單中,則跳轉(zhuǎn)到步驟209 ;
[0160]如果不在白名單中,則是未知程序,繼續(xù)步驟205。
[0161]步驟205,判斷所述待操作的目標(biāo)對象是否在黑名單中;
[0162]如果在黑名單中,則跳轉(zhuǎn)到步驟208 ;
[0163]如果不在黑名單中,則繼續(xù)步驟206。
[0164]步驟206,判斷所述目標(biāo)程序是否為特定類型的程序;
[0165]即根據(jù)各種匹配規(guī)則判斷是否為特定類型的程序;
[0166]如果是,則繼續(xù)步驟207 ;
[0167]如果不是,則跳轉(zhuǎn)到步驟209。
[0168]步驟207,彈出提示窗提示用戶該目標(biāo)程序?qū)?dǎo)入沙箱內(nèi)執(zhí)行;
[0169]如果用戶選擇導(dǎo)入,則將該目標(biāo)程序加入沙箱運(yùn)行列表。
[0170]步驟208,開始將目標(biāo)程序的文件/注冊表的寫入、刪除、修改等操作動(dòng)作導(dǎo)向沙箱中,判斷流程結(jié)束。
[0171]步驟209,將目標(biāo)程序在一般環(huán)境下運(yùn)行(非沙箱模式),判斷流程結(jié)束。
[0172]需要說明的是,上述步驟203至步驟205的順序也可以更換,但都需要在步驟206之前。
[0173]需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0174]基于上述內(nèi)容,本發(fā)明還提供了相應(yīng)的裝置實(shí)施例,如圖3所示。
[0175]參照圖3,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。
[0176]所述裝置可以包括以下模塊:
[0177]判斷觸發(fā)模塊31,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動(dòng)判斷模塊32 ;
[0178]自動(dòng)判斷模塊32,用于對待操作的目標(biāo)對象,自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
[0179]其中,所述目標(biāo)對象包括但不限于:目標(biāo)程序,目標(biāo)文件,用戶輸入的信息。
[0180]當(dāng)自動(dòng)判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí):
[0181]如果所述目標(biāo)對象為目標(biāo)程序,則所述自動(dòng)判斷模塊32將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)打;
[0182]如果所述目標(biāo)對象為目標(biāo)文件,則所述自動(dòng)判斷模塊32將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;
[0183]如果所述目標(biāo)對象為用戶輸入的信息,則所述自動(dòng)判斷模塊32將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
[0184]并且,如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊31將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊32 ;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊32 ;
[0185]如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊31將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動(dòng)判斷模塊32 ;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動(dòng)判斷模塊32 ;
[0186]如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊31在用戶輸入所述信息時(shí)觸發(fā)自動(dòng)判斷模塊32。
[0187]進(jìn)一步,所述自動(dòng)判斷模塊32可以包括:
[0188]規(guī)則判斷子模塊321,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
[0189]進(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ī)則;
[0190]其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;
[0191]當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),所述規(guī)則判斷子模塊321判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0192]優(yōu)選的,所述自動(dòng)判斷模塊32還可以包括:
[0193]父進(jìn)程判斷子模塊322,用于在創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0194]優(yōu)選的,所述自動(dòng)判斷模塊32還可以包括:
[0195]用戶選擇判斷子模塊323,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0196]優(yōu)選的,所述自動(dòng)判斷模塊32還可以包括:
[0197]白名單判斷子模塊324,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
[0198]優(yōu)選的,所述自動(dòng)判斷模塊32還可以包括:
[0199]黑名單判斷子模塊325,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0200]優(yōu)選的,所述裝置還可以包括:
[0201]提示模塊33,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。
[0202]對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0203]上述利用沙箱技術(shù)進(jìn)行防御的裝置可以部署在服務(wù)器端,也可以部署在客戶端,在用戶對目標(biāo)對象執(zhí)行操作之前,自動(dòng)判斷所述目標(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ù)的丟失,而且由于無需用戶的參與,因此不影響用戶的操作,易用性高。
[0204]基于上述的利用沙箱技術(shù)進(jìn)行防御的裝置,本發(fā)明實(shí)施例還提供了一種安全瀏覽器,該瀏覽器包括如上述圖3實(shí)施例所述的用沙箱技術(shù)進(jìn)行系統(tǒng)防御的裝置,并可采用圖1或圖2所述的方法自動(dòng)判斷待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。具體描述可參見上述圖1、圖2和圖3的相關(guān)內(nèi)容,不再詳述。
[0205]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0206]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。
[0207]而且,上文中的“和/或”表示本文既包含了 “和”的關(guān)系,也包含了 “或”的關(guān)系,其中:如果方案A與方案B是“和”的關(guān)系,則表示某實(shí)施例中可以同時(shí)包括方案A和方案B ;如果方案A與方案B是“或”的關(guān)系,則表示某實(shí)施例中可以單獨(dú)包括方案A,或者單獨(dú)包括方案B。
[0208]以上對本發(fā)明所提供的一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種利用沙箱技術(shù)進(jìn)行防御的方法,其特征在于,包括: 在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)防御步驟; 對待操作的目標(biāo)對象,判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱; 如果所述目標(biāo)對象在白名單中,則將目標(biāo)對象在非沙箱模式中運(yùn)行; 如果所述目標(biāo)對象不在白名單中,則所述待操作的目標(biāo)對象是未知對象,并判斷所述待操作的目標(biāo)對象是否在黑名單中; 如果所述目標(biāo)對象在黑名單中,則所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,并將目標(biāo)程序的文件/注冊表的寫入、刪除、修改等操作動(dòng)作導(dǎo)向沙箱中; 如果所述目標(biāo)對象不在黑名單中,則判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如符合,則認(rèn)為所述目標(biāo)對象是特定類型的程序,彈出提示窗提示用戶該目標(biāo)程序?qū)?dǎo)入沙箱內(nèi)執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,包括, 服務(wù)器端存儲(chǔ)自動(dòng)判斷的各種規(guī)則,根據(jù)客戶端的請求,由服務(wù)器端自動(dòng)判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,和/或,客戶端存儲(chǔ)自動(dòng)判斷的各種規(guī)則,并定期從服務(wù)器上更新,客戶端在用戶對目標(biāo)對象進(jìn)行操作之前進(jìn)行自動(dòng)判斷,由客戶端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
3.根據(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)鍵詞。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí),所述步驟包括: 如果所述目標(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ā)防御步驟。
5.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則包括: 判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括:創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程; 判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前,還包括: 判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括: 查詢預(yù)置的數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較,如果在該數(shù)據(jù)庫中查詢到,則符合匹配規(guī)則;如果未查詢到,則不符合匹配規(guī)則。
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(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ī)則。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述目標(biāo)對象的相關(guān)`信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源; 所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
11.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時(shí),判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
12.一種利用沙箱技術(shù)進(jìn)行防御的裝置,其特征在于,包括: 判斷觸發(fā)模塊,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動(dòng)判斷模塊; 自動(dòng)判斷模塊,用于對待操作的目標(biāo)對象,判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱; 如果所述目標(biāo)對象在白名單中,則將目標(biāo)對象在非沙箱模式中運(yùn)行; 如果所述目標(biāo)對象不在白名單中,則所述待操作的目標(biāo)對象是未知對象,并判斷所述待操作的目標(biāo)對象是否在黑名單中; 如果所述目標(biāo)對象在黑名單中,則所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,并將目標(biāo)程序的文件/注冊表的寫入、刪除、修改等操作動(dòng)作導(dǎo)向沙箱中; 如果所述目標(biāo)對象不在黑名單中,則判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如符合,則認(rèn)為所述目標(biāo)對象是特定類型的程序,彈出提示窗提示用戶該目標(biāo)程序?qū)?dǎo)入沙箱內(nèi)執(zhí)行。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,服務(wù)器端存儲(chǔ)自動(dòng)判斷的各種規(guī)則,根據(jù)客戶端的請求,由服務(wù)器端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,和/或;客戶端存儲(chǔ)自動(dòng)判斷的各種規(guī)則,并定期從服務(wù)器上更新,客戶端在用戶對目標(biāo)對象進(jìn)行操作之前進(jìn)行自動(dòng)判斷,由客戶端自動(dòng)判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,當(dāng)自動(dòng)判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時(shí): 如果所述目標(biāo)對象為目標(biāo)程序,則所述自動(dòng)判斷模塊將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行; 如果所述目標(biāo)對象為目標(biāo)文件,則所述自動(dòng)判斷模塊將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件; 如果所述目標(biāo)對象為用戶輸入的信息,則所述自動(dòng)判斷模塊將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
15.根據(jù)權(quán)利要求12所述的裝置,其特征在于: 如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動(dòng)判斷模塊; 如果所述目標(biāo)對象為目標(biāo)文件,則所述判斷觸發(fā)模塊將所述目標(biāo)文件或執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)文件之前觸發(fā)自動(dòng)判斷模塊;和/或,在下載所述目標(biāo)文件或在線執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動(dòng)判斷模塊; 如果所述目標(biāo)對象為用戶輸 入的信息,則所述判斷觸發(fā)模塊在用戶輸入所述信息時(shí)觸發(fā)自動(dòng)判斷模塊。
16.根據(jù)權(quán)利要求12至15任一所述的裝置,其特征在于,所述自動(dòng)判斷模塊包括: 規(guī)則判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述自動(dòng)判斷模塊還包括: 父進(jìn)程判斷子模塊,用于在創(chuàng)建用于自動(dòng)判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
18.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述自動(dòng)判斷模塊還包括: 用戶選擇判斷子模塊,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
19.根據(jù)權(quán)利要求16所述的裝置,其特征在于: 當(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ī)則。
【文檔編號(hào)】G06F21/53GK103514401SQ201310447652
【公開日】2014年1月15日 申請日期:2011年4月21日 優(yōu)先權(quán)日:2011年4月21日
【發(fā)明者】范紀(jì)鍠, 潘劍鋒, 孫曉駿, 路健華 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司