◆胡曉晴 方 勇
基于上位機與西門子S7-300PLC網(wǎng)絡通信的流量建模與預測研究
◆胡曉晴 方 勇
(四川大學信息安全研究所 四川 610065)
本文針對上位機與西門子S7-300PLC之間的網(wǎng)絡通信流量提出一種流量預測模型,該模型可以有效地地預測上位機與s7-300PLC之間的通信流量。本文首先使用wireshark抓包軟件獲取1小時內上位機與西門子 s7-300 PLC之間通信鏈路中的所有數(shù)據(jù)包,將這些數(shù)據(jù)包根據(jù)上位機和PLC的ip地址過濾后,生成流量時間序列,并對其進行平穩(wěn)性分析,分析結果表明該流量時間序列具有平穩(wěn)性。又由于本文僅考慮流量時間序列中的短相關性,因此選擇時間序列預測模型ARMA對該流量進行建模。建模完成后,本文又進行了模型預測與回測實驗,實驗結果顯示絕大多數(shù)預測點的誤差被控制在1%以內,僅有極個別點誤差在10%左右,總體預測效果優(yōu)良,從而得出結束語:本文建立的ARMA模型可以有效地預測上位機與s7-300 PLC之間的通信流量。
工業(yè)控制網(wǎng)絡;流量建模;流量預測;ARMA;S7-300;PLC
與普通網(wǎng)絡相比,工業(yè)控制網(wǎng)絡具有更加穩(wěn)定的拓撲結構,各個拓撲節(jié)點的功能很少變動,因此,正常穩(wěn)定的工業(yè)控制系統(tǒng)在運行期間會保持比普通網(wǎng)絡更加穩(wěn)定的流量水平。當工業(yè)控制網(wǎng)絡流量水平在一段時間內出現(xiàn)異常,即超過或低于其合理范圍時,則很可能意味著工業(yè)控制設備遭遇了病毒的攻擊,或者是發(fā)生了故障,而這些系統(tǒng)異??赡軙绊懴到y(tǒng)設備乃至整個工業(yè)控制系統(tǒng)的正常運行。因此,對工業(yè)控制網(wǎng)絡異常流量的識別對保證工業(yè)控制系統(tǒng)安全有著重要意義,而對工業(yè)控制網(wǎng)絡正常流量的有效預測,是識別其異常流量的基礎。
工業(yè)控制網(wǎng)絡流量特性與普通網(wǎng)絡流量特性有所不同,這是由于相對普通網(wǎng)絡來說,工業(yè)控制網(wǎng)絡拓撲結構相對固定,業(yè)務類型多為周期性的,且網(wǎng)絡協(xié)議類型較為單一。不同的預測模型有不同的適用范圍,如果適用范圍和數(shù)據(jù)特性不一致,則無法準確有效地預測數(shù)據(jù)。因此,普通網(wǎng)絡流量建模常用的方法很可能并不適用于工業(yè)控制設備流量。需要單獨對工業(yè)控制設備流量進行分析和建模。
進行流量預測的常用時間序列模型大致分為平穩(wěn)模型和非平穩(wěn)模型兩類,平穩(wěn)模型主要包括AR模型,ARMA模型,F(xiàn)ARIMA模型,非平穩(wěn)模型則主要為ARIMA模型。本文通過對樣本流量時間序列穩(wěn)定性和自相似性等特性的分析,使用ARMA模型實現(xiàn)流量的建模和預測。
目前,很少有真實場景中對工業(yè)控制網(wǎng)絡流量的有針對性的研究,一部分研究僅采用仿真分析方式,仿真分析得出的結束語常常與現(xiàn)實存在較大的差異;另一些研究則是對某個特定而又復雜的工業(yè)控制系統(tǒng)的總流量進行分析,這種方式得出的結束語往往僅適用于其研究的單個系統(tǒng),缺乏普適性。本文在真實場景中僅采集上位機與s7-300之間的網(wǎng)絡流量,對其進行數(shù)據(jù)特性分析、建模假設、建立模型和模型檢驗,所得模型即真實性強,又適用范圍廣。
本文將真實工業(yè)控制系統(tǒng)作為流量采集平臺。該系統(tǒng)由三臺上位機,一臺西門子s7-300PLC,兩臺西門子S7-200PLC,一臺工業(yè)以太網(wǎng)交換機,一臺額定電壓24V、額定功率200W的發(fā)電機模型和工業(yè)以太網(wǎng)等設備構成,拓撲圖如圖1所示。其中,操作員站與S7-300PLC通過運行于TCP/IP上的s7協(xié)議實現(xiàn)網(wǎng)絡通信,操作員站通過對s7-300發(fā)送命令來監(jiān)控發(fā)電機模型的開關與轉速。

圖1 實驗平臺拓撲圖
本文在操作員站上使用wireshark軟件獲取途徑流量。wireshark是一款功能齊全的抓包軟件,它可以獲取途徑抓包鏈路的所有數(shù)據(jù)包的到達時間、包長、源IP、目的IP、協(xié)議等信息,并能通過設定過濾器將需要的數(shù)據(jù)包過濾出來,還可以將這些過濾出來的數(shù)據(jù)包導出。另外,wireshark不會產(chǎn)生網(wǎng)絡流量,也就不會對鏈路中原有流量的特性造成影響。抓包過程中,操作員站與s7-300PLC進行通信,監(jiān)測發(fā)電機的轉速,發(fā)電機的轉速保持1500轉每分鐘,抓包過程持續(xù)1小時。抓包完成后,使用wireshark過濾器功能過濾出操作員站與s7-300 PLC之間的通信流量并導出。導出流量的10s尺度的時間序列圖如圖2所示。

圖2 導出流量時間序列圖
圖2中每個序列值代表某個10s內上位機與s7-300PLC之間通信流量的字節(jié)數(shù),單位為Bytes/10s,橫坐標為時間,單位為10s。從直觀來看,該流量數(shù)據(jù)集共有372個樣本點,在10秒尺度上具有明顯的周期性,且均值、方差沒有明顯隨時間變化的趨勢,后兩點說明流量時間序列在10s尺度上可能是平穩(wěn)的。下面對流量時間序列在10s尺度上的平穩(wěn)性做進一步分析。
為準確選取流量模型,本文進一步對樣本流量時間序列進行平穩(wěn)性檢驗。流量的平穩(wěn)性是指,流量時間序列的均值和方差在時間過程上保持常數(shù),并且在任何兩時期之間的協(xié)方差的值僅依賴于該兩時期間的距離或滯后,而不依賴于計算這個協(xié)方差的實際時間。簡言之,如果一段流量是平穩(wěn)的,就不管在什么時刻測量,它的均值、方差和各種滯后的協(xié)方差都保持不變。[1]最常用的平穩(wěn)性檢驗方法是圖示分析法和相關圖檢驗法,而最準確的平穩(wěn)性檢驗方法是單位根檢驗法。本文在上一章已經(jīng)通過觀察流量時間序列圖初步判斷出該流量可能具有平穩(wěn)性,下面依次使用相關圖檢驗法和單位根檢驗法中的ADF檢驗對流量平穩(wěn)性進行分析。
考慮到可能存在的異方差現(xiàn)象,以及單位數(shù)量級過高等問題,本文對樣本流量時間序列進行了取自然對數(shù)處理。本文使用EVIEWS數(shù)據(jù)分析軟件,將流量序列Y處理為LN(Y)。利用EVIEWS對上述時間序列的前186個樣本點做自相關圖以獲取自相關系數(shù)與偏自相關系數(shù),結果如下圖3所示。

圖3 樣本流量時間序列自相關圖
根據(jù)圖3可以發(fā)現(xiàn),流量時間序列的自相關系數(shù)在之后10階處非常顯著,數(shù)值很大,而偏自相關系數(shù)則存在一定的拖尾特性,但在10階后也降低至0附近,因此序列存在著至多10階的相關性,很可能具有平穩(wěn)性。
為進一步驗證樣本流量時間序列的平穩(wěn)性,本文引入時間序列平穩(wěn)性的常用檢測方法——單位根檢驗。平穩(wěn)性檢驗以DF檢驗和ADF檢驗最為常見,本文采用ADF檢驗,檢驗結果如下表1所示。

表1 樣本流量時間序列ADF檢驗結果
LNY序列ADF檢驗的統(tǒng)計量值是-9.610895,故能在1%的顯著水平下拒絕原假設,即可以認為該序列不存在單位根,是平穩(wěn)的序列。
3.1 模型選擇
經(jīng)上一章檢驗,本文流量時間序列是平穩(wěn)序列,平穩(wěn)時間序列模型主要包括AR模型、ARMA模型、FARIMA模型,由于ARMA模型本質上是AR模型和MA模型的結合,已經(jīng)包括了AR模型,而FARIMA模型主要用于長相關性時間序列的預測,不屬于本文研究范圍,因此采用ARMA模型對流量時間序列進行建模和預測。
3.2 參數(shù)估計
由圖3可以發(fā)現(xiàn),序列的自相關系數(shù)在滯后10階時非常顯著,而偏自相關系數(shù)卻存在著較長的拖尾分布特征。所以,本文初步選用ARMA(10,0)模型進行擬合估計,下面利用EVIEWS對樣本流量時間序列建立自回歸模型,參數(shù)結果如下表2所示。

表2 ARMA(10,0)模型參數(shù)估計
由表2可知,在此解釋變量和參數(shù)下,模型的AR(10)對應的相伴概率為0.0000,非常顯著,是有效解釋變量。此時,殘差相關圖如下圖4所示:

圖4 ARMA(10,0)殘差相關圖
顯然,在滯后1階處仍然存在較高程度的相關程度,因此,將AR(1)加入ARMA模型,得到流量時間序列對ARMA((1,10),0)模型的回歸結果如下表3所示:

表3 ARMA((1,10),0)模型參數(shù)估計
從表3中可知,AR(1)作為解釋變量,其自身的相伴概率為0,非常顯著,且其加入并未改變AR(10)的顯著性,因此AR(1)為有效解釋變量。加入AR(1)后的殘差相關圖如下圖5所示:

圖5 ARMA((1,10),0)殘差相關圖
模型的殘差平方相關圖顯示,在滯后1階情況下,模型的自相關系數(shù)和偏自相關系數(shù)仍大于0.1,且偏相關系數(shù)的拖尾特性仍然存在,為了對這種情況進行修正,在模型中加入MA(1)項進行優(yōu)化估計。在加入項MA(1)的情況下,可以得到估計結果如下表4所示:

表4 ARMA((1,10),1)模型參數(shù)估計
MA(1)的相伴概率是0.0000,非常顯著,但其對AR(10)項的顯著性有一定影響。下面做出含有MA(1)的殘差相關圖,如圖6,做進一步分析。

圖6 ARMA((1,10),1)殘差相關圖
如圖6所示,滯后1階的相關系數(shù)已經(jīng)被消除,殘差相關圖呈現(xiàn)出白噪聲序列,數(shù)據(jù)的相關信息已經(jīng)被模型充分提取,該模型實現(xiàn)了比較理想的估計。但考慮到原模型在加入MA(1)后的AR(10)不顯著,故剔除AR(10)項再次進行估計,得到ARMA(1,1)的參數(shù)估計結果如下表5所示:

表5 ARMA(1,1)模型參數(shù)估計
如表5所示,消除解釋變量AR(10)后,解釋變量MA(1)的相伴概率為0.99,完全不顯著。上述ARIMA(1,1)模型對應的殘差相關圖如圖7所示:

圖7 ARMA(1,1)殘差相關圖
由圖7可知,雖然在滯后1階處的相關系數(shù)被消除了,但之后10階等多處出現(xiàn)非常高的相關效應,說明該模型不理想。
根據(jù)各殘差圖的結果可知,ARIMA((1,10),0,1)實現(xiàn)了最理想的估計,最終殘差相關圖呈現(xiàn)為白噪聲序列,數(shù)據(jù)的相關信息已經(jīng)被模型充分提取。盡管在該模型中有個別解釋變量不顯著,但ARIMA模型是整體預測性的模型,一般從整體考慮模型有效性,而非個體變量的顯著性。
3.3 模型定階
為更準確地確定最優(yōu)模型,本文下面將再運用最小信息準則法——即AIC/SC信息準則法再次對模型進行判別,實現(xiàn)最終的模型定階。在3.2節(jié)中,隨著結果的逐步優(yōu)化已經(jīng)建立起了較多的模型。為了進一步識別各個模型的優(yōu)劣特性,下面運用AIC/SC信息準則發(fā)對上述模型進行綜合判斷,整理如表6所示:

表6 各模型AIC與SC值
根據(jù)AIC/SC信息最小原則,因為模型ARMA((1,10),1)的AIC和SC值同時為最小值,所以選定ARMA((1,10),1)作為最優(yōu)的擬合模型。
本文使用EVIEWS根據(jù)上述討論出的ARMA((1,10),1)模型對樣本流量時間序列的自然對數(shù)序列LN(Y)做出回測和預測,再通過自然數(shù)e的冪乘方運算轉化為原始數(shù)值,得到回測和預測序列YF。其中,模型對樣本流量時間序列的前186個點進行回測,對后186個點進行預測。下圖8中給出了預測/回測值和實際值的對比圖,縱坐標單位為Bytes/10s,橫坐標單位為10s。

圖8 預測/回測序列與原始序列對比圖
由圖8可以看出,本文建立的ARMA((1,10),1)模型對絕大多數(shù)流量時間序列點做出了較為準確的預測或回測。為了更具體的分析預測結果,下面在表7中統(tǒng)計了預測/回測誤差比。其中,第一列為不同的誤差比范圍,誤差比是真實值Y和預測值YF的差值與預測值YF的比值乘100%;第二列是對應誤差比范圍內的序列點數(shù)占全部序列點數(shù)的百分比。

表7 模型預測/回測誤差比統(tǒng)計表
由誤差比統(tǒng)計表可以得到,89.23%的點位誤差控制在1%以內,98.33%的點位誤差控制在2%以內,有個別點誤差在8%左右,但數(shù)量極少,總體預測效果優(yōu)良。
本文以上位機與西門子s7-300 PLC之間的網(wǎng)絡通信流量為研究對象,使用wireshark對流量抓包、過濾后,導出10s尺度的流量時間序列,使用時間序列預測模型ARMA利用統(tǒng)計學知識對流量時間序列進行建模,通過調整參數(shù)、解釋變量和最優(yōu)模型判別,得到最優(yōu)ARMA模型ARMA((1,10),1),最后應用該模型對樣本流量時間序列進行了預測和回測實驗,實驗結果表明ARMA((1,10),1)模型對上位機與西門子S7-300 PLC之間通信流量的預測效果優(yōu)良。
[1]Damodar N.Gujarati.計量經(jīng)濟學基礎(第5版)[M].北京:中國人民大學出版社,2011.
[2]王麗賢.時間序列預測技術研究[D].天津理工大學,2011.
[3]劉亮,江漢紅,王潔,芮萬智.工業(yè)以太網(wǎng)網(wǎng)絡流量的特性分析與建模研究[J].微電子學與計算機,2015.
[4]吳美美.網(wǎng)絡流量特性分析及預測研究[D].天津大學,2008.
[5]高春梅.基于工業(yè)控制網(wǎng)絡的流量異常檢測[D].北京工業(yè)大學,2014.
[6]賴英旭,焦嬌.基于時間序列分析的工業(yè)控制以太網(wǎng)流量異常檢測[J].北京工業(yè)大學學報,2015.
[7]黃勇.面向ICS的異常檢測系統(tǒng)研究[D].重慶理工大學,2014.