專利名稱:僵尸網(wǎng)絡檢測方法及裝置的制作方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡安全技術,尤其涉及一種僵尸網(wǎng)絡檢測方法及裝置。
背景技術:
在現(xiàn)有技術中,僵尸網(wǎng)絡(Botnet)指使用一種或多種傳播手段將大量主機感染 僵尸(bot)程序,從而在控制者和被感染主機之間形成的一個一對多的控制網(wǎng)絡,其中,被 感染主機稱之為僵尸或僵尸計算機。目前,僵尸網(wǎng)絡應用了一種比較新的FAST-FLUX技術,F(xiàn)AST-FLUX技術的目的是 為一個合法域名(例如,www. example, com)分配多個互聯(lián)網(wǎng)協(xié)議(Internet Protocol ;以 下簡稱IP)地址,F(xiàn)AST-FLUX技術通過一個輪轉的IP地址資源庫以及對特定的域名系統(tǒng) (Domain Name System ;以下簡稱DNS)中的域名資源設置具有短生命周期的解析映射,實 現(xiàn)以極快的頻率更換域名的IP地址?;贔AST-FLUX技術的僵尸網(wǎng)絡中,包括一個母節(jié)點 (Mothership),即,控制者控制的控制服務器,在Mothership的下層,具有多個重定向計算 機,這些重定向計算機組成了 FAST-FLUX網(wǎng)絡,在重定向計算機的下層,為Mothership控制 的僵尸計算機,這些僵尸計算機組成僵尸網(wǎng)絡。在FAST-FLUX技術中,控制者可以把控制服務器隱藏在一系列重定向計算機背 后,這些重定向計算機的域名是相同的,但DNS根據(jù)輪回或者服務質(zhì)量等因素不斷刷新提 供與控制服務器相連的中轉服務。通過這種模式,控制者可以增加該僵尸網(wǎng)絡的冗余度,并 能夠很好地隱藏控制服務器。目前,檢測基于FAST-FLUX技術的僵尸網(wǎng)絡的方式是通過樣本分析進行的。也就 是說,通過獲取的惡意程序,即,活樣本,對其進行網(wǎng)絡行為分析,根據(jù)該惡意程序連接的IP 地址在每次上線是否相同來判斷是否為基于FAST-FLUX技術的僵尸網(wǎng)絡。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題使用上述方式檢測基于FAST-FLUX技術的僵尸網(wǎng)絡,需要獲取確切的僵尸網(wǎng)絡惡 意程序,并需要人工參與進行大量的樣本分析,不能夠自動檢測,從而造成人力和資源的浪 費。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種僵尸網(wǎng)絡檢測方法及裝置,用以解決現(xiàn)有技術中不能夠 自動檢測基于fast-flux技術的僵尸網(wǎng)絡,而造成人力和資源的浪費的缺陷,實現(xiàn)對基于 fast-flux技術的僵尸網(wǎng)絡的自動檢測。本發(fā)明實施例提供一種僵尸網(wǎng)絡檢測方法,包括確定疑似僵尸網(wǎng)絡域名;通過樣本分析和/或特征檢測獲取惡意域名和惡意域名 連接端口 ;根據(jù)疑似僵尸網(wǎng)絡域名以及惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)惡意域名連接 端口確定與僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口 ;根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接 端口確定僵尸網(wǎng)絡的拓撲結構。
本發(fā)明實施例還提供一種僵尸網(wǎng)絡檢測裝置,包括第一確定模塊,用于確定疑似僵尸網(wǎng)絡域名;獲取模塊,用于通過樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口 ;第二確定模塊,用于根據(jù)疑似僵尸網(wǎng)絡域名 以及惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)惡意域名連接端口確定與僵尸網(wǎng)絡域名對應的僵 尸網(wǎng)絡連接端口 ;第三確定模塊,用于根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口確定僵尸 網(wǎng)絡的拓撲結構。本發(fā)明實施例的僵尸網(wǎng)絡檢測方法及裝置,通過將自動檢測出的疑似僵尸網(wǎng)絡域 名與惡意域名相比較,得到僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口,從而確定僵尸網(wǎng)絡的拓 撲結構,在一定程度上克服了現(xiàn)有技術中不能夠自動檢測僵尸網(wǎng)絡,而造成人力和資源的 浪費的缺陷,實現(xiàn)了對基于FAST-FLUX技術的僵尸網(wǎng)絡的自動檢測。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例的基于FAST-FLUX技術的僵尸網(wǎng)絡的結構示意圖;圖2是本發(fā)明實施例的僵尸網(wǎng)絡檢測方法的流程圖;圖3是本發(fā)明實施例的僵尸網(wǎng)絡檢測方法的詳細處理的流程圖;圖4是本發(fā)明實施例的僵尸網(wǎng)絡檢測裝置的示意圖;圖5是本發(fā)明實施例的僵尸網(wǎng)絡檢測裝置的詳細結構示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。下面結合附圖和具體實施例進一步說明本發(fā)明實施例的技術方案。圖1是本發(fā)明實施例基于FAST-FLUX技術的僵尸網(wǎng)絡的結構示意圖,如圖1所 示,基于FAST-FLUX技術的僵尸網(wǎng)絡中,包括一個母節(jié)點(Mothership),S卩,控制者控制 的控制服務器,在Mothership的下層,具有多個重定向計算機,這些重定向計算機組成了 FAST-FLUX網(wǎng)絡,在重定向計算機的下層,為Mothership控制的僵尸計算機,這些僵尸計算 機組成僵尸網(wǎng)絡。根據(jù)本發(fā)明的實施例,提供了一種僵尸網(wǎng)絡檢測方法,圖2是本發(fā)明實施例的僵 尸網(wǎng)絡檢測方法的流程圖,如圖2所示,根據(jù)本發(fā)明實施例的僵尸網(wǎng)絡檢測方法包括步驟201,確定疑似僵尸網(wǎng)絡域名;具體地,在步驟201中,確定疑似僵尸網(wǎng)絡域名有兩種方式方式一對網(wǎng)絡流量中的域名系統(tǒng)應答數(shù)據(jù)包的生存時間進行分析,如果網(wǎng)絡流 量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包的生存時間小于預先設置的時間閾值,例如,根據(jù)實際應用中的經(jīng)驗或其他方式確定預先設置的時間閾值為900秒,如果域名系統(tǒng)應答 數(shù)據(jù)包的生存時間小于900秒,則確定該網(wǎng)絡域名為疑似僵尸網(wǎng)絡域名;方式二 對網(wǎng)絡流量中的域名系統(tǒng)應答數(shù)據(jù)包的IP組中各個IP地址進行分析, 如果網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的網(wǎng)絡協(xié)議IP組中各個IP 地址的差異度大于預先設置的第一差異度閾值,則確定該網(wǎng)絡域名為疑似僵尸網(wǎng)絡域名, 該第一差異度閾值可以根據(jù)實際應用中的經(jīng)驗或其他方式預先確定。例如,在正常情況下, 域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中各個IP地址應該為78. 2. 123. 21,78. 2. 123. 34、 78. 2. 123. 56,但是,如果該網(wǎng)絡域名為僵尸網(wǎng)絡域名,則域名系統(tǒng)應答數(shù)據(jù)包所應答的IP 組中各個IP地址為23. 33. 1. 123,56. 21. 1. 34,79. 11. 23. 13等。可以看出,如果該網(wǎng)絡 域名為僵尸網(wǎng)絡域名,與該僵尸網(wǎng)絡對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP 地址明顯不是一個網(wǎng)段的IP地址,并且每個IP地址之間相差較遠。因此,一旦檢測到域 名系統(tǒng)應答數(shù)據(jù)包中的這種異?,F(xiàn)象并超過預先設置的閾值,則認為該網(wǎng)絡可能是疑似 FAST-FLUX 網(wǎng)絡。通過上述兩種方式,可以方便的檢測出疑似僵尸網(wǎng)絡的域名。需要說明的是,在實際應用中,上述兩種檢測方式可以擇一使用,也可以兩種檢測 方式一起使用。在步驟201之后,還需要確定檢測到的疑似僵尸網(wǎng)絡域名中的非法網(wǎng)絡域名并進 行記錄;具體地,對于檢測出的疑似僵尸網(wǎng)絡域名,由于一些正常網(wǎng)站出于網(wǎng)絡安全性或服 務器負載均衡等方面的考慮,也會應用FAST-FLUX技術,因此,檢測到的疑似僵尸網(wǎng)絡域名 中有可能有合法的網(wǎng)絡域名,從而需要將合法的網(wǎng)絡域名從疑似僵尸網(wǎng)絡域名中剔除。在 實際應用中,可以根據(jù)預先設置的域名白名單剔除一些正常的網(wǎng)絡,或者,還可以使用如下 所述的方式來查找非法網(wǎng)絡域名利用DNS爬蟲或蜜罐去爬取該域名的DNS信息,一旦發(fā)現(xiàn) 與該域名對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP地址在每個生存時間周期中經(jīng) 常出現(xiàn)變化,并有新的IP地址出現(xiàn)在應答中,則可以確定其為FAST-FLUX網(wǎng)絡。具體地,如果在一個生存時間周期中,與疑似僵尸網(wǎng)絡域名對應的域名系統(tǒng)應答 數(shù)據(jù)包所應答的IP組中的IP地址與上一個生存時間周期中與疑似僵尸網(wǎng)絡域名對應的域 名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP地址的差異度大于預先設置的第二差異度閾值, 則可以確定疑似僵尸網(wǎng)絡域名為非法網(wǎng)絡域名,該第二差異度閾值可以根據(jù)實際應用中的 經(jīng)驗或其他方式預先確定。在將合法網(wǎng)絡域名從檢測到的疑似僵尸網(wǎng)絡域名中剔除后,就可以根據(jù)確定的非 法網(wǎng)絡域名更新疑似僵尸網(wǎng)絡域名,具體地,更新疑似僵尸網(wǎng)絡域名包括刪除為合法網(wǎng)絡 域名的疑似僵尸網(wǎng)絡域名、或者提高疑似僵尸網(wǎng)絡域名的危險度等。在實際應用中,還可以 根據(jù)確定的非法網(wǎng)絡域名建立疑似僵尸網(wǎng)絡域名庫,該疑似僵尸網(wǎng)絡域名庫中保存了非法 的疑似僵尸網(wǎng)絡域名。經(jīng)過上述處理,已經(jīng)檢測出了非法疑似僵尸網(wǎng)絡域名,但是,在這些非法的疑似僵 尸網(wǎng)絡域名中,可以還存在了一些非惡意的網(wǎng)絡域名,因此,如果想確定惡意的僵尸網(wǎng)絡, 必須確定上述檢測出的非法疑似僵尸網(wǎng)絡域名是否具有惡意。因此,還需要執(zhí)行如下步 驟 步驟202,通過樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口 ;
具體地,通過樣本分析獲取惡意域名和惡意域名連接端口的方法首先需要通過蜜 罐和爬蟲獲取惡意程序,該惡意程序經(jīng)過自動爆發(fā)后,就可以獲取該惡意程序的域名系統(tǒng) 流和對外連接信息,隨后,對域名系統(tǒng)流和對外連接信息進行分析,就可以獲取惡意域名和 惡意域名連接端口,具體地,在域名系統(tǒng)流中會包括僵尸主機發(fā)送的對外連接信息,例如, DNS請求,該DNS請求中會攜帶有惡意域名的IP地址,可以對DNS請求進行解析,獲取其中 的惡意域名的IP地址,并連接到該惡意域名的IP地址,從而獲取惡意域名和惡意域名連接 端□。 通過特征檢測獲取惡意域名和相應惡意域名連接端口的方法首先需要通過特征 匹配獲取僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口,然后通過僵尸網(wǎng)絡控制者的IP 地址和惡意域名連接端口反查出惡意域名。下面,對通過特征匹配獲取僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口進行 詳細的說明。首先,需要分析檢測僵尸網(wǎng)絡中僵尸與控制者通訊的網(wǎng)絡報文,從這些網(wǎng)絡報 文中提取報文特征,形成報文特征庫,并將報文特征庫轉換為計算機可以識別的規(guī)則庫;當 系統(tǒng)收到網(wǎng)絡報文時,將網(wǎng)絡報文與規(guī)則庫進行匹配,如果系統(tǒng)識別出僵尸網(wǎng)絡報文,則需 要從僵尸網(wǎng)絡報文中提取相應僵尸網(wǎng)絡的信息。在進行了上述處理之后,還需要根據(jù)惡意域名和惡意域名連接端口建立惡意網(wǎng)絡 域名庫,該惡意網(wǎng)絡域名庫中保存了具有惡意行為的惡意網(wǎng)路域名。通過上述處理,能夠獲取惡意域名和惡意域名連接端口。步驟203,根據(jù)疑似僵尸網(wǎng)絡域名以及惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)惡意域 名連接端口確定與僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口;具體地,在步驟203中,首先需要將疑似僵尸網(wǎng)絡域名和惡意域名進行關聯(lián),查找 疑似僵尸網(wǎng)絡域名中與惡意域名相同的域名,并確定相同的域名為僵尸網(wǎng)絡域名。如上所 述,疑似僵尸網(wǎng)絡域名中如果存在與惡意域名相同的域名,則可以確定該疑似僵尸網(wǎng)絡域 名為惡意的僵尸網(wǎng)絡域名。優(yōu)選地,在實際應用中,由于建立了疑似僵尸網(wǎng)絡域名庫和惡意網(wǎng)絡域名庫,就可 以直接將疑似僵尸網(wǎng)絡域名庫和惡意網(wǎng)絡域名庫進行關聯(lián),確定疑似僵尸網(wǎng)絡域名庫和惡 意網(wǎng)絡域名庫中相同的域名,則可以發(fā)現(xiàn)利用FAST-FLUX技術進行控制的僵尸網(wǎng)絡惡意域名。隨后,根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口建立僵尸網(wǎng)絡域名庫,該僵尸網(wǎng) 絡域名庫中包括了最終確定的僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口。步驟204,根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。具體地,在實際應用中,確定僵尸網(wǎng)絡的拓撲結構的方式包括兩種方式一在域名系統(tǒng)中查詢訪問僵尸網(wǎng)絡域名的客戶端的IP地址,該客戶端很有 可能為基于FAST-FLUX技術的僵尸網(wǎng)絡的僵尸計算機。方式二 監(jiān)控僵尸計算機的通信連接,記錄訪問僵尸計算機的IP地址和/或與僵 尸計算機的連接端口連接的客戶端的IP地址,該客戶端很有可能為基于FAST-FLUX技術的 僵尸網(wǎng)絡的僵尸計算機,隨后,根據(jù)僵尸網(wǎng)絡連接端口確定僵尸計算機的僵尸網(wǎng)絡連接端 口,并根據(jù)僵尸計算機以及僵尸計算機的僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。通過上述兩種方式,可以確定僵尸網(wǎng)絡的拓撲結構。
在實際應用中,上述確定僵尸網(wǎng)絡拓撲結構的兩種方式可以擇一使用,也可以同 時應用。
從上述處理可以看出,通過建立疑似僵尸網(wǎng)絡域名庫,可以識別采用fast-flux 技術構建的僵尸網(wǎng)絡,通過檢測僵尸計算機的兩種方式可以根據(jù)基于fast-flux技術的僵 尸網(wǎng)絡的特征進行相應的跟蹤,從而形成僵尸網(wǎng)絡拓撲。并實現(xiàn)了對基于fast-flux技術 的僵尸網(wǎng)絡的自動檢測。下面結合圖3,對本發(fā)明上述技術方案的處理流程進行詳細的說明,圖3是本發(fā)明 實施例的僵尸網(wǎng)絡檢測方法的詳細處理的流程圖,如圖3所示,包括如下處理步驟301,確定疑似僵尸網(wǎng)絡域名;步驟302,驗證檢測到的疑似僵尸網(wǎng)絡域名中是否有合法網(wǎng)絡域名;步驟303,將合法網(wǎng)絡域名從疑似僵尸網(wǎng)絡域名中剔除;步驟304,建立疑似僵尸網(wǎng)絡域名庫;步驟305a,通過蜜罐和爬蟲獲取惡意程序,經(jīng)過惡意程序的自動爆發(fā)后,獲取惡意 程序的域名系統(tǒng)流和對外連接信息;步驟306a,對域名系統(tǒng)流和對外連接信息進行分析,獲取惡意域名和惡意域名連 接端口 ;在實際應用中,步驟305a、步驟306a還可以使用步驟305b、步驟306b代替步驟305b,通過特征匹配獲取僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口 ;步驟306b,通過僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口反查惡意域名;在執(zhí)行了步驟305a和步驟306a或步驟305b和步驟306b之后,繼續(xù)執(zhí)行步驟 307 步驟307,建立惡意網(wǎng)絡域名庫;步驟308,將疑似僵尸網(wǎng)絡域名庫、以及惡意網(wǎng)絡域名庫進行關聯(lián)分析,查找相同 域名,并確定僵尸網(wǎng)絡域名;步驟309,建立僵尸網(wǎng)絡域名庫;在下面的處理中,步驟310a和步驟310b為檢測僵尸計算機的兩種方式,在實際應 用中,可以選擇其中一種方式執(zhí)行,也可以兩種方式并用。步驟310a,在域名系統(tǒng)中查詢訪問僵尸網(wǎng)絡域名的客戶端的IP地址,確定該客戶 端為僵尸計算機,補全僵尸計算機,形成僵尸網(wǎng)絡拓撲;步驟310b,監(jiān)控僵尸計算機的通信連接,記錄訪問僵尸計算機的IP地址和/或與 僵尸計算機的連接端口連接的客戶端的IP地址,確定該客戶端為僵尸計算機,補全僵尸計 算機,形成僵尸網(wǎng)絡拓撲。通過上述處理,實現(xiàn)了對基于fast-flux技術的僵尸網(wǎng)絡的自動檢測。根據(jù)本發(fā)明的實施例,提供了一種僵尸網(wǎng)絡檢測裝置,圖4是根據(jù)本發(fā)明實施例 的僵尸網(wǎng)絡檢測裝置的示意圖,如圖4所示,根據(jù)本發(fā)明實施例的僵尸網(wǎng)絡檢測裝置包括; 第一確定模塊40、獲取模塊41、第二確定模塊42、第三確定模塊43,下面,對僵尸網(wǎng)絡檢測 裝置中的各個模塊進行詳細說明。具體地,第一確定模塊40用于確定疑似僵尸網(wǎng)絡域名;獲取模塊41用于通過樣本 分析和/或特征檢測獲取惡意域名和惡意域名連接端口 ;第二確定模塊42用于根據(jù)疑似僵尸網(wǎng)絡域名以及惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)惡意域名連接端口確定與僵尸網(wǎng)絡域 名對應的僵尸網(wǎng)絡連接端口 ;第三確定模塊43用于根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接 端口確定僵尸網(wǎng)絡的拓撲結構。 通過上述處理,實現(xiàn)了對基于FAST-FLUX技術的僵尸網(wǎng)絡的自動檢測。圖5是本發(fā)明實施例的僵尸網(wǎng)絡檢測裝置的詳細結構示意圖,如圖5所示,具體 地,第一確定模塊50用于確定疑似僵尸網(wǎng)絡域名;在實際應用中,第一確定模塊50確定疑 似僵尸網(wǎng)絡域名有兩種方式方式一第一確定模塊50中的第一確定子模塊501對網(wǎng)絡流量中的域名系統(tǒng)應答 數(shù)據(jù)包的生存時間進行分析,在網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包的生存 時間小于預先設置的時間閾值的情況下,例如,根據(jù)實際應用中的經(jīng)驗或其他方式確定預 先設置的時間閾值為900秒,如果域名系統(tǒng)應答數(shù)據(jù)包的生存時間小于900秒,第一確定子 模塊501確定該網(wǎng)絡域名為疑似僵尸網(wǎng)絡域名;方式二 第一確定模塊50中的第二確定子模塊502對網(wǎng)絡流量中的域名系統(tǒng)應 答數(shù)據(jù)包的IP組中各個IP地址進行分析,在網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答 數(shù)據(jù)包所應答的網(wǎng)絡協(xié)議IP組中各個IP地址的差異度大于預先設置的第一差異度閾值的 情況下,第二確定子模塊502確定該網(wǎng)絡域名為疑似僵尸網(wǎng)絡域名,該第一差異度閾值可 以根據(jù)實際應用中的經(jīng)驗或其他方式預先確定。例如,在正常情況下,域名系統(tǒng)應答數(shù)據(jù)包 所應答的IP組中各個IP地址應該為78. 2. 123. 21,78. 2. 123. 34,78. 2. 123. 56,但是,如 果該網(wǎng)絡域名為僵尸網(wǎng)絡域名,則域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中各個IP地址為 23. 33. 1. 123,56. 21. 1. 34,79. 11. 23. 13等??梢钥闯?,如果該網(wǎng)絡域名為僵尸網(wǎng)絡域名, 與該僵尸網(wǎng)絡對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP地址明顯不是一個網(wǎng)段的 IP地址,并且每個IP地址之間相差較遠。因此,一旦檢測到域名系統(tǒng)應答數(shù)據(jù)包中的這種 異?,F(xiàn)象并超過預先設置的閾值,則認為該網(wǎng)絡可能是疑似FAST-FLUX網(wǎng)絡。通過上述處理,第一確定模塊50能夠檢測出疑似僵尸網(wǎng)絡域名。需要說明的是,在實際應用中,上述兩種檢測方式可以擇一使用,也可以兩種檢測 方式一起使用。在第一確定模塊50檢測出疑似僵尸網(wǎng)絡域名后,僵尸網(wǎng)絡檢測裝置中的第四確 定模塊51需要確定疑似僵尸網(wǎng)絡域名中的非法網(wǎng)絡域名并進行記錄。具體地,對于檢測 出的疑似僵尸網(wǎng)絡域名,由于一些正常網(wǎng)站出于網(wǎng)絡安全性或服務器負載均衡等方面的考 慮,也會應用FAST-FLUX技術,因此,檢測到的疑似僵尸網(wǎng)絡域名中有可能有合法的網(wǎng)絡域 名,從而需要將合法的網(wǎng)絡域名從疑似僵尸網(wǎng)絡域名中剔除。在實際應用中,可以根據(jù)預先 設置的域名白名單剔除一些正常的網(wǎng)絡,或者,第四確定模塊51利用DNS爬蟲或蜜罐去爬 取該域名的DNS信息,一旦發(fā)現(xiàn)與該域名對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP 地址在每個生存時間周期中經(jīng)常出現(xiàn)變化,并有新的IP地址出現(xiàn)在應答中,則可以確定其 為 FAST-FLUX 網(wǎng)絡。具體地,如果在一個生存時間周期中,與疑似僵尸網(wǎng)絡域名對應的域名系統(tǒng)應答 數(shù)據(jù)包所應答的IP組中的IP地址與上一個生存時間周期中與疑似僵尸網(wǎng)絡域名對應的域 名系統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP地址的差異度大于預先設置的第二差異度閾值, 則第四確定模塊51確定疑似僵尸網(wǎng)絡域名為非法網(wǎng)絡域名,該第二差異度閾值可以根據(jù)實際應用中的經(jīng)驗或其他方式預先確定。
在將合法網(wǎng)絡域名從檢測到的疑似僵尸網(wǎng)絡域名中剔除后,僵尸網(wǎng)絡檢測裝置中 的更新模塊52就可以根據(jù)非法網(wǎng)絡域名更新疑似僵尸網(wǎng)絡域名,具體地,更新模塊52更新 疑似僵尸網(wǎng)絡域名包括刪除為合法網(wǎng)絡域名的疑似僵尸網(wǎng)絡域名、或者提高非法疑似域 名的危險度等。在實際應用中,還可以根據(jù)確定的非法網(wǎng)絡域名建立疑似僵尸網(wǎng)絡域名庫, 該疑似僵尸網(wǎng)絡域名庫中保存了非法的疑似僵尸網(wǎng)絡域名。經(jīng)過上述處理,已經(jīng)檢測出了非法疑似僵尸網(wǎng)絡域名,但是,在這些非法的疑似僵 尸網(wǎng)絡域名中,可以還存在了一些非惡意的網(wǎng)絡域名,因此,如果想確定惡意的僵尸網(wǎng)絡, 必須確定上述檢測出的非法疑似僵尸網(wǎng)絡域名是否具有惡意。因此,獲取模塊53需要通過 樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口。具體地,通過樣本分析獲取惡意域名和惡意域名連接端口時,獲取模塊53中的第 一獲取子模塊通過蜜罐和爬蟲獲取惡意程序,該惡意程序經(jīng)過自動爆發(fā)后,第一獲取子模 塊獲取惡意程序的域名系統(tǒng)流和對外連接信息;隨后,第二獲取子模塊對域名系統(tǒng)流和對 外連接信息進行分析,就可以獲取惡意域名和惡意域名連接端口 ;具體地,在域名系統(tǒng)流中 會包括僵尸主機發(fā)送的對外連接信息,例如,DNS請求,該DNS請求中會攜帶有惡意域名的 IP地址,第二獲取子模塊可以對DNS請求進行解析,獲取其中的惡意域名的IP地址,并連接 到該惡意域名的IP地址,從而獲取惡意域名和惡意域名連接端口通過特征檢測獲取惡意域名和惡意域名連接端口時,獲取模塊53中的第三獲取 子模塊通過特征匹配獲取僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口 ;隨后,第四獲取 子模塊通過僵尸網(wǎng)絡控制者的IP地址和惡意域名連接端口獲取惡意域名。通過上述處理,獲取模塊53能夠通過樣本分析和/或特征檢測獲取惡意域名和相 應的惡意域名連接端口。在進行了上述處理之后,僵尸網(wǎng)絡檢測裝置就可以根據(jù)惡意域名和惡意域名連接 端口建立惡意網(wǎng)絡域名庫,該惡意網(wǎng)絡域名庫中保存了具有惡意行為的惡意網(wǎng)路域名。第二確定模塊54用于根據(jù)疑似僵尸網(wǎng)絡域名以及惡意域名確定僵尸網(wǎng)絡域名, 并根據(jù)惡意域名連接端口確定與僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口 ;具體地,第二確定模塊54首先需要將疑似僵尸網(wǎng)絡域名和惡意域名進行關聯(lián),查 找疑似僵尸網(wǎng)絡域名中與惡意域名相同的域名,并確定相同的域名為僵尸網(wǎng)絡域名。如上 所述,疑似僵尸網(wǎng)絡域名中如果存在與惡意域名相同的域名,則可以確定該疑似僵尸網(wǎng)絡 域名為惡意的僵尸網(wǎng)絡域名。優(yōu)選地,在實際應用中,由于建立了疑似僵尸網(wǎng)絡域名庫和惡意網(wǎng)絡域名庫,第二 確定模塊54就可以直接將疑似僵尸網(wǎng)絡域名庫和惡意網(wǎng)絡域名庫進行關聯(lián),確定疑似僵 尸網(wǎng)絡域名庫和惡意網(wǎng)絡域名庫中相同的域名,則可以發(fā)現(xiàn)利用FAST-FLUX技術進行控制 的僵尸網(wǎng)絡惡意域名。通過上述處理,第二確定模塊54能夠確定僵尸網(wǎng)絡域名以及與僵尸網(wǎng)絡域名對 應的僵尸網(wǎng)絡連接端口。隨后,僵尸網(wǎng)絡檢測裝置的第三建立模塊根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端 口建立僵尸網(wǎng)絡域名庫,該僵尸網(wǎng)絡域名庫中包括了最終確定的僵尸網(wǎng)絡域名以及僵尸網(wǎng) 絡連接端口。
第三確定模塊55用于根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的 拓撲結構。具體地,在實際應用中,確定僵尸網(wǎng)絡的拓撲結構的方式包括兩種方式一第三確定模塊55中的第一處理子模塊550在域名系統(tǒng)中查詢訪問僵尸網(wǎng) 絡域名的客戶端的IP地址,該客戶端很有可能為基于FAST-FLUX技術的僵尸網(wǎng)絡的僵尸計 算機。方式二 第三確定模塊55中的第二處理子模塊551監(jiān)控僵尸計算機的通信連接, 記錄訪問僵尸計算機的IP地址和/或與僵尸計算機的連接端口連接的客戶端的IP地址, 該客戶端很有可能為基于fast-FLUX技術的僵尸網(wǎng)絡的僵尸計算機,隨后,第二處理子模 塊551根據(jù)僵尸網(wǎng)絡連接端口確定僵尸計算機的僵尸網(wǎng)絡連接端口,并根據(jù)僵尸計算機以 及僵尸計算機的僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。通過上述處理,第三確定模塊55能夠確定最終的僵尸網(wǎng)絡的拓撲結構,從而檢測 出僵尸網(wǎng)絡。在實際應用中,上述確定僵尸網(wǎng)絡拓撲結構的兩種方式可以擇一是用,也可以同 時應用。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可 以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單 元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其 中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性 的勞動的情況下,即可以理解并實施。結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的 軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或任意其它 形式的存儲介質(zhì)中。綜上所述,借助于本發(fā)明的技術方案,通過建立疑似僵尸網(wǎng)絡域名庫,可以識別 采用FAST-FLUX技術構建的僵尸網(wǎng)絡,通過檢測僵尸計算機的兩種方式可以根據(jù)基于 FAST-FLUX技術的僵尸網(wǎng)絡的特征進行相應的跟蹤,從而形成僵尸網(wǎng)絡拓撲。并實現(xiàn)了對基 于fast-flux技術的僵尸網(wǎng)絡的自動檢測。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然 可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替 換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精 神和范圍。
權利要求
1.一種僵尸網(wǎng)絡檢測方法,其特征在于,包括 確定疑似僵尸網(wǎng)絡域名;通過樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口; 根據(jù)所述疑似僵尸網(wǎng)絡域名以及所述惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)所述惡意域 名連接端口確定與所述僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口;根據(jù)所述僵尸網(wǎng)絡域名以及所述僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。
2.根據(jù)權利要求1所述的方法,其特征在于,所述確定疑似僵尸網(wǎng)絡域名包括 如果網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包的生存時間小于預先設置的時間閾值,則確定該網(wǎng)絡域名為所述疑似僵尸網(wǎng)絡域名;和/或,如果網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的網(wǎng)絡協(xié)議IP組中各 個IP地址的差異度大于預先設置的第一差異度閾值,則確定該網(wǎng)絡域名為所述疑似僵尸 網(wǎng)絡域名。
3.根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括 確定所述疑似僵尸網(wǎng)絡域名中的非法網(wǎng)絡域名;根據(jù)所述非法網(wǎng)絡域名更新疑似僵尸網(wǎng)絡域名。
4.根據(jù)權利要求3所述的方法,其特征在于,所述確定所述疑似僵尸網(wǎng)絡域名中的非 法網(wǎng)絡域名包括如果在一個生存時間周期中,與所述疑似僵尸網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包所 應答的IP組中的IP地址與上一個生存時間周期中與所述疑似僵尸網(wǎng)絡域名對應的域名系 統(tǒng)應答數(shù)據(jù)包所應答的IP組中的IP地址的差異度大于預先設置的第二差異度閾值,則確 定所述疑似僵尸網(wǎng)絡域名為所述非法網(wǎng)絡域名。
5.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述疑似僵尸網(wǎng)絡域名以及所 述惡意域名確定僵尸網(wǎng)絡域名包括將所述疑似僵尸網(wǎng)絡域名和所述惡意域名進行關聯(lián),查找所述疑似僵尸網(wǎng)絡域名中與 所述惡意域名相同的域名,并確定所述相同的域名為所述僵尸網(wǎng)絡域名。
6.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述僵尸網(wǎng)絡域名以及所述僵 尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構包括在域名系統(tǒng)中查詢訪問所述僵尸網(wǎng)絡域名的客戶端的IP地址,確定該客戶端為僵尸 計算機;和/或,監(jiān)控僵尸計算機,記錄訪問所述僵尸計算機的IP地址和/或與所述僵尸計算機的連接 端口連接的客戶端的IP地址,確定該客戶端為所述僵尸計算機,根據(jù)所述僵尸網(wǎng)絡連接端 口確定所述僵尸計算機的僵尸網(wǎng)絡連接端口,并根據(jù)所述僵尸計算機以及所述僵尸計算機 的僵尸網(wǎng)絡連接端口確定所述僵尸網(wǎng)絡的拓撲結構。
7.一種僵尸網(wǎng)絡檢測裝置,其特征在于,包括 第一確定模塊,用于確定疑似僵尸網(wǎng)絡域名;獲取模塊,用于通過樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口 ; 第二確定模塊,用于根據(jù)所述疑似僵尸網(wǎng)絡域名以及所述惡意域名確定僵尸網(wǎng)絡域 名,并根據(jù)所述惡意域名連接端口確定與所述僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口 ; 第三確定模塊,用于根據(jù)所述僵尸網(wǎng)絡域名以及所述僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。
8.根據(jù)權利要求7所述的僵尸網(wǎng)絡檢測裝置,其特征在于,所述第一確定模塊包括 第一確定子模塊,用于在網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包的生存時間小于預先設置的時間閾值的情況下,確定 該網(wǎng)絡域名為所述疑似僵尸網(wǎng)絡域名;和/或, 第二確定子模塊,用于在網(wǎng)絡流量中與網(wǎng)絡域名對應的域名系統(tǒng)應答數(shù)據(jù)包所應答的 網(wǎng)絡協(xié)議IP組中各個IP地址的差異度大于預先設置的第一差異度閾值的情況下,確定該 網(wǎng)絡域名為所述疑似僵尸網(wǎng)絡域名。
9.根據(jù)權利要求8所述的僵尸網(wǎng)絡檢測裝置,其特征在于,所述僵尸網(wǎng)絡檢測裝置還 包括第四確定模塊,用于確定所述疑似僵尸網(wǎng)絡域名中的非法網(wǎng)絡域名; 更新模塊,用于根據(jù)所述非法網(wǎng)絡域名更新疑似僵尸網(wǎng)絡域名。
10.根據(jù)權利要求7所述的僵尸網(wǎng)絡檢測裝置,其特征在于,所述第三確定模塊包括 第一處理子模塊,用于在域名系統(tǒng)中查詢訪問所述僵尸網(wǎng)絡域名的客戶端的IP地址,確定該客戶端為僵尸計算機;和/或,第二處理子模塊,用于監(jiān)控僵尸計算機,記錄訪問所述僵尸計算機的IP地址和/或與 所述僵尸計算機的連接端口連接的客戶端的IP地址,確定該客戶端為所述僵尸計算機,根 據(jù)所述僵尸網(wǎng)絡連接端口確定所述僵尸計算機的僵尸網(wǎng)絡連接端口,并根據(jù)所述僵尸計算 機以及所述僵尸計算機的僵尸網(wǎng)絡連接端口確定所述僵尸網(wǎng)絡的拓撲結構。
全文摘要
本發(fā)明實施例提供一種僵尸網(wǎng)絡檢測方法及裝置,該方法包括確定疑似僵尸網(wǎng)絡域名;通過樣本分析和/或特征檢測獲取惡意域名和惡意域名連接端口;根據(jù)疑似僵尸網(wǎng)絡域名以及惡意域名確定僵尸網(wǎng)絡域名,并根據(jù)惡意域名連接端口確定與僵尸網(wǎng)絡域名對應的僵尸網(wǎng)絡連接端口;根據(jù)僵尸網(wǎng)絡域名以及僵尸網(wǎng)絡連接端口確定僵尸網(wǎng)絡的拓撲結構。通過上述處理,實現(xiàn)了對僵尸網(wǎng)絡的自動檢測。
文檔編號H04L12/26GK102045215SQ200910206719
公開日2011年5月4日 申請日期2009年10月21日 優(yōu)先權日2009年10月21日
發(fā)明者蔣武 申請人:成都市華為賽門鐵克科技有限公司