楊章勇,李 歡
(陜西理工大學(xué)電氣工程學(xué)院,陜西 漢中 723001)
在生產(chǎn)和運營的過程中企業(yè)核心系統(tǒng)通常為工業(yè)控制,該系統(tǒng)存在多個子系統(tǒng),包括安全儀表系統(tǒng)和遠程測控單元等,被廣泛地應(yīng)用在各種國計民生等領(lǐng)域中,包括制造業(yè)、電力水利、航天航空、能源交通等[1]。工控系統(tǒng)在企業(yè)運營和生產(chǎn)過程中的主要任務(wù)是監(jiān)測并控制設(shè)備的運行狀態(tài),并將數(shù)據(jù)與信號在一定范圍內(nèi)的處理與傳輸連接起來,實現(xiàn)數(shù)據(jù)與資源的遠程控制與共享。在工業(yè)生產(chǎn)的過程中以太網(wǎng)Powerlink協(xié)議促進生產(chǎn)效率的同時,也帶來了一些風(fēng)險,因此需要檢測以太網(wǎng)Powerlink協(xié)議通信中存在的異常行為[2]。
因此,為檢測以太網(wǎng)Powerlink協(xié)議通信中存在的異常行為,當(dāng)前也出現(xiàn)了一些較好的研究成果。例如:文獻[3]方法通過比較判別法對通信網(wǎng)絡(luò)中存在的信號進行判別,提取異常通信信號的特征,并構(gòu)建特征集合,根據(jù)集合中存在的異常特征實現(xiàn)通信異常檢測。但是,該方法無法獲取通信流量在網(wǎng)絡(luò)中的通信特點,導(dǎo)致異常檢測結(jié)果的誤差較大。文獻[4]方法對通信信號的屬性進行分類,并根據(jù)通信信號的特征密度選取鄰域區(qū)間的半徑,循環(huán)聚類處理高階統(tǒng)計量的通信信號,獲取通信信號的特征,并在信號屬性概率的基礎(chǔ)上獲取熵目標(biāo)函數(shù)的最優(yōu)值,實現(xiàn)通信異常檢測。但是,該方法無法在不同條件下獲取通信信號的特征,方法存在適應(yīng)度低的問題。文獻[5]方法采用卷積神經(jīng)網(wǎng)絡(luò)利用知識遷移思想獲取通信信號的特征,并對其進行歸一化處理,完成通信異常檢測。但是,該方法無法根據(jù)獲取的特征對不同通信路徑中的信號進行檢測,存在檢測覆蓋率低的問題。
為了解決上述方法中存在的問題,提出工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法。分析通信信號的傳輸特性,提取工業(yè)以太網(wǎng)Powerlink協(xié)議通信特征,構(gòu)建異常檢測模型,實現(xiàn)工業(yè)以太網(wǎng)Powerlink協(xié)議通信的周期約束異常檢測。通過實驗驗證了所提方法具有理想的應(yīng)用效果。
利用PCA算法構(gòu)建工業(yè)以太網(wǎng)Powerlink協(xié)議通信的流量模型。
設(shè)C=E[(X-E(X))(X-E(X))T]代表通信數(shù)據(jù)源向量Xi∈Rp(i=1,…,T)對應(yīng)的協(xié)方差矩陣,通過下式分解協(xié)方差矩陣:
(1)
式中,μ代表通信數(shù)據(jù)源向量Xi對應(yīng)的均值向量;T代表轉(zhuǎn)置矩陣;特征向量矩陣U是通過若干個特征向量ui組建而成的;Λ代表特征值為λi的對角線元素構(gòu)成的特征值矩陣。
所提方法通過特征值方差累計貢獻率G(k)確定通信數(shù)據(jù)中存在的主成分?jǐn)?shù)量:
(2)
前k個主成分信息構(gòu)成的綜合信息X中存在的能量隨著貢獻率G(k)的增加而增大[8]。
設(shè)ai代表投影向量,可通過在正常子空間S中對通信數(shù)據(jù)源向量Xi進行映射處理獲得,其表達式如下:
(3)
其中,特征向量Uk由k個最大的特征值構(gòu)成。
根據(jù)計算得到的投影向量,構(gòu)建工業(yè)以太網(wǎng)Powerlink協(xié)議通信流量模型i:
i=Ukai+μ
(4)
工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法采用卡方檢測方法獲取通信信號的特征,具體過程如下:
(5)
式中,xij代表第i類通信數(shù)據(jù)對應(yīng)的第j個屬性值。
2)設(shè)CSj代表通信數(shù)據(jù)屬性對應(yīng)的卡方值,可通過屬性平均值計算得到:
(6)
3)工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法通過下式對屬性平均值進行歸一化處理,獲得通信數(shù)據(jù)屬性的影響權(quán)值因子effi:
(7)
式中,m代表通信數(shù)據(jù)的屬性總數(shù)。
4)設(shè)Exj代表通信數(shù)據(jù)屬性對應(yīng)的期望,其計算公式如下:
(8)
5)工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法通過逆向云算法獲取屬性云在正常通信數(shù)據(jù)模型中的熵Enj:
(9)
設(shè)Hej代表通信數(shù)據(jù)屬性云對應(yīng)的超熵,將其作為工業(yè)以太網(wǎng)Powerlink協(xié)議通信數(shù)據(jù)的特征[9]:
(10)
工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法結(jié)合PSO算法和SVM算法構(gòu)建通信周期約束異常檢測模型,檢測流程如圖1所示。
圖1 異常檢測流程
PSO算法中的粒子均為潛在最優(yōu)解,通過適應(yīng)度、粒子速度和粒子對應(yīng)的位置描述其對應(yīng)的特征,在解空間中通過更新速度、個體極值、位置和群體極值等特征實現(xiàn)粒子的更新[10]。個體極值和群體極值分別代表所有個體和所有粒子位置中適應(yīng)度最優(yōu)值對應(yīng)的位置。
通過下述公式對粒子的位置和速度進行更新:
(11)
式中,上角標(biāo)k+1和k代表本輪迭代和上輪迭代對應(yīng)的屬性;X代表粒子對應(yīng)的位置;V代表粒子對應(yīng)的速度;P、G分別代表個體和群體極值;c1、c2代表慣性因子;r1、r2代表加速度因子。
工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測的流程如下:
1)設(shè)置PSO算法的最大迭代次數(shù)kmax;
2)初始化種群在算法中的位置X=(X1,X2,…,XN),其中Xi=(xic,xiσ)代表由徑向基函數(shù)σ和懲罰因子C構(gòu)成的第i個粒子。隨機設(shè)置粒子在種群中的速度Vi=(Vic,Viσ),設(shè)定[Xcmin,Xcmin]、[Xσmin,Xσmin]為位置的取值范圍[11]。
3)通過分量xic和xiσ計算粒子對應(yīng)的粒子適應(yīng)度值F(Xi);
5)設(shè)置迭代條件,如果連續(xù)五十次獲取的適應(yīng)度值的變化低于0.01%或超過迭代次數(shù),結(jié)束迭代,獲得最佳參數(shù),即群體極值G。
6)結(jié)束更新后對位置是否在區(qū)域[Xcmin,Xcmin]、[Xσmin,Xσmin]內(nèi),當(dāng)分量超出上述區(qū)域時,需要對其進行調(diào)整。如果xic
工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法構(gòu)建通信周期約束異常檢測模型的流程如下:
1)接收上述構(gòu)成獲得的徑向基核函數(shù)參數(shù)σ和懲罰因子C。
2)用標(biāo)簽表示通信數(shù)據(jù)樣本類別,將正常功能碼序列樣本和異常功能碼序列樣本對應(yīng)的標(biāo)簽值分別設(shè)定為1和-1[12]。
3)在上述過程的基礎(chǔ)上建立支持向量機模型,表達式如下:
(12)
式中,K(xi,xj)代表高斯核函數(shù);αi、αj代表Largrange因子。
4)將提取的工業(yè)以太網(wǎng)Powerlink協(xié)議通信特征輸入上述構(gòu)建的決策函數(shù)中,實現(xiàn)周期約束異常檢測。
為驗證工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法的整體有效性,結(jié)合模擬異常數(shù)據(jù)和真實流量數(shù)據(jù)獲得模擬流量數(shù)據(jù),對工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法進行測試。背景流量選取某校園網(wǎng)的IP分組流量數(shù)據(jù),設(shè)置1min作為統(tǒng)計時間的間隔。表1為工業(yè)以太網(wǎng)Powerlink協(xié)議通信過程中存在的幾種異常狀況。
表1 異常列表
分別采用工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法、文獻[3]方法和文獻[4]方法對上述通信網(wǎng)絡(luò)時間序列進行檢測,對比不同方法檢測結(jié)果的均方根誤差、絕對誤差。
分析表2中的數(shù)據(jù)可知,采用上述方法對不同類型的異常進行檢測時,工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法獲取的均方根誤差和絕對誤差均遠遠低于文獻[3]方法和文獻[4]方法獲取的均方根誤差和絕對誤差,因為工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法進行檢測之前構(gòu)建了通信流量模型,對通信流量在工業(yè)以太網(wǎng)中的特點進行分析,獲取通信流量的特征,根據(jù)提取的特征實現(xiàn)異常檢測,降低了工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法檢測結(jié)果的均方根誤差和絕對誤差。
將適應(yīng)度作為指標(biāo),對工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法、文獻[3]方法和文獻[4]方法進行測試,測試結(jié)果如圖2所示。
分析圖2可知,采用工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法對A1、A2、A3類異常進行檢測時,適應(yīng)度均在60%以上,采用文獻[3]方法和文獻[4]方法對A1、A2、A3類異常進行檢測時,適應(yīng)度分別在40%和30%附近波動。對比上述方法的測試結(jié)果可知,工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法的適應(yīng)度較高,因為工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法可以利用通信流量模型在不同異常情況下獲取通信流量的特征,進而實現(xiàn)異常檢測,提高了工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法的適應(yīng)度。
分別采用工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法、文獻[3]方法和文獻[4]方法進行異常檢測,測試上述方法在異常檢測過程中的覆蓋率,測試結(jié)果如表3所示。
表3 不同方法的檢測覆蓋率
根據(jù)表3中的數(shù)據(jù)可知,在多次迭代中工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法的檢測覆蓋率均在95%以上,遠高于文獻[3]方法和文獻[4]方法的檢測覆蓋率。因為工業(yè)以太網(wǎng)Poerlink協(xié)議通信周期約束異常檢測方法在檢測之前分析了通信信號在網(wǎng)絡(luò)中的傳輸特點,根據(jù)通信信號的傳輸路徑實現(xiàn)異常檢測,進而提高了工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法檢測結(jié)果的覆蓋率。
工控系統(tǒng)通信協(xié)議面臨的主要問題為易受到攻擊和缺陷問題。入侵檢測技術(shù)對遭受攻擊的協(xié)議安全問題具有較好的效果。Powerlink協(xié)議屬于工控網(wǎng)絡(luò)協(xié)議,是根據(jù)工業(yè)以太網(wǎng)協(xié)議構(gòu)成的,具有完全開源和高速實時等優(yōu)點,被廣泛地應(yīng)用在高鐵測試系統(tǒng)、CNC、航空系統(tǒng)和高速多軸系統(tǒng)等領(lǐng)域中。但由于Powerlink自身存在的缺陷以及傳統(tǒng)網(wǎng)絡(luò)的安全性較差,導(dǎo)致工業(yè)以太網(wǎng)Powerlink協(xié)議經(jīng)常受到攻擊,因此需要對工業(yè)以太網(wǎng)Powerlink協(xié)議通信進行異常檢測。
目前通信異常檢測方法存在檢測誤差大、適應(yīng)度低和覆蓋率低的問題,為了解決上述方法中存在的問題,提出工業(yè)以太網(wǎng)Powerlink協(xié)議通信周期約束異常檢測方法,構(gòu)建了通信流量模型和異常檢測模型,實現(xiàn)通信周期約束的異常檢測。為工業(yè)以太網(wǎng)Powerlink協(xié)議的安全運行提供了保障。