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