• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      機(jī)器學(xué)習(xí)在工業(yè)網(wǎng)絡(luò)入侵檢測(cè)中的研究應(yīng)用

      2021-03-13 06:33:32宗學(xué)軍鄭洪宇紀(jì)勝龍
      關(guān)鍵詞:特征選擇子集準(zhǔn)確率

      何 戡,曲 超,宗學(xué)軍,鄭洪宇,紀(jì)勝龍

      1(沈陽(yáng)化工大學(xué) 信息工程學(xué)院,沈陽(yáng) 110142)

      2(黃淮學(xué)院 智能制造學(xué)院,河南 駐馬店 463000)

      3(奇安信科技集團(tuán)股份有限公司,北京 100000)

      1 引 言

      在工業(yè)信息技術(shù)的高速發(fā)展下,工業(yè)控制網(wǎng)絡(luò)(Industrial Control Network,ICN)日趨成熟,但與此同時(shí),威脅網(wǎng)絡(luò)安全的木馬、病毒等計(jì)算機(jī)惡意程序已不再局限于傳統(tǒng)互聯(lián)網(wǎng)之中,工業(yè)控制網(wǎng)絡(luò)安全正經(jīng)受著嚴(yán)峻考驗(yàn).無(wú)論是2010年的“震網(wǎng)”病毒事件還是“WannaCry”永恒之藍(lán)勒索蠕蟲事件都表明,解決工業(yè)控制網(wǎng)絡(luò)安全問(wèn)題刻不容緩[1].

      相較于傳統(tǒng)IT網(wǎng)絡(luò),在工業(yè)控制網(wǎng)絡(luò)中建立安全體系要保證生產(chǎn)的穩(wěn)定性和實(shí)時(shí)性,進(jìn)一步考慮工業(yè)網(wǎng)絡(luò)環(huán)境的特殊性,如在工業(yè)設(shè)備之間專用的工業(yè)通信協(xié)議和工業(yè)控制網(wǎng)絡(luò)獨(dú)特的結(jié)構(gòu).威脅狩獵(Threat Hunting)作為近年來(lái)如claroty,dragos等國(guó)際新型公司的工業(yè)安全檢測(cè)手段,在2020年的全球信息安全大會(huì)(RSAC-2020)的ICS village中被重點(diǎn)關(guān)注,Sherri Davidoff等人在會(huì)上的報(bào)告中發(fā)表了以威脅狩獵為核心的FireEye Managed Denfense安全產(chǎn)品.

      入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)與威脅狩獵在原理上有很高的相似性,是判斷網(wǎng)絡(luò)狀態(tài)的一種常見(jiàn)網(wǎng)絡(luò)安全技術(shù),兩者都能以機(jī)器學(xué)習(xí)算法作為核心,快速有效的辨識(shí)樣本數(shù)據(jù)類型,檢測(cè)入侵行為.在我國(guó)網(wǎng)絡(luò)安全等級(jí)2.0保護(hù)標(biāo)準(zhǔn)中將入侵檢測(cè)定為等級(jí)保護(hù)三級(jí)并作為強(qiáng)制選項(xiàng)[2].

      在對(duì)入侵檢測(cè)問(wèn)題的研究中,Nasrin Sultana等人基于軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network),利用機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)基于網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)(NIDS,Network-based Intrusion Detection System)[3].Moayad Aloqaily等人采用深度信念(deep belief)和決策樹方法構(gòu)建了針對(duì)智能汽車云服務(wù)的入侵檢測(cè)系統(tǒng)[4].Majjed Al-Qatf等人提出STL(self-taught learning)學(xué)習(xí)方法進(jìn)行特征學(xué)習(xí)和降維,有效提高了SVM算法的精度[5].

      XGBoost以CART樹為基礎(chǔ),檢測(cè)效率高,關(guān)注于樣本殘差,不會(huì)高度依賴于數(shù)據(jù)集,可自定義損失函數(shù)且引入了對(duì)模型復(fù)雜度的懲罰項(xiàng),能降低噪聲干擾并限制模型復(fù)雜度,是一種高效的機(jī)器學(xué)習(xí)算法.

      目前數(shù)據(jù)集的簡(jiǎn)化方法關(guān)注降低樣本特征數(shù)量.其中一部分以主成分分析(Principal Component Analysis,PCA)為代表,對(duì)數(shù)據(jù)集進(jìn)行降維來(lái)降低樣本特征數(shù)量,同時(shí)能去除數(shù)據(jù)噪聲.但這一類方法無(wú)法對(duì)處理后樣本特征的意義進(jìn)行解釋,阻礙了對(duì)入侵行為本質(zhì)特征的進(jìn)一步研究.另一部分方法,如計(jì)算信息熵判定特征復(fù)雜程度或遍歷特征組合來(lái)選定特征子集,都不能針對(duì)某一種選定算法選擇重要特征.

      綜上所述,本文使用密西西比州立大學(xué)SCADA實(shí)驗(yàn)室的能源系統(tǒng)攻擊數(shù)據(jù)集作為主要研究對(duì)象[6],采用交叉驗(yàn)證對(duì)比多種機(jī)器學(xué)習(xí)算法,重點(diǎn)使用XGBoost算法進(jìn)行研究,并在此基礎(chǔ)上提出一種針對(duì)選定算法的改進(jìn)包裹式特征選擇方法簡(jiǎn)化數(shù)據(jù)集,提高入侵檢測(cè)效率并表現(xiàn)各特征在選定算法中的重要性.該方法在遼河油田油氣集輸公司的工業(yè)控制網(wǎng)絡(luò)中進(jìn)行了應(yīng)用,有效阻止了外部網(wǎng)絡(luò)的入侵行為.

      2 工業(yè)控制網(wǎng)絡(luò)安全分析

      對(duì)工業(yè)控制系統(tǒng)的攻擊主要針對(duì)上位機(jī)、工業(yè)控制器和工業(yè)控制網(wǎng)絡(luò),再間接對(duì)工業(yè)生產(chǎn)設(shè)備乃至生產(chǎn)整體造成影響.上位機(jī)是人機(jī)交互的接口,其中的工業(yè)組態(tài)軟件承擔(dān)著監(jiān)控現(xiàn)場(chǎng)狀態(tài)的任務(wù),包含豐富的現(xiàn)場(chǎng)生產(chǎn)信息,成為了入侵的首選目標(biāo).在工業(yè)環(huán)境逐漸開(kāi)放的當(dāng)下,上位機(jī)失去了物理隔絕的天然屏障,面臨著IT系統(tǒng)中竊聽(tīng)、拒絕服務(wù)攻擊(DOS)等常見(jiàn)安全問(wèn)題,同時(shí)也暴露出組態(tài)軟件的安全漏洞和工業(yè)通信協(xié)議的脆弱性等工業(yè)控制系統(tǒng)中獨(dú)有的安全問(wèn)題[7].

      工業(yè)控制器的種類繁多,承載的工業(yè)通信協(xié)議也不盡相同,多數(shù)工業(yè)通信協(xié)議在設(shè)計(jì)之初并未考慮到在開(kāi)放環(huán)境下的安全性問(wèn)題.例如,MODBUS作為早期工業(yè)通信協(xié)議,缺乏加密和授權(quán),地址和命令等信息完全以明文傳輸,能輕易被解析.S7COMM作為西門子公司私有協(xié)議,雖然格式未公開(kāi),但出現(xiàn)過(guò)針對(duì)S7協(xié)議的CPU終止攻擊、口令破解等情況[8].工業(yè)通信協(xié)議作為傳遞信息的工具,一旦被黑客利用,能達(dá)到惡意操縱現(xiàn)場(chǎng)設(shè)備,篡改關(guān)鍵數(shù)據(jù)等目的,對(duì)工業(yè)生產(chǎn)構(gòu)成了嚴(yán)重威脅.

      工業(yè)控制網(wǎng)絡(luò)是工業(yè)控制系統(tǒng)的重要組成部分,以現(xiàn)場(chǎng)總線或工業(yè)以太網(wǎng)等作為通信介質(zhì),以具有通信能力的控制器、傳感器、執(zhí)行器、測(cè)控儀表作為網(wǎng)絡(luò)節(jié)點(diǎn),采取開(kāi)放式、數(shù)字化、多節(jié)點(diǎn)通信的方式完成工業(yè)測(cè)量或控制的一種特殊網(wǎng)絡(luò)[9].隨著國(guó)家對(duì)工業(yè)互聯(lián)網(wǎng)建設(shè)的大力推進(jìn),工業(yè)控制網(wǎng)絡(luò)安全的重要性逐漸凸顯.

      數(shù)據(jù)作為工業(yè)生產(chǎn)中的核心生產(chǎn)要素,涉及企業(yè)和生產(chǎn)安全,是信息時(shí)代的重要資源.攻守雙方都能從工業(yè)控制網(wǎng)絡(luò)的通信數(shù)據(jù)中獲取信息,優(yōu)化行動(dòng)策略.入侵檢測(cè)對(duì)通信數(shù)據(jù)進(jìn)行篩選判斷,能有效檢測(cè)入侵行為,但面對(duì)工業(yè)控制網(wǎng)絡(luò)實(shí)時(shí)性和穩(wěn)定性要求,以及安全漏洞和攻擊手段的與日俱增,傳統(tǒng)入侵檢測(cè)方法逐漸不能滿足實(shí)時(shí)更新和應(yīng)對(duì)未知攻擊的安全需求.因此,通過(guò)利用機(jī)器學(xué)習(xí)算法的自學(xué)習(xí)能力和泛化能力提高檢測(cè)準(zhǔn)確率,降低誤報(bào)率十分必要.同時(shí),當(dāng)前工業(yè)控制網(wǎng)絡(luò)的數(shù)據(jù)量逐漸增大,給入侵檢測(cè)的數(shù)據(jù)分析帶來(lái)了極大負(fù)擔(dān),通過(guò)特征選擇方法選擇數(shù)據(jù)重要特征,能進(jìn)一步提高入侵檢測(cè)效率[10-11].

      3 算法原理和特征選擇

      利用機(jī)器學(xué)習(xí)來(lái)解決入侵檢測(cè)問(wèn)題,本質(zhì)上要解決的是一個(gè)多分類問(wèn)題.本文提出一種改進(jìn)包裹式特征選擇方法,需要在選定分類算法后,根據(jù)在不同特征子集條件下算法模型的結(jié)果,提取重要特征.

      3.1 算法原理

      3.1.1 支持向量機(jī)

      支持向量機(jī)通過(guò)控制經(jīng)驗(yàn)風(fēng)險(xiǎn)和置信范圍值來(lái)控制泛化能力,以訓(xùn)練過(guò)程出現(xiàn)的誤差調(diào)整模型,將置信范圍最小化作為優(yōu)化目標(biāo).

      為了處理樣本線性不可分問(wèn)題,支持向量機(jī)算法引入了核函數(shù)技術(shù),用樣本在原始空間中的計(jì)算結(jié)果來(lái)替代樣本映射到特征空間后的內(nèi)積,解決了樣本映射后內(nèi)積計(jì)算困難的問(wèn)題.研究過(guò)程中使用高斯核函數(shù)[12]:

      (1)

      其中xa,xb是需要計(jì)算內(nèi)積的樣本變量,δ為高斯核函數(shù)帶寬,控制局部作用范圍.

      3.1.2 K近鄰算法

      K近鄰算法對(duì)數(shù)據(jù)集的依賴程度高,算法原理是根據(jù)數(shù)據(jù)集內(nèi)已有樣本點(diǎn),計(jì)算得出待分類樣本x最近的K個(gè)樣本,根據(jù)多數(shù)樣本的類別確定樣本x的類別[13].

      3.1.3 AdaBoost算法(Adaptive Boosting,自適應(yīng)增強(qiáng)算法)

      AdaBoost算法在每輪訓(xùn)練時(shí)生成基分類器并調(diào)整樣本權(quán)重,讓后續(xù)基分類器將重點(diǎn)集中在錯(cuò)分樣本上,最終將基分類器加權(quán)組合形成最終的強(qiáng)分類器[14].

      3.1.4 隨機(jī)森林

      隨機(jī)森林以決策樹作為基分類器,在樹節(jié)點(diǎn)分裂時(shí)隨機(jī)選擇樣本特征子集,以最優(yōu)特征劃分,最終根據(jù)多個(gè)基分類器結(jié)果共同決定樣本分類,相對(duì)于傳統(tǒng)決策樹,隨機(jī)森林提高了泛化能力[15].

      3.1.5 XGBoost(Extreme Gradient Boosting,極限梯度提升算法)

      XGBoost算法是基于GBDT(Gradient Boost Decision Tree,梯度提升決策樹)算法的一種串行集成算法[16],相對(duì)于AdaBoost算法,XGBoost算法關(guān)注于降低每一次迭代的殘差,可表示為:

      (2)

      在算法實(shí)現(xiàn)過(guò)程中,以降低殘差為目的訓(xùn)練樹的結(jié)構(gòu)和結(jié)點(diǎn)分裂規(guī)則,最終將樣本分類至葉節(jié)點(diǎn),再通過(guò)累加葉節(jié)點(diǎn)分?jǐn)?shù)獲得最終評(píng)分,確保算法不會(huì)因樣本的某些極端特征數(shù)據(jù)導(dǎo)致學(xué)習(xí)誤差.XGBoost算法允許自定義損失函數(shù),增強(qiáng)了泛化能力.XGBoost算法的目標(biāo)函數(shù)可整理為:

      (3)

      (4)

      γ表示葉結(jié)點(diǎn)懲罰系數(shù),λ表示L2正則化系數(shù),增大兩者會(huì)讓算法在訓(xùn)練過(guò)程中傾向于更簡(jiǎn)單的模型.T表示葉結(jié)點(diǎn)總數(shù),w表示樹的葉結(jié)點(diǎn)得分向量.

      3.2 包裹式特征選擇

      為了提高檢測(cè)效率,提取重要特征,在得出最優(yōu)算法的基礎(chǔ)上,提出一種改進(jìn)包裹式特征選擇方法[17],執(zhí)行過(guò)程與算法過(guò)程分離,在選擇特征子集后,以在此特征子集下的模型運(yùn)算結(jié)果評(píng)價(jià)特征子集優(yōu)劣.對(duì)包裹式特征選擇的改進(jìn)體現(xiàn)在以下兩點(diǎn):

      1)累計(jì)特征得分的后向(backward)子集搜索(subset search).

      改進(jìn)的包裹式特征選擇方法基于后向子集搜索.假設(shè)樣本特征總數(shù)為M,特征子集選用的特征數(shù)量為N(N≤M),先在N=M的情況下(使用樣本所有特征)得到選定模型的準(zhǔn)確率,以此作為基準(zhǔn)值.然后,逐步降低N值,并設(shè)定N最小值限制(組成特征子集的特征數(shù)量最小值).此時(shí),從所有特征中隨機(jī)取N個(gè)特征組成特征子集,可能的組合數(shù)量為:

      (5)

      特征子集放入模型得出對(duì)應(yīng)準(zhǔn)確率,如果準(zhǔn)確率大于或等于基準(zhǔn)準(zhǔn)確率,則將參與的特征得分加一;小于則不做任何處理,繼續(xù)運(yùn)行.設(shè)置N個(gè)特征下的最大循環(huán)次數(shù)和最大采樣數(shù),防止算法過(guò)度關(guān)注某些特定的特征組合.

      2)根據(jù)特征得分和準(zhǔn)確率增長(zhǎng)值組合特征并驗(yàn)證.

      以特征得分由高到低順序取特征組成特征子集并放入模型中驗(yàn)證性能,特征數(shù)目從1開(kāi)始,每經(jīng)一次驗(yàn)證組成子集的特征數(shù)量加1,記錄得出的對(duì)應(yīng)準(zhǔn)確率.

      根據(jù)不同特征子集下的模型準(zhǔn)確率計(jì)算按特征得分依次增加每個(gè)特征時(shí)的準(zhǔn)確率增長(zhǎng)值,再以增長(zhǎng)值為依據(jù)重復(fù)特征子集驗(yàn)證過(guò)程,比較在不同特征子集下的選定算法模型性能,表現(xiàn)各特征重要性.

      算法過(guò)程以偽代碼形式描述為:

      算法1.針對(duì)特定算法的改進(jìn)包裹式特征選擇方法:

      輸入:原始數(shù)據(jù)集,算法模型,特征子集最小特征數(shù)P1,最大循環(huán)次數(shù)P2,最大采樣數(shù)P3.

      輸出:得分編號(hào)序列S1,增長(zhǎng)值編號(hào)序列S2.

      1.以原數(shù)據(jù)集為對(duì)象,得出模型準(zhǔn)確率為ACC,設(shè)原數(shù)據(jù)集特征數(shù)為M,令N=M-1,i=0,j=0,n=1,所有特征初始得分為0.

      2.WhileN≥P1:

      3. While(i≤P2)and(j≤P3):

      4. (N值較大時(shí)采用遍歷)隨機(jī)取其中N個(gè)特征,得出模型準(zhǔn)確率ACC′

      5. If(ACC′≥ACC):

      6. 參與本次過(guò)程的特征得分加1,j=j+1

      7. Else:

      8. Continue

      9.i=i+1,End While

      10.End While

      11.特征編號(hào)按得分從大到小排序,得分相同時(shí),按在原數(shù)據(jù)集中順序排序,得到得分編號(hào)序列S1

      12.按序列S1中編號(hào)取對(duì)應(yīng)的前n個(gè)特征組成特征子集,計(jì)算在此特征子集下的模型準(zhǔn)確率并記錄,n=n+1,循環(huán)該過(guò)程,直至n=M

      13.根據(jù)上一步不同特征子集下的模型準(zhǔn)確率計(jì)算增加每個(gè)特征時(shí)的準(zhǔn)確率增長(zhǎng)值,按增長(zhǎng)值排序特征編號(hào),得到增長(zhǎng)值編號(hào)序列S2.

      所得S1、S2序列,即為針對(duì)選定算法,分別根據(jù)得分和準(zhǔn)確率增長(zhǎng)值,按特征重要性排序的特征編號(hào)序列.

      4 驗(yàn)證與分析

      使用windows10,i7-8700,16GB內(nèi)存系統(tǒng)下的Weka軟件,python3.6編程語(yǔ)言,sklearn模塊,XGBoost模塊和相關(guān)常用模塊進(jìn)行研究,使用python下的matplotlib模塊作圖.

      4.1 數(shù)據(jù)集及其預(yù)處理

      以密西西比州立大學(xué)SCADA實(shí)驗(yàn)室的能源系統(tǒng)攻擊數(shù)據(jù)集作為主要研究對(duì)象.通過(guò)采集實(shí)驗(yàn)室規(guī)模天然氣管道控制系統(tǒng)的通信數(shù)據(jù),由專家整理后形成此數(shù)據(jù)集.數(shù)據(jù)集樣本共分為8類,包括標(biāo)簽為“0”的正常通信數(shù)據(jù)樣本和另外7種攻擊數(shù)據(jù)樣本,每個(gè)樣本除標(biāo)簽外共有26個(gè)特征,在整理過(guò)程中非數(shù)值特征在數(shù)值化和熱編碼處理后,特征全部以數(shù)值形式存在,樣本基本信息如表1所示.

      表1 能源系統(tǒng)攻擊數(shù)據(jù)集樣本情況Table 1 Samples of energy system attack data sets

      原始數(shù)據(jù)集以arff文件格式存儲(chǔ),為方便處理需要用Weka軟件轉(zhuǎn)換為csv格式.對(duì)除標(biāo)簽外的特征進(jìn)行歸一化處理:

      (6)

      得到可直接用于算法模型的數(shù)據(jù),其中x表示需處理的樣本特征值,xmin、xmax表示該特征的最小值和最大值,x*為歸一化后樣本特征值.

      該數(shù)據(jù)集囊括了工業(yè)控制領(lǐng)域中常見(jiàn)的攻擊類型,樣本特征也從控制系統(tǒng)的通信協(xié)議和硬件設(shè)備出發(fā),包含指令的發(fā)出地址、響應(yīng)地址、指令類型、設(shè)備的控制模式、設(shè)定值、測(cè)量值等工業(yè)控制系統(tǒng)中的常見(jiàn)信息,是在同類工業(yè)控制領(lǐng)域中具有普遍性的工業(yè)入侵檢測(cè)數(shù)據(jù)集.

      4.2 驗(yàn)證方法及評(píng)價(jià)標(biāo)準(zhǔn)

      4.2.1 驗(yàn)證方法

      采用10折交叉驗(yàn)證方法對(duì)各模型性能進(jìn)行檢驗(yàn),該方法可以更客觀的評(píng)價(jià)模型對(duì)數(shù)據(jù)集整體的性能.

      4.2.2 評(píng)價(jià)標(biāo)準(zhǔn)

      以準(zhǔn)確率(Accuracy,ACC)、靈敏度(Sensitive)、F值(F-Measure)、漏警率(Missing Alarm,MA)和虛警率(False Alarm,F(xiàn)A)評(píng)價(jià)結(jié)果.模型的輸出有四種分類:真正類(True Positive,TP)和真負(fù)類(True Negative,TN),分別表示被正確分類的正常樣本和異常樣本.假正類(False Positive,F(xiàn)P)和假負(fù)類(False Negative,F(xiàn)N),分別表示正常樣本被錯(cuò)分為異常樣本和異常樣本被錯(cuò)分為正常樣本.可將準(zhǔn)確率(Accuracy,ACC)描述為:

      (7)

      在研究中,為評(píng)價(jià)模型整體性能,消除樣本不平衡對(duì)模型造成的影響,引入F值(F-Measure)進(jìn)行評(píng)價(jià):

      (8)

      α是調(diào)整參數(shù),實(shí)驗(yàn)中選取α=1,此時(shí)有F1評(píng)價(jià)標(biāo)準(zhǔn):

      (9)

      F1評(píng)價(jià)標(biāo)準(zhǔn)可以對(duì)模型進(jìn)行綜合評(píng)價(jià),值越高說(shuō)明模型性能越好,其中R是召回率(Recall),P是精確率(Precision):

      (10)

      (11)

      對(duì)應(yīng)兩者,有漏警率(Missing Alarm,MA)和虛警率(False Alarm,F(xiàn)A):

      (12)

      (13)

      在實(shí)際工業(yè)生產(chǎn)中,對(duì)異常行為重點(diǎn)關(guān)注,即漏警率和虛警率越低越好.為檢驗(yàn)對(duì)異常樣本的識(shí)別能力,引入靈敏度(Sensitive)概念,計(jì)算公式形式與召回率公式相同,但將需檢測(cè)的一類樣本看作正常樣本,其他類看作異常樣本進(jìn)行計(jì)算.

      4.3 實(shí)驗(yàn)結(jié)果及分析

      4.3.1 算法實(shí)驗(yàn)結(jié)果對(duì)比分析

      將能源系統(tǒng)攻擊數(shù)據(jù)集作為研究對(duì)象,采用10折交叉驗(yàn)證,以XGBoost算法為例,交代對(duì)樣本數(shù)據(jù)的辨別過(guò)程.

      首先,在對(duì)原始數(shù)據(jù)集進(jìn)行預(yù)處理后,保證比例不變將數(shù)據(jù)集分為10份,完成10折交叉驗(yàn)證準(zhǔn)備工作.

      然后,按10折交叉驗(yàn)證規(guī)則,采用XGBoost算法進(jìn)行訓(xùn)練和測(cè)試.在XGBoost算法的訓(xùn)練過(guò)程中,訓(xùn)練樣本在每次進(jìn)入模型后計(jì)算在預(yù)設(shè)數(shù)目CART樹計(jì)算后的樣本殘差,循環(huán)這個(gè)過(guò)程,直至殘差小于預(yù)設(shè)值或在規(guī)定預(yù)設(shè)輪數(shù)內(nèi)殘差不再下降,停止訓(xùn)練并用測(cè)試集對(duì)模型進(jìn)行測(cè)試,輸出評(píng)價(jià)結(jié)果,繼續(xù)下一輪交叉驗(yàn)證.

      最后,在得出10折交叉驗(yàn)證的10輪結(jié)果后,計(jì)算各評(píng)價(jià)標(biāo)準(zhǔn)的平均值,得出結(jié)果如表2、表3所示.

      表2 各算法對(duì)不同類型樣本的靈敏度和準(zhǔn)確率Table 2 Sensitive and accuracy of each algorithm to differenttypes of samples

      表3 各算法的漏警率、虛警率、F1值Table 3 Missing alarm,false alarm and F1 of each algorithm

      從表2可以看出,XGBoost算法對(duì)各類的靈敏度最平穩(wěn),有相對(duì)最高的準(zhǔn)確率,且在其他算法對(duì)NMRI(簡(jiǎn)單惡意響應(yīng)注入)類型攻擊靈敏度較低情況下,仍擁有對(duì)該類攻擊較高的靈敏度.根據(jù)密西西比州立大學(xué)SCADA實(shí)驗(yàn)室對(duì)數(shù)據(jù)集的研究報(bào)告可知,NMRI類型的攻擊對(duì)特征Measurement(測(cè)量值)的影響最為明顯,有可能會(huì)使此特征數(shù)值遠(yuǎn)高于或遠(yuǎn)低于正常數(shù)值.XGBoost算法因其良好的泛化性,能有效學(xué)習(xí)到NMRI類型樣本中的極端特征規(guī)律.SVM算法和KNN算法因其特點(diǎn)無(wú)法對(duì)這種情況實(shí)現(xiàn)有效分類.AdaBoost算法從對(duì)不同類型樣本靈敏度表現(xiàn)上來(lái)看,很有可能陷入了過(guò)擬合.推斷隨機(jī)森林算法因?yàn)镸easurement特征的上下極值差距大且劃分多,導(dǎo)致在此特征上產(chǎn)生的權(quán)值不可信,讓算法對(duì)NMRI類型攻擊出現(xiàn)了判斷失誤.

      從表3可以看出,AdaBoost算法的過(guò)擬合情況導(dǎo)致了極低漏警率和極高的虛警率,除此之外,XGBoost算法的漏警率和虛警率最低,F(xiàn)1值最高,綜合表現(xiàn)最好.

      從以上評(píng)價(jià)標(biāo)準(zhǔn)中可以得出結(jié)論,在以能源系統(tǒng)攻擊數(shù)據(jù)集作為研究對(duì)象情況下,XGBoost算法在各評(píng)價(jià)標(biāo)準(zhǔn)下表現(xiàn)最優(yōu),在5種機(jī)器學(xué)習(xí)算法中性能最好.

      此外,使用澳大利亞數(shù)據(jù)中心采集的UNSW-NB15入侵檢數(shù)據(jù)集對(duì)以上的機(jī)器學(xué)習(xí)算法性能再次進(jìn)行驗(yàn)證.UNSW-NB15入侵檢數(shù)據(jù)集是由澳大利亞數(shù)據(jù)中心在2015年采集、整理而成,符合當(dāng)前的網(wǎng)絡(luò)環(huán)境,是近年來(lái)國(guó)內(nèi)外針對(duì)入侵檢測(cè)研究的首選數(shù)據(jù)集[18,19].在保證各類樣本比例的條件下,取與能源系統(tǒng)攻擊數(shù)據(jù)集樣本總量相近的樣本作為實(shí)驗(yàn)對(duì)象,同樣采用10折交叉驗(yàn)證,算法模型中的參數(shù)幾乎不變的情況下,測(cè)試結(jié)果如表4所示.

      表4 各算法對(duì)UNSW NB15數(shù)據(jù)集的測(cè)試結(jié)果Table 4 Test results of each algorithm on UNSW NB15 dataset

      UNSW NB15入侵檢數(shù)據(jù)集除正常樣本外還包含9類異常樣本,且樣本特征除“所屬類別”外還有41種特征,復(fù)雜程度高于能源系統(tǒng)攻擊數(shù)據(jù)集.因?yàn)闃颖镜膹?fù)雜程度增大,在采用相同數(shù)量的樣本時(shí),各算法模型對(duì)樣本的學(xué)習(xí)未能達(dá)到最佳狀態(tài),但從結(jié)果可以看出,此時(shí)XGBoost算法的性能依舊優(yōu)于另外4種算法.

      綜上所述,在以上的實(shí)驗(yàn)中XGBoost算法的表現(xiàn)優(yōu)于另外幾種算法,作為實(shí)驗(yàn)對(duì)象的數(shù)據(jù)集也在自身領(lǐng)域具有普遍性.因此,選擇XGBoost算法作為后續(xù)研究對(duì)象.

      4.3.2 特征選擇結(jié)果

      繼續(xù)以能源系統(tǒng)攻擊數(shù)據(jù)集作為實(shí)驗(yàn)對(duì)象,在XGBoost算法的基礎(chǔ)上采用提出的包裹式特征選擇方法得到對(duì)應(yīng)的序列S1、S2.特征編號(hào)以原數(shù)據(jù)集特征順序,從0開(kāi)始至25共26個(gè)特征,按S1中特征編號(hào)順序添加特征組成特征子集,S1序列為:[0,6,8,10,18,21,24,2,4,11,3,23,9,5,14,20,1,12,16,13,15,19,22,25,17,7],特征子集的特征數(shù)量及對(duì)應(yīng)模型準(zhǔn)確率如圖1所示.

      圖1 根據(jù)特征得分添加特征的運(yùn)算結(jié)果Fig.1 Result of adding features based on feature scores

      對(duì)S2進(jìn)行相同處理,S2序列為:[0,24,18,3,8,20,6,10,2,21,22,25,11,1,13,15,16,23,9,5,14,19,7,4,17,12],結(jié)果如圖2所示.

      圖1、圖2中實(shí)線為按S1、S2順序增加至橫坐標(biāo)對(duì)應(yīng)數(shù)量特征時(shí)的準(zhǔn)確率曲線,虛線為使用全部特征時(shí)的準(zhǔn)確率,兩圖中實(shí)線最終都收斂于稍高于虛線的值,但與虛線值相差不大(0.05%左右).

      圖2 根據(jù)增長(zhǎng)值添加特征運(yùn)算結(jié)果Fig.2 Result of adding features based on the growth value

      由圖1和圖2對(duì)比可知,圖2曲線收斂快于圖1,在特征數(shù)量為8時(shí)與虛線值幾乎相同.可以看出對(duì)于XGBoost算法模型,使用S2序列的前8個(gè)特征,即采用對(duì)應(yīng)編號(hào)為0,24,18,3,8,20,6,10的特征組成特征子集就能達(dá)到接近全集的效果,準(zhǔn)確率單調(diào)遞增且增長(zhǎng)值依次遞減,可認(rèn)為在此數(shù)據(jù)集使用XGBoost算法的情況下,這8個(gè)特征最為重要,可以替代樣本中的其他特征信息完成入侵檢測(cè)任務(wù),減少了算法需要處理的數(shù)據(jù)總量,提高了入侵檢測(cè)效率.

      在數(shù)據(jù)集中,這8個(gè)特征按S2序列順序依次代表:0—指令發(fā)出地址,24—測(cè)量值,18—設(shè)定值,3—響應(yīng)寄存器地址,8—響應(yīng)方讀取指令函數(shù)編號(hào),20—表示系統(tǒng)是由“泵”控制,還是由“螺絲管”控制的編號(hào),6—請(qǐng)求方讀取指令函數(shù)編號(hào),10—通信協(xié)議指令函數(shù)編號(hào).這8個(gè)特征都是工業(yè)控制系統(tǒng)中的常見(jiàn)數(shù)據(jù)信息,在整理后成為有價(jià)值的數(shù)據(jù)集,方便研究者總結(jié)入侵行為的規(guī)律,并在類似的工業(yè)系統(tǒng)中關(guān)注這些特征.

      在密西西比州立大學(xué)SCADA實(shí)驗(yàn)室對(duì)數(shù)據(jù)集的分析報(bào)告中,總結(jié)了與特定異常類型有強(qiáng)關(guān)聯(lián)性的10個(gè)特征,這10個(gè)特征就包括了提取的8個(gè)特征中除編號(hào)3外的7個(gè)特征,側(cè)面證明了與XGBoost算法結(jié)合的包裹式特征選擇方法在總結(jié)特征重要性的問(wèn)題上是有效的,這種方法篩選了重要特征,提高了入侵檢測(cè)算法效率,為研究入侵行為數(shù)據(jù)規(guī)律提供了參考.

      4.4 算法應(yīng)用及其結(jié)果

      運(yùn)用XGBoost算法并結(jié)合包裹式特征選擇方法的入侵檢測(cè)在遼河油田油氣集輸公司的工業(yè)控制網(wǎng)絡(luò)中進(jìn)行了應(yīng)用.該公司的控制網(wǎng)絡(luò)曾遭受外部網(wǎng)絡(luò)的惡意滲透,對(duì)PLC進(jìn)行了未授權(quán)的讀寫操作.

      在對(duì)現(xiàn)場(chǎng)的網(wǎng)絡(luò)機(jī)柜和外部網(wǎng)絡(luò)間安裝工業(yè)防火墻(見(jiàn)圖3)并裝載入侵檢測(cè)算法后,截獲了由外部網(wǎng)絡(luò)發(fā)出的非法命令,有效避免了企業(yè)信息的泄露和對(duì)工業(yè)設(shè)備的非法操作.

      圖3 現(xiàn)場(chǎng)工業(yè)防火墻Fig.3 Industrial firewalls on site

      5 結(jié)束語(yǔ)

      針對(duì)工業(yè)控制網(wǎng)絡(luò)的入侵檢測(cè)問(wèn)題,主要采用在同類工業(yè)控制領(lǐng)域中具有普遍性的能源系統(tǒng)攻擊數(shù)據(jù)集作為研究對(duì)象,引入多種機(jī)器學(xué)習(xí)算法對(duì)比驗(yàn)證,得出綜合性能最優(yōu)的XGBoost算法解決入侵檢測(cè)問(wèn)題.在此基礎(chǔ)上,通過(guò)包裹式特征選擇方法提取對(duì)XGBoost算法重要的特征,提高入侵檢測(cè)效率的同時(shí),也為總結(jié)攻擊行為的規(guī)律提供了研究方向,在同類數(shù)據(jù)集中具有推廣和應(yīng)用價(jià)值.今后工作中,將分析工業(yè)控制網(wǎng)絡(luò)異常行為的規(guī)律、總結(jié)共性問(wèn)題作為研究重點(diǎn).

      猜你喜歡
      特征選擇子集準(zhǔn)確率
      由一道有關(guān)集合的子集個(gè)數(shù)題引發(fā)的思考
      拓?fù)淇臻g中緊致子集的性質(zhì)研究
      乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
      健康之家(2021年19期)2021-05-23 11:17:39
      不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
      2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
      關(guān)于奇數(shù)階二元子集的分離序列
      高速公路車牌識(shí)別標(biāo)識(shí)站準(zhǔn)確率驗(yàn)證法
      Kmeans 應(yīng)用與特征選擇
      電子制作(2017年23期)2017-02-02 07:17:06
      聯(lián)合互信息水下目標(biāo)特征選擇算法
      每一次愛(ài)情都只是愛(ài)情的子集
      都市麗人(2015年4期)2015-03-20 13:33:22
      武义县| 奉化市| 随州市| 武宁县| 三穗县| 武城县| 牟定县| 赤城县| 呼玛县| 美姑县| 扶风县| 池州市| 南阳市| 威海市| 全州县| 保山市| 扎鲁特旗| 井陉县| 绥中县| 石嘴山市| 桐柏县| 蓝田县| 阜新| 邹城市| 临桂县| 海口市| 沂水县| 桂阳县| 渝北区| 明星| 巴青县| 额济纳旗| 冀州市| 高州市| 册亨县| 连南| 西林县| 石屏县| 于都县| 永寿县| 合肥市|