本發(fā)明涉及工業(yè)控制系統(tǒng)流量異常監(jiān)測技術(shù)領(lǐng)域,尤其涉及一種流量異常監(jiān)測的優(yōu)化方法。
背景技術(shù):
網(wǎng)絡(luò)流量監(jiān)測主要為對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行連續(xù)的采集,通過連續(xù)采集網(wǎng)絡(luò)數(shù)據(jù)監(jiān)測網(wǎng)絡(luò)的流量。獲得網(wǎng)絡(luò)流量數(shù)據(jù)后對其進(jìn)行統(tǒng)計和計算,從而得到網(wǎng)絡(luò)及其主要成分的性能指標(biāo),在網(wǎng)絡(luò)流量異常的情況下網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)還可向網(wǎng)絡(luò)管理者進(jìn)行告警,使故障及時得到處理。
近年來,國內(nèi)外頻頻發(fā)生工業(yè)控制系統(tǒng)(以下簡稱“工控”)網(wǎng)絡(luò)安全事件,引發(fā)全球關(guān)注。工控網(wǎng)絡(luò)的特點是單日流量不高,但是長時間非間斷運行,會使得累積總流量較高。因為工控網(wǎng)絡(luò)的安全直接涉及廣大人民財產(chǎn)安全,而網(wǎng)絡(luò)流量的統(tǒng)計又直接反應(yīng)網(wǎng)絡(luò)及其主要成分的性能指標(biāo)。所以,網(wǎng)絡(luò)流量異常監(jiān)測是工業(yè)控制網(wǎng)絡(luò)管理中一個非?;A(chǔ)也非常重要的一個環(huán)節(jié),優(yōu)化網(wǎng)絡(luò)流量異常監(jiān)測算法是非常有意義的。
但其中一些產(chǎn)品,只有簡單的數(shù)據(jù)搜集、統(tǒng)計根本沒有經(jīng)進(jìn)一步的計算,更談不上流量異常監(jiān)測;還有一些產(chǎn)品的流量監(jiān)測算法缺乏修正,對樣本數(shù)據(jù)過于依賴,沒有學(xué)習(xí)樣本之間的變化趨勢,只使用單一公式,這樣無法保證相對準(zhǔn)確的結(jié)果。
因此,當(dāng)下需要迫切解決的一個技術(shù)問題就是:如何能夠創(chuàng)新的提出一種有效的措施,以解決現(xiàn)有技術(shù)存在的問題,滿足實際應(yīng)用的更多需求。
技術(shù)實現(xiàn)要素:
針對上述問題中存在的不足之處,本發(fā)明提供一種工控系統(tǒng)基于流量異常監(jiān)測的優(yōu)化方法,可以有效提高每天或者相同取樣頻率下流量監(jiān)測的準(zhǔn)確性,保證流量異常監(jiān)測的有效性。
為實現(xiàn)上述目的,本發(fā)明提供一種流量異常監(jiān)測的優(yōu)化方法,包括:
讀取學(xué)習(xí)表,獲取學(xué)習(xí)參數(shù),若學(xué)習(xí)參數(shù)為空,則對學(xué)習(xí)參數(shù)進(jìn)行計算并存入數(shù)據(jù)庫;所述學(xué)習(xí)參數(shù)包括:基準(zhǔn)流量值、學(xué)習(xí)率a、閾值、中值、最高值和最低值;
讀取網(wǎng)絡(luò)上當(dāng)前實時流量,根據(jù)所述當(dāng)前實時流量不斷更新學(xué)習(xí)參數(shù)值;
根據(jù)當(dāng)前基準(zhǔn)流量值=(1-a)×上次基準(zhǔn)流量值+a×當(dāng)前實時流量,確定當(dāng)前基準(zhǔn)流量值;
根據(jù)閾值=中值×(樣本高值/樣本低值),確定閾值;
判斷當(dāng)前實時流量是否在當(dāng)前基準(zhǔn)流量值±閾值的范圍內(nèi);
若不在該范圍內(nèi),則表明當(dāng)前流量異常,出現(xiàn)異常就告警,并進(jìn)行學(xué)習(xí)參數(shù)更新;
更新流量樣本表,寫入學(xué)習(xí)表數(shù)據(jù)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述學(xué)習(xí)率a是根據(jù)實際取樣周期,以及對于算法敏感度和穩(wěn)定度的平衡所得出。
作為本發(fā)明的進(jìn)一步改進(jìn),0≤a≤1。
作為本發(fā)明的進(jìn)一步改進(jìn),a取1/7。
作為本發(fā)明的進(jìn)一步改進(jìn),根據(jù)基準(zhǔn)流量值、閥值的計算方法,流量異常判定方法,以及不斷更新基準(zhǔn)值、閥值的方法實現(xiàn)流量異常判斷的自適應(yīng)性。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
本發(fā)明提供一種流量異常監(jiān)測的優(yōu)化方法,采用基準(zhǔn)流量值和閾值的基本公式保證了流量異常判定元素的多樣化,對各個屬性的量化和評估符合實際,比較合理;可以有效提高每天或者相同取樣頻率下流量監(jiān)測的準(zhǔn)確性,保證流量異常監(jiān)測的有效性。
附圖說明
圖1為本發(fā)明一種實施例公開的流量異常監(jiān)測的優(yōu)化方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
下面結(jié)合附圖對本發(fā)明做進(jìn)一步的詳細(xì)描述:
本發(fā)明提供一種流量異常監(jiān)測的優(yōu)化方法,其設(shè)計原理為:
(1)確定告警算法,具體為,流量異常的判斷通過對比當(dāng)天某時間段內(nèi)的臨界流量與當(dāng)天此時間段的實際流量而確定;即
(當(dāng)前流量>基準(zhǔn)流量值+閾值)or(當(dāng)前流量<基準(zhǔn)流量值-閾值),表示流量異常;
(2)確定基準(zhǔn)流量值(newbase)的學(xué)習(xí)算法,即
newbase=(1-a)×oldbase+a×樣本
式中:oldbase為歷史基準(zhǔn)流量,指上次計算的基準(zhǔn)流量,要做為本次判斷流量異常的重要參數(shù);a為學(xué)習(xí)參數(shù),0≤a≤1,a的值越大,base值更新越快,為了使基準(zhǔn)流量值在一周內(nèi)基本實現(xiàn)階梯型流量過度,本發(fā)明的a的值取1/7=0.14;樣本為當(dāng)前流量值,即當(dāng)前采集到的流量大小樣本。
(3)閾值獲取算法,即
閾值=樣本集的中值×(樣本高值/樣本低值);
(4)樣本選擇
樣本集數(shù)量取14,作為滑動窗口,適應(yīng)近兩周左右的流量環(huán)境;
(5)數(shù)據(jù)庫表,數(shù)據(jù)庫中有一張表,就是學(xué)習(xí)表,這張表中存儲了判斷流量異常的參數(shù)(基準(zhǔn)流量值、學(xué)習(xí)率a、閾值、中值、最高值、最低值)等信息;另外數(shù)據(jù)庫中還有一些其他數(shù)據(jù)表,如:歷史樣板數(shù)據(jù)等。
(6)流量樣本表,存儲14天內(nèi)的流量;
(7)學(xué)習(xí)表,存儲每個設(shè)備的基準(zhǔn)流量值、學(xué)習(xí)率a、閾值、中值、最高值、最低值。
如圖1所示,本發(fā)明提供一種流量異常監(jiān)測的優(yōu)化方法,包括:
1、讀取學(xué)習(xí)表,獲取學(xué)習(xí)表中的學(xué)習(xí)參數(shù),若學(xué)習(xí)參數(shù)為null(空),則對學(xué)習(xí)參數(shù)進(jìn)行計算并將生成的參數(shù)值并存入數(shù)據(jù)庫;學(xué)習(xí)參數(shù)包括學(xué)習(xí)表要存儲每個設(shè)備的基準(zhǔn)流量值、學(xué)習(xí)率a、閾值、中值、最高值、最低值,上述學(xué)習(xí)參數(shù)為判斷流量異常的參數(shù)。
2、讀取網(wǎng)絡(luò)上當(dāng)前實時流量,根據(jù)當(dāng)前實時流量和歷史流量不斷更新學(xué)習(xí)參數(shù)值;
根據(jù)當(dāng)前基準(zhǔn)流量值=(1-a)×上次基準(zhǔn)流量值+a×當(dāng)前實時流量,確定當(dāng)前基準(zhǔn)流量值;
根據(jù)閾值=中值×(樣本高值/樣本低值),確定閾值;本次計算的閥值等參數(shù),要做為下次判斷流量異常的輸入?yún)?shù);只有這樣,不斷學(xué)習(xí)更新參數(shù),本方法才具備流量適應(yīng)性。
3、判斷當(dāng)前實時流量是否在當(dāng)前基準(zhǔn)流量值±閾值的范圍內(nèi);
若在該范圍內(nèi),則表明當(dāng)前流量正常;若不在該范圍內(nèi),則表明當(dāng)前流量異常,出現(xiàn)異常就告警,并進(jìn)行學(xué)習(xí)參數(shù)更新;
4、每天0點,更新流量樣本表,寫入學(xué)習(xí)表數(shù)據(jù)。
本發(fā)明的學(xué)習(xí)率a是根據(jù)實際取樣周期,以及對于算法敏感度和穩(wěn)定度的平衡所得出。
本發(fā)明根據(jù)基準(zhǔn)流量值、閥值的計算方法,流量異常判定方法,以及不斷更新基準(zhǔn)值、閥值的方法實現(xiàn)流量異常判斷的自適應(yīng)性。
本發(fā)明同時實現(xiàn)了本次基準(zhǔn)流量的輸出值主要取決于上次基準(zhǔn)流量的輸出值,而非是上次的采樣值,可以更好地學(xué)習(xí)上次流量的規(guī)律。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
本發(fā)明中采用基準(zhǔn)流量值和閾值的基本公式保證了流量異常判定元素的多樣化,對各個屬性的量化和評估符合實際,比較合理。基準(zhǔn)流量利用了一階滯后濾波算法,可以直接通過軟件編程實現(xiàn)普通硬件rc低通濾波器的功能,同時實現(xiàn)了本次基準(zhǔn)流量的輸出值主要取決于上次基準(zhǔn)流量的輸出值,而非是上次的采樣值,這樣可以更好地繼承、學(xué)習(xí)前一段頻率內(nèi)的樣本特性。
從公式中可以看出,如果a取的越接近于1,那這個算法的靈敏度就越高,也就是最后濾波結(jié)果跟采樣值越接近;如果a越接近于0,那該算法的平穩(wěn)性就越高。該屬性使得概算反能夠在保持平穩(wěn)性的同時,對樣本流量的大幅變化保持足夠的靈敏。a為1/7=0.14則進(jìn)一步使基準(zhǔn)值在一周內(nèi)基本實現(xiàn)階梯型動態(tài)化的流量過度,有效的平衡了平穩(wěn)與靈敏。
閾值選取時充分考慮時間段內(nèi)整體數(shù)據(jù)變化范圍,使得閾值處于動態(tài)改變但能完整表示樣本數(shù)據(jù)的狀態(tài)。閾值的加入使得異常流量的臨界值得以明確,最終新的流量基準(zhǔn)值是由舊的基準(zhǔn)值+/-閾值得出,可以在明確當(dāng)前樣本值的情況下,對臨界值起到修正的作用,較為準(zhǔn)確的的算出當(dāng)前的流量是否異常。
此算法使用時,需要保證a值的選取是基于實際中,對于穩(wěn)定與靈敏的平衡做出的選擇。同時要保證基準(zhǔn)值中新舊基準(zhǔn)值計算時的取樣頻率保持一致。
以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。