楊 陽 朱浩然 任鵬飛
1(中國銀聯電子支付研究院 上海 201201)2(電子商務與電子支付國家工程實驗室 上海 201201)3(恒安嘉新(北京)科技股份公司 北京 100089)
隨著互聯網技術的成熟和應用業務的飛速發展,網絡用戶數目逐漸增多,網絡結構日趨復雜,業務場景的不斷變化,給網絡管理和異常檢測都帶來了很大的難度.如,我們發現在生產網絡中有一些異常流量突發的狀況,經分析,引起網絡流量異常的原因主要有2類:分別是惡意攻擊和瞬時的大量訪問.其中惡意攻擊即包括DDoS攻擊和端口掃描等,還包括爬蟲等業務程序對服務器的訪問;瞬時的大量訪問主要是業務活動時間節點、法定節假日等時間節點,突增的正常用戶訪問.惡意攻擊行為會導致網絡擁擠和過載,破壞網絡正常訪問.這些惡意攻擊行為有很大一部分是模擬真實訪問生成的,根據傳統的異常特征檢測難以發現.為了更好地檢測流量中的惡意攻擊行為,我們需要對網絡流量數據進行分析和預測.
流量異常檢測的基本思想是首先對正常數據源進行描述和分析,并構建流量預測模型,同時針對流量異常狀況制定流量基線,然后根據實際流量偏離正?;€的情況作出預警.因此對于網絡流量異常檢測而言流量的準確預測非常重要,直接決定了網絡異常檢測的可靠性.常用的流量預測模型方法主要有時間序列分析、小波分析、神經網絡等手段.
網絡流量數據是一類隨時間變化的數據,我們可以考慮用時間序列分析的方法對網絡流量數據進行分析建模,并對網絡流量異常進行監測和預警,具體模型包括AR模型、ARMA模型、GARCH模型等.
小波分析是一種時頻分析方法,具有多維分辨率分析的優勢,在時域和頻域都有很好的表征信號局部特性的能力.小波分析在低頻部分存在較低的時間分辨率和較高的頻率分辨率,在高頻部分存在較高的時間分辨率和較低的頻率分辨率,對正常信號中含有瞬時反常態現象可以進行很好的擬合.通過小波變換的異常流量監測技術就是根據小波變換的多尺度特性,將流量分解到多個不同的頻域下并進行重構,通過頻譜能量的不同發現網絡流量的異常,從而更好地發現網絡流量中的異常行為.
基于神經網絡的網絡流量異常監測技術,根據神經網絡自適應學習的能力來提取網絡流量中異常行為的特征,將訓練數據分為正常數據和異常數據,通過神經網絡方法對數據集進行訓練,得到網絡流量正常和異常的行為模式,通過訓練好的神經網絡就可以對網絡流量數據進行分類識別為正常和異常.
網絡異常檢測是根據正常行為和入侵行為的不同來進行判斷,而無論以何種方式進行入侵,都會伴隨著網絡端口流量的異常變化.通過與正常流量的相異度即可判斷某流量是否為異常流量,進而可以判斷是否為入侵行為.
針對異常流量檢測,目前研究人員已經提出了諸多的檢測方法,大致包括:1)基于閾值的異常檢測.基于閾值的檢測方法在網絡管理中被廣泛使用.該方法的主要思想是針對某一流量參數,給定一個最大閾值和一個最小閾值,如果觀測到的參數值超出了閾值范圍,則判定為異常流量.根據閾值的設定方法又分為恒定閾值檢測和自適應閾值檢測.恒定閾值檢測是由Maxion等人[1]提出,針對網絡流量的一些參數,如網絡利用率和數據包大小等給出正常流量參數閾值,然后進行檢測.這種方法的優點是簡單易用;但是需要豐富的技術經驗.李中魁等人[2]針對靜態閾值方法存在的問題,提出一種多點檢測異常統計量為基礎的自適應閾值算法,該方法按照一定時間間隔對網絡流量進行采樣,動態地調整參數判定的閾值.這種方法可以利用現有成熟的統計理論,且可使用的流量種類多;但是這種方法閾值的邊界難以確定,同時對流量發生的次序以及內在的聯系不敏感,容易遭到破解[2].2)基于數據挖掘的異常檢測.基于數據挖掘的檢測方法則借助數據挖掘在特征提取上的優勢,對網絡流量進行處理,進而得到流量模型以用于異常流量檢測.目前常用的算法包括分類、關聯規則挖掘以及時間序列分析等.3)基于統計模型的異常檢測.基于統計模型的檢測方法是從正常的流量數據中分析各種參數,并假設其滿足某種概率分布,然后進行異常流量檢測.Ward等人[3]提出,若時間足夠長,流量序列中各參數過程服從正態分布,再調整觀測值界限之后即可對未知流量進行檢測.這類模型能夠自適應地對用戶行為進行建模,并獲得較高的準確率;然而如果需要精確刻畫用戶現實中復雜的情況,則模型會非常復雜.4)基于自相似特征的異常檢測.自相似性是指特征周期性地表現出相似性.Leland等人[4]首次提出互聯網流量在統計上是自相似的.在此基礎上,Cheng等人[5]結合小波分析與HHT的方法,設計了一種自相似參數估計算法.
自回歸滑動平均模型(ARMA)是研究時間序列的主要方法,是由自回歸模型(AR)和滑動平均模型(MA)混合而成.但自回歸滑動平均模型假設殘差服從同方差的假設,對于像網絡流量這類波動性隨時間變動的數據使用ARMA模型難以捕獲方差變動的信息.而在對波動性建模中,廣義自回歸條件異方差模型(GARCH)對時間序列中出現的波動性變動與爆發的特性具有較好的擬合能力,得到極大發展.ARMA(p,q)模型的一般形式為

(1)
其中,εt為時刻t的殘差,且εt~N(0,σ2),c為常數,p,q為ARMA模型的階數,ai,bj為待估計的自回歸參數和滑動平均參數[6].ARMA模型是最常用的時間序列模型之一,在逼近許多平穩過程時表現出很強的適用性,同時對于數據的時間趨勢和周期特征可以對數據進行差分,使其轉化為平穩的時間序列數據.ARMA模型適合波動性小的非平穩時間序列,很難捕獲外生變量對數據的影響.
某一時刻殘差服從正態分布,此正態分布的均值為0,方差是一個隨時間變化的量時稱為條件異方差.并且這個隨時間變化的方差是該時間點過去有限項噪聲值平方的線性組合時,稱為自回歸條件異方差模型(ARCH),Bollerslev對ARCH模型的改進而引進了廣義自回歸條件異方差模型(GARCH),GARCH(p,q)模型的結構如下:
(2)
小波分析是一種信號與信息處理的工具,是除傅里葉分析之外又一種時頻分析方法.小波分析具有多分辨特性和時域局部化特征,因此既可以對時域分析又可以對頻域分析,對處理非平穩信號有很強的適用性.設函數Ψ為一平方可積函數,Ψ∈L2(R),如果傅里葉變換滿足條件:
(3)
則稱Ψ是一個基小波.設f∈L2(R),稱
(4)
(5)
式(5)中,dj,k=〈f(t),φj,k(t)〉稱為小波展開系數,CJ,k=〈f(t),φJ,k(t)〉稱為尺度展開系數[8].
網絡流量數據可以看作是一個時間序列數據,可以根據時間序列分析的方法對流量數據進行檢測分析.
首先對網絡流量數據進行時間序列的平穩性檢驗,并根據結果決定是否進行差分.由于虛假回歸問題,在我們進行動態回歸模型的擬合時,必須先對序列的平穩性進行檢驗,只有當序列通過平穩性檢驗時才能使用時間序列分析模型.檢驗的方法主要有DF檢驗、ADF檢驗、PP檢驗、協整檢驗等[9].對銀聯網絡流量數據主要采用ADF檢驗的方法,ADF檢驗(augmented Dickey-Fuller)常用于對序列的自回歸過程進行平穩性檢驗,對一個自回歸過程:
xt=φ1xt -1+…+φpxt -p+εt,
(6)
其特征方程為
λp-φ1λp-1-…-φp=0.
(7)
若特征方程的根都在單位圓內,即
|λi|<1,i=1,2,…,p,
(8)
則說明序列平穩.若有單位根存在則序列非平穩,且可以推得自回歸系數之和為1,因此通過自回歸系數之后是否為1可以判斷序列的平穩性.因此我們得到:
xt-xt -1=φ1xt -1+…+φpxt -p-xt -1+εt=
(φ2+…+φp)xt -1+φ1xt -1-xt -1-
(φ2+…+φp)xt -1+φ2xt -2+
(φ3+…+φp)xt -2-(φ3+…+φp)xt -2+
φ3xt -3+(φ4+…+φp)xt -3+…-
φpxt -p+1+φpxt -p+εt.
(9)
整理得:

(10)
其中:
ρ=φ1+φ2+…+φp-1,
(11)
βj=-φj+1-φj+2-…-φp,j=1,2,…,p-1.
(12)
如果序列平穩,則ρ<0,若不平穩,則ρ=0.則單位根檢驗的假設條件為
H0:ρ=0(序列非平穩)?H1:ρ<0(序列平穩).
構造統計量:
(13)

其次根據網絡流量波動性大的特征,我們采用小波變換分解與重構的方法將網絡流量分為低頻項和高頻項,并對各個子序列建立ARMA模型,確定模型的參數.

之后針對低頻項和高頻項進行ARCH效應檢驗,根據檢驗結果考慮是否建立ARMA-GARCH模型,具體為若不存在ARCH效應,則保留已建立的ARMA模型,若存在ARCH效應,則建立ARMA-GARCH模型.
對ARCH效應進行檢驗是一種特殊的條件異方差檢驗,其在要求序列具有異方差性的同時,需要異方差性是由某種自相關關系造成的,這種自相關關系可以由殘差序列的自回歸模型擬合得到.常用的ARCH效應檢驗的方法有PortmanteauQ檢驗、LM檢驗等[11].PortmanteauQ檢驗的假設為
H0:殘差平方序列完全隨機(方差齊性)?H1:殘差平方序列自相關(方差非齊).

H0:ρ1=ρ2=…=ρq=0?H1:ρ1,ρ2,…,ρq不全為0.
對PortmanteauQ檢驗統計量的構造為
(14)
其中,n為序列長度,ρi為殘差序列延遲i階自相關系數:
(15)
最后考慮特定的業務情況.針對網絡流量業務上合理的激增時間點,加入激增項.最終將各個序列建立的模型進行線性疊加得到網絡流量預測模型,對未來的流量數據進行預測,并根據制定的檢測基線對網絡流量異常進行檢測并予以預警.
選取2016-7—2017-10的銀聯網絡流量數據作為數據源,以2016-7—2017-6數據作為模型構建,以2017-7—2017-10數據作為測試驗證.

圖1 自相關圖
1) 首先對數據進行ADF單位根檢驗,檢驗數據的平穩性,檢驗結果接受原假設,需要對數據進行差分,二階差分后時間序列數據平穩.
2) 對網絡流量時間序列數據通過小波分析進行分解與重構,得到低頻序列和高頻序列[13].在對最優小波基和分解尺度的選擇上,采用時頻緊支集和高正則性的Daubechies小波基函數[14],確定尺度為3的分解并對單支進行重構,得到3個序列,包括1個低頻序列和2個高頻序列,低頻序列定義為L1,表示網絡流量的趨勢項,高頻序列定義為H1,H2,表示網絡流量的周期性和隨機性.
3) 確定自相關和偏相關系數.以高頻序列H1為例,由于自相關系數和偏相關系數具有拖尾效應,考慮使用自回歸移動平均過程ARMA模型.如圖1及圖2,回歸系數逐漸減小至0附近,為拖尾.根據ARMA(p,q)中參數的顯著性、極大似然估計、AIC準則、SC準則、殘差的白噪聲情況確定參數p=4,q=1.如圖1及圖2,自相關圖為4階拖尾,偏自相關圖為1階拖尾.

圖2 偏相關圖
yt=3.128yt -1-2.949yt -2-0.0193yt -3+
1.365yt -4+εt-2.479εt -1,
(16)
其中εt為殘差序列.之后對模型的顯著性和適應性進行檢驗,得到AIC為-0.3921,SC為-0.3102,表明數據是適應的.
4) ARCH效應檢驗.對序列ARCH效應檢驗的方法是拉格朗日乘子法檢驗.如果序列存在低階ARCH效應,則考慮構建ARCH模型,如果序列存在高階ARCH效應,則考慮構建GARCH模型.對序列的殘差進行ARCH-LM檢驗,檢驗結果如表1所示.ARMA(4,1)的殘差LM值為43.7973,相伴概率為0,小于顯著性水平,拒絕原假設ARCH效應是顯著的.對H1序列進行ARMA(4,1)-GARCH(1,1)建模.

表1 殘差的ARCH-LM檢驗結果
5) 引入激增項B(t).根據銀聯網絡流量過往1年的歷史數據,發現在“活動日”的流量有明顯的激增現象,比如銀聯“62活動日”、“重陽活動日”以及“十一”黃金周和春節等.這類由于特定業務引起的流量激增現象無法通過時間序列模型擬合獲取,但可以通過對過往歷史數據的分析和業務場景的需要進行擬合,為了最終預測模型的準確性,我們通過在模型中引入激增項對該類突發的正常流量進行捕獲.
6) 模型的建立.由于殘差序列存在ARCH效應,采用GARCH進行建模,對模型參數進行擬合得到的結果如表2所示:

表2 ARMA-ARCH模型參數擬合結果[15]
由表2可知,所有參數的概率均小于0.05,說明GARCH模型的參數擬合是顯著的.最終得到H1序列的ARMA(4,1)-GARCH(1,1)模型為
(17)
其中,εt為殘差,et是獨立同分布的標準正態分布隨機變量,ht為殘差的條件方差.
同理可以得到L1和H2序列的ARMA-GARCH模型.
對L1序列建立ARMA(2,3)-GARCH(1,1)模型,得到結果如下:

(18)
對H2序列建立ARMA(4,3)-ARCH(1)模型,得到結果如下:

(19)
因此,網絡流量模型為所有子序列模型的線性組合,具體公式如下:
Y(t)=L1(t)+H1(t)+H2(t)+B(t).
(20)
根據網絡流量模型預測的網絡流量和實際的流量序列圖如圖3、圖4所示:

圖3 實際流量時間序列

圖4 流量模型預測序列
為了更好地說明通過小波的分解與重構提高了GARCH模型的準確性,我們選取了網絡流量預測研究成果中比較新并且結果較好的方法來進行對比,再此額外構建了不含有ARCH效應的時間序列模型、沒有通過小波分析分解與重構的ARMA-GARCH時間序列模型、結合小波分析與HHT的自相似特征預測模型.這幾種模型的對比結果如表3所示:

表3 不同預測模型結果比較 %
從結果可以看出,本文構建的網絡流量模型對數據的預測更優,估計的誤差值更小,更能反映原始數據的波動情況,在此基礎上對網絡異常流量制定的基線閾值也更加準確.
本文采用小波分析和時間序列分析對2016-7—2017-10的銀聯部分網絡流量數據進行分析與預測.首先對原始數據進行分解與重構,得到低頻項和高頻項,之后根據具體業務場景引入激增項,再將所有低頻項和高頻項依據各自特征用帶有ARCH效應的時間序列模型進行建模,最終將各項進行組合,得到網絡流量預測模型.通過與傳統模型和實際數據進行對比,發現模型是有效并且準確的,為根據預測模型建立流量基線閾值提供了良好基礎.
[1]Maxion R A, Feather F E. A case study of ethernet anomalies in a distributed computing environment. Reliability[J]. IEEE Trans on Reliability, 1990, 39(4), 433-443
[2]李中魁. 基于動態閾值的網絡流量異常檢測方法研究與實現[D]. 成都: 電子科技大學, 2010
[3]Ward A, Glynn P, Richardson K. Internet service performance failure detection[J]. Performance Evaluation Review, 1998, 26(3): 38-44
[4]Leland W E, Taqqu M S, Willinger W, et al. On the self-similar nature of Ethernet traffic[C] //Proc of ACM SIGCOMM Computer Communication Review. New York: ACM, 1993: 183-193
[5]Cheng X, Xie K, Wang D. Network traffic anomaly detection based on self-similarity using HHT and wavelet transform[C] //Proc of the 5th IEEE Int Conf on Information Assurance and Security (IAS’09). Piscataway, NJ: IEEE, 2009: 710-713
[6]王沁. 時間序列分析及其應用[M]. 成都: 西南交通大學出版社, 2008
[7]崔錦泰, 程正興. 小波分析導論[M]. 西安: 西安交通大學出版社, 1995
[8]向杰, 程昌明, 張軼. 小波分析在時間序列中的分析應用[J]. 節水灌溉, 2013 (12): 15-17
[9]王振龍, 胡永宏. 應用時間序列分析[M]. 北京: 科學出版社, 2007
[10]潘貴豪, 胡乃聯, 劉煥中, 等. 基于ARMA-GARCH模型的黃金價格實證分析[J]. 黃金, 2010, 31(1): 5-8
[11]肖云湘, 李星野. 基于小波的回歸-GARCH模型及其在外匯儲備中的應用[J]. 上海理工大學學報, 2015 (1): 18-22
[12]吳淑萍, 樊穎, 楊贊. 利率政策對房價的“非對稱性”影響路徑——基于小波分析和GARCH模型的研究[J]. 上海金融, 2017 (2): 3-10
[13]余健, 郭平. 基于改進小波神經網絡的網絡流量預測研究[J]. 計算機應用, 2007, 27(12): 2986-2988
[14]Aurea Gran, Helena Veiga. Wavelet-based detection of outliers in financial timeseries[J]. Computational Statistics and Data Analysis, 2010, 54(11): 2580-2593
[15]張永山. 基于小波多分辨率GARCH模型的匯率去噪預測[J]. 統計與決策, 2017 (12): 161-164