張利隆,馬 垚,陳永樂
(太原理工大學 信息與計算機學院,山西 太原 030024)
在工業(yè)化和信息化深度融合的趨勢下,越來越多的工控網(wǎng)絡與外界互聯(lián)網(wǎng)相連。這些在提高設備生產(chǎn)效率的同時,也為工業(yè)控制系統(tǒng)(industrial control system,ICS)的信息安全帶來了極大的威脅[1]。比如:2010年的“震網(wǎng)”病毒[2]對伊朗的核工業(yè)設施造成嚴重破壞;2016年的Mirai病毒事件[3]造成了美國大面積斷網(wǎng);2017年的“永恒之藍”病毒[4]事件的影響涉及教育、金融、能源和醫(yī)療等眾多行業(yè)。因此,提前發(fā)現(xiàn)入侵行為,并進行防御以阻止設備被攻擊破壞是至關重要的。
入侵檢測作為一種積極主動的安全防護技術,在不影響網(wǎng)絡性能的情況下對網(wǎng)絡進行監(jiān)測。目前,入侵檢測主要分為2類:誤用檢測和異常檢測[5]。誤用檢測技術無法識別新的攻擊行為。而異常檢測技術是利用正常行為建立模型,對新的網(wǎng)絡行為進行檢測。該檢測技術對操作系統(tǒng)的依賴性小,可以檢測出新的入侵行為。而且工控系統(tǒng)多處于穩(wěn)定運行的情況,正常數(shù)據(jù)量較大。因此,異常檢測方法被廣泛應用于工控入侵檢測系統(tǒng)。由于工控系統(tǒng)多產(chǎn)生高維度、非線性特征的數(shù)據(jù),普通的機器學習方法并不能檢測出異常數(shù)據(jù)。
通過研究發(fā)現(xiàn),高斯過程[6]與神經(jīng)網(wǎng)絡、支持向量機相比,該方法具有易實現(xiàn)、超參數(shù)自適應獲取、非參數(shù)推斷靈活以及輸出具有概率意義等優(yōu)點。因此,本文提出LE-CGWO-GP異常檢測方法。應用密西西比州立大學關鍵基礎設施保護中心提供的已進行數(shù)值化處理的工控數(shù)據(jù)集進行仿真實驗,結果顯示本文提出的算法模型具有較高的檢測準確率以及較低的漏報率與誤報率。
實驗采用密西西比州立大學關鍵基礎設施保護中心提出的用于工控入侵檢測的天然氣管道控制系統(tǒng)數(shù)據(jù)集[7]。該數(shù)據(jù)集是通過模擬攻擊基于Modbus/TCP協(xié)議通信的工控系統(tǒng)所采集的。
Modbus/TCP是Modbus系列通信協(xié)議的派生協(xié)議,在TCP/IP上進行Modbus報文傳輸,協(xié)議的用途是為PLC模塊、I/O模塊提供通信服務,廣泛應用于工控領域。Modbus/TCP采用典型的主從通信結構[8]。每次通信都是客戶端先發(fā)送指令,可以是廣播,或是向特定服務端的單播,服務端響應指令,并按要求應答,或者報告異常。當客戶端不發(fā)送請求時,服務端不會發(fā)出數(shù)據(jù),服務端和服務端之間不能直接通信。Modbus/TCP報文格式如圖1所示,其由MBAP(Modbus application protocol)報文頭、功能碼和數(shù)據(jù)組成[9]。其中,事務處理標識表示請求/響應事務處理識別碼,一般每次通信之后就要加以區(qū)別不同的通信數(shù)據(jù)報文。協(xié)議標識符為0x0000表示Modbus/TCP協(xié)議。長度表示接下來的數(shù)據(jù)長度,單位為字節(jié)。單元標識符表示設備地址,串行鏈路或其它總線上連接的遠程從站的識別碼。功能碼是客戶端向服務端指示進行何種操作的標志字段,主要分為有效功能碼、異常功能碼和錯誤功能碼。數(shù)據(jù)部分由客戶機根據(jù)具體的應用和功能碼的不同進行設置并由服務端進行相應的回答。
Modbus/TCP協(xié)議由于其本身具有開放性、簡單性和易用性的優(yōu)點,被廣泛應用于工控設備,并且成為了行業(yè)內的標準協(xié)議。但是,Modbus/TCP協(xié)議也存在一些問題,首先,其本身存在缺乏認證、授權、加密等安全防護機制和功能碼濫用問題[10]。其次,該協(xié)議是基于TCP協(xié)議的擴展,因此,TCP協(xié)議存在的安全協(xié)議問題也會影響Modbus/TCP協(xié)議,比如DDoS攻擊、IP欺騙等。最后,在實現(xiàn)具體的工控系統(tǒng)時,開發(fā)者并不具備安全開發(fā)知識,會造成緩沖區(qū)溢出、非法操作等問題。因此,需要建立一套完整的針對Modbus/TCP通信的專用異常行為檢測機制。而數(shù)據(jù)預處理是檢測準確性的重要前提,其主要包括兩個部分:特征選擇和特征提取[11]。
圖1 Modbus/TCP報文格式
工控系統(tǒng)數(shù)據(jù)有維度高、冗余數(shù)據(jù)多的特點。因此,在對特征屬性進行選擇時,需要先進行數(shù)據(jù)的清理。劉珍等[12]對流量特征進行了研究,分析了每種特征的適用環(huán)境。在進行特征選擇的過程中,選取的特征越多,對于數(shù)據(jù)包的覆蓋也就越全面。然而特征過多會造成工控入侵檢測算法計算緩慢。因此,選取合適的特征是提高算法性能的前提條件。選出來的特征盡可能遵循特征之間關聯(lián)性小并且可以描述網(wǎng)絡特征的要求,對原始數(shù)據(jù)進行簡化。為了達到精確區(qū)分流量特征的目的。通過分析,我們把流量的特征分為3類:基于時間序列、數(shù)據(jù)包頭、數(shù)據(jù)內容。按照類別選出具有代表性的特征值,如表1所示,部分常見的用來描述工控網(wǎng)絡行為的特征。
表1 工控系統(tǒng)流量特征值
工控系統(tǒng)數(shù)據(jù)特征經(jīng)過選擇后依然是高維數(shù)據(jù)集,在高維數(shù)據(jù)情形下會出現(xiàn)數(shù)據(jù)樣本稀疏,距離計算困難的問題。因此,需要對其進行降維。數(shù)據(jù)降維的方法主要包括兩類:線性降維和非線性降維。主成分分析(principal component analysis,PCA)是最常用的線性降維算法,在數(shù)據(jù)壓縮、消除冗余等領域有著廣泛的使用。然而,PCA只能處理線性數(shù)據(jù)的降維,并且它僅是篩選方差最大的特征,去除特征之間的線性相關性,對于線性不可分的數(shù)據(jù)降維效果差。而拉普拉斯特征映射[13](Laplacian Eigenmaps,LE)是一種非線性的降維方法,利用微分幾何中的Laplacian-Beltrami算子獲得相應的空間嵌入函數(shù)表示,以完成高維數(shù)據(jù)到低維空間的投影。該算法核心思想是在原高維數(shù)據(jù)空間中非常接近的點映射到低維空間中后也非常接近。相比于流形學習的其它幾種典型算法,LE含有更多的結構信息,更能發(fā)現(xiàn)數(shù)據(jù)內在規(guī)律,尤其對于不均勻的數(shù)據(jù)也能找出其中在低維的流形結構,具有良好的魯棒性。根據(jù)工控系統(tǒng)數(shù)據(jù)的特點,本文在特征選擇的基礎上,采用拉普拉斯特征映射算法對數(shù)據(jù)特征進行提取實現(xiàn)數(shù)據(jù)的降維。其原理如下:
首先是構建加權無向圖G:給定數(shù)據(jù)集X={x1,x2,…,xn},一般采用k近鄰方法或ε鄰域方法構造無向圖G。k近鄰方法得到的圖具有對稱、連通、樣本近鄰分布均勻等優(yōu)點。而利用ε鄰域方法時會造成數(shù)據(jù)集密集區(qū)域的樣本近鄰多,數(shù)據(jù)集稀疏區(qū)域的樣本近鄰少。因此,本文采用k近鄰方法構造無向圖,令Nk(xi)表示樣本xi的k近鄰集,如式(1)所示
(1)
式中:dk(xi)表示xi的第k距離。
其次是確定邊的權重w:對于權重的確定通常也有兩種方法,一是采用熱核函數(shù)法。二是采用0-1權值方法。鑒于第二種方法可以減少參數(shù)的選擇,本文選擇了后者。0-1權值方法如式(2)所示
(2)
最后是計算樣本點的低維嵌入坐標:首先計算拉普拉斯矩陣的特征值及特征向量,設高維數(shù)據(jù)X的低維嵌入映射為Y={y1,y2,…,yn},LE的目標是使得構造過程中損失函數(shù)最小,如式(3)所示
(3)
損失函數(shù)最小保證了高維中的鄰近數(shù)據(jù)點在低維中也鄰近。對拉普拉斯無向圖進行廣義特征值分解,如果高維數(shù)據(jù)集降至m維空間,則降維后的映射結果Y由最小的m個非零特征值對應的向量組成,則任一樣本xi∈X對應的低維坐標可以表示為yi={y1,y2,…,ym}。
灰狼優(yōu)化算法(GWO)[14]是一種群體智能尋優(yōu)算法,具有很少的參數(shù),并且在初始搜索中不需要派生信息。該算法以29個著名的測試函數(shù)為基準,并通過與其它優(yōu)化算法進行對比顯示GWO算法能夠提供非常有競爭力的結果。GWO算法具有全局搜索能力強、收斂速度快而且參數(shù)少易實現(xiàn)的特點,此外,它簡單、易用、靈活、可擴展,并且具有在搜索過程中在探索與開發(fā)之間達到適當平衡的特殊功能,從而帶來了良好的融合。因此,被廣泛應用于車間調度、參數(shù)優(yōu)化等領域。
GWO算法借鑒了灰狼種群的捕食機制和等級制度?;依菍儆谌壕有詣游铮话惴N群數(shù)量為5只至12只。嚴格的等級制度使得灰狼個體有著明確的分工。如圖2所示狼群的結構。
圖2 狼群等級結構
金字塔的第一層是頭狼,稱為α,負責領導整個群體,對捕獵行為、棲息地等具有決定權。第二層稱為β,協(xié)助頭狼做出決策,是頭狼最好的接替者。第三層稱為δ,負責放哨、偵察等任務;最后一層為ω,主要負責種群內部的平衡。傳統(tǒng)劃分層次的方法直接使用準確率作為適應度值進行劃分,并沒有考慮選擇特征的數(shù)量。本文通過研究,采用適應度函數(shù)作為層次劃分標準,如式(4)所示
(4)
式中:F為灰狼的適應度值,Acc為分類準確率,n為特征總數(shù),λ為權重,通常取0.01。
GWO算法數(shù)學模型模擬灰狼群的狩獵行為,假設灰狼種群規(guī)模為n,定義種群為X={X1,X2,…,Xn},整個狼群被分為4組:α、β、δ、ω。α是適應度最優(yōu)的灰狼,β是次優(yōu)的灰狼,δ是第三優(yōu)的灰狼,剩余的是ω,前三組指導最后一組向目標搜索。最后一組圍繞前三組更新位置。
在狩獵過程中首先需要對獵物進行包圍,則灰狼與獵物之間的距離如式(5)所示
Dp=μ·Xp(t)-X(t)
(5)
式中:t為迭代次數(shù),Xp(t)為第t代獵物的位置(全局最優(yōu)解),X(t)為第t代灰狼個體的位置,常數(shù)μ為擺動因子,如式(6)所示
μ=2·r1,r1∈(0,1)
(6)
式中:r1為隨機變量。
根據(jù)式(7)更新灰狼個體的位置
X(t+1)=Xp(t)-A·D
(7)
式中:A為收斂因子,如式(8)所示
A=2·b·r2-b,r2∈(0,1)
(8)
式中:r2為隨機變量,b為隨迭代次數(shù)增加值從2線性降到0。
當灰狼包圍獵物后,α帶領β和δ指導狼群追捕獵物。由于對獵物的位置(最優(yōu)解)并不清楚,因此,模擬灰狼的狩獵行為,利用α、β和δ三者的位置不斷逼近獵物的位置。α、β和δ位置的更新公式如下
(9)
(10)
(11)
其中,Dα、Dβ、Dδ分別表示α、β、δ狼與其它狼群個體間的距離,Xp(t+1)表示獵物的位置(最優(yōu)解)。
盡管灰狼優(yōu)化算法的性能優(yōu)于其它算法,但也存在著后期易陷入局部最優(yōu)的問題。因此,許多學者也提出了改進的方法。比如近年來,采用柯西算子改進的鯨魚優(yōu)化算法[15]和果蠅算法[16]性能明顯提高,因此,本文也采用柯西變異算子以提高灰狼算法的全局搜索能力,加大尋優(yōu)范圍。
柯西分布是一個數(shù)學期望不存在的連續(xù)分布函數(shù)。具有原點處概率密度大、分布緊湊,而兩端密度小、分布較長的特點。標準柯西分布的概率密度函數(shù)如式(12)所示
(12)
標準柯西分布從峰值向兩側下降相對比較平緩,有很長的尾巴,灰狼優(yōu)化算法將會有更廣的變異范圍,較容易跳出局部最優(yōu);而且柯西分布的峰值相對較小,這將會減少相鄰區(qū)間的搜索,提高灰狼算法在搜索全局最優(yōu)值上的性能。在原有灰狼個體的狀態(tài)上引入服從柯西分布的隨機向量,其更新如式(13)所示
x′=x+η·Cauchy(0,1)
(13)
式中:x′為初始位置x的更新位置;Cauchy(0,1)是t為1時的標準柯西隨機分布;參數(shù)η是各維變異權重的平均值。
基于柯西變異的灰狼優(yōu)化算法的步驟為:
步驟1執(zhí)行原基本灰狼優(yōu)化算法;
步驟2進入循環(huán)迭代后,當灰狼群體中相鄰5次迭代的沒有差別的最優(yōu)值都作為歷史最優(yōu)值被記錄下來時,我們認為算法停滯,則進行柯西變異;
步驟3變異操作:先將最優(yōu)灰狼個體的個數(shù)復制到原先種群規(guī)模,然后進行柯西變異,更新群體的位置,進行二次尋優(yōu),如式(14)所示
(14)
式中:x0,y0表示個體的初始位置;x′0,y′0表示添加柯西擾動后的位置。
高斯過程是一種非參數(shù)非線性的貝葉斯預測模型,適用于處理具有高維度、小樣本、非線性特征的數(shù)據(jù)集。而且該模型無需指定輸入數(shù)據(jù)集的大小和參數(shù)數(shù)量,對輸入數(shù)據(jù)集具有良好的適應性。
高斯過程是將多元高斯分布擴展為無限數(shù)量的隨機變量。它可以看作是隨機函數(shù)的分布,具體高斯過程如圖3所示。
圖3 高斯過程
其中,X=[x1,x2,…,xn]T為訓練數(shù)據(jù)的輸入變量,而Y=[y1,y2,…,yn]T為訓練數(shù)據(jù)的輸出變量,f(x)服從高斯分布,為了方便計算,通常會對數(shù)據(jù)進行預處理,使其均值為零,則高斯先驗分布的輸出觀測值如式(15)所示
(15)
協(xié)方差函數(shù)是決定高斯過程先驗形狀和后驗形狀的關鍵組成部分。通常采用平方指數(shù)協(xié)方差函數(shù)[17],其公式如式(16)所示
(16)
圖4 CGWO-GP模型
密西西比州立大學收集的天然氣管道控制系統(tǒng)數(shù)據(jù)集[7]包含1類正常數(shù)據(jù)和7類不同的攻擊數(shù)據(jù)。數(shù)據(jù)描述以及訓練集和測試集分布見表2。
由于從工控系統(tǒng)網(wǎng)絡提取的樣本數(shù)據(jù)及其特征值為不同的度量單位,需要對數(shù)據(jù)進行歸一化處理以消除特征之間的差異,實驗中采用Minmax方法,如式(17)所示
(17)
式中:xmin和xmax分別表示樣本數(shù)據(jù)最小值和最大值。將數(shù)據(jù)映射到[0,1]之間。
為避免數(shù)據(jù)分布不均勻,本文均勻選擇5000個數(shù)據(jù)樣本作為訓練集,選擇2400個數(shù)據(jù)作為測試集,并且按照測試集中攻擊類型的不同進行5組測試,對訓練模型進行評價。
對于檢測模型性能的衡量,通常采用3個指標:準確率(Acc)、漏報率(FNR)、誤報率(FPR),而對于特征降維的評價方式采用F1值(F1-score)進行評價。公式如下
(18)
(19)
(20)
其中,TP、TN、FP、FN分別表示正確分類的正常樣本、正確分類的異常樣本、錯誤分類的正常樣本、錯誤分類的異常樣本。
天然氣管道數(shù)據(jù)集的每條記錄包含26個流量特征。由于特征維數(shù)過高,本文進行數(shù)據(jù)降維。如圖5所示為LE、KPCA、PCA方法的降維結果。本文選取測試集1作為測試用例。如圖所示,隨著特征維度的增加,使用LE降維方法的效果最優(yōu),其F1值為96.35%,而且所需要的特征量最少,為9個。因此本文采用降維效果更好的LE降維方法對工控數(shù)據(jù)進行降維處理。
設灰狼種群規(guī)模為30,最大迭代次數(shù)為200。如圖6所示是適應度值隨迭代次數(shù)的變化情況。迭代到第49次達到最佳適應度,其值為94.9%。而且最佳適應度值17代、第35代均有提高,說明該算法可以有效避免狼群陷入局部最優(yōu),具有跳出局部最優(yōu)的能力。
如圖7顯示了測試集1數(shù)據(jù)的真實攻擊類別與預測類別的對比,其準確率達到98.75%。通過分析,由于同類型 攻擊數(shù)據(jù)相似性比較大,預測類別錯誤的部分多發(fā)生于同類型攻擊之間。比如:標簽1、2同屬于響應注入攻擊,標簽3、4、5、7同屬于命令注入攻擊,標簽6屬于拒絕服務攻擊。
表2 數(shù)據(jù)描述及訓練集測試集數(shù)量
圖5 特征降維結果對比
圖6 CGWO-GP算法收斂曲線
圖7 測試集1分類結果
為了驗證本文提出的CGWO-GP算法在運行時間上的優(yōu)勢,與未經(jīng)過優(yōu)化的GP算法以及最新提出的方法進行了對比,比如MIKPSO-SVM[19]、ALO-SVM[20]。MIKPSO-SVM算法是陳冬青等融合了多信息理論,著眼于KPSO算法對粒子位置信息進行預測時僅使用單個信息的局限性,提出了改進的MIKPSO算法,提升了算法的優(yōu)化精度和全局優(yōu)化性能。ALO-SVM算法是陳卓等提出一種在PCA降維的基礎上,基于蟻獅優(yōu)化算法(the ant lion optimizer,ALO)和支持向量機(support vector machine,SVM)相結合的入侵檢測方法,該算法的檢測速度有顯著提高。如圖8所示,訓練集從200個數(shù)據(jù)量開始,依次遞增200,最終達到5000。當訓練集達到5000時,CGWO-GP算法的運行時間為55.32 s,與GP算法時間接近,明顯優(yōu)于MIKPSO-SVM和ALO-SVM。
圖8 訓練時間對比
實驗采用了5組測試集進行測試,直觀比較了所提出的CGWO算法與其它檢測算法的檢測能力。在圖9中,方框表示四分位間距(inter quartile range,IQR),方框中的條形表示準確率、漏報率和誤報率中值,小菱形點表示數(shù)據(jù)中的異常點。如圖9所示,CGWO算法的準確率明顯高于其它算法,其準確率的均值為98.96%。而且漏報率和誤報率均低于其它算法,其漏報率均值0.44%,誤報率均值為0.13%。
本文提出了一種基于LE方法降維和CGWO-GP的工業(yè)控制系統(tǒng)入侵檢測模型,應用密西西比州立大學提供的標準數(shù)據(jù)集進行驗證。針對工控數(shù)據(jù)冗余多、高維度和非線性的特點,采用LE方法處理數(shù)據(jù),將原始工控數(shù)據(jù)集的26個屬性約簡為9個,并通過實驗驗證LE方法相比于PCA和KPCA具有更好的屬性約簡效果;在此基礎上,為了提高GP算法的檢測準確度,運用融合柯西變異的灰狼優(yōu)化算法(CGWO)對GP進行優(yōu)化。通過設計對比實驗對各類檢測模型進行對比,充分說明了LE-CGWO-GP模型具有運行速度快、檢測準確率高、漏報率和誤報率低的優(yōu)勢。接下來的工作是進一步優(yōu)化分類方法,實現(xiàn)同類型攻擊的細粒度識別。
圖9 不同檢測方法的檢測性能