專利名稱:基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)頁惡意代碼的檢測(cè)方法與裝置,確切地說,涉及一種基于沙箱 技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)方法與裝置,屬于一種綜合沙箱技術(shù)、系統(tǒng)調(diào)用和蜜 罐技術(shù)的web應(yīng)用安全檢測(cè)的技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,web應(yīng)用已經(jīng)逐漸成為網(wǎng)絡(luò)信息交互的中心。隨之 而來的相應(yīng)問題是與web應(yīng)用相關(guān)的安全事件愈來愈多,安全問題日益突出。當(dāng)前,網(wǎng)頁 木馬已經(jīng)成為木馬傳播的最常見形式之一,大量的形形色色的網(wǎng)頁惡意代碼充斥著計(jì)算機(jī) 網(wǎng)絡(luò),以相當(dāng)快的速度擴(kuò)散和傳播;并隨著web應(yīng)用的不斷深入發(fā)展而越來越網(wǎng)絡(luò)化,這對(duì) 網(wǎng)絡(luò)的正常使用造成了嚴(yán)重的影響,網(wǎng)絡(luò)中隱藏的各種網(wǎng)頁惡意代碼已經(jīng)成為網(wǎng)絡(luò)信息安 全的一個(gè)重要威脅。因此,如何識(shí)別網(wǎng)頁惡意代碼的檢測(cè)技術(shù)已經(jīng)成為業(yè)界非常關(guān)注的焦 點(diǎn)問題。網(wǎng)頁惡意代碼是攻擊者在正常網(wǎng)頁中插入一段惡意代碼,當(dāng)瀏覽器打開網(wǎng)頁時(shí), 這段惡意代碼就會(huì)隨之執(zhí)行,然后下載并運(yùn)行惡意程序,進(jìn)而威脅瀏覽者的PC主機(jī)安全; 或在網(wǎng)頁中設(shè)置一些欺騙圖片,誘騙用戶打開從而下載木馬程序;設(shè)置一些欺詐鏈接,誘使 用戶訪問攻擊者事先布置好的惡意web服務(wù)器。目前,網(wǎng)頁惡意代碼的檢測(cè)方法主要有下述兩種靜態(tài)分析方法是在不運(yùn)行網(wǎng)頁代碼情況下,利用分析引擎對(duì)網(wǎng)頁代碼的靜態(tài)特征 和功能模塊進(jìn)行分析;它是以網(wǎng)頁代碼為中心,只對(duì)網(wǎng)頁代碼自身進(jìn)行判斷,與代碼的行為 無關(guān)。靜態(tài)分析是由代碼內(nèi)容推導(dǎo)出所有執(zhí)行的特征,再與已經(jīng)建立的惡意特征庫進(jìn)行匹 配。由于在與事先定義好的惡意特征進(jìn)行的比對(duì)是一種誤用檢測(cè)(Misuse Detection)的 方式,因此需要建立龐大的數(shù)據(jù)庫,并需要定時(shí)更新和維護(hù)數(shù)據(jù)庫。這種方法還不能檢測(cè)出 未知威脅的惡意代碼;對(duì)于加密的惡意腳本,往往也是束手無策。而且,靜態(tài)分析可能會(huì)得 到大量冗余信息,分析結(jié)果也容易被代碼分析得到的冗余信息所迷惑,因而誤報(bào)率比較高。 盡管如此,靜態(tài)方法還是目前最為成熟、可信的網(wǎng)頁惡意代碼檢測(cè)技術(shù),已被大多數(shù)防毒軟 件采納并集成在各種軟件中。動(dòng)態(tài)分析方法是通過在可控的運(yùn)行環(huán)境中開啟惡意網(wǎng)頁,監(jiān)控代碼執(zhí)行后的行為 和狀態(tài)的變化,再對(duì)訪問過程中的各種數(shù)據(jù)進(jìn)行分析。這種方法是根據(jù)網(wǎng)頁運(yùn)行過程中的 行為來檢測(cè)是否存在網(wǎng)頁惡意代碼,能主動(dòng)檢測(cè)出各種隱藏的惡意代碼,并及時(shí)發(fā)現(xiàn)危險(xiǎn) 行為。雖然動(dòng)態(tài)分析不能證明代碼一定滿足某個(gè)特定的屬性,但是可以檢測(cè)到網(wǎng)頁代碼運(yùn) 行時(shí)所表現(xiàn)出來的異常屬性,還能提供各種與異常行為相關(guān)的信息。由于這種方法要在模 擬的環(huán)境中實(shí)時(shí)運(yùn)行網(wǎng)頁惡意代碼,因此對(duì)系統(tǒng)的安全性構(gòu)成了較大的威脅,且檢測(cè)耗費(fèi) 時(shí)間比較多。蜜罐是網(wǎng)絡(luò)信息安全研究的一個(gè)新領(lǐng)域,它是一種不同于防火墻、入侵檢測(cè)系統(tǒng) 的主動(dòng)防御系統(tǒng),是對(duì)現(xiàn)有安全技術(shù)的進(jìn)一步完善和補(bǔ)充。蜜罐是一個(gè)特意設(shè)計(jì)的有缺陷的系統(tǒng),為自身構(gòu)造了一個(gè)虛擬環(huán)境,模擬操作系統(tǒng)或以真實(shí)的操作系統(tǒng)和應(yīng)用程序在網(wǎng) 絡(luò)中故意暴露出各種漏洞和弱點(diǎn),再采取主動(dòng)方式引誘網(wǎng)絡(luò)攻擊者進(jìn)入有著明顯安全漏洞 的環(huán)境,然后,對(duì)各種行為進(jìn)行監(jiān)控,并對(duì)入侵手段與入侵工具等進(jìn)行記錄。傳統(tǒng)的蜜罐提出都搭建于服務(wù)器端,這種蜜罐不能檢測(cè)用戶端的異常行為。而客 戶端蜜罐能夠主動(dòng)與惡意服務(wù)器進(jìn)行交互,并實(shí)時(shí)獲取其行為信息,從而達(dá)到區(qū)分正常服 務(wù)器與惡意服務(wù)器的目的??蛻舳嗣酃抻址譃榈徒换ズ透呓换煞N類型。低交互客戶端蜜 罐使用一個(gè)模擬的客戶端來和服務(wù)器進(jìn)行交互,并沒有使用真實(shí)的客戶端軟件,對(duì)于服務(wù) 器的友好性的判別往往是通過簡(jiǎn)單的靜態(tài)分析。高交互蜜罐是在真實(shí)的操作系統(tǒng)上使用客 戶端軟件和服務(wù)器實(shí)現(xiàn)交互。從服務(wù)器返回的數(shù)據(jù),客戶端軟件都會(huì)正常處理;如果包含攻 擊行為,攻擊代碼也會(huì)被執(zhí)行,然后再分析攻擊后的系統(tǒng)狀態(tài)的變化,以判定惡意服務(wù)器。系統(tǒng)調(diào)用是位于用戶空間的應(yīng)用程序與位于內(nèi)核空間的操作系統(tǒng)內(nèi)核程序之間 的功能接口,其目的之一是讓用戶程序與內(nèi)核程序相分離,使得內(nèi)核程序和用戶程序分別 以特權(quán)級(jí)ringO和ring3來運(yùn)行之,從而實(shí)現(xiàn)程序空間和數(shù)據(jù)堆棧空間的分離,起到保護(hù)內(nèi) 核的作用。目的之二是由內(nèi)核程序?yàn)橛脩籼峁┯嘘P(guān)設(shè)備管理、文件系統(tǒng)和進(jìn)程控制、通信以 及存儲(chǔ)管理等方面的功能,從而使用戶不必了解系統(tǒng)程序的內(nèi)部結(jié)構(gòu)和有關(guān)硬件細(xì)節(jié),起 到減輕用戶負(fù)擔(dān)、保護(hù)系統(tǒng)和提高資源利用率的作用。近年來,惡意軟件制作者對(duì)Windows系統(tǒng)進(jìn)行了深入研究,他們使用的技術(shù)越來 越先進(jìn)。修改系統(tǒng)服務(wù)描述符表SSDT(System Services Descriptor Table)是目前惡意代 碼使用的一種先進(jìn)技術(shù)。通過對(duì)Windows系統(tǒng)SSDT的修改,惡意軟件可以輕易逃脫殺毒軟 件或反惡意軟件的追剿,甚至可以監(jiān)視殺毒軟件的行為。SSDT表把用戶空間ring3的Win32 應(yīng)用程序編程接口 API (ApplicationProgramming Interface)和內(nèi)核程序空間ring。的內(nèi) 核API聯(lián)系起來。X86體系結(jié)構(gòu)提供了 4個(gè)特權(quán)級(jí)(ring 0,1,2,3),Windows只使用了其 中2個(gè)特權(quán)級(jí)分別是ring 0與ring 3。出于安全考慮,Windows系統(tǒng)中的不同進(jìn)程根據(jù) 權(quán)限分別運(yùn)行于ringO或ring3級(jí)之上,運(yùn)行在ring3中的普通應(yīng)用程序需要使用系統(tǒng)核 心功能時(shí),必須通過調(diào)用運(yùn)行在ringO級(jí)的內(nèi)核程序提供的對(duì)應(yīng)函數(shù)。SSDT可以基于系統(tǒng)調(diào)用編號(hào)進(jìn)行索引,以便定位函數(shù)的內(nèi)存地址。SSDT處于系統(tǒng) 內(nèi)外關(guān)聯(lián)的重要位置,為惡意軟件提供了一條掌握各類程序運(yùn)行的有效途徑。SSDT包含一 個(gè)龐大的函數(shù)地址索引表和一些其他有用信息(如地址索引的基地址、服務(wù)函數(shù)個(gè)數(shù)等)。 SSDT是由ntoskrnl. exe導(dǎo)入到內(nèi)存中固定偏移位置的一個(gè)數(shù)據(jù)結(jié)構(gòu),惡意軟件可以通過 修改SSDT中記錄的內(nèi)核服務(wù)函數(shù)的入口地址,將指定服務(wù)函數(shù)調(diào)用時(shí)執(zhí)行的代碼轉(zhuǎn)向惡 意軟件代碼區(qū)。惡意軟件修改SSDT后,普通軟件就運(yùn)行于其監(jiān)控之下,甚至殺毒軟件也能 被其控制。沙盒技術(shù)(SandBox)是一種新穎的處理惡意代碼的技術(shù),它可以為可能的不安全 的代碼提供一個(gè)運(yùn)行空間,通過虛擬技術(shù)提供一個(gè)與實(shí)際環(huán)境類似的操作空間或者直接提 供一個(gè)實(shí)際運(yùn)行瀏覽器的鏡像,讓網(wǎng)絡(luò)上的程序可以在這個(gè)空間里隨意運(yùn)行,如果運(yùn)行時(shí) 的行為表明正在運(yùn)行的程序是病毒或惡意程序,則在標(biāo)志其特征后,系統(tǒng)將執(zhí)行回滾操作, 使一切都返回到程序運(yùn)行之前;也就是說,無論病毒或惡意程序如何運(yùn)行都無法對(duì)實(shí)際系 統(tǒng)造成損害和威脅,沙箱技術(shù)特點(diǎn)是發(fā)現(xiàn)可疑行為而讓程序繼續(xù)運(yùn)行,只有確認(rèn)其為病毒 時(shí)才終止。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢 測(cè)方法及裝置,本發(fā)明是利用客戶端蜜罐在真實(shí)的操作系統(tǒng)上開啟瀏覽器來訪問網(wǎng)絡(luò)中的 web服務(wù)器,通過監(jiān)視系統(tǒng)中的一些異常變化來檢測(cè)網(wǎng)頁惡意代碼。一方面把主機(jī)和用戶交 互的系統(tǒng)隔離開來,增強(qiáng)檢測(cè)的安全性;另一方面因?yàn)樵谡鎸?shí)環(huán)境中模擬瀏覽器和web服 務(wù)器的交互,大大提高了網(wǎng)頁惡意代碼的檢測(cè)效率。為了達(dá)到上述發(fā)明目的,本發(fā)明提供了一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意 代碼檢測(cè)裝置,其特征在于所述裝置由分設(shè)于同一局域網(wǎng)內(nèi)的兩個(gè)不同PC獨(dú)立主機(jī)的服 務(wù)端單元、客戶端管理單元和檢測(cè)單元所組成,其中,服務(wù)端單元位于服務(wù)器,客戶端管理 單元和檢測(cè)單元位于客戶端的虛擬機(jī),服務(wù)器通過操控客戶端與因特網(wǎng)的web服務(wù)器交互 信息,以保證檢測(cè)的準(zhǔn)確性,并避免因服務(wù)器受到網(wǎng)頁惡意代碼攻擊而導(dǎo)致該裝置癱瘓,且 服務(wù)器能夠操控客戶端的多個(gè)虛擬機(jī)同時(shí)與web服務(wù)器進(jìn)行交互,提高網(wǎng)頁惡意代碼的檢 測(cè)效率;其中,服務(wù)端單元,用于完成配置檢測(cè)參數(shù),下發(fā)統(tǒng)一資源定位符 URL(UniversalResource Locator)和處理與展示檢測(cè)結(jié)果;設(shè)有檢測(cè)配置模塊、服務(wù)端管 控模塊、界面模塊和結(jié)果處理模塊;客戶端管理單元,用于接受服務(wù)端單元的指令,開啟和關(guān)閉瀏覽器訪問設(shè)定的web 服務(wù)器,監(jiān)控客戶端蜜罐系統(tǒng)的狀態(tài)變化,提供和服務(wù)端單元通信的接口 ;設(shè)有客戶端管控 模塊與數(shù)據(jù)分析模塊;檢測(cè)單元,設(shè)有事件處理模塊與包括SSDT監(jiān)控、文件監(jiān)控、網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控和 注冊(cè)表監(jiān)控的各種監(jiān)控模塊,用于收集和處理各種數(shù)據(jù),完成內(nèi)核級(jí)的SSDT監(jiān)控、文件監(jiān) 控、網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控和注冊(cè)表監(jiān)控。為了達(dá)到上述發(fā)明目的,本發(fā)明還提供一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意 代碼檢測(cè)裝置的檢測(cè)方法,其特征在于所述方法包括下列操作步驟(1)服務(wù)端單元從人機(jī)交互界面接收輸入信息,完成檢測(cè)參數(shù)的配置和URL設(shè)置, 并將配置數(shù)據(jù)保存為文件;(2)服務(wù)端單元定位虛擬機(jī)軟件安裝路徑,開啟虛擬機(jī)應(yīng)用程序,向虛擬機(jī)接口傳 送控制指令,并用用戶登錄名和密碼登錄虛擬機(jī)內(nèi)的系統(tǒng),再啟動(dòng)虛擬機(jī)中客戶端管理單 元和檢測(cè)單元;(3)客戶端管理單元建立其所在的虛擬機(jī)與服務(wù)端單元所在的PC主機(jī)之間的通 信服務(wù)端單元所在PC主機(jī)使用ping指令給虛擬機(jī)發(fā)送數(shù)據(jù),客戶端管理單元通過虛擬機(jī) 回復(fù),確認(rèn)存活與實(shí)現(xiàn)交互;(4)客戶端管理單元的虛擬機(jī)開啟瀏覽器瀏覽設(shè)定的網(wǎng)頁,檢測(cè)單元對(duì)整個(gè)瀏覽 過程進(jìn)行實(shí)時(shí)監(jiān)控,并將檢測(cè)數(shù)據(jù)返回客戶端管理單元;(5)客戶端管理單元對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析與評(píng)估后,發(fā)送給服務(wù)端單元,以便在人 機(jī)交互界面展示評(píng)估結(jié)果。本發(fā)明的優(yōu)點(diǎn)是本發(fā)明裝置基于虛擬機(jī),不僅實(shí)現(xiàn)了主機(jī)和客戶端在邏輯上的 分離,還將主機(jī)和客戶端在物理上分割開來,極大地提高了主機(jī)的安全性能,同時(shí)在受到掛馬攻擊后,能夠在極短時(shí)間里回復(fù)到純凈狀態(tài),可以避免因主機(jī)系統(tǒng)受到網(wǎng)頁惡意代碼的 感染而導(dǎo)致整個(gè)裝置的癱瘓的情況出現(xiàn);提高了檢測(cè)的效率。并且本發(fā)明的技術(shù)方案實(shí)現(xiàn) 了從內(nèi)核級(jí)來監(jiān)控瀏覽器的行為,極大的提高了檢測(cè)網(wǎng)頁惡意代碼的準(zhǔn)確度。本發(fā)明基于 沙箱技術(shù),充分利用沙箱研究的前沿技術(shù)完成網(wǎng)馬的檢測(cè)工作,和常見的靜態(tài)匹配相比,不 需要建立和維護(hù)龐大的規(guī)則庫,避免了紛雜的數(shù)據(jù)庫更新和維護(hù)操作。本發(fā)明是從SSDT、文 件、網(wǎng)絡(luò)、進(jìn)程和注冊(cè)表實(shí)時(shí)監(jiān)控瀏覽器和web服務(wù)器交互的行為,從而解決了靜態(tài)分析方 法無法檢測(cè)出加密腳本的問題,可以更全面地對(duì)網(wǎng)頁中的惡意代碼進(jìn)行檢測(cè)。本發(fā)明采用 異常檢測(cè)(Anomaly Detection)和誤用檢測(cè)(MisuseDetection)方式,能夠檢測(cè)出未知的 掛馬類型,大大提高了掛馬檢測(cè)的準(zhǔn)確性。本發(fā)明還極大地提高了主機(jī)的安全性能,同時(shí)在 受到掛馬攻擊后,能在很短時(shí)間里回復(fù)到純凈狀態(tài)。
圖1是本發(fā)明基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的結(jié)構(gòu)組成示 意圖。圖2是本發(fā)明基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的網(wǎng)絡(luò)部署示 意圖。圖3是本發(fā)明基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的檢測(cè)方法流 程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明 作進(jìn)一步的詳細(xì)描述。參見圖1,介紹本發(fā)明基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的結(jié)構(gòu) 組成,設(shè)有三個(gè)部件服務(wù)端單元、客戶端管理單元、檢測(cè)單元。服務(wù)端單元用于完成配置檢測(cè)參數(shù),下發(fā)統(tǒng)一資源定位符 URL(UniversalResource Locator)和處理與展示檢測(cè)結(jié)果;設(shè)有檢測(cè)配置模塊、服務(wù)端管 控模塊、界面模塊和結(jié)果處理模塊。其中各個(gè)模塊的功能分別是界面模塊用于接受配置的檢測(cè)參數(shù)與檢測(cè)請(qǐng)求并將其發(fā)送給檢測(cè)配置模塊;再將 獲取的待檢測(cè)的URL信號(hào)傳送給服務(wù)端管控模塊,以及將檢測(cè)分類結(jié)果送給終端顯示;檢測(cè)配置模塊負(fù)責(zé)設(shè)置IP地址,配置虛擬機(jī)文件的絕對(duì)路徑、虛擬機(jī)的登錄名和 密碼,并對(duì)參數(shù)進(jìn)行初始化后,將這些信息都發(fā)送給服務(wù)端管控模塊;服務(wù)端管控模塊負(fù)責(zé)接收界面模塊與檢測(cè)配置模塊的信息,與客戶端管理單元交 互通信,開啟和關(guān)閉虛擬機(jī)軟件,下發(fā)掃描URL列表和向結(jié)果處理模塊遞交檢測(cè)結(jié)果;結(jié)果處理模塊,用于收集檢測(cè)結(jié)果,分析網(wǎng)頁惡意代碼類型,將可疑信息和行為分 類結(jié)果發(fā)送給界面模塊??蛻舳斯芾韱卧糜诮邮芊?wù)端單元的指令,開啟和關(guān)閉瀏覽器訪問設(shè)定的web 服務(wù)器,監(jiān)控客戶端蜜罐系統(tǒng)的狀態(tài)變化,提供和服務(wù)端單元通信的接口。設(shè)有客戶端管控 模塊與數(shù)據(jù)分析模塊,這兩個(gè)模塊功能分別是客戶端管控模塊用于接收服務(wù)端單元指令開啟和關(guān)閉瀏覽器,并調(diào)控多個(gè)或多種類型瀏覽器的并行操作,向數(shù)據(jù)分析模塊發(fā)送數(shù)據(jù)分析初始化指令,向檢測(cè)單元和服務(wù)端 單元分別發(fā)送觸發(fā)檢測(cè)處理信號(hào)和返回檢測(cè)到的可疑行為和甄別結(jié)果。數(shù)據(jù)分析模塊負(fù)責(zé)收集各種觸發(fā)事件進(jìn)行分析處理,監(jiān)視虛擬機(jī)狀態(tài)的變化;以 及向客戶端管控模塊返回包括可疑信息與行為的甄別結(jié)果;所述觸發(fā)事件是監(jiān)控?cái)?shù)據(jù)發(fā)生 包括系統(tǒng)服務(wù)調(diào)用表的改變、文件的讀寫、進(jìn)程的新建與退出、以及網(wǎng)絡(luò)端口數(shù)據(jù)包的進(jìn)出 的各種變化的相應(yīng)情況。檢測(cè)單元設(shè)有事件處理模塊與包括SSDT監(jiān)控、文件監(jiān)控、網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控和 注冊(cè)表監(jiān)控的各種監(jiān)控模塊,用于收集和處理各種數(shù)據(jù),完成內(nèi)核級(jí)的SSDT監(jiān)控、文件監(jiān) 控、網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控和注冊(cè)表監(jiān)控。它的各個(gè)模塊功能分別是事件處理模塊負(fù)責(zé)各監(jiān)控模塊的調(diào)度和處理各種觸發(fā)事件,并向客戶端單元發(fā)送 包括觸發(fā)事件ID、所在模塊ID、變更內(nèi)容和事件內(nèi)容的各種數(shù)據(jù);系統(tǒng)服務(wù)描述附表SSDT(System Services Descriptor Table)監(jiān)控模塊用于開 啟瀏覽器后,監(jiān)控系統(tǒng)服務(wù)調(diào)用表的變化,記錄可疑的修改行為,并將相關(guān)信息發(fā)送給事件 處理模塊;文件監(jiān)控模塊負(fù)責(zé)過濾文件、監(jiān)控文件的各種操作與記錄可疑讀寫事件,并將相 關(guān)信息發(fā)送給事件處理模塊;網(wǎng)絡(luò)監(jiān)控模塊用于監(jiān)控網(wǎng)絡(luò)端口的可疑事件與評(píng)估可疑數(shù)據(jù)包,并將相關(guān)信息發(fā) 送給事件處理模塊;進(jìn)程監(jiān)控模塊用于監(jiān)控進(jìn)程的創(chuàng)建與終止的事件,并記錄其中的可疑行為,并將 相關(guān)信息發(fā)送給事件處理模塊;注冊(cè)表監(jiān)控模塊用于監(jiān)控注冊(cè)表的修改操作與記錄可疑信息,并將相關(guān)信息發(fā)送 給事件處理模塊。參見圖2,介紹本發(fā)明裝置設(shè)置于網(wǎng)絡(luò)中的情況。本發(fā)明基于沙箱技術(shù)的客戶端蜜 罐網(wǎng)頁惡意代碼檢測(cè)裝置中的服務(wù)端單元、客戶端管理單元和檢測(cè)單元是分別設(shè)置在同一 局域網(wǎng)內(nèi)的兩個(gè)不同PC獨(dú)立主機(jī)上,其中,服務(wù)端單元位于服務(wù)器,客戶端管理單元和檢 測(cè)單元位于客戶端的虛擬機(jī),這樣,服務(wù)器通過操控客戶端與因特網(wǎng)的web服務(wù)器實(shí)現(xiàn)信 息交互。如此設(shè)置的目的是既要服務(wù)端單元和客戶端管理單元在物理上隔離,能夠更好地 保證服務(wù)端的安全性,可以避免因服務(wù)端受到網(wǎng)頁惡意代碼的攻擊而導(dǎo)致出現(xiàn)整個(gè)裝置癱 瘓的情況,還使得本發(fā)明基于虛擬機(jī),使服務(wù)端單元能夠操控客戶端的多個(gè)虛擬機(jī)同時(shí)與 web服務(wù)器進(jìn)行交互,從而大大提高網(wǎng)頁惡意代碼的檢測(cè)效率,更好地保證檢測(cè)的準(zhǔn)確性。另外,為了節(jié)省設(shè)備投資或在某些特定場(chǎng)合,本發(fā)明裝置中的服務(wù)端單元、客戶端 管理單元和檢測(cè)單元也能夠設(shè)置于同一臺(tái)PC主機(jī),此時(shí)為實(shí)現(xiàn)服務(wù)端和客戶端物理與邏 輯上的隔離,將服務(wù)端單元位于該P(yáng)C主機(jī),客戶端管理單元和檢測(cè)單元?jiǎng)t位于虛擬機(jī)。參見圖3,介紹本發(fā)明基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的檢測(cè) 方法的具體操作步驟步驟1,服務(wù)端單元從人機(jī)交互界面接收輸入信息,完成檢測(cè)參數(shù)的配置和URL設(shè) 置,并將配置數(shù)據(jù)保存為文件。需要配置的檢測(cè)參數(shù)包括虛擬機(jī)所在的PC主機(jī)的IP地 址與虛擬機(jī)的IP地址,虛擬機(jī)所在的PC主機(jī)上虛擬機(jī)文件的絕對(duì)路徑,虛擬機(jī)的用戶登 錄名及其密碼;設(shè)置的URL包括待檢測(cè)的URL清單和訪問URL所選用的瀏覽器型號(hào)(IE,F(xiàn)irefox, Opera)。步驟4 通過虛擬機(jī)接口向登入的虛擬機(jī)系統(tǒng)傳送控制指令,開啟用戶指定的瀏 覽器類型瀏覽指定網(wǎng)頁。步驟2,服務(wù)端單元定位虛擬機(jī)軟件安裝路徑,開啟虛擬機(jī)應(yīng)用程序,向虛擬機(jī)接 口傳送控制指令,并用用戶登錄名和密碼登錄虛擬機(jī)內(nèi)的系統(tǒng),再啟動(dòng)虛擬機(jī)中客戶端管 理單元和檢測(cè)單元。步驟3,客戶端管理單元建立其所在的虛擬機(jī)與服務(wù)端單元所在的PC主機(jī)之間的 通信服務(wù)端單元所在PC主機(jī)使用Ping指令給虛擬機(jī)發(fā)送數(shù)據(jù),客戶端管理單元通過虛擬 機(jī)回復(fù),確認(rèn)存活與實(shí)現(xiàn)交互。步驟4,客戶端管理單元的虛擬機(jī)開啟瀏覽器瀏覽設(shè)定的網(wǎng)頁,檢測(cè)單元對(duì)整個(gè)瀏 覽過程進(jìn)行實(shí)時(shí)監(jiān)控,并將檢測(cè)數(shù)據(jù)返回客戶端管理單元。該步驟包括下列操作內(nèi)容(41)客戶端管理單元根據(jù)監(jiān)控參數(shù)指示虛擬機(jī)開啟指定類型的瀏覽器;(42)瀏覽器根據(jù)URL列表和監(jiān)控參數(shù)瀏覽設(shè)定的網(wǎng)頁;(43)檢測(cè)單元對(duì)整個(gè)瀏覽過程進(jìn)行下述實(shí)時(shí)監(jiān)控SSDT監(jiān)控、文件監(jiān)控、注冊(cè)表 監(jiān)控、進(jìn)程監(jiān)控和網(wǎng)絡(luò)監(jiān)控,并將檢測(cè)數(shù)據(jù)返回客戶端管理單元。其中SSDT監(jiān)控模塊的監(jiān) 控過程的操作內(nèi)容如下與SSDT進(jìn)行掛鉤;定義監(jiān)控對(duì)象;對(duì)內(nèi)核態(tài)的監(jiān)控參數(shù)進(jìn)行初始 化設(shè)置,包括處理正常行為模式庫;開啟用戶態(tài)接口 ;攔截系統(tǒng)調(diào)用;監(jiān)控到定義對(duì)象時(shí), 記錄瀏覽器執(zhí)行的行為路徑;再將該行為路徑和正常行為模式庫進(jìn)行比對(duì);結(jié)束系統(tǒng)調(diào)用 功能,退出惡意站點(diǎn)。步驟5,客戶端管理單元對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析與評(píng)估后,發(fā)送給服務(wù)端單元,以便 在人機(jī)交互界面展示評(píng)估結(jié)果。該步驟中,客戶端管理單元執(zhí)行的操作內(nèi)容如下先對(duì)監(jiān)控 數(shù)據(jù)進(jìn)行可疑信息和行為的甄別,對(duì)甄別出來的信息和行為進(jìn)行網(wǎng)頁惡意代碼的可疑度分 類,再將分類結(jié)果傳遞給人機(jī)交互界面服務(wù)端單元,由后者在人機(jī)交互界面展示評(píng)估結(jié)果。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置,其特征在于所述裝置由 分設(shè)于同一局域網(wǎng)內(nèi)的兩個(gè)不同PC獨(dú)立主機(jī)的服務(wù)端單元、客戶端管理單元和檢測(cè)單元 所組成,其中,服務(wù)端單元位于服務(wù)器,客戶端管理單元和檢測(cè)單元位于客戶端的虛擬機(jī), 服務(wù)器通過操控客戶端與因特網(wǎng)的web服務(wù)器交互信息,以保證檢測(cè)的準(zhǔn)確性,并避免因 服務(wù)器受到網(wǎng)頁惡意代碼攻擊而導(dǎo)致該裝置癱瘓,且服務(wù)器能夠操控客戶端的多個(gè)虛擬機(jī) 同時(shí)與web服務(wù)器進(jìn)行交互,提高網(wǎng)頁惡意代碼的檢測(cè)效率;其中,服務(wù)端單元,用于完成配置檢測(cè)參數(shù),下發(fā)統(tǒng)一資源定位符URL,處理與展示檢測(cè)結(jié)果; 設(shè)有檢測(cè)配置模塊、服務(wù)端管控模塊、界面模塊和結(jié)果處理模塊;客戶端管理單元,用于接受服務(wù)端單元的指令,開啟和關(guān)閉瀏覽器訪問設(shè)定的web服 務(wù)器,監(jiān)控客戶端蜜罐系統(tǒng)的狀態(tài)變化,提供和服務(wù)端單元通信的接口 ;設(shè)有客戶端管控模 塊與數(shù)據(jù)分析模塊;檢測(cè)單元,設(shè)有事件處理模塊與包括SSDT監(jiān)控、文件監(jiān)控、網(wǎng)絡(luò)監(jiān)控、進(jìn)程監(jiān)控和注冊(cè) 表監(jiān)控的各種監(jiān)控模塊,用于收集和處理各種數(shù)據(jù),完成內(nèi)核級(jí)的SSDT監(jiān)控、文件監(jiān)控、網(wǎng) 絡(luò)監(jiān)控、進(jìn)程監(jiān)控和注冊(cè)表監(jiān)控。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于所述服務(wù)端單元中的各個(gè)模塊的功能是界面模塊,用于接受配置的檢測(cè)參數(shù)與檢測(cè)請(qǐng)求并將其發(fā)送給檢測(cè)配置模塊;再將獲 取的待檢測(cè)的URL信號(hào)傳送給服務(wù)端管控模塊,以及將檢測(cè)分類結(jié)果送給終端顯示;檢測(cè)配置模塊,負(fù)責(zé)設(shè)置IP地址,配置虛擬機(jī)文件的絕對(duì)路徑、虛擬機(jī)的登錄名和密 碼,并對(duì)參數(shù)進(jìn)行初始化處理后,將這些信息都發(fā)送給服務(wù)端管控模塊;服務(wù)端管控模塊,負(fù)責(zé)接收界面模塊與檢測(cè)配置模塊的信息,與客戶端管理單元交互 通信,開啟和關(guān)閉虛擬機(jī)軟件,下發(fā)掃描URL列表和向結(jié)果處理模塊遞交檢測(cè)結(jié)果;結(jié)果處理模塊,用于收集檢測(cè)結(jié)果,分析網(wǎng)頁惡意代碼類型,將可疑信息和行為分類結(jié) 果發(fā)送給界面模塊。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于所述客戶端管理單元中的兩個(gè)模塊功能是客戶端管控模塊,用于接收服務(wù)端單元指令開啟和關(guān)閉瀏覽器,并調(diào)控多個(gè)或多種類 型瀏覽器的并行操作,向數(shù)據(jù)分析模塊發(fā)送數(shù)據(jù)分析初始化指令,向檢測(cè)單元和服務(wù)端單 元分別發(fā)送觸發(fā)檢測(cè)處理信號(hào)和返回檢測(cè)到的可疑行為和甄別結(jié)果;數(shù)據(jù)分析模塊,負(fù)責(zé)收集各種觸發(fā)事件進(jìn)行分析處理,監(jiān)視虛擬機(jī)狀態(tài)的變化;以及向 客戶端管控模塊返回包括可疑信息與行為的甄別結(jié)果;所述觸發(fā)事件是監(jiān)控?cái)?shù)據(jù)發(fā)生包括 系統(tǒng)服務(wù)調(diào)用表的改變、文件的讀寫、進(jìn)程的新建與退出、以及網(wǎng)絡(luò)端口數(shù)據(jù)包的進(jìn)出的各 種變化的相應(yīng)情況。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于所述檢測(cè)單元中的各個(gè)模塊功能是具體 還包括事件處理模塊,負(fù)責(zé)各監(jiān)控模塊的調(diào)度和處理各種觸發(fā)事件,并向客戶端單元發(fā)送包 括觸發(fā)事件ID、所在模塊ID、變更內(nèi)容和事件內(nèi)容的各種數(shù)據(jù);系統(tǒng)服務(wù)描述附表SSDT(System Services Descriptor Table)監(jiān)控模塊,用于開啟瀏 覽器后,監(jiān)控系統(tǒng)服務(wù)調(diào)用表的變化,記錄可疑的修改行為,并將相關(guān)信息發(fā)送給事件處理模塊;文件監(jiān)控模塊,負(fù)責(zé)過濾文件、監(jiān)控文件的各種操作與記錄可疑讀寫事件,并將相關(guān)信 息發(fā)送給事件處理模塊;網(wǎng)絡(luò)監(jiān)控模塊,用于監(jiān)控網(wǎng)絡(luò)端口的可疑事件與評(píng)估可疑數(shù)據(jù)包,并將相關(guān)信息發(fā)送 給事件處理模塊;進(jìn)程監(jiān)控模塊,用于監(jiān)控進(jìn)程的創(chuàng)建與終止的事件,并記錄其中的可疑行為,并將相關(guān) 信息發(fā)送給事件處理模塊;注冊(cè)表監(jiān)控模塊,用于監(jiān)控注冊(cè)表的修改操作與記錄可疑信息,并將相關(guān)信息發(fā)送給 事件處理模塊。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于為了節(jié)省設(shè)備投資或在某些特定場(chǎng)合,所 述服務(wù)端單元、客戶端管理單元和檢測(cè)單元能夠設(shè)置于同一臺(tái)PC主機(jī),此時(shí)為實(shí)現(xiàn)服務(wù)端 和客戶端物理與邏輯上的隔離,將服務(wù)端單元位于該P(yáng)C主機(jī),客戶端管理單元和檢測(cè)單元 則位于虛擬機(jī)。
6.一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)裝置的檢測(cè)方法,其特征在于 所述方法包括下列操作步驟(1)服務(wù)端單元從人機(jī)交互界面接收輸入信息,完成檢測(cè)參數(shù)的配置和URL設(shè)置,并將 配置數(shù)據(jù)保存為文件;(2)服務(wù)端單元定位虛擬機(jī)軟件安裝路徑,開啟虛擬機(jī)應(yīng)用程序,向虛擬機(jī)接口傳送控 制指令,并用用戶登錄名和密碼登錄虛擬機(jī)內(nèi)的系統(tǒng),再啟動(dòng)虛擬機(jī)中客戶端管理單元和 檢測(cè)單元;(3)客戶端管理單元建立其所在的虛擬機(jī)與服務(wù)端單元所在的PC主機(jī)之間的通信服 務(wù)端單元所在PC主機(jī)使用ping指令給虛擬機(jī)發(fā)送數(shù)據(jù),客戶端管理單元通過虛擬機(jī)回復(fù), 確認(rèn)存活與實(shí)現(xiàn)交互;(4)客戶端管理單元的虛擬機(jī)開啟瀏覽器瀏覽設(shè)定的網(wǎng)頁,檢測(cè)單元對(duì)整個(gè)瀏覽過程 進(jìn)行實(shí)時(shí)監(jiān)控,并將檢測(cè)數(shù)據(jù)返回客戶端管理單元;(5)客戶端管理單元對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析與評(píng)估后,發(fā)送給服務(wù)端單元,以便在人機(jī)交 互界面展示評(píng)估結(jié)果。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(1)中,服務(wù)端單元從人機(jī)交互 界面接收與配置的檢測(cè)參數(shù)包括;虛擬機(jī)所在的PC主機(jī)的IP地址與虛擬機(jī)的IP地址,虛 擬機(jī)所在的PC主機(jī)上虛擬機(jī)文件的絕對(duì)路徑,虛擬機(jī)的用戶登錄名及其密碼;設(shè)置的URL 包括待檢測(cè)的URL清單和訪問URL所選用的瀏覽器型號(hào)。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(4)進(jìn)一步包括下列操作內(nèi)容(41)客戶端管理單元根據(jù)監(jiān)控參數(shù)指示虛擬機(jī)開啟指定類型的瀏覽器;(42)瀏覽器根據(jù)URL列表和監(jiān)控參數(shù)瀏覽設(shè)定的網(wǎng)頁;(43)檢測(cè)單元對(duì)整個(gè)瀏覽過程進(jìn)行下述實(shí)時(shí)監(jiān)控SSDT監(jiān)控、文件監(jiān)控、注冊(cè)表監(jiān)控、 進(jìn)程監(jiān)控和網(wǎng)絡(luò)監(jiān)控,并將檢測(cè)數(shù)據(jù)返回客戶端管理單元。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟( 中,客戶端管理單元執(zhí)行的 操作內(nèi)容如下先對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行可疑信息和行為的甄別,對(duì)甄別出來的信息和行為進(jìn)行 網(wǎng)頁惡意代碼的可疑度分類,再將分類結(jié)果傳遞給人機(jī)交互界面服務(wù)端單元,由后者在人機(jī)交互界面展示評(píng)估結(jié)果。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于所述系統(tǒng)服務(wù)狀態(tài)描述符表SSDT監(jiān)控 模塊的監(jiān)控過程包括下列操作內(nèi)容與SSDT進(jìn)行掛鉤;定義監(jiān)控對(duì)象;對(duì)內(nèi)核態(tài)的監(jiān)控參 數(shù)進(jìn)行初始化設(shè)置,包括處理正常行為模式庫;開啟用戶態(tài)接口 ;攔截系統(tǒng)調(diào)用;監(jiān)控到定 義對(duì)象時(shí),記錄瀏覽器執(zhí)行的行為路徑;再將該行為路徑和正常行為模式庫進(jìn)行比對(duì);結(jié) 束系統(tǒng)調(diào)用功能,退出惡意站點(diǎn)。
全文摘要
一種基于沙箱技術(shù)的客戶端蜜罐網(wǎng)頁惡意代碼檢測(cè)方法及裝置,本發(fā)明裝置設(shè)有服務(wù)端單元、客戶端管理單元和檢測(cè)單元,在與web服務(wù)器的實(shí)時(shí)交互過程中,該裝置通過監(jiān)控瀏覽器行為的變化來檢測(cè)網(wǎng)頁惡意代碼。其檢測(cè)方法是服務(wù)端單元先從人機(jī)交互界面接收檢測(cè)參數(shù),再開啟虛擬機(jī)應(yīng)用程序,由虛擬機(jī)軟件開啟虛擬機(jī)后,客戶端管理單元建立服務(wù)端單元所位于的PC機(jī)和虛擬機(jī)的通信,然后,開啟瀏覽器瀏覽指定網(wǎng)頁;檢測(cè)單元監(jiān)控整個(gè)瀏覽過程,客戶端管理單元評(píng)估監(jiān)控?cái)?shù)據(jù)后,由服務(wù)端單元通過人機(jī)交互界面展示該評(píng)估結(jié)果。與現(xiàn)有技術(shù)相比較,本發(fā)明能夠比較準(zhǔn)確地檢測(cè)與發(fā)現(xiàn)網(wǎng)頁中存在的惡意代碼,并大大提高了網(wǎng)頁惡意代碼的檢測(cè)效率。
文檔編號(hào)H04L12/26GK102088379SQ20111002547
公開日2011年6月8日 申請(qǐng)日期2011年1月24日 優(yōu)先權(quán)日2011年1月24日
發(fā)明者周春燕, 張冬梅, 王魯華, 舒敏, 鄧明, 鐘金鑫, 閆丹鳳 申請(qǐng)人:北京郵電大學(xué), 國家計(jì)算機(jī)網(wǎng)絡(luò)與信息安全管理中心