木馬檢測方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種木馬檢測方法及系統(tǒng)。
【背景技術(shù)】
[0002] 木馬是一種威脅網(wǎng)絡(luò)安全的常見病毒,目前存在很多檢測木馬的方法,但是這些 方法在界定木馬心跳特征通常使用的是經(jīng)驗值,評判標(biāo)準(zhǔn)比較單一,不具有足夠的說服力, 不能有效地進行自動化處理,并且檢測木馬的精度容易受到噪音影響,難以適應(yīng)復(fù)雜的網(wǎng) 絡(luò)環(huán)境,容易出現(xiàn)誤判。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中木馬檢測不準(zhǔn)確的缺陷,提供一 種能夠準(zhǔn)確檢測出木馬序列和木馬ip的木馬檢測方法及系統(tǒng)。
[0004] 本發(fā)明是通過以下技術(shù)方案解決上述技術(shù)問題的:
[0005] 本發(fā)明提供一種木馬檢測方法,其特點是,所述木馬檢測方法包括:
[0006] S!、采集網(wǎng)絡(luò)流量數(shù)據(jù);
[0007] S2、將所述網(wǎng)絡(luò)流量數(shù)據(jù)按照ip對分組;
[0008] S3、將同一組ip對的數(shù)據(jù)包分別聚為一個或多個簇;
[0009] S4、將由同一組ip對的數(shù)據(jù)包聚成的簇聚為一個或多個類;
[0010] S5、將每一類對應(yīng)的時間序列標(biāo)準(zhǔn)化,所述時間序列由類中的簇間隔構(gòu)成;
[0011] S6、分別計算標(biāo)準(zhǔn)化后的時間序列的時序統(tǒng)計量;
[0012] S7、篩選出時序統(tǒng)計量不在第一閾值范圍內(nèi)的時間序列作為木馬序列,輸出木馬 ip〇
[0013] 其中,所述網(wǎng)絡(luò)流量數(shù)據(jù)通常包括網(wǎng)絡(luò)流量信息的基本五元組(源ip地址、源ip 端口、目的ip地址、目的ip端口和數(shù)據(jù)包的長度)以及時間戳和協(xié)議號等信息。
[0014] 所述時間序列可以通過以下過程生成:每一個簇如上所述會擁有多個數(shù)據(jù)包,將 這些數(shù)據(jù)包按時間戳的大小從小到大排序,選出最小值最為簇的開始時間戳,選出最大值 作為簇的截止時間戳;然后按照每個簇的開始時間戳從小到大進行排序,由于前部分分簇 的操作,所以此處不會出現(xiàn)簇與簇的重疊;再對排好序的簇的序列,計算相鄰兩個簇間,前 簇的截止時間和后簇的開始時間的差值。這樣會產(chǎn)生一個差值的序列。該差值的序列即為 一個類對應(yīng)的時間序列。
[0015] 本技術(shù)方案結(jié)合了分簇和時序分析等多種技術(shù)方法,對網(wǎng)絡(luò)流量中可能存在的周 期性的木馬心跳行為進行有效地識別,不容易受到噪音影響,適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境,客觀 準(zhǔn)確地檢測出木馬序列,在篩選出木馬序列后,木馬序列對應(yīng)的ip對中一個ip為已知的 ip (如客戶端的ip),另一個即為木馬ip。本技術(shù)方案中分簇操作后,大大降低了單個零碎 的包對整體判斷的影響,有效地降低了誤報率。時序分析中各個指標(biāo)參量則準(zhǔn)確地刻畫了 每個類對應(yīng)的序列為木馬序列的可能。
[0016] 較佳地,S3包括分別對同一組ip對的數(shù)據(jù)包執(zhí)行以下步驟:
[0017] S31、設(shè)定一分隔閾值,將相鄰的兩個時間間隔小于所述分隔閾值的數(shù)據(jù)包聚為一 個簇。
[0018] 通過上述步驟,通信流中互相間隔小于分隔閾值的數(shù)據(jù)包聚為一個簇,即簇與簇 之間的時間間隔均大于分隔閾值。分簇后以簇為最小分析單元,特征包括簇大?。创刂?數(shù)據(jù)包的個數(shù))、簇長度(即簇中數(shù)據(jù)包長度的總和)、簇跨度(即簇中首包到末包的時間 間隔)、簇間隔(即與前一個簇之間的時間間隔)、簇中最小時間戳(即簇開始時間)以及 簇中最大時間戳(即簇結(jié)尾時間)。其中,分隔閾值可以采用固定常量,即根據(jù)網(wǎng)絡(luò)環(huán)境設(shè) 定某一個固定的值作為分隔閾值,也可以通過下一技術(shù)方案動態(tài)生成分隔閾值。
[0019] 較佳地,S31的分隔閾值通過以下步驟設(shè)定:
[0020] S311、獲取該組ip對的前N個數(shù)據(jù)包中相鄰的兩個數(shù)據(jù)包的時間間隔,N為小于或 等于該組ip對的數(shù)據(jù)包的總數(shù)的正整數(shù);
[0021 ] S312、計算該些時間間隔的平均時間間隔以及時間間隔標(biāo)準(zhǔn)差;
[0022] S313、從該些時間間隔中,去除大于平均時間間隔加Μ倍的時間間隔標(biāo)準(zhǔn)差的時間 間隔,Μ為正數(shù);
[0023] S314、計算剩余的時間間隔的平均時間間隔以及時間間隔標(biāo)準(zhǔn)差;
[0024] S315、計算分隔閾值,分隔閾值等于S314中計算出的平均時間間隔加S 314中計算出的 時間間隔標(biāo)準(zhǔn)差。
[0025] 其中,N和Μ可以根據(jù)實際情況自由設(shè)定,如設(shè)定N等于20,設(shè)定Μ等于3。
[0026] 本技術(shù)方案能夠根據(jù)網(wǎng)絡(luò)環(huán)境自動動態(tài)生成分隔閾值,進一步降低了單個零碎的 包對整體判斷的影響,有效地降低了誤報率。
[0027] 較佳地,S6中計算的時序統(tǒng)計量包括方差,S 7中若方差小于方差閾值,則時間序列 為木馬序列;
[0028] 或,S6中計算的時序統(tǒng)計量包括不穩(wěn)定度instability,S 7中若不穩(wěn)定度 instability小于不穩(wěn)定度閾值,則時間序列為木馬序列,不穩(wěn)定度的計算公式如下:
[0030] 式中nk為類k中簇的個數(shù),T kil為類k中簇按時間先后順序排序后第i個簇的到 達時間;
[0031] 或,S6中計算的時序統(tǒng)計量包括方差和不穩(wěn)定度instability,S 7*若方差小于方 差閾值且不穩(wěn)定度instability小于不穩(wěn)定度閾值,則時間序列為木馬序列。
[0032] 本技術(shù)方案可以將方差、不穩(wěn)定度或者方差和不穩(wěn)定度的結(jié)合作為指標(biāo)衡量序列 的穩(wěn)定性,進而判斷一個序列是否存為木馬序列。如果通信流具有心跳行為,那么類中的簇 間隔應(yīng)該趨于穩(wěn)定,即各個簇間隔相差甚小。標(biāo)準(zhǔn)化后的時間序列的方差越小,穩(wěn)定度越 高,序列周期性更明顯,更有可能是木馬序列。不穩(wěn)定度是在方差的基礎(chǔ)上提升了對序列長 度(即類中簇數(shù)量)的權(quán)值,使序列長度更長的序列可以得到更小的不穩(wěn)定度,以排除序列 長度短的序列帶來的干擾。在上述不穩(wěn)定度的計算公式中,第一項表示的是樣本方差,通常 在樣本方差的定義中,使用的除數(shù)(即第一項的分母)應(yīng)為總樣本個數(shù)減1,即(nk_l),而 本技術(shù)方案中計算樣本方差所使用的分母為nk,這樣不穩(wěn)定度的值相較于樣本方差在~越 大的情況下,不穩(wěn)定度越小。即長度更長的序列擁有相對更低的不穩(wěn)定度,不穩(wěn)定度越小的 序列穩(wěn)定度越高,序列周期性更明顯,更有可能是木馬序列。將方差和不穩(wěn)定度的結(jié)合作為 衡量序列的穩(wěn)定性的指標(biāo)時,本技術(shù)方案即采用了多種變量來判斷是否存在木馬序列,使 得判斷結(jié)果更準(zhǔn)確。
[0033] 較佳地,S7還包括:
[0034] S71、計算標(biāo)準(zhǔn)化后的時間序列的頻域統(tǒng)計量;
[0035] S72、篩選出時序統(tǒng)計量在第一閾值范圍內(nèi)且頻域統(tǒng)計量不在第二閾值范圍內(nèi)的時 間序列作為木馬序列,輸出木馬ip。
[0036] 其中,在時序統(tǒng)計量為方差時,所述計算出的時序統(tǒng)計量在第一閾值范圍內(nèi)是指 計算出的方差大于或等于方差閾值;在時序統(tǒng)計量為不穩(wěn)定度時,所述計算出的時序統(tǒng)計 量在第一閾值范圍內(nèi)是指計算出的不穩(wěn)定度大于或等于不穩(wěn)定度閾值;在時序統(tǒng)計量為方 差和不穩(wěn)定度時,所述計算出的時序統(tǒng)計量在第一閾值范圍內(nèi)是指計算出的方差大于或等 于方差閾值且計算出的不穩(wěn)定度大于或等于不穩(wěn)定度閾值。
[0037] 考慮到心跳間隙隨時間推移的偽隨機特點會增加判斷通信是否為木馬通信的難 度,本技術(shù)方案在分簇和時序分析的基礎(chǔ)上,進一步結(jié)合了頻域分析,大大降低木馬的識別 難度,通過多維度多變量的方式客觀地評判是否存在木馬序列。對于已經(jīng)通過時域分析判 定為木馬序列的時間序列(即時序統(tǒng)計量不在第一閾值范圍內(nèi)的時間序列),可以通過S71進一步確定判定木馬序列的準(zhǔn)確性;對于通過時域分析并沒有判定為木馬序列的時間序列 (即時序統(tǒng)計量在第一閾值范圍內(nèi)的時間序列),可以通過S71進一步防止木馬序列被遺漏。
[0038] 較佳地,S71包括:
[0039] S711、對標(biāo)準(zhǔn)化后的時間序列進行離散傅立葉變換,得到一組傅立葉系數(shù);
[0040] s712、分別用相位和振幅計算模值,形成一個新的序列;
[0041] S713、計算所述新的序列對應(yīng)的自相關(guān)系數(shù);
[0042] S714、剔除0階的自相關(guān)系數(shù),計算剩余的自相關(guān)系數(shù)的絕對值的均值;
[0043] S72包括篩選出時序統(tǒng)計量在第一閾值范圍內(nèi)且S714計算的均值小于均值閾值的 時間序列作為木馬序列,輸出木馬ip。
[0044] 所述均值即為頻域統(tǒng)計量,小于均值閾值即為不在第二閾值范圍內(nèi)。如果形成的 新的序列越平穩(wěn),該序列對應(yīng)的自相關(guān)系數(shù)就會隨階數(shù)增大會迅速降低至〇,因此基于自相 關(guān)系數(shù)序列的大小可以作為平穩(wěn)性判斷的指標(biāo)。為