專利名稱:一種基于流量信息檢測蠕蟲活動的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于流量信息檢測蠕蟲活動的方法,屬于計算機網(wǎng)絡(luò)和數(shù)據(jù)通信技術(shù) 領(lǐng)域。
背景技術(shù):
隨著蠕蟲傳播越來越廣,其對網(wǎng)絡(luò)的危害日益增加,使得對蠕蟲的檢測工作越來越得 到關(guān)注。蠕蟲的一般傳播過程為l.掃描由蠕蟲的掃描功能模塊負(fù)責(zé)探測存在漏洞的主 機。當(dāng)程序向某個主機發(fā)送探測漏洞的信息并收到成功的反饋信息后,就得到一個可傳播 的對象。2.攻擊攻擊模塊按漏洞攻擊步驟自動攻擊步驟1中找到的對象,取得該主機的 權(quán)限(一般為管理員權(quán)限),獲得一個shell。 3.復(fù)制復(fù)制模塊通過原主機和新主機的交 互將蠕蟲程序復(fù)制到新主機并啟動。蠕蟲傳播過程中表現(xiàn)出來的特征主要是往外頻繁掃 描,具有高發(fā)散度性,同時具有很多未完成連接。
傳統(tǒng)的蠕蟲檢測通常使用特征碼匹配方法,該方法對已知蠕蟲有較好的檢測率,然而 占用系統(tǒng)資源較多,而且對于未知蠕蟲或者蠕蟲的變體都無能為力。目前也有一些方法通 過統(tǒng)計各個主機的連接數(shù)來檢測蠕蟲,這種方法能夠檢測未知蠕蟲,但判斷標(biāo)準(zhǔn)比較單一, 具有一定的漏報率和誤報率。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于流量信息檢測蠕蟲活動的方法。根據(jù)蠕蟲的傳播特 性,本方法通過既往的流量信息統(tǒng)計出蠕蟲詳細(xì)的活動特征,并使用這些特征檢測實時的 流量信息,判斷蠕蟲的活動情況。
本發(fā)明提供的技術(shù)方案如下-
本發(fā)明的基于流量信息檢測蠕蟲活動的方法的具體步驟如下
1) 采集正常流量日志和有蠕蟲活動的流量日志;
2) 從流量日志中提取檢測蠕蟲的特征,至少包含連接的目的IP地址總數(shù)目,半開連 接數(shù)目,總流量,總數(shù)據(jù)包個數(shù),得到有標(biāo)定類別的流量日志;
3) 利用機器學(xué)習(xí)算法對上述有標(biāo)定類別的流量日志進(jìn)行學(xué)習(xí),得到蠕蟲檢測分類器;
4) 將蠕蟲檢測分類器部署到目的網(wǎng)絡(luò),接收網(wǎng)絡(luò)的流量信息;
5)對目的網(wǎng)絡(luò)的流量信息提取特征向量,利用蠕蟲檢測分類器檢測目的網(wǎng)絡(luò)的蠕蟲活 動。
進(jìn)一步,上述步驟1)中所述流量日志從同一主機或同一局域網(wǎng)的不同主機或不同局 域網(wǎng)的主機采集。
進(jìn)一步,上述步驟2)中的檢測蠕蟲的特征包含以下一種或幾種發(fā)起連接速率、被 發(fā)起連接速率、端口號、目的端口號的數(shù)值差、連接的目的IP之間的數(shù)值差、發(fā)送的流量、 接收的流量、發(fā)送流量和接收流量比率、發(fā)送的數(shù)據(jù)包個數(shù)、接收的數(shù)據(jù)包個數(shù)、發(fā)送包 的平均大小、接收包的平均大小、發(fā)送和接收數(shù)據(jù)包的平均大小。
進(jìn)一步,上述步驟4)中的目的網(wǎng)絡(luò)既可以是一個局域網(wǎng),也可以僅是其中的一個或 多個沖突域。
本發(fā)明在流量日志信息中提取出一些能很好的刻畫蠕蟲的活動特征的關(guān)鍵特征,通過 機器學(xué)習(xí)算法對這些流量信息特征進(jìn)行有監(jiān)督學(xué)習(xí),得到一個蠕蟲檢測分類器。利用該分 類器再對實時流量日志信息進(jìn)行檢測,從中發(fā)現(xiàn)蠕蟲活動。
本發(fā)明能夠檢測出未知蠕蟲的活動,判斷標(biāo)準(zhǔn)較為全面,并且可以根據(jù)實際環(huán)境進(jìn)行 調(diào)整,較為靈活。
圖l本發(fā)明方法的流程圖2蠕蟲檢測分類器的邏輯示意圖。
具體實施例方式
以下參照附圖對本發(fā)明的基于流量信息檢測蠕蟲活動的方法進(jìn)行詳細(xì)說明,但本發(fā)明 不局限于下面的實施方式。
本發(fā)明方法的流程如圖1所示,其工作過程如下 (1)流量日志采集。
采用防火墻等網(wǎng)關(guān)設(shè)施采集網(wǎng)絡(luò)的流量日志信息。該步驟包括兩方面的工作, 一是采 集正常的網(wǎng)絡(luò)流量日志,二是采集感染蠕蟲主機的流量日志(可以人為將主機感染上蠕蟲 以獲得流量日志)。流量日志樣例
2007-10-19 00:00:04 Local7.Debug 172.31.4.44 id=firewall time="2007-10-19 00:01:17" fw=FSG1000-testtype=session_fluxpri=6duration=30proto=17src=l 72.31.5.80
dst=221.5.250.169 src_port=2393 dst_port=8000 rcvd=53 sent=47 rcvd_pkt=l sent_pkt=l rule=l action=ACCEPT
其中關(guān)鍵字段的解釋如下
time: 日志產(chǎn)生時間 proto: 協(xié)議 src: 源地址 dst: 目的地址
src_port: 源端口 dst_port: 目的端口 rcvd: 接收流量 sent: 發(fā)送流量
rcvd_pkt: 接收數(shù)據(jù)包個數(shù)
sent_pkt: 發(fā)送數(shù)據(jù)包個數(shù) (2)特征提取/特征選取 蠕蟲有發(fā)散度高、短連接多的特點,選取出來的特征需要很好地表征這些特點。候選 特征集如下
基準(zhǔn)特征
a) 連接的目的IP地址總數(shù)目——l小時內(nèi),同一源IP地址發(fā)起的不同目的IP地
址的總數(shù)目;
b) 半開連接次數(shù)——l小時內(nèi),同一源IP地址半開連接次數(shù);
C)總流量——l小時內(nèi),同一源IP地址發(fā)送流量和接收流量的總和;
d) 總數(shù)據(jù)包個數(shù)——l小時內(nèi),同一源IP地址發(fā)送數(shù)據(jù)包個數(shù)和接收數(shù)據(jù)包個數(shù)的
總和; 輔助候選特征
e) 發(fā)起連接速率一-l小時內(nèi),同一源IP地址發(fā)起連接的總數(shù)與被發(fā)起連接總數(shù)的 比值;
f) 被發(fā)起連接速率——1小時內(nèi),外部IP地址向本局域網(wǎng)內(nèi)某一 IP地址發(fā)起的連接 總數(shù)與被發(fā)起連接總數(shù)的比值;
g) 端口號——源IP地址發(fā)起連接的端口號;
h) 目的端口號"距離"——目標(biāo)端口號的數(shù)值差;
i) 目的IP地址"距離"--將IP al.a2.a3.a4轉(zhuǎn)化為數(shù)值
al*256*256*256+a2*256*256+a3*256+a4,然后計算同一源IP地址發(fā)起的所有目的 IP的數(shù)值差。(同一局域網(wǎng)內(nèi)的IP距離較小,不同局域網(wǎng)之間的IP距離較大);
j)發(fā)送的流量——l小時內(nèi),同一源IP地址往外發(fā)送的總流量; k)接收的流量——l小時內(nèi),同一源IP地址接收的總流量; 1)發(fā)送流量和接收流量比率^j)和k)的比值;
m)發(fā)送的數(shù)據(jù)包個數(shù)——l小時內(nèi),同一源IP地址往外發(fā)送的總數(shù)據(jù)包個數(shù);
n)接收的數(shù)據(jù)包個數(shù)——l小時內(nèi),同一源IP地址接收的總數(shù)據(jù)包個數(shù);
o)發(fā)送包的平均大小^j)與m)的比值;
p)接收包的平均大小——k)與n)的比值;
q)發(fā)送和接收數(shù)據(jù)包的平均大小——C)與d)的比值;
本步驟提取出的基準(zhǔn)特征是檢測必須的特征,根據(jù)實際網(wǎng)絡(luò)情況,還可以選擇部分或 者全部輔助候選特征來提供檢測準(zhǔn)確率。
以每一臺主機為單位,對時間長度為1小時的統(tǒng)計窗口內(nèi)的流量信息進(jìn)行特征統(tǒng)計(根 據(jù)實際情況需要,可以改變統(tǒng)計窗口的時間長度)。每隔5分鐘針對統(tǒng)計窗口進(jìn)行一次滑 動,則每隔5分鐘就對每一臺主機進(jìn)行統(tǒng)計,統(tǒng)計的時間長度是l小時,得到一個特征向 量。對流量日志里的所有主機IP進(jìn)行持續(xù)的統(tǒng)計可以得到一個特征向量列表。 (3)機器學(xué)習(xí)過程
采集正常網(wǎng)絡(luò)流量日志,對流量日志經(jīng)過"特征提取/特征選取"的處理,得到一個 特征向量列表A,對A標(biāo)定類別為正常;采集感染蠕蟲的主機流量日志,對其進(jìn)行"特征 提取/特征選取"的處理,得到一個特征向量列表B,對B標(biāo)定類別為蠕蟲。將A和B 兩個特征向量列表進(jìn)行合并得到一個大的特征向量列表,這就是機器學(xué)習(xí)所需的訓(xùn)練集X。 任意采用一種有監(jiān)督的機器學(xué)習(xí)算法(如決策樹、神經(jīng)網(wǎng)絡(luò)等)就可以從訓(xùn)練集X中學(xué) 習(xí)得到一個分類器。
1.本說明采用通用的C4.5決策樹算法(參考文獻(xiàn)J.Ross Quinlan. C4.5:Programs for Machine Learning. Morgan Kaufinan, 1993.)對訓(xùn)練集X進(jìn)行訓(xùn)練,得到蠕蟲檢測分類器 X」ree。
使用過程(2)中描述的特征向量〈a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q、
特征向量列表A的示例表項為<14, 1, 7323, 193, 53.1, 0.03, 80, 59, 10305214, 6649,
674, 9.86, 174, 19, 42.0, 35.4, 37.9>
特征向量列表B的示例表項為<123,104,37823,1393,23.1,0.53,1029,0,214,30249, 7574, 3.99, 1034, 359, 29.2, 21.1, 27.1>
得到的蠕蟲檢測分類器X一tree的邏輯示意圖,如圖2所示。分類器以決策樹的形式表 現(xiàn)出來,樹的首節(jié)點(稱為根節(jié)點)顯示在最上端,節(jié)點向下有序地與其他節(jié)點相連,直 至到達(dá)沒有后續(xù)的終端節(jié)點(稱為葉節(jié)點)。決策樹分類過程第一步要從根節(jié)點開始, 首先對模式的某一屬性的取值進(jìn)行判斷,與根節(jié)點相連的不同節(jié)點對應(yīng)不同的屬性取值。 繼續(xù)這一判斷過程直到葉節(jié)點。每一個葉節(jié)點都標(biāo)有一個相應(yīng)的類別標(biāo)記,測試樣本就被 標(biāo)記為它所到達(dá)的葉節(jié)點的類別標(biāo)記。其中圖2中的A、 B、 C、 D、 E、 F、 G某一屬性的 取值,a!、 bi、 Cl、山、ei. &、 gl表示實際中的判斷標(biāo)準(zhǔn)。
(4)部署蠕蟲檢測分類器,對實時流量日志進(jìn)行檢測,檢測蠕蟲活動。
本實施例中,將蠕蟲檢測分類器X—tree部署到在局域網(wǎng)網(wǎng)關(guān)處,利用接收到的網(wǎng)絡(luò)流 量日志信息進(jìn)行蠕蟲檢測。檢測步驟包括
1) 定時接收網(wǎng)絡(luò)的流量信息,針對局域網(wǎng)內(nèi)各主機進(jìn)行特征向量提取。
對局域網(wǎng)內(nèi)各主機計算特征向量〈a,b,c,d,e,f,g,h,ij,k,l,m,n,o,p,q、得到特征向量列表H。 以下為H的示例表項<123, 104, 37823, 1393, 23.1, 0.53, 1029, 0, 214, 30249, 7574, 3.99, 1034,359, 29.2, 21.1, 27.1>。
2) 利用蠕蟲檢測分類器判斷局域網(wǎng)內(nèi)各主機的蠕蟲活動。
如上所述,本發(fā)明可以通過蠕蟲檢測分類器判斷局域網(wǎng)內(nèi)的各主機是否存在蠕蟲活 動。蠕蟲檢測分類器可以部署在一個或多個沖突域內(nèi),根據(jù)實際部署網(wǎng)絡(luò)的大小和實際流 量,計算特征向量時的統(tǒng)計窗口大小可以進(jìn)行相應(yīng)調(diào)整;根據(jù)實際蠕蟲種類的擴充,使用 的輔助候選特征也可以進(jìn)行相應(yīng)的增減。另外,用于機器學(xué)習(xí)的算法也并不局限于C4.5 決策樹算法。
盡管為說明目的公開了本發(fā)明的具體實施例和附圖,其目的在于幫助理解本發(fā)明的內(nèi) 容并據(jù)以實施,但是本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求的精 神和范圍內(nèi),各種替換、變化和修改都是可能的。本發(fā)明不應(yīng)局限于本說明書最佳實施例 和附圖所公開的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求書界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種基于流量信息檢測蠕蟲活動的方法,其步驟如下1)采集正常流量日志和有蠕蟲活動的流量日志;2)從流量日志中提取檢測蠕蟲的特征,至少包含連接的目的IP地址總數(shù)目,半開連接數(shù)目,總流量,總數(shù)據(jù)包個數(shù),得到有標(biāo)定類別的流量日志;3)利用機器學(xué)習(xí)算法對上述有標(biāo)定類別的流量日志進(jìn)行學(xué)習(xí),得到蠕蟲檢測分類器;4)將蠕蟲檢測分類器部署到目的網(wǎng)絡(luò),接收網(wǎng)絡(luò)的流量信息;5)對目的網(wǎng)絡(luò)的流量信息提取特征向量,利用蠕蟲檢測分類器檢測目的網(wǎng)絡(luò)的蠕蟲活動。
2. 如權(quán)利要求1所述的一種方法,其特征在于步驟l)中所述流量日志從同一主機采集。
3. 如權(quán)利要求1所述的一種方法,其特征在于步驟l)中所述流量日志從同一局域網(wǎng)的不 同主機采集。
4. 如權(quán)利要求1所述的一種方法,其特征在于步驟l)中所述流量日志從不同局域網(wǎng)的主 機采集。
5. 如權(quán)利要求1所述的一種方法,其特征在于步驟2)中的所述的檢測蠕蟲的特征還包 含以下一種或幾種發(fā)起連接速率、被發(fā)起連接速率、端口號、目的端口號的數(shù)值差、 連接的目的IP之間的數(shù)值差、發(fā)送的流量、接收的流量、發(fā)送流量和接收流量比率、 發(fā)送的數(shù)據(jù)包個數(shù)、接收的數(shù)據(jù)包個數(shù)、發(fā)送包的平均大小、接收包的平均大小、發(fā) 送和接收數(shù)據(jù)包的平均大小。
6. 如權(quán)利要求1所述的一種方法,其特征在于步驟3)中所述的機器學(xué)習(xí)算法是決策樹。
7. 如權(quán)利要求1所述的一種方法,其特征在于步驟3)中所述的機器學(xué)習(xí)算法是神經(jīng)網(wǎng)絡(luò)。
8. 如權(quán)利要求1所述的一種方法,其特征在于步驟4)中的所述的網(wǎng)絡(luò)是沖突域。
9. 如權(quán)利要求1所述的一種方法,其特征在于步驟5)中所述的提取特征向量,是以一定時間長度作為一個統(tǒng)計窗口,提取統(tǒng)計窗口內(nèi)流量信息的特征。
全文摘要
本發(fā)明涉及一種基于流量信息檢測蠕蟲活動的方法,屬于計算機網(wǎng)絡(luò)和數(shù)據(jù)通信技術(shù)領(lǐng)域。本方法通過流量信息提取出一些刻畫蠕蟲活動的特征向量,組成特征向量集,對這些特征向量集通過機器學(xué)習(xí)得到蠕蟲檢測分類器,利用蠕蟲檢測分類器檢測實時的流量信息,從中判斷蠕蟲主機的活動情況。這種方法能夠檢測出未知蠕蟲的活動,判斷標(biāo)準(zhǔn)較為全面,并且可以根據(jù)實際環(huán)境進(jìn)行調(diào)整,較為靈活。
文檔編號H04L29/06GK101184097SQ20071017952
公開日2008年5月21日 申請日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者樸愛花, 鄭禮雄, 昱 陳, 龔曉銳 申請人:北京大學(xué)