黃一鳴,趙國新,魏戰(zhàn)紅,劉 昱
(北京石油化工學(xué)院 信息工程學(xué)院,北京 102617)
隨著ICS網(wǎng)絡(luò)的開放、工控協(xié)議的通用化以及“震網(wǎng)”等病毒的活躍,工控系統(tǒng)面臨著嚴重的安全威脅,亟需有效解決方案[1]。作為重要的信息安全防護手段,入侵檢測的研究成為工控信息安全領(lǐng)域的一個熱點[2]。
入侵檢測本質(zhì)是對異常數(shù)據(jù)和正常數(shù)據(jù)進行分類[3]。SVM作為一種高效的學(xué)習(xí)方法,在構(gòu)建入侵檢測系統(tǒng)時表現(xiàn)優(yōu)秀[4]。SVM的分類性能受懲罰參數(shù)c和核函數(shù)參數(shù)g的選取影響極大[5]。粒子群優(yōu)化算法(particle swarm optimization,PSO)參數(shù)少、易于實現(xiàn),被廣泛應(yīng)用到SVM參數(shù)尋優(yōu)中[6]。王華忠等[7]將PSO-SVM與PCA相結(jié)合應(yīng)用于工控入侵檢測中,不僅提高檢測精度也大幅縮短訓(xùn)練時間。陳東青等[8]改進了KPSO算法,提出了基于MIKPSO-SVM的入侵檢測框架,并使用標準工控入侵檢測數(shù)據(jù)集驗證,取得了良好的效果。
輸入數(shù)據(jù)質(zhì)量同樣影響入侵檢測性能[9]。對輸入數(shù)據(jù)進行轉(zhuǎn)換或重構(gòu)對于入侵檢測[10]具有重要意義。常用的轉(zhuǎn)換方法如主成分分析(PCA)和線性判別分析(LDA)忽略了部分特征所包含的分類信息,具有一定有局限性的。Fan等[11]提出了對數(shù)邊際密度比變換(logarithm marginal density ratios transformation,LMDRT),充分利用特征所包含的信息,提高了數(shù)據(jù)質(zhì)量。
本文通過LMDRT增強了輸入工控數(shù)據(jù)質(zhì)量,并針對粒子群算法易陷入局部最優(yōu)等問題,使用種群聚集程度指導(dǎo)權(quán)重自適應(yīng)變化優(yōu)化粒子搜索能力,結(jié)合粒子重構(gòu)策略提高種群跳出局部最優(yōu)能力,改進了粒子群算法,并用于SVM工控入侵檢測模型的優(yōu)化與構(gòu)建。用密西西比大學(xué)(MSU)標準工控入侵檢測數(shù)據(jù)集進行模型檢測,驗證了該方法在提高檢測精度與效率的優(yōu)越性。
對數(shù)邊際密度比變換是Fan等[11]提出的一種非參數(shù)數(shù)據(jù)轉(zhuǎn)換方法。由于邊際密度比被認為是最強大的單變量分類特征,LMDRT充分利用各個特征所包含的分類信息,變換后的數(shù)據(jù)具有更高的數(shù)據(jù)質(zhì)量和更優(yōu)的分類性能。其原理如下:
假設(shè)(A,B)是一組已標記樣本,其中A=(a1,a2…,aT)∈RT表示特征量,B∈{0,1}表示類別標簽。分類器h 表示樣本從特征空間到類別標簽的數(shù)據(jù)依賴映射。其構(gòu)造目的通常是為了最小化風(fēng)險P (h (A)≠B)。設(shè)類別0與類別1的條件概率密度分別為g(A)和f(A),即(A|B=0)~g 和(A|B=1)~f。根據(jù)貝葉斯決策規(guī)則有I(r (a)≥1/2),則
(1)
為簡化式(1),可設(shè)P (Y=1)=0.5,則分類的決策邊界為
{a:f(A)/g(B)=1}={a:log f(A)-log g(B)=0}
(2)
設(shè)gj(aj)和fj(aj)分別為g(A)和f(A)第j個特征的邊際值,即特征空間A各個特征的邊際密度。根據(jù)樸素貝葉斯模型的假設(shè)理論,給定類別的各個特性的條件分布相互獨立,則有
(3)
由于邊際密度比被認為是最強大的單變量分類器,因此新變換的數(shù)據(jù)充分利用了原始數(shù)據(jù)中包含的分類信息,且充分考慮了每個特征所表現(xiàn)出的類別差異。因此,可以認為LMDRT是對原始特征最強大的轉(zhuǎn)換,這將顯著提高原始數(shù)據(jù)的質(zhì)量。同時,線性分類問題的決策邊界不再是原始特征的線性組合;而是如下式所示的非線性形式
(4)
由于各個特征的邊際密度gj和fj未知,需要其進行估計,這里采用非參數(shù)核密度估計法對其進行計算。LMDRT的詳細過程如下。
假設(shè)有N個已被標記類別的樣本,S={(Ai,Bi),i=1,2,…,N},其中Ai∈RT表示特征量,Bi表示數(shù)據(jù)類別標簽。
(1)數(shù)據(jù)拆分
將S隨機拆分為互斥的兩部分S1和S2。記S1=(A(1),B(1)),S2=(A(2),B(2)),N1和N2分別記為S1和S2樣本的數(shù)量。
(2)類條件概率密度的核估計
(5)
(6)
(3)數(shù)據(jù)轉(zhuǎn)換
(7)
LMDRT具體流程如圖1所示。
圖1 對數(shù)邊際密度比變換流程
粒子群優(yōu)化算法(particle swarm optimization,PSO)的相關(guān)定義請參見文獻[12],其簡要原理如下:
對于n維空間中包含m個粒子的粒子群,其每個粒子位置Di=(αi1,αi2,…,αin)與速度Vi=(βi1,βi2,…,βin)依據(jù)迭代中每個粒子歷史最佳適應(yīng)度位置Li=(li1,li2,…,lin)和全體粒子歷史最佳適應(yīng)度位置Lgbest=(lg1,lg2,…,lgn)。對每個粒子速度和位置進行更新,公式如下
(8)
(9)
雖然粒子群算法易于實現(xiàn)且可操作性強但其依舊存在尋優(yōu)穩(wěn)定性差、算法收斂精度低且易陷入局部最優(yōu)等問題,本文針對其存在的問題做出如下改進。
2.2.1 粒子初始位置改進
為保證種群均勻分布,本文使用佳點集法確定粒子初始位置以避免初始種群聚集度過高[13]。其原理如下:GS是S維歐式空間的單位立方體,GS中的點r=(r1,r2,…,rS),滿足
Pn(k)={({r1k},{r2k},…,{rSk}),1≤k≤n}
(10)
其偏差為φ(n) = C(r,ε)n-1 + ε, C(r,ε)為一常數(shù)且只與r和ε有關(guān),則稱r為佳點,Pn(k)為佳點集。為滿足上述條件通常取
r={2cos(2πk/p),1≤k≤n}
(11)
式中:p為滿足(p-3)/2≥S的最小素數(shù)。
在種群規(guī)模一定情況下,佳點集的取點比隨機取點更均勻,更具多樣性且更穩(wěn)定,其在搜索空間中的映射作為初始種群更具遍歷性,更有助于全局最優(yōu)點的尋找,且具有更好的尋優(yōu)穩(wěn)定性。
2.2.2 慣性權(quán)重的改進
對于粒子群算法而言,慣性權(quán)重w用以平衡種群的全局搜索和局部搜索能力,w越大種群全局搜索能力越強,w越小種群局部搜索能力越強。w通常的調(diào)整策略是隨著迭代次數(shù)遞減,以獲得較好的收斂性能。但該方法忽略了個體在更新進化過程對權(quán)重的調(diào)整需求。事實上,個體間的聚集程度可以作為w調(diào)整的依據(jù)。在粒子群進化過程中,前期多數(shù)個體與最優(yōu)個體聚集程度低,則需要較高的權(quán)重,以提高種群的全局搜索能力,后期個體與最優(yōu)個體的聚集程度高,則需要較低的權(quán)重,以獲得較好的局部搜索能力。
本文引入曼哈坦距離[14](Manhattan distance)來評估個體間的聚集程度,從而指導(dǎo)w的調(diào)整,距離計算公式如下
(12)
式(12)表示粒子i到粒子j的距離,其中,粒子i在n維空間表示為Xi=(xi1,xi2,…,xin),f 表示粒子適應(yīng)度值。記種群有N個粒子,則粒子間平均距離有
(13)
則粒子自適應(yīng)慣性權(quán)重調(diào)整方法如下
(14)
式(14)表示粒子i的慣性權(quán)重,pgbest表示當(dāng)前迭代的全局最優(yōu)位置,wmax和wmin為慣性權(quán)重的上下限,根據(jù)文獻[15]分別為0.9和0.4。
2.2.3 粒子位置更新的改進
由于粒子群算法后期種群的聚集度增高,多樣性降低,使種群難以跳出局部最優(yōu)點。為解決這一問題,本文采用粒子重構(gòu)的方法,讓適應(yīng)度較差的粒子向適應(yīng)度較好的粒子學(xué)習(xí)進而生成新的粒子來替代適應(yīng)度較差的粒子。其過程如下。
首先對種群中粒子的按適應(yīng)度值進行排序,適應(yīng)度差的前Np個粒子記為重構(gòu)對象,剩余粒子記為學(xué)習(xí)對象。Np值由下式確定
Np=round(0.8Nt/T)
(15)
式中:N表示種群總粒子數(shù);t表示當(dāng)前迭代數(shù);T表示總迭代數(shù)。由于粒子多樣性隨迭代次數(shù)呈下降趨勢,因此重構(gòu)個體隨迭代逐漸增加。根據(jù)文獻[16],重構(gòu)對象最多為種群的80%。
對重構(gòu)對象Xp=(xp1,xp2,…,xpn)的每一維度,隨機選取一個學(xué)習(xí)對象Xg=(xg1,xg2,…,xgn),同時生成一個決策參數(shù)Ppj,(j=1,2,…,n),Ppj為分布在區(qū)間[0,1]上的隨機數(shù)。粒子重構(gòu)方法如下
(16)
式中:x′pj為重構(gòu)后第j維的值,Pc是學(xué)習(xí)概率,設(shè)置為0.8。
下面是結(jié)合自適應(yīng)權(quán)重和粒子重構(gòu)策略的粒子群優(yōu)化算法的執(zhí)行步驟:
步驟1設(shè)置種群規(guī)模、個體維數(shù)以及最大迭代次數(shù)。根據(jù)佳點集(式(10)、式(11))在搜索空間中的映射初始化粒子群;
步驟2計算粒子適應(yīng)度,進行種群每個粒子間適應(yīng)度對比記錄全局最優(yōu)適應(yīng)度位置,進行粒子舊位置與新位置對比記錄個體最優(yōu)適應(yīng)度位置;
步驟3使用式(12)、式(13)分別計算種群中每個粒子與全局最優(yōu)位置的距離和種群平均距離,使用式(14)確定每個粒子的慣性權(quán)重;
步驟4 將慣性權(quán)重帶入式(8)、式(9)來更新粒子的速度與位置;
步驟5 按適應(yīng)度排序粒子,低適應(yīng)度粒子按式(15)、式(16)進行重構(gòu);
步驟6 若未滿足設(shè)定的結(jié)束則重復(fù)執(zhí)行步驟2~步驟5直至達到設(shè)定最大迭代數(shù)。
支持向量機的定義請參見文獻[17],其基本原理如下。
SVM求解問題可視為在原空間上求解一個二次規(guī)劃問題
(17)
式中:c為懲罰參數(shù),表示對錯誤分類的懲罰程度。εi為松弛變量。利用拉格朗日乘子法,式(15)可改寫為
(18)
式中:αi拉格朗日乘子,k(,)為核函數(shù)。本文中使用高斯核函數(shù),即
(19)
本文使用LMDRT對原始數(shù)據(jù)進行數(shù)據(jù)質(zhì)量的提升,并通過改進的粒子群算法對SVM的c和g的尋優(yōu)。此外,由于LMDRT和傳統(tǒng)SVM都是針對二分類問題,因此采用一對一的方式(one-oversus-one)構(gòu)建k(k-1)/2個分類器,采用投票法實現(xiàn)工控網(wǎng)絡(luò)入侵攻擊的多分類。
基于LMDRT增強后數(shù)據(jù)和AWPRPSO-SVM的工業(yè)控制系統(tǒng)入侵檢測模型構(gòu)建流程如圖2所示。
圖2 入侵檢測模型構(gòu)建流程
入侵檢測模型構(gòu)建過程分為3個階段:
(1)預(yù)處理:將數(shù)據(jù)集劃分為輔助變換數(shù)據(jù)S1和被變換數(shù)據(jù)S2進行LMDRT變換;將變換后數(shù)據(jù)Z劃分為訓(xùn)練集和測試集并進行歸一化處理。
(2)SVM參數(shù)尋優(yōu):將SVM的參數(shù)c和g作為優(yōu)化的對象,使用訓(xùn)練集對SVM模型進行訓(xùn)練。選取5折交叉驗證下的分類準確率的相反數(shù)作為適應(yīng)度,利用AWPRPSO算法迭代尋找到最優(yōu)的SVM參數(shù)。
(3)模型測試:將優(yōu)化后參數(shù)c和g帶入并構(gòu)建對應(yīng)的SVM分類模型,使用LMDRT變換后的數(shù)據(jù)對模型進行驗證。
本文使用的標準工業(yè)控制系統(tǒng)入侵檢測公開數(shù)據(jù)集由美國密西西比州立大學(xué)提供,研究人員通過采集天然氣管道控制系統(tǒng)網(wǎng)絡(luò)層數(shù)據(jù),記錄并整理了8種攻擊數(shù)據(jù)(包括正常數(shù)據(jù)),每條數(shù)據(jù)包含26個屬性特征和一個攻擊類別標簽,每種攻擊形式、說明及對應(yīng)類別標簽見表1。
表1 攻擊形式說明及對應(yīng)標簽
LMDRT:從原始數(shù)據(jù)集中隨機且均勻地選取16 000組數(shù)據(jù)用于數(shù)據(jù)讀數(shù)邊際密度比變換,均勻地選取其中10 000組作為輔助變換數(shù)據(jù),余下6000組變換后用于后續(xù)仿真。
本文所有的算法與模型均進行了相應(yīng)仿真測試實驗,仿真實驗平臺如下:Inter Core i7-8565U 1.80 GHz,8 GB內(nèi)存,Windows 10,MATLAB R2016b。隨機且不放回抽取數(shù)據(jù)集中數(shù)據(jù),按標簽比例劃為輔助變換數(shù)據(jù)10 000條、訓(xùn)練數(shù)據(jù)4000條和測試數(shù)據(jù)2000條。AWPRPSO算法相關(guān)參數(shù)設(shè)定如下:種群規(guī)模為20,最大迭代次數(shù)50,搜索維數(shù)為2,加速因子c1和c2分別為1.6和1.5,慣性權(quán)重上下限分別為0.9和0.4,粒子重構(gòu)中學(xué)習(xí)概率為0.8。本文中其它算法的最大迭代次數(shù)、群體規(guī)模、搜索維數(shù)和加速因子都和AWPRPSO算法相同,慣性權(quán)重固定為0.8。使用優(yōu)化算法對SVM的參數(shù)c和g進行迭代尋優(yōu),搜索范圍都為[0.001,1000]。
4.4.1 訓(xùn)練結(jié)果分析
為了驗證算法的優(yōu)化效果,本文將AWPRPSO與PSO、GA算法對SVM參數(shù)進行尋優(yōu)的結(jié)果進行比較。分別使用LMDRT特性增強前后的訓(xùn)練集訓(xùn)練入侵檢測模型,在訓(xùn)練的過程中,算法的運行時間和訓(xùn)練精度見表2。
從表2可以看出,在LMDRT變換后,每種算法的準 確精度和訓(xùn)練時間均有了一定程度的改善,且變換后數(shù)據(jù)的訓(xùn)練精度均高于變換前,說明LMDRT增強了數(shù)據(jù)的特征,通過了數(shù)據(jù)質(zhì)量。且變換后的數(shù)據(jù)訓(xùn)練時間在同一算法下有了一定的改善,也驗證了變換后數(shù)據(jù)提高數(shù)據(jù)分類的效率。
表2 訓(xùn)練時間和訓(xùn)練精度
LMDRT變換后的數(shù)據(jù)訓(xùn)練集在各算法優(yōu)化SVM的5折訓(xùn)練精度與迭代次數(shù)關(guān)系曲線如圖3所示。
圖3 不同算法優(yōu)化SVM的訓(xùn)練準確率曲線
從表2和圖3可以得到,AWPRPSO算法對SVM的尋優(yōu)精度最高,達到了98.88%,GA算法的精度最低,只有98.65%。算法的收斂速度方面,AWPRPSO的收斂速度最快,第10代左右就收斂到最優(yōu);PSO次之,在第26代左右收斂到最優(yōu);而GA收斂最慢。綜合來說,AWPRPSO在收斂速度與尋優(yōu)結(jié)果上都有著一定優(yōu)勢。
4.4.2 測試結(jié)果分析
(1)總體的檢測效果分析。根據(jù)入侵檢測的評價標準。記錄變換前后各個算法下使仿真結(jié)果用準確率、誤報率和漏報率指標來評估模型的分類性能。記錄實驗的總體結(jié)果見表3。
表3 各個入侵檢測模型的檢測結(jié)果
根據(jù)表3,LMDRT變換后數(shù)據(jù)在每種算法下的結(jié)果準確率、誤報率、漏報率整體優(yōu)于變換前數(shù)據(jù),其中,AWPRPSO-SVM的準確率最高,為99.05%,誤報率最低為僅為1.93%,漏報率與PSO-SVM同為最低只有0.4%,整體檢測效果相比其它方法有了一定程度的改善。綜合可得,基于AWPRPSO-SVM在構(gòu)建的入侵檢測模型具有良好的檢測效果,而且對數(shù)邊際密度比變換后數(shù)據(jù)可以有效提高入侵檢測模型的性能。
(2)各攻擊類型數(shù)據(jù)檢測效果分析。MSU工控入侵檢測標準數(shù)據(jù)集包含8種攻擊形式(包括正常數(shù)據(jù)),圖4為變換后數(shù)據(jù)在各個算法下8種攻擊形式的檢測準確率曲線。
圖4 8種攻擊形式的檢測準確率曲線
從圖4可以看出,在檢測NMRI、CMRI、MSCI和RECO攻擊時各個算法檢測效果基本一致;在檢測MPCI、MFCI以及Dos攻擊時,AWPRPSO和PSO監(jiān)測效果高于GA,檢測MPCI和Dos攻擊時AWPRPSO表現(xiàn)明顯優(yōu)于其它算法。
圖5是LMDRT-AWPRPSO-SVM模型對測試集進行預(yù)測分類的結(jié)果和理論分類的結(jié)果對比。
圖5 LMDRT-AWPRPSO-SVM入侵檢測分類結(jié)果
從圖5中可觀察LMDRT-AWPRPSO-SVM分類器測試集數(shù)據(jù)的整體分布以及誤分點的情況。由圖可知,該方法在檢測NMRI、CMRI、MSCI、MPCI和RECO攻擊時效果優(yōu)異,幾乎沒有誤分的情況;但MFCI和Dos攻擊時,由于攻擊數(shù)據(jù)整體偏少,誤分的情況較嚴重。
針對傳統(tǒng)工控入侵檢測數(shù)據(jù)轉(zhuǎn)換方法下分類信息利用不充分而導(dǎo)致檢測效果不佳,本文采用對數(shù)邊際密度變換對數(shù)據(jù)特性進行增強,取得了良好的效果。另外為提高SVM入侵檢測模型的準確率,本文將結(jié)合自適應(yīng)權(quán)重和粒子重構(gòu)策略的粒子群優(yōu)化算法進行SVM的參數(shù)c和g進行尋優(yōu),使用尋優(yōu)得到的SVM分類器構(gòu)建入侵檢測模型,并對模型進行實驗驗證。對比增強前后的數(shù)據(jù)的實驗結(jié)果,總結(jié)得出:增強后的數(shù)據(jù)提高SVM入侵檢測模型的性能,且AWPRQPSO優(yōu)化之后的SVM入侵檢測模型的總體上性能也優(yōu)于其它算法優(yōu)化的SVM模型。LMDRT-AWPRQPSO-SVM在工控入侵檢測方面有著良好的表現(xiàn),對未來相關(guān)研究具有一定參考價值。