專利名稱:一種面向bt下載網(wǎng)絡(luò)的蠕蟲檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法,屬于計算機安全防護技術(shù)領(lǐng)域。
背景技術(shù):
網(wǎng)絡(luò)蠕蟲是一種可獨立運行的惡意程序,它通過掃描網(wǎng)絡(luò),發(fā)現(xiàn)存在系統(tǒng)漏洞的計算機系統(tǒng)或應(yīng)用服務(wù),感染該計算機,并獲取該計算機系統(tǒng)的控制權(quán),進行傳播;網(wǎng)絡(luò)蠕蟲大規(guī)模感染會導致信息泄露、計算機系統(tǒng)資源過耗、網(wǎng)絡(luò)擁塞等嚴重后果。著名的Code Red蠕蟲、Slammer蠕蟲均在爆發(fā)后短期內(nèi)直接造成10億美元以上的巨大損失。網(wǎng)絡(luò)蠕蟲已成為目前影響網(wǎng)絡(luò)安全的一個重大因素。BT是一種互聯(lián)網(wǎng)上新興的的P2P傳輸協(xié)議,全名叫〃BitTorrent〃,中文全稱 “比特流”是一種開放式傳輸協(xié)議。根據(jù)BitTorrent協(xié)議,文件發(fā)布者會根據(jù)要發(fā)布的文件生成提供一個.torrent文件,即種子文件。下載者要下載文件內(nèi)容,需要先得到相應(yīng)的.torrent文件,然后使用BT客戶端軟件進行下載。防止蠕蟲泛濫的關(guān)鍵在于及早發(fā)現(xiàn)受感染的蠕蟲主機,然后由防范器對蠕蟲主機采取應(yīng)對措施,如清除蠕蟲文件、隔離主機、過濾蠕蟲數(shù)據(jù)包等。因此,檢測蠕蟲是抑制蠕蟲傳播的關(guān)鍵步驟。研究蠕蟲檢測技術(shù)已成為保證網(wǎng)絡(luò)環(huán)境安全性,維護社會和個人利益的迫切需要。目前對于網(wǎng)絡(luò)蠕蟲的檢測包括的基于特征碼的檢測方法和基于網(wǎng)絡(luò)異常的檢測方法兩大類?;谔卣鞔a的檢測方法是較傳統(tǒng)的方法,該方法首先分析捕獲的蠕蟲樣本得到該蠕蟲的特征碼;然后根據(jù)特征碼在網(wǎng)絡(luò)流量或者主機文件中進行特征匹配,從而實現(xiàn)蠕蟲檢測。該檢測方法對已知蠕蟲具有良好的檢測結(jié)果,但存在缺點,缺點之一無法第一時間獲取新蠕蟲或變種蠕蟲的特征碼,所以對新出現(xiàn)蠕蟲的檢測延遲較大,起不到預警作用;缺點之二 無法檢測到動態(tài)改變代碼的多態(tài)蠕蟲,該類蠕蟲沒有固定的特征碼,可以規(guī)避基于特征碼的檢測方法。具有較高的漏報率。該類檢測方法無法預防爆發(fā)十分快速的BT網(wǎng)絡(luò)蠕蟲?;诰W(wǎng)絡(luò)異常的檢測方法是蠕蟲檢測技術(shù)的發(fā)展方向,該方法監(jiān)測特定的網(wǎng)絡(luò)指標,根據(jù)指標異常來檢測蠕蟲的爆發(fā)。常用的方法如通過統(tǒng)計連接數(shù),判斷連接累計值是否超過設(shè)置的閾值來檢測蠕蟲;通過統(tǒng)計ICMP消息異常來檢測蠕蟲的發(fā)生;通過計算失敗連接與成功連接比率,判斷是否超過預設(shè)閾值來檢測蠕蟲等。該方法可以檢測到未知蠕蟲, 但也存在缺點目前出現(xiàn)的基于網(wǎng)絡(luò)特征的檢測方法或者由于計算量大,檢測實時性差; 或者由于檢測指標簡單,存在較高的誤報率。并且該類檢測方法對BT網(wǎng)絡(luò)蠕蟲的檢測率較低
發(fā)明內(nèi)容
本發(fā)明的目的是克服了現(xiàn)有技術(shù)不適于檢測BT網(wǎng)絡(luò)蠕蟲的不足,提供一種面向 BT下載網(wǎng)絡(luò)的蠕蟲檢測方法。面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法的步驟如下
1)在所有BT客戶端節(jié)點安裝監(jiān)控裝置,監(jiān)控裝置讀取所在BT客戶端節(jié)點的鄰節(jié)點緩存信息,尋找相鄰的BT客戶端節(jié)點并與該BT客戶端節(jié)點中的監(jiān)控裝置建立連接,監(jiān)控裝置與所有相鄰監(jiān)控裝置建立連接,每個監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行初始采樣,設(shè)置時間段m,并將m平均為ρ段,監(jiān)控裝置監(jiān)控每m/p時間內(nèi)BT客戶端節(jié)點與所有相鄰BT客戶端節(jié)點所交換的網(wǎng)絡(luò)流量數(shù),并將該流量數(shù)記錄在該監(jiān)控裝置的流量監(jiān)控表中,并擬合其分布,每個監(jiān)控裝置根據(jù)相鄰BT客戶端節(jié)點的數(shù)量建立警告消息集,設(shè)置正常閾值α ;
2)監(jiān)控裝置監(jiān)控所在BT客戶端節(jié)點,等待來自相鄰監(jiān)測裝置的警告消息,若監(jiān)控裝置的警告消息集中存在警告消息則根據(jù)時間推移減少警告消息中計時器的值,并在計時器歸零時丟棄該警告消息,若該BT客戶端節(jié)點與相鄰BT客戶端節(jié)點發(fā)生持續(xù)通信,則進入步驟 3),若收到來自某個相鄰監(jiān)測裝置的警告消息,則進入步驟4);
3)若監(jiān)控裝置中沒有警告消息,則生成一個警告消息,初始化計數(shù)器的值為1,計時器的值為t,若已存在警告消息,將警告消息的計數(shù)器增加1,計時器的值重置為t,然后將生成或修改后的警告消息發(fā)送給正在通信的BT客戶端節(jié)點上的監(jiān)控裝置,進入步驟2);
4)查看收到的警告消息中的計數(shù)器,發(fā)送到?jīng)Q策中心裝置,若計數(shù)器低于正常閾值 α,將該警告消息存儲于監(jiān)控裝置的警告消息集中,若警告消息集中已存在同一來源的警告消息,則只保存擁有較大計數(shù)器的警告消息,進入步驟2),若計數(shù)器超過正常閾值α,則該監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行重新采樣,并將得到的流量數(shù)發(fā)送到?jīng)Q策中心裝置,決策中心裝置對初始采樣得到的流量統(tǒng)計數(shù)和重新采樣得到的流量統(tǒng)計數(shù)進行比較,若兩次統(tǒng)計得到的流量不屬于同一分布,則認為BT網(wǎng)絡(luò)中出現(xiàn)蠕蟲活動,發(fā)出蠕蟲報警。本發(fā)明克服了現(xiàn)有的網(wǎng)絡(luò)蠕蟲檢測技術(shù)不能快速檢測BT網(wǎng)絡(luò)蠕蟲爆發(fā),檢測結(jié)果存在較高漏報率的缺點,可準確、高效、實時地檢測到BT網(wǎng)絡(luò)中爆發(fā)的蠕蟲。
圖1為面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法的總體部署圖; 圖2為BT下載網(wǎng)絡(luò)的蠕蟲檢測方法的基本檢測流程圖3為按照本發(fā)明BT下載網(wǎng)絡(luò)的蠕蟲檢測方法的用于Chord網(wǎng)絡(luò)的部署實例圖; 圖4為按照本發(fā)明的用于Chord網(wǎng)絡(luò)的路由表監(jiān)測裝置和決策中心裝置實現(xiàn)圖。
具體實施例方式本發(fā)明基于以下理論基礎(chǔ)
(1)在網(wǎng)絡(luò)中,BT客戶端在進行下載活動時,要和該網(wǎng)絡(luò)中的其他客戶端進行通訊,符合蠕蟲傳播的條件。(2)BT客戶端在正常情況下,其監(jiān)控裝置在單位時間內(nèi)的警告消息符合特定分布, 警告消息在接近某個正常值,在蠕蟲感染情況下,其警告消息在單位時間內(nèi)的訪問次數(shù)必然驟增,明顯超過正常值。如圖1 2所示,面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法的步驟如下
1)在所有BT客戶端節(jié)點安裝監(jiān)控裝置,監(jiān)控裝置讀取所在BT客戶端節(jié)點的鄰節(jié)點緩存信息,尋找相鄰的BT客戶端節(jié)點并與該BT客戶端節(jié)點中的監(jiān)控裝置建立連接,監(jiān)控裝置與所有相鄰監(jiān)控裝置建立連接,每個監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行初始采樣,設(shè)置時間段m,并將m平均為ρ段,監(jiān)控裝置監(jiān)控每m/p時間內(nèi)BT客戶端節(jié)點與所有相鄰BT客戶端節(jié)點所交換的網(wǎng)絡(luò)流量數(shù),并將該流量數(shù)記錄在該監(jiān)控裝置的流量監(jiān)控表中,并擬合其分布,每個監(jiān)控裝置根據(jù)相鄰BT客戶端節(jié)點的數(shù)量建立警告消息集,設(shè)置正常閾值α ;
2)監(jiān)控裝置監(jiān)控所在BT客戶端節(jié)點,等待來自相鄰監(jiān)測裝置的警告消息,若監(jiān)控裝置的警告消息集中存在警告消息則根據(jù)時間推移減少警告消息中計時器的值,并在計時器歸零時丟棄該警告消息,若該BT客戶端節(jié)點與相鄰BT客戶端節(jié)點發(fā)生持續(xù)通信,則進入步驟 3),若收到來自某個相鄰監(jiān)測裝置的警告消息,則進入步驟4);
3)若監(jiān)控裝置中沒有警告消息,則生成一個警告消息,初始化計數(shù)器的值為1,計時器的值為t,若已存在警告消息,將警告消息的計數(shù)器增加1,計時器的值重置為t,然后將生成或修改后的警告消息發(fā)送給正在通信的BT客戶端節(jié)點上的監(jiān)控裝置,進入步驟2);
4)查看收到的警告消息中的計數(shù)器,發(fā)送到?jīng)Q策中心裝置,若計數(shù)器低于正常閾值 α,將該警告消息存儲于監(jiān)控裝置的警告消息集中,若警告消息集中已存在同一來源的警告消息,則只保存擁有較大計數(shù)器的警告消息,進入步驟2),若計數(shù)器超過正常閾值α,則該監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行重新采樣,并將得到的流量數(shù)發(fā)送到?jīng)Q策中心裝置,決策中心裝置對初始采樣得到的流量統(tǒng)計數(shù)和重新采樣得到的流量統(tǒng)計數(shù)進行比較,若兩次統(tǒng)計得到的流量不屬于同一分布,則認為BT網(wǎng)絡(luò)中出現(xiàn)蠕蟲活動,發(fā)出蠕蟲報警。
實施例如圖3所示,按照本發(fā)明BT下載網(wǎng)絡(luò)的蠕蟲檢測方法部署B(yǎng)T客戶端和監(jiān)控裝置, 所檢測的網(wǎng)絡(luò)是名為Chord的一種P2P網(wǎng)絡(luò)。在該網(wǎng)絡(luò)中部署B(yǎng)T下載客戶端即可組成BT 下載網(wǎng)絡(luò)。其中普通Chord網(wǎng)絡(luò)節(jié)點約10000個,BT客戶端約50個,監(jiān)控裝置加入Chord 網(wǎng)絡(luò)。如圖4所示,按照本發(fā)明BT下載網(wǎng)絡(luò)的蠕蟲檢測方法實施的BT客戶端和監(jiān)控裝置。監(jiān)控裝置讀取所在BT客戶端節(jié)點的鄰節(jié)點緩存信息,尋找相鄰的BT客戶端節(jié)點并與該BT客戶端節(jié)點中的監(jiān)控裝置建立連接,監(jiān)控裝置與所有相鄰監(jiān)控裝置建立連接,每個監(jiān)控裝置根據(jù)相鄰BT客戶端節(jié)點的數(shù)量建立警告消息集。監(jiān)控裝置監(jiān)控所在BT客戶端節(jié)點, 等待來自相鄰監(jiān)測裝置的警告消息,若監(jiān)控裝置的警告消息集中存在警告消息則根據(jù)時間推移減少警告消息中計時器的值,并在計時器歸零時丟棄該警告消息,收到來自某個相鄰監(jiān)測裝置的警告消息,查看收到的警告消息中的計數(shù)器,發(fā)送到?jīng)Q策中心裝置。若計數(shù)器超過正常閾值α,則認為BT網(wǎng)絡(luò)中出現(xiàn)蠕蟲活動,發(fā)出蠕蟲報警。該檢測方法有效監(jiān)測BT下載網(wǎng)絡(luò)的異常,實現(xiàn)成本低,可實時檢測到BT下載網(wǎng)絡(luò)中的蠕蟲爆發(fā),并發(fā)出蠕蟲爆發(fā)報警,該報警信息可供網(wǎng)絡(luò)管理人員用于及時排除網(wǎng)絡(luò)故障,或采取防范措施,從而實現(xiàn)BT下載的檢測,準確、高效、實時地檢測到BT下載蠕蟲的爆發(fā)。
權(quán)利要求
1. 一種面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法,其特征在于它的步驟如下1)在所有BT客戶端節(jié)點安裝監(jiān)控裝置,監(jiān)控裝置讀取所在BT客戶端節(jié)點的鄰節(jié)點緩存信息,尋找相鄰的BT客戶端節(jié)點并與該BT客戶端節(jié)點中的監(jiān)控裝置建立連接,監(jiān)控裝置與所有相鄰監(jiān)控裝置建立連接,每個監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行初始采樣,設(shè)置時間段m,并將m平均為ρ段,監(jiān)控裝置監(jiān)控每m/p時間內(nèi)BT客戶端節(jié)點與所有相鄰BT客戶端節(jié)點所交換的網(wǎng)絡(luò)流量數(shù),并將該流量數(shù)記錄在該監(jiān)控裝置的流量監(jiān)控表中,并擬合其分布,每個監(jiān)控裝置根據(jù)相鄰BT客戶端節(jié)點的數(shù)量建立警告消息集,設(shè)置正常閾值α ;2)監(jiān)控裝置監(jiān)控所在BT客戶端節(jié)點,等待來自相鄰監(jiān)測裝置的警告消息,若監(jiān)控裝置的警告消息集中存在警告消息則根據(jù)時間推移減少警告消息中計時器的值,并在計時器歸零時丟棄該警告消息,若該BT客戶端節(jié)點與相鄰BT客戶端節(jié)點發(fā)生持續(xù)通信,則進入步驟 3),若收到來自某個相鄰監(jiān)測裝置的警告消息,則進入步驟4);3)若監(jiān)控裝置中沒有警告消息,則生成一個警告消息,初始化計數(shù)器的值為1,計時器的值為t,若已存在警告消息,將警告消息的計數(shù)器增加1,計時器的值重置為t,然后將生成或修改后的警告消息發(fā)送給正在通信的BT客戶端節(jié)點上的監(jiān)控裝置,進入步驟2);4)查看收到的警告消息中的計數(shù)器,發(fā)送到?jīng)Q策中心裝置,若計數(shù)器低于正常閾值 α,將該警告消息存儲于監(jiān)控裝置的警告消息集中,若警告消息集中已存在同一來源的警告消息,則只保存擁有較大計數(shù)器的警告消息,進入步驟2),若計數(shù)器超過正常閾值α,則該監(jiān)控裝置對所在BT客戶端節(jié)點與相鄰BT客戶端節(jié)點所交換的流量數(shù)進行重新采樣,并將得到的流量數(shù)發(fā)送到?jīng)Q策中心裝置,決策中心裝置對初始采樣得到的流量統(tǒng)計數(shù)和重新采樣得到的流量統(tǒng)計數(shù)進行比較,若兩次統(tǒng)計得到的流量不屬于同一分布,則認為BT網(wǎng)絡(luò)中出現(xiàn)蠕蟲活動,發(fā)出蠕蟲報警。
全文摘要
本發(fā)明公開了一種面向BT下載網(wǎng)絡(luò)的蠕蟲檢測方法。該方法向BT網(wǎng)絡(luò)的所有客戶端節(jié)點部署鄰節(jié)點緩存監(jiān)控裝置,每個鄰節(jié)點緩存監(jiān)控裝置利用鄰節(jié)點緩存尋找相鄰的鄰節(jié)點緩存監(jiān)控裝置,形成基于BT網(wǎng)絡(luò)的監(jiān)控裝置網(wǎng)絡(luò)。監(jiān)控裝置監(jiān)測到所在節(jié)點與相鄰節(jié)點通信時,向該相鄰節(jié)點的監(jiān)控裝置發(fā)送一個已有的或生成的警告消息,警告消息包含計數(shù)器與計時器,被發(fā)送時會累加計數(shù)器并重置計時器。每個監(jiān)控裝置收到警告消息時,檢查警告消息的計數(shù)器是否超出正常閾值,若超出正常閾值就認為BT網(wǎng)絡(luò)出現(xiàn)蠕蟲活動,若未超出預定閾值則在計時器歸零時丟棄該警告消息。本發(fā)明克服了現(xiàn)有的網(wǎng)絡(luò)蠕蟲檢測方法不適于檢測BT網(wǎng)絡(luò)蠕蟲的不足,可有效檢測到BT網(wǎng)絡(luò)蠕蟲的爆發(fā)。
文檔編號H04L29/08GK102185869SQ201110135299
公開日2011年9月14日 申請日期2011年5月24日 優(yōu)先權(quán)日2011年5月24日
發(fā)明者張知臨, 林懷忠, 蔣雨倩, 陳萍 申請人:浙江大學