專利名稱:一種檢測僵尸網絡的方法及其裝置的制作方法
技術領域:
本發(fā)明涉及計算機網絡領域,尤其是涉及到一種檢測僵尸網絡的方法 及其裝置。
背景技術:
僵尸網絡(Botnet)是網絡攻擊者將僵尸工具(Bot)植入到多個僵 尸主機(Zombie),然后利用僵尸主機上的僵尸工具控制僵尸主機去攻擊 其他受害者主機的網絡;其中,僵尸工具是被預定義的命令所遠程控制, 并具有一定人工智能的程序,僵尸主機則為被植入僵尸工具的主機。
通過僵尸網絡,網絡攻擊者可利用僵尸主機隱蔽自己,并控制僵尸主 機攻擊其他主機達到非法目的,例如進行分布式拒絕服務攻擊(DDos, Distributed Denial of Service )、發(fā)送垃圾郵件、竊取秘密、濫用資源等攻 擊行為,使得僵尸網絡成為目前互聯網安全最嚴重的威脅之一。
要制止網絡攻擊者利用僵尸網絡進行攻擊,就必須確定僵尸網絡的存 在;而僵尸主機是僵尸網絡的重要特征,找到僵尸主機的所在,則可進一 步對僵尸網絡采取響應和防御措施。
現有技術中, 一般是通過在站點或主機遭受僵尸網絡攻擊,或者部署 虛假主機引誘攻擊者攻擊后,獲取僵尸工具的程序樣本,采用逆向工程等 惡意代碼分析手段,獲得隱藏在代碼中的僵尸網絡的登錄信息,使用定制 的僵尸程序登錄到僵尸網絡中去,再進一步采取應對措施。
在對現有技術的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現存在以下問
題
目前對僵尸網絡的檢測方法都是在遭受了僵尸網絡的攻擊后才被動 地進行4全測,較為滯后。
發(fā)明內容
本發(fā)明實施例提供一種能夠實時檢測僵尸網絡的方法及其裝置,能在 遭受到僵尸網絡的攻擊前主動地確定僵尸主機的位置,從而檢測到僵尸網 絡。為解決上述技術問題,本發(fā)明所提供的實施例是通過以下技術方案實
現的
一種檢測僵尸網絡的方法,包括 獲取網絡中的數據報文;
對所述數據報文中的可執(zhí)行程序進行安全性分析,將有危害的可執(zhí)行 程序確定為惡意資源;
監(jiān)控所述惡意資源是否有訪問請求;
當有訪問請求時,確定發(fā)出所述訪問請求的主機為僵尸主機。 一種檢測僵尸網絡的裝置,包括 獲取單元,用于獲取網絡中的數據報文;
分析單元,用于對獲取單元獲取的數據報文中的可執(zhí)行程序進行安全 性分析,將有危害的可執(zhí)行程序確定為惡意資源;
監(jiān)控單元,用于監(jiān)控分析單元分析得到的所述惡意資源是否有訪問請
求;
確定單元,用于當有訪問請求時,確定發(fā)出監(jiān)控單元監(jiān)控的所述訪問 請求的主機為僵尸主機。
由上述技術方案可以看出,本發(fā)明實施例通過主動獲取網絡中的數據 報文,并對數據報文中的可執(zhí)行程序進行安全性分析,然后監(jiān)控訪問有危 害的可執(zhí)行程序的請求主機地址,即可確定發(fā)出所述請求的主機為僵尸主
從而在遭受到僵尸網絡的攻擊前主動地確定僵尸主才幾的位置,4全測到 僵尸網絡的存在。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅 是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性 勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖l是僵尸網絡多級控制架構的結構示意圖2是僵尸網絡對等協議架構的結構示意圖3是本發(fā)明實施例一的方法流程示意圖;圖4是本發(fā)明實施例二的方法流程示意圖; 圖5是本發(fā)明實施例裝置的結構示意圖。
具體實施例方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進 行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例, 而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒 有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的 范圍。
僵尸網絡的架構一般有
1、 多級控制架構參見圖1,圖1為僵尸網絡多級控制架構結構示意 圖。從上到下依次為攻擊者、控制端、僵尸主機、受害者;攻擊者通過控 制端向僵尸主機植入僵尸工具,進而攻擊受害者;控制端可為多級控制結 構,在基于因特網中繼聊天協議(IRC, Internet Relay Chat)實現的僵尸網 絡中,控制端可為IRC服務器。
2、 對等協議(P2P, peer-to-peer)結構參見圖2,圖2為僵尸網絡 對等協議架構的結構示意圖。具有更強隱蔽性和危害性;攻擊者可通過控 制定位文件位置的數據庫,來將僵尸工具植入到與該數據庫連接的所有主 機中,進而攻擊受害者。
發(fā)明人發(fā)現,無論是哪一種網絡架構,僵尸主機都需要下載僵尸工具 才能被攻擊者所控制,而下載必須首先訪問僵尸工具的地址;因此,本發(fā) 明實施例利用"訪問"這一特性,監(jiān)控請求訪問網絡惡意資源的主機地址, 從而確定僵尸主機。
以下為本發(fā)明具體實施例。
實施例一、參見圖3詳細說明,圖3為本實施例的方法流程示意圖。 步驟101:獲取網絡中的數據報文。
因網絡訪問經常使用的為超文本傳輸協議(HTTP, Hyper Text Transfer Protocol)、文件傳輸協議(FTP, File Transfer Protocol )、簡單文件傳輸協 議(TFTP, Trivial File Transfer Protocol),本發(fā)明實施例則可直接獲取網絡 中使用這幾種協議進行傳輸的數據報文,或者,也可在獲取網絡中的數據報文后過濾出使用這幾種協議的數據報文,其中,可利用深度包檢測技術
(DPI, Deep Packet Inspection)進行過濾。顯然,上述幾種協議是4吏用較 多的協議,獲取使用其他協議進行傳輸的數據報文也不影響本發(fā)明實施例 的實現。
步驟102:對所述數據報文中的可執(zhí)行程序進行安全性分析,將有危 害的可執(zhí)行程序確定為惡意資源。
安全性分析可以參照殺毒軟件的分析方法進行,或者直接利用現有的 殺毒軟件進行安全性分析,殺毒軟件報警則說明該可執(zhí)行程序有危害。
有危害的可執(zhí)行程序即為會產生危險行為的程序,例如未經授^l的訪 問、緩沖區(qū)溢出、拒絕服務、信息被修改等。
惡意資源為網絡中被主機訪問以及使用的數據、程序、代碼等對象, 網絡攻擊者通常將僵尸工具隱藏在惡意資源中,以蒙蔽用戶,使得僵尸工 具隱藏地、不為訪問用戶所知地種植到訪問惡意資源的主機中。
步驟103:監(jiān)控惡意資源是否有訪問請求。
還可先確定某一具體惡意資源的訪問路徑,然后監(jiān)控所述訪問;洛徑的 訪問請求。例如某惡意資源的訪問路徑為"服務器A/主目錄B/子目錄C", 則監(jiān)控訪問該路徑的訪問請求。
步驟104:當有訪問請求時,確定發(fā)出訪問請求的主機為僵尸主機。 確定發(fā)出步驟103監(jiān)控的訪問請求的主機為僵尸主機。 本發(fā)明實施例通過主動獲取網絡中的數據報文,并對數據報文中的可 執(zhí)行程序進行安全性分析,然后監(jiān)控訪問有危害的可執(zhí)行程序的請求主機 地址,即可確定發(fā)出所述請求的主機為僵尸主機,從而在遭受到僵尸網絡 的攻擊前主動地確定僵尸主機的位置,檢測到僵尸網絡的存在。
以下實施例二為實施例一監(jiān)控惡意資源的訪問請求的應用實施例。 實施例二、參見圖4詳細說明,圖4為本實施例的方法流程示意圖。 步驟201:獲取網絡中的數據報文。 步驟203:過濾數據報文。
因網絡訪問經常^f吏用的應用層協議為HTTP、 FTP、 TFTP協i義,本發(fā) 明實施例則可直接獲取網絡中使用這幾種協議進行傳輸的數據報文,或者,也可在獲取網絡中的數據報文后過濾出使用這幾種協議的數據報文。
過濾數據報文可通過深度包檢測技術實現,它能高效地識別出網絡上 的各種應用。所謂"深度,,是和普通的報文分析層次相比較而言的,普通 報文檢測僅分析包的層4以下(網絡層、鏈路層、物理層)的內容,包括 源地址、目的地址、源端口、目的端口以及協議類型,而深度包檢測技術 除了對前面提到的層次進行分析外,還增加了應用層分析,識別各種應用 及其內容。
深度包檢測技術的識別技術可分為多種
第一類是基于特征字的識別技術不同的應用通常會采用不同的協 議,而各種協議都有其特殊的指紋,這些指紋可能是特定的端口、特定的 字符串或者特定的比特流序列?;谔卣髯值淖R別技術,正是通過識別數 據報文中的指紋信息來確定業(yè)務流所承載的應用。通過對指紋信息的升 級,基于特征字的識別技術可以很方便地擴展到對任意協議的檢測。
以基于對等協議的比特流(Bit torrent)協議的識別為例對等協議 總是由一個"握手"開始,后面是循環(huán)的消息流,每個消息的前面,都有 一個數字來表示消息的長度。在握手流程中,首先發(fā)送"19",跟著是字 符串"Bit Torrent protocol"。因此可以確定,"19 Bit Torrent Protocol"就 是Bit torrent協議的特征字。
第二類是行為模式識別技術基于對終端的各種行為的研究基礎,建 立起行為識別模型,行為模式識別技術即可根據用戶已經實施的行為,判 斷用戶正在進行的動作或者即將實施的動作。
行為模式識別技術通常用于那些無法由協議本身判定的業(yè)務。例如, 從電子郵件(Email)的內容看,垃圾郵件(SPAM)業(yè)務流與普通郵件業(yè) 務流兩者沒有區(qū)別,只有進一步分析才能識別出SPAM郵件。具體可通過 發(fā)送郵件的速率、目的郵件地址數目、變化頻率、源郵件地址數目、變化 頻率、郵件被拒絕的頻率等參數,建立起行為識別模型,并以此分揀出垃 圾郵件。
步驟203:存儲過濾后的數據報文。
將過濾后的數據報文的訪問路徑、訪問軟件名稱、請求訪問主機、被訪問主機等記錄下來,存在數據庫中,可備后續(xù)分析之用。
數據庫可為預置數據庫,用于存儲從網絡中獲取的數據報文和/或過濾
后的數據報文。
步驟204:對存儲的數據報文中的可執(zhí)行程序進行安全性分析,將包
含有危害的可執(zhí)行程序確定為惡意資源。
為便于傳輸,攻擊者要給僵尸主機植入的僵尸工具的所占空間不會太
大, 一般不會超過2M,因此,可對占用空間小于2M的可執(zhí)行程序優(yōu)先進 行安全性分析,以提高檢測惡意資源的效率。
安全性分析可以參照殺毒軟件的分析方法進行,或者直接利用現有的 殺毒軟件進行安全性分析,殺毒軟件報警則說明該可^L行程序有危害。
通過安全性分析,將可能引起緩沖區(qū)溢出、腳本注入和跨站點腳本處 理、分布式拒絕服務、蠻力攻擊、信息修改等危險行為的可執(zhí)行程序確定 為惡意資源。
步驟205:提取惡意資源的信息。
提取惡意資源的訪問路徑、訪問軟件名稱等信息。
步驟206:監(jiān)控惡意資源的訪問請求。
根據提取的惡意資源的訪問路徑、訪問程序名稱等信息,監(jiān)控惡意資 源的訪問請求??梢允窃L問某程序的請求,或者是訪問某訪問路徑的請求。
步驟207:確定發(fā)出訪問請求的主機為僵尸主機。
也可以在發(fā)出訪問請求的次數超過預設的閾值時,才確定發(fā)出所述訪 問請求的主機為僵尸主機,避免誤認。
本發(fā)明實施例通過主動獲取網絡中的數據報文,并對數據報文中的可 執(zhí)行程序進行安全性分析,然后監(jiān)控訪問有危害的可執(zhí)行程序的請求主機 地址,即可確定發(fā)出所述請求的主機為僵尸主機,從而在遭受到僵尸網絡 的攻擊前主動地確定僵尸主機的位置,檢測到僵尸網絡的存在。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將 其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā) 明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以 采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不 一定是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中 沒有詳述的部分,可以參見其他實施例的相關描述。
以上提供了 一種檢測僵尸網絡的方法,本發(fā)明實施例還提供一種檢測 僵尸網絡的裝置。
一種檢測僵尸網絡的裝置,如圖5所示,圖5為本發(fā)明實施例裝置的 結構示意圖,包括
獲取單元ll,用于獲取網絡中的數據報文;還可用于對獲取的數據報 文進4于過濾;
因網絡訪問經常使用的為HTTP、 FTP、 TFTP,本發(fā)明實施例可直接 獲取網絡中使用這幾種協議進行傳輸的數據報文,或者,也可在獲取網絡 中的數據報文后過濾出使用這幾種協議的數據報文,其中,可利用深度包 檢測技術(DPI, Deep Packet Inspection)進行過濾。顯然,上述幾種協議 是使用較多的協議,獲取使用其他協議進行傳輸的數據報文也不影響本發(fā) 明實施例的實現。
分析單元12,用于對獲取單元11獲取的數據報文中的可執(zhí)行程序進行 安全性分析,將有危害的可執(zhí)行程序確定為惡意資源;具體用于存書者獲取 的數據報文,再對存儲的數據報文中的可執(zhí)行程序進行安全性分析。
則分析單元12可包括存儲子單元121、安全分析子單元122和確定子 單元123:
存儲子單元121用于存儲獲取的數據報文;
安全分析子單元122用于對存儲子單元121存儲的數據報文中的可執(zhí) 行程序進行安全性分析;
確定子單元123用于將安全分析子單元122分析得到的有危害的可執(zhí) 行程序確定為惡意資源。
安全性分析可以參照殺毒軟件的分析方法進行,或者直接利用現有的 殺毒軟件進行安全性分析,殺毒軟件報警則說明該可執(zhí)行程序有危害。
有危害的可執(zhí)行程序即為會產生危險行為的程序,例如未經授權的訪問、緩沖區(qū)溢出、拒絕服務、信息被修改等。
惡奮資源為網絡中被主機訪問以及使用的數據、程序、代碼等對象, 網絡攻擊者通常將僵尸工具隱藏在惡意資源中,以蒙蔽用戶,使得僵尸工 具隱藏地、不為訪問用戶所知地種植到訪問惡意資源的主機中。
監(jiān)控單元13,用于監(jiān)控分析單元12分析得到的所述惡意資源是否有 訪問請求;具體用于確定惡意資源的訪問路徑后,對所述訪問路徑進行監(jiān) 控,判斷是否有主機發(fā)出訪問請求。例如某惡意資源的訪問路徑為"服務
器A/主目錄B/子目錄C",則監(jiān)控訪問該路徑的訪問請求。
則監(jiān)控單元13可包括路徑確定子單元131和判斷子單元132; 路徑確定子單元131用于確定所述惡意資源的訪問路徑; 判斷子單元132用于對路徑確定子單元131確定的訪問路徑進4亍監(jiān)控, 判斷是否有主機發(fā)出訪問請求。
確定單元14,用于當有訪問請求時,確定監(jiān)控單元13監(jiān)控的發(fā)出訪 問請求的主機為僵尸主機;還可用于在發(fā)出訪問請求的次數超過預設的閾 值時,確定發(fā)出訪問請求的主機為僵尸主機。
本發(fā)明實施例裝置可存在于網關設備上,以更有效地保護網絡安全。 本發(fā)明實施例裝置通過獲取單元11主動獲取網絡中的數據報文,并由 分析單元12對數據報文中的可執(zhí)行程序進行安全性分析,然后監(jiān)控單元 13監(jiān)控訪問有危害的可執(zhí)行程序的請求主機地址,即可確定發(fā)出所述請求 的主機為僵尸主機,從而在遭受到僵尸網絡的攻擊前主動地確定僵尸主機 的位置,檢測到僵尸網絡的存在。
本發(fā)明實施例設備的各個模塊可以集成于一體,也可以分離部署。上 述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
本領域普通技術人員可以理解,實現上述實施例方法中的全部或部分 流程,是可以通過計算機程序來指令相關的硬件來完成,程序可存儲于一 計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施 例的流程。其中,存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。 以上對本發(fā)明實施例所提供的一種能夠實時檢測僵尸網絡的方法及其裝置進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式
思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實
施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解 為對本發(fā)明的限制。
權利要求
1、一種檢測僵尸網絡的方法,其特征在于,包括獲取網絡中的數據報文;對所述數據報文中的可執(zhí)行程序進行安全性分析,將有危害的可執(zhí)行程序確定為惡意資源;監(jiān)控所述惡意資源是否有訪問請求;當有訪問請求時,確定發(fā)出所述訪問請求的主機為僵尸主機。
2、 根據權利要求1所述的方法,其特征在于,所述監(jiān)控所述惡意資源是 否有訪問請求包括確定所述惡意資源的訪問路徑;對所述訪問路徑進行監(jiān)控,判斷是否有主機發(fā)出訪問請求。
3、 根據權利要求1所述的方法,其特征在于,還包括 對獲取的網絡中的數據報文進行過濾;所述對所述數據報文中的可執(zhí)行程序進行安全性分析包括對過濾后的 所述數據才艮文中的可執(zhí)行程序進行安全性分析。
4、 根據權利要求1所述的方法,其特征在于,所述對所述數據報文中的 可執(zhí)行程序進行安全性分析,將有危害的可執(zhí)行程序確定為惡意資源包括存儲所述數據^^艮文;對存儲的數據報文中的可執(zhí)行程序進行安全性分析; 將有危害的可執(zhí)行程序確定為惡意資源。
5、 根據權利要求1至4任一項所述的方法,其特征在于,還包括 在發(fā)出所述訪問請求的次數超過預設的閾值時,確定發(fā)出所述訪問請求的主才幾為僵尸主才幾。
6、 一種檢測僵尸網絡的裝置,其特征在于,包括 獲取單元,用于獲取網絡中的數據報文;分析單元,用于對獲取單元獲取的數據報文中的可執(zhí)行程序進行安全性分析,將有危害的可執(zhí)行程序確定為惡意資源;監(jiān)控單元,用于監(jiān)控分析單元分析得到的所述惡意資源是否有訪問請求; 確定單元,用于當有訪問請求時,確定發(fā)出監(jiān)控單元監(jiān)控的所述訪問請求的主機為僵尸主才幾。
7、 根據權利要求6所述的裝置,其特征在于,所述監(jiān)控單元包括路徑確 定子單元和判斷子單元;所述路徑確定子單元用于確定所述惡意資源的訪問路徑;判斷是否有主機發(fā)出訪問請求。
8、 根據權利要求6所述的裝置,其特征在于,所述獲取單元還用于對獲 取的數據報文進行過濾。
9、 根據權利要求6所述的裝置,其特征在于,所述分析單元包括存儲 子單元、安全分析子單元和確定子單元;所述存儲子單元用于存儲獲取的數據報文;進行安全性分析;所述確定子單元用于將安全分析子單元分析得到的有危害的可^M于程序 確定為惡意資源。
10、根據權利要求6至9任一項所述的裝置,其特征在于,所述確定單 元還用于在發(fā)出所述訪問請求的次數超過預設的閾值時,確定發(fā)出所述訪問 請求的主機為僵尸主機。
全文摘要
本發(fā)明實施例公開了一種檢測僵尸網絡的方法及其裝置,該方法為獲取網絡中的數據報文;對數據報文中的可執(zhí)行程序進行安全性分析,將有危害的可執(zhí)行程序確定為惡意資源;監(jiān)控惡意資源是否有訪問請求;當有訪問請求時,確定發(fā)出訪問請求的主機為僵尸主機。本發(fā)明實施例通過主動獲取網絡中的數據報文,并對數據報文中的可執(zhí)行程序進行安全性分析,然后監(jiān)控訪問有危害的可執(zhí)行程序的請求主機地址,即可確定發(fā)出所述請求的主機為僵尸主機,從而在遭受到僵尸網絡的攻擊前主動地確定僵尸主機的位置,檢測到僵尸網絡的存在。
文檔編號H04L29/06GK101588276SQ20091014229
公開日2009年11月25日 申請日期2009年6月29日 優(yōu)先權日2009年6月29日
發(fā)明者武 蔣 申請人:成都市華為賽門鐵克科技有限公司