主動防御方法
【專利摘要】本發(fā)明提供了一種主動防御方法,以解決現(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)險的程序需要在沙箱內(nèi)運(yùn)行。
【專利說明】主動防御方法
[0001]本發(fā)明專利申請是申請日為2011年4月21日、申請?zhí)枮?01110100859.6、名稱為“利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器”的中國發(fā)明專利申請的分案申請。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及計算機(jī)安全【技術(shù)領(lǐng)域】,特別是涉及一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及一種安全瀏覽器。
【背景技術(shù)】
[0003]在計算機(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)。
[0004]具體來說,沙箱技術(shù)可以將一個程序放入沙箱運(yùn)行,這樣該程序所創(chuàng)建、修改、刪除的所有文件和注冊表都會被虛擬化重定向,也就是說所有操作都是虛擬的,真實(shí)的文件和注冊表不會被改動,這樣可以確保病毒無法對系統(tǒng)關(guān)鍵部位進(jìn)行改動破壞系統(tǒng)。
[0005]目前沙箱技術(shù)提供了兩種類型的沙箱:一種是特定型沙箱,例如=ChiOme(—種瀏覽器)利用沙箱技術(shù)將渲染引擎或Flash放在沙箱內(nèi)運(yùn)行,以保證瀏覽器的安全;還有一種是通用型沙箱,例如=Sandboxie (另一種瀏覽器)則提供給用戶一個沙箱,讓用戶自行選擇軟件程序放入沙箱內(nèi)運(yùn)行。
[0006]與特定型沙箱相比,上述由用戶選擇的通用型沙箱為用戶提供了更多的靈活性,極大地方便了用戶的使用。但是,這種讓用戶選擇的方式存在以下幾個問題:
[0007]第一,用戶必須自行判斷哪些是有風(fēng)險的程序需要放在沙箱內(nèi)運(yùn)行,如果用戶不了解程序的特性,就可能選擇錯誤;
[0008]第二,錯誤地使用沙箱,如將正在編輯文件的編輯程序放置沙箱內(nèi),會導(dǎo)致文件丟失;
[0009]第三,用戶自行選擇的方式易用性不高,操作復(fù)雜,不符合用戶的操作習(xí)慣。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問題是提供一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,以解決現(xiàn)有技術(shù)中由用戶自行選擇的沙箱技術(shù)所存在的問題。
[0011]為了解決上述問題,本發(fā)明公開了一種利用沙箱技術(shù)進(jìn)行防御的方法,包括:
[0012]在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟:
[0013]對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)打;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)打。獨(dú)發(fā)防御步驟;和/或,在下載所述目標(biāo)文匕御步驟;
則在用戶輸入所述信息時觸發(fā)防御步驟。待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入否符合預(yù)置的匹配規(guī)則之前,還包括:創(chuàng)建:所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,
;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對否符合預(yù)置的匹配規(guī)則之前,還包括:判斷導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對述待操作的目標(biāo)對象是否符合預(yù)置的匹配否符合預(yù)置的匹配規(guī)則之前,還包括:判斷=在白名單中,則所述待操作的目標(biāo)對象是置的匹配規(guī)則;和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
[0029]其中,所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源;所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
[0030]優(yōu)選的,當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0031]優(yōu)選的,根據(jù)客戶端的請求,由服務(wù)器端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;和/或,由客戶端自動判斷所述待操作的目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱。
[0032]優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還包括:彈出提示窗提示用戶是否導(dǎo)入沙箱。
[0033]本發(fā)明還提供了一種利用沙箱技術(shù)進(jìn)行防御的裝置,包括:
[0034]判斷觸發(fā)模塊,用于在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)所述自動判斷模塊;
[0035]自動判斷模塊,用于對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,如果是,則在沙箱中完成該目標(biāo)對象的執(zhí)行;如果否,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
[0036]其中,當(dāng)自動判斷所述目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時:
[0037]如果所述目標(biāo)對象為目標(biāo)程序,則所述自動判斷模塊將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行;
[0038]如果所述目標(biāo)對象為目標(biāo)文件,則所述自動判斷模塊將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚洌谏诚渲杏伤鲫P(guān)聯(lián)程序運(yùn)行該目標(biāo)文件;
[0039]如果所述目標(biāo)對象為用戶輸入的信息,則所述自動判斷模塊將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序;所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
[0040]其中,如果所述目標(biāo)對象為目標(biāo)程序,則所述判斷觸發(fā)模塊將所述目標(biāo)程序下載到客戶端后在客戶端運(yùn)行該目標(biāo)程序之前觸發(fā)自動判斷模塊;和/或,在下載所述目標(biāo)程序之前觸發(fā)自動判斷模塊;
[0041]如果所述目標(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ā)自動判斷模塊;
[0042]如果所述目標(biāo)對象為用戶輸入的信息,則所述判斷觸發(fā)模塊在用戶輸入所述信息時觸發(fā)自動判斷模塊。
[0043]優(yōu)選的,所述自動判斷模塊包括:規(guī)則判斷子模塊,用于判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,如果符合,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙箱。
[0044]優(yōu)選的,所述自動判斷模塊還包括:父進(jìn)程判斷子模塊,用于在創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程后,判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操繼續(xù)判斷所述待操作的目標(biāo)對象是否符合
I標(biāo)程序和/或目標(biāo)文件時,所述規(guī)則判斷預(yù)置的匹配規(guī)則40/或,判斷所述目標(biāo)對2則;
標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/:值、和/或下載來源;所述來源程序的相關(guān)、和/或文件屬性、和/或圖標(biāo)特征值、和/
丨勺信息時,所述規(guī)則判斷子模塊判斷所述用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)=是否導(dǎo)入沙箱。
&如上所述的利用沙箱技術(shù)進(jìn)行防御的裝
【專利附圖】
【附圖說明】
[0059]圖1是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖;
[0060]圖2是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖;
[0061]圖3是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0062]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0063]對于采用了沙箱技術(shù)的系統(tǒng),本發(fā)明提供了一種智能判定的方法,可以在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,從而幫助用戶決定哪些有風(fēng)險的程序需要在沙箱內(nèi)運(yùn)行。
[0064]下面通過實(shí)施例進(jìn)行詳細(xì)說明。
[0065]參照圖1,是本發(fā)明實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。
[0066]步驟101,在對目標(biāo)對象執(zhí)行操作之前,觸發(fā)以下防御步驟;
[0067]步驟102,對待操作的目標(biāo)對象,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱;
[0068]如果是,則執(zhí)行步驟103 ;如果否,則執(zhí)行步驟104。
[0069]步驟103,如果需要導(dǎo)入沙箱,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
[0070]步驟104,如果不需要導(dǎo)入沙箱,則在沙箱外完成該目標(biāo)對象的執(zhí)行。
[0071]即按照正常的處理流程執(zhí)行該目標(biāo)對象。
[0072]優(yōu)選的,如果所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱,則導(dǎo)入沙箱之前,還可以彈出提示窗提示用戶是否導(dǎo)入沙箱,以方便用戶根據(jù)自動判斷的結(jié)果進(jìn)行自由選擇。
[0073]上述實(shí)施例中,所述目標(biāo)對象包括但不限于目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。下面分別進(jìn)行詳細(xì)說明。
[0074](I)目標(biāo)程序
[0075]所述目標(biāo)程序通常指可執(zhí)行文件,如電子書、在線播放器、序號生成器等。
[0076]用戶可通過多種方式觸發(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)的安全性。
[0077]對于判斷為需要導(dǎo)入沙箱執(zhí)行的目標(biāo)程序,所述在沙箱中完成該目標(biāo)程序的執(zhí)行是指:將該目標(biāo)程序?qū)肷诚?,在沙箱中完成該目?biāo)程序的運(yùn)行。例如,對于某網(wǎng)站上的色情播放器,將該播放器放入沙箱中運(yùn)行。
[0078](2)目標(biāo)文件
[0079]所述目標(biāo)文件通常指圖片等不可執(zhí)行文件,這種目標(biāo)文件的執(zhí)行需要由關(guān)聯(lián)程序完成。例如,對于圖片,需要啟動圖片瀏覽器來瀏覽,所述圖片瀏覽器即為該圖片文件的關(guān)聯(lián)程序。俞入信息,所述在沙箱中完成該用戶輸入信I序?qū)肷诚?,在沙箱中根?jù)該用戶輸入信止,在沙箱中新打開一個瀏覽器來鏈接到該輸入的關(guān)聯(lián)程序。
'乍的目標(biāo)對象是哪一種,圖1所示方法都可每施例提供的自動判斷方法包括但不限于:配規(guī)則,如果符合,則所述待操作的目標(biāo)對學(xué)入沙箱。
I勺數(shù)據(jù)庫,將所述待操作的目標(biāo)對象與該數(shù)5查詢到,則符合匹配規(guī)則;如果未查詢到,聽的規(guī)則,或者直接存儲了符合匹配規(guī)則的-的目標(biāo)對象,則表明該目標(biāo)對象的執(zhí)行需則也不同:
亨和/或目標(biāo)文件時,判斷所述待操作的目
[0099]加密數(shù)據(jù)(如MD5),和/或
[0100]文件屬性(如產(chǎn)品名稱、版本信息、簽名發(fā)行者、文件大小等),和/或
[0101]圖標(biāo)特征值(如圖標(biāo)哈希值),和/或
[0102]文件特征值(如文件哈希值),和/或
[0103]下載來源(如從哪個網(wǎng)站下載)。
[0104]基于上述目標(biāo)對象的相關(guān)信息和來源程序的相關(guān)信息,所述匹配規(guī)則可以是:
[0105]例1:對于網(wǎng)站上的色情播放器,匹配規(guī)則如下:
[0106]來源程序?yàn)?瀏覽器程序或資源管理器;
[0107]目標(biāo)的文件名:包含“日本AV”或“情色”…;
[0108]目標(biāo)的文件圖標(biāo):為特定播放器圖標(biāo);
[0109]目標(biāo)的文件大小:可以限制在一個范圍,比如:1MB~1MB ;
[0110]目標(biāo)的文件描述:比如xxxx成人播放器,χχχχ專用播放器。
[0111]即符合上述規(guī)則的播放器即判定為色情播放器。
[0112]例2:對于未知有風(fēng)險的電子書,匹配規(guī)則如下:
[0113]目標(biāo)文件名稱:包含“電子書”的關(guān)鍵字;
[0114]目標(biāo)文件圖標(biāo)的特征值包含:電子書的圖標(biāo)的特征。
[0115]對于符合上述規(guī)則的電子書判定為有風(fēng)險的電子書。
[0116]例3:對于未知有風(fēng)險的序號生成器,匹配規(guī)則如下:
[0117]目標(biāo)文件名稱:有包含“序號生成器”或“keygen”或“cracker”或“破解機(jī)”的關(guān)鍵字;
[0118]目標(biāo)文件圖標(biāo)的特征值包含:序號生成器的圖標(biāo)的特征。
[0119]對符合上述規(guī)則的序號生成器可判斷為有風(fēng)險的序號生成器。
[0120]除上述列舉的幾種匹配規(guī)則之外,還可以有其他的多種規(guī)則,如進(jìn)行模糊匹配或全文匹配,優(yōu)先進(jìn)行文件名稱的匹配,等等,視具體應(yīng)用而定,在此不再一一列舉。
[0121]2)當(dāng)所述待操作的目標(biāo)對象為用戶輸入的信息時,判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,包括:判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
[0122]例如,判斷用戶輸入的網(wǎng)址是否為一些色情網(wǎng)站的網(wǎng)址,或者判斷用戶輸入的關(guān)鍵詞是否包含“日本AV”或“情色”等信息。通過用戶輸入的信息,就可以預(yù)先判斷出用戶下一步要瀏覽的網(wǎng)站或要搜索的網(wǎng)頁是否需要放入沙箱。
[0123]基于上述列舉的各種匹配規(guī)則,優(yōu)選的,在對目標(biāo)對象進(jìn)行上述匹配規(guī)則的自動判斷之前,還可以優(yōu)先進(jìn)行如下的自動判斷,列舉如下:
[0124]I)在判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:
[0125]創(chuàng)建用于自動判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程;
[0126]判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi),如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0127]即如果所述用于自動判斷目標(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í)行。
[0128]2)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則之前:含預(yù)置的匹配規(guī)則之前:
名單中,如果在黑名單中,則所述待操作的I中,則繼續(xù)判斷所述待操作的目標(biāo)對象是承對象,如果待操作的目標(biāo)對象在所述黑名戶,也不能排除所述待操作的目標(biāo)對象一定
I在黑名單中,也可以直接進(jìn)行攔截而不放
4斷之前使用,也可以組合起來在匹配規(guī)則找I例還提供了以下兩種實(shí)現(xiàn)方式:
瑞自動判斷所述待操作的目標(biāo)對象的執(zhí)行
1各種規(guī)則,如果待操作的目標(biāo)程序或目標(biāo)
[0146]第二,避免將安全無風(fēng)險的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失;
[0147]第三,無需用戶的參與,因此不影響用戶的操作,易用性高。
[0148]基于上述內(nèi)容,本發(fā)明還提供了圖2所示的優(yōu)選實(shí)施例。
[0149]參照圖2,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的方法流程圖。
[0150]以目標(biāo)對象是目標(biāo)程序?yàn)槔?,目?biāo)對象是目標(biāo)文件和用戶輸入信息的情況與此類似,不再詳述。
[0151]整個待操作的目標(biāo)程序自動進(jìn)入沙箱的判斷流程如下:
[0152]步驟201,創(chuàng)建進(jìn)程;
[0153]步驟202,判斷父進(jìn)程是否在沙箱內(nèi);
[0154]如果父進(jìn)程在沙箱內(nèi),則跳轉(zhuǎn)到步驟208 ;
[0155]如果父進(jìn)程不在沙箱內(nèi),則繼續(xù)步驟203。
[0156]步驟203,判斷用戶是否選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱;
[0157]如果用戶已選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則跳轉(zhuǎn)到步驟208 ;
[0158]如果用戶未選擇將所述待操作的目標(biāo)程序的執(zhí)行導(dǎo)入沙箱,則繼續(xù)步驟204。
[0159]步驟204,判斷所述待操作的目標(biāo)程序是否在白名單中;
[0160]如果在白名單中,則跳轉(zhuǎn)到步驟209 ;
[0161]如果不在白名單中,則是未知程序,繼續(xù)步驟205。
[0162]步驟205,判斷所述待操作的目標(biāo)對象是否在黑名單中;
[0163]如果在黑名單中,則跳轉(zhuǎn)到步驟208 ;
[0164]如果不在黑名單中,則繼續(xù)步驟206。
[0165]步驟206,判斷所述目標(biāo)程序是否為特定類型的程序;
[0166]即根據(jù)各種匹配規(guī)則判斷是否為特定類型的程序;
[0167]如果是,則繼續(xù)步驟207 ;
[0168]如果不是,則跳轉(zhuǎn)到步驟209。
[0169]步驟207,彈出提示窗提示用戶該目標(biāo)程序?qū)?dǎo)入沙箱內(nèi)執(zhí)行;
[0170]如果用戶選擇導(dǎo)入,則將該目標(biāo)程序加入沙箱運(yùn)行列表。
[0171]步驟208,開始將目標(biāo)程序的文件/注冊表的寫入、刪除、修改等操作動作導(dǎo)向沙箱中,判斷流程結(jié)束。
[0172]步驟209,將目標(biāo)程序在一般環(huán)境下運(yùn)行(非沙箱模式),判斷流程結(jié)束。
[0173]需要說明的是,上述步驟203至步驟205的順序也可以更換,但都需要在步驟206之前。
[0174]需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0175]基于上述內(nèi)容,本發(fā)明還提供了相應(yīng)的裝置實(shí)施例,如圖3所示。
[0176]參照圖3,是本發(fā)明優(yōu)選實(shí)施例所述一種利用沙箱技術(shù)進(jìn)行防御的裝置結(jié)構(gòu)圖。
[0177]所述裝置可以包括以下模塊:丨1]所述判斷觸發(fā)模塊31將所述目標(biāo)程序下變自動判斷模塊32 ;和/或,在下載所述目
&判斷觸發(fā)模塊31將所述目標(biāo)文件或執(zhí)行端運(yùn)行該目標(biāo)文件之前觸發(fā)自動判斷模塊目標(biāo)文件的關(guān)聯(lián)程序之前觸發(fā)自動判斷模
,則所述判斷觸發(fā)模塊31在用戶輸入所述
5:
喿作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則,要導(dǎo)入沙箱;如果不符合,則不需要導(dǎo)入沙
I標(biāo)程序和/或目標(biāo)文件時,所述規(guī)則判斷卜合預(yù)置的匹配規(guī)則;和7或,判斷所述目標(biāo)的匹配規(guī)則。
[0195]優(yōu)選的,所述自動判斷模塊32還可以包括:
[0196]用戶選擇判斷子模塊323,用于判斷用戶是否選擇將所述待操作的目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,如果是,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果否,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0197]優(yōu)選的,所述自動判斷模塊32還可以包括:
[0198]白名單判斷子模塊324,用于判斷所述待操作的目標(biāo)對象是否在白名單中,如果不在白名單中,則所述待操作的目標(biāo)對象是未知對象,觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則;如果在白名單中,則不需要導(dǎo)入沙箱。
[0199]優(yōu)選的,所述自動判斷模塊32還可以包括:
[0200]黑名單判斷子模塊325,用于判斷所述待操作的目標(biāo)對象是否在黑名單中,如果在黑名單中,則所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱;如果不在黑名單中,則觸發(fā)所述規(guī)則判斷子模塊繼續(xù)判斷所述待操作的目標(biāo)對象是否符合預(yù)置的匹配規(guī)則。
[0201]優(yōu)選的,所述裝置還可以包括:
[0202]提示模塊33,用于當(dāng)所述待操作的目標(biāo)對象的執(zhí)行需要導(dǎo)入沙箱時,在導(dǎo)入沙箱之前,彈出提示窗提示用戶是否導(dǎo)入沙箱。
[0203]對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0204]上述利用沙箱技術(shù)進(jìn)行防御的裝置可以部署在服務(wù)器端,也可以部署在客戶端,在用戶對目標(biāo)對象執(zhí)行操作之前,自動判斷所述目標(biāo)對象的執(zhí)行是否需要導(dǎo)入沙箱,幫助用戶決定哪些有風(fēng)險的程序需要在沙箱內(nèi)運(yùn)行,避免將安全無風(fēng)險的程序放置沙箱內(nèi)運(yùn)行導(dǎo)致用戶數(shù)據(jù)的丟失,而且由于無需用戶的參與,因此不影響用戶的操作,易用性高。
[0205]基于上述的利用沙箱技術(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)容,不再詳述。
[0206]本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。
[0207]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。
[0208]而且,上文中的“和/或”表示本文既包含了 “和”的關(guān)系,也包含了 “或”的關(guān)系,其中:如果方案A與方案B是“和”的關(guān)系,則表示某實(shí)施例中可以同時包括方案A和方案B ;如果方案A與方案B是“或”的關(guān)系,則表示某實(shí)施例中可以單獨(dú)包括方案A,或者單獨(dú)包括方案B。
[0209]以上對本發(fā)明所提供的一種利用沙箱技術(shù)進(jìn)行防御的方法、裝置及安全瀏覽器,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種主動防御方法,其包括: 在對目標(biāo)對象執(zhí)行操作之前,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則; 如果所述目標(biāo)對象符合預(yù)置的匹配規(guī)則,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述目標(biāo)對象包括以下任一項(xiàng):目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。
3.根據(jù)權(quán)利要求2所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序時,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將該目標(biāo)程序?qū)肷诚洌? 在沙箱中執(zhí)行該目標(biāo)程序。
4.根據(jù)權(quán)利要求2所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)文件,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件。
5.根據(jù)權(quán)利要求2所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中根據(jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序; 其中,所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其中,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 查詢預(yù)置的數(shù)據(jù)庫; 將所述目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較; 如果在該數(shù)據(jù)庫中查詢到,則所述目標(biāo)對象符合匹配規(guī)則。
7.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則; 和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
8.根據(jù)權(quán)利要求7所述的方法,其中, 所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源; 所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
9.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則包括: 判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
10.一種主動防御方法,其包括: 在對目標(biāo)對象執(zhí)行操作之前,創(chuàng)建用于判斷所述目標(biāo)對象的執(zhí)行的進(jìn)程; 判斷所述進(jìn)程的父進(jìn)程是否在沙箱內(nèi); 如果在沙箱內(nèi),則在沙箱中完成該目標(biāo)對象的執(zhí)行,否則判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則; 如果所述目標(biāo)對象符合預(yù)置的匹配規(guī)則,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述目標(biāo)對象包括以下任一項(xiàng):目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。
12.根據(jù)權(quán)利要求11所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序時,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將該目標(biāo)程序?qū)肷诚洌? 在沙箱中執(zhí)行該目標(biāo)程序。
13.根據(jù)權(quán)利要求11所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)文件,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件。
14.根據(jù)權(quán)利要求11所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,在沙箱中完成該目標(biāo) 對象的執(zhí)彳丁進(jìn)一步包括: 將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中根據(jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序; 其中,所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
15.根據(jù)權(quán)利要求10至14中任一項(xiàng)所述的方法,其中,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 查詢預(yù)置的數(shù)據(jù)庫; 將所述目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較; 如果在該數(shù)據(jù)庫中查詢到,則所述目標(biāo)對象符合匹配規(guī)則。
16.根據(jù)權(quán)利要求10至14中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則; 和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
17.根據(jù)權(quán)利要求16所述的方法,其中, 所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源; 所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
18.根據(jù)權(quán)利要求10至14中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則包括: 判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
19.一種主動防御方法,其包括: 在對目標(biāo)對象執(zhí)行操作之前,判斷所述目標(biāo)對象是否在白名單中; 如果在白名單中,則不需要在沙箱中完成該目標(biāo)對象的執(zhí)行,否則判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則; 如果所述目標(biāo)對象符合預(yù)置的匹配規(guī)則,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
20.根據(jù)權(quán)利要求19所述的方法,其中,所述目標(biāo)對象包括以下任一項(xiàng):目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。
21.根據(jù)權(quán)利要求20所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序時,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將該目標(biāo)程序?qū)肷诚洌? 在沙箱中執(zhí)行該目標(biāo)程序。
22.根據(jù)權(quán)利要求20所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)文件,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件。
23.根據(jù)權(quán)利要求20所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,在沙箱中完成該目標(biāo)對象的執(zhí)彳丁進(jìn)一步包括: 將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中根據(jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序; 其中,所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
24.根據(jù)權(quán)利要求19至23中任一項(xiàng)所述的方法,其中,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 查詢預(yù)置的數(shù)據(jù)庫; 將所述目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較; 如果在該數(shù)據(jù)庫中查詢到,則所述目標(biāo)對象符合匹配規(guī)則。
25.根據(jù)權(quán)利要求19至23中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則; 和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
26.根據(jù)權(quán)利要求25所述的方法,其中, 所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源; 所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
27.根據(jù)權(quán)利要求19至23中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則包括: 判斷所述用戶輸入的信息是否符合預(yù)置的匹配規(guī)則。
28.—種主動防御方法,其包括: 在對目標(biāo)對象執(zhí)行操作之前,判斷用戶是否選擇將所述目標(biāo)對象的執(zhí)行導(dǎo)入沙箱;如果用戶選擇了將所述目標(biāo)對象的執(zhí)行導(dǎo)入沙箱,則在沙箱中完成該目標(biāo)對象的執(zhí)行,否則判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則; 如果所述目標(biāo)對象符合預(yù)置的匹配規(guī)則,則在沙箱中完成該目標(biāo)對象的執(zhí)行。
29.根據(jù)權(quán)利要求28所述的方法,其中,所述目標(biāo)對象包括以下任一項(xiàng):目標(biāo)程序、目標(biāo)文件和用戶輸入的信息。
30.根據(jù)權(quán)利要求29所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序時,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將該目標(biāo)程序?qū)肷诚洌? 在沙箱中執(zhí)行該目標(biāo)程序。
31.根據(jù)權(quán)利要求29所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)文件,在沙箱中完成該目標(biāo)對象的執(zhí)行進(jìn)一步包括: 將執(zhí)行該目標(biāo)文件的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中由所述關(guān)聯(lián)程序運(yùn)行該目標(biāo)文件。
32.根據(jù)權(quán)利要求29所述的方法,其中,當(dāng)所述目標(biāo)對象為用戶輸入的信息時,在沙箱中完成該目標(biāo)對象的執(zhí)彳丁進(jìn)一步包括: 將接收該用戶輸入信息的關(guān)聯(lián)程序?qū)肷诚洌? 在沙箱中根據(jù)該用戶輸入信息運(yùn)行所述關(guān)聯(lián)程序; 其中,所述用戶輸入的信息包括網(wǎng)址和/或關(guān)鍵詞。
33.根據(jù)權(quán) 利要求28至32中任一項(xiàng)所述的方法,其中,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 查詢預(yù)置的數(shù)據(jù)庫; 將所述目標(biāo)對象與該數(shù)據(jù)庫中的預(yù)置規(guī)則進(jìn)行比較; 如果在該數(shù)據(jù)庫中查詢到,則所述目標(biāo)對象符合匹配規(guī)則。
34.根據(jù)權(quán)利要求28至32中任一項(xiàng)所述的方法,其中,當(dāng)所述目標(biāo)對象為目標(biāo)程序和/或目標(biāo)文件時,判斷所述目標(biāo)對象是否符合預(yù)置的匹配規(guī)則進(jìn)一步包括: 判斷所述目標(biāo)對象的相關(guān)信息是否符合預(yù)置的匹配規(guī)則; 和/或,判斷所述目標(biāo)對象的來源程序的相關(guān)信息是否符合預(yù)置的匹配規(guī)則。
35.根據(jù)權(quán)利要求34所述的方法,其中, 所述目標(biāo)對象的相關(guān)信息包括目標(biāo)對象的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源; 所述來源程序的相關(guān)信息包括來源程序的文件路徑、和/或加密數(shù)據(jù)、和/或文件屬性、和/或圖標(biāo)特征值、和/或文件特征值、和/或下載來源。
【文檔編號】G06F21/53GK104050411SQ201410058490
【公開日】2014年9月17日 申請日期:2011年4月21日 優(yōu)先權(quán)日:2011年4月21日
【發(fā)明者】范紀(jì)鍠, 潘劍鋒, 孫曉駿, 路健華 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司