国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于人工蜂群算法和XGBoost的網(wǎng)絡(luò)入侵檢測方法研究

2021-03-16 13:29
計算機應(yīng)用與軟件 2021年3期
關(guān)鍵詞:特征選擇攻擊者分類

徐 偉 冷 靜

(湖北警官學(xué)院信息技術(shù)系 湖北 武漢 430034)

(電子取證及可信應(yīng)用湖北省協(xié)同創(chuàng)新中心 湖北 武漢 430034)

0 引 言

網(wǎng)絡(luò)攻擊給用戶帶來的損失巨大,其范圍廣、危害大,有些損失和破壞甚至不可恢復(fù)。針對網(wǎng)絡(luò)攻擊,很多大型用戶(企業(yè)級)使用入侵檢測系統(tǒng)[1](Intrusion Detection System,IDS)等多種安全系統(tǒng)來抵御攻擊。由于IDS可以識別異常模式和流量,并對系統(tǒng)中所有未授權(quán)活動進行監(jiān)測、檢測和響應(yīng)[2],因此它一直是網(wǎng)絡(luò)安全領(lǐng)域的重要研究方向。

IDS一般包括誤用檢測和異常檢測[3]。在誤用檢測方法中,將預(yù)構(gòu)建的入侵模式作為規(guī)律保存在數(shù)據(jù)集中,每個模式代表一種特定的攻擊類型。這種情況下無法檢測到網(wǎng)絡(luò)中的新型攻擊[4],因為其模式不在數(shù)據(jù)庫中。異常檢測方法是基于網(wǎng)絡(luò)正常行為或特征來制定決策,將明顯違背該模型的業(yè)務(wù)事件或數(shù)據(jù)流視為入侵[5]。這種IDS分類方法能夠檢測到新型未知攻擊,但由于難以區(qū)分普通行為和異常行為的界限,會造成較高的虛警率。

目前已有一些IDS方面的研究成果。文獻[6]提出的模型通過數(shù)據(jù)分析將網(wǎng)絡(luò)數(shù)據(jù)分類為正常行為和異常行為,是一種多級混合入侵檢測模型,使用支持向量機和極值學(xué)習(xí)機來提升對已知攻擊和未知攻擊的檢測效率。此外,文獻[6]還提出了改進的K均值算法,用于構(gòu)建能夠代表整個原始訓(xùn)練數(shù)據(jù)集的多個較小的新訓(xùn)練數(shù)據(jù)集,顯著降低了分類器的訓(xùn)練時間,提升了入侵檢測系統(tǒng)的性能。文獻[7]提出了DDoS攻擊的應(yīng)用層實時檢測方法,根據(jù)絕對時間間隔準(zhǔn)則,推導(dǎo)出了一組新的訓(xùn)練和測試工具,該方法使用了布谷鳥等算法,其中布谷鳥二元聚類策略最大限度降低了算法的開銷成本,并提升了預(yù)測準(zhǔn)確度。文獻[8]提出一種基于網(wǎng)絡(luò)連接數(shù)據(jù)分析和在線貫序極限學(xué)習(xí)機分類器的IDS,對入侵?jǐn)?shù)據(jù)庫中的網(wǎng)絡(luò)連接數(shù)據(jù)進行分析,通過特征選擇算法選擇出最優(yōu)特征子集,利用優(yōu)化后的樣本特征集來訓(xùn)練OSELM分類器。鑒于DoS攻擊是基礎(chǔ)設(shè)施的一個主要隱患,文獻[9]提出了一個基于cookie的統(tǒng)計模型,使用定性和定量結(jié)果對各種統(tǒng)計模型進行了分析,以提高模型檢測效率。

目前,很多入侵檢測的研究中使用了機器學(xué)習(xí)算法,例如分類和聚類算法或以不同方式將機器學(xué)習(xí)算法與特征選擇方法結(jié)合在一起[10]。但這些研究很少考慮降低虛警率的問題。本文針對該問題提出了能夠降低虛警率的異常檢測方法,使用了人工蜂群(ABC)算法和XGBoost算法的混合檢測,其中ABC算法被用于特征選擇,XGBoost算法則被用于特征的評價和分類。實驗結(jié)果證明了所提出的方法在準(zhǔn)確度和檢測率方面的優(yōu)勢。

1 混合式異常檢測IDS

一般IDS方法都由三個主要階段組成:預(yù)處理、特征選擇、分類。由于數(shù)據(jù)集包括數(shù)值特征、非數(shù)值特征、字符串,應(yīng)該對其進行同質(zhì)化。因此,首先必須對數(shù)據(jù)集進行預(yù)處理。一般預(yù)處理包括兩個階段:1) 將數(shù)據(jù)集中非數(shù)值特征轉(zhuǎn)換為數(shù)值量;2) 數(shù)值歸一化。由于NSL-KDD數(shù)據(jù)集[11]特征包括離散量和連續(xù)量,特征量位于不同區(qū)間,所以這些特征不具備可比性。因此使用歸一化完成特征的標(biāo)準(zhǔn)化,且所有數(shù)值均被限制在區(qū)間[0,1]內(nèi)。

本文方法通過ABC算法進行特征選擇,以提升準(zhǔn)確度,并加快檢測時間;通過XGBoost算法用于特征評價和分類。本文方法的流程如圖1所示。

圖1 本文方法的流程示意圖

1.1 特征選擇(ABC算法)

在ABC算法中,每類蜜蜂各司其職,食物源代表問題相關(guān)的解,而食物源花蜜量則表示解的質(zhì)量。求解過程主要分為以下四個階段:初始化階段、雇傭蜂階段、旁觀蜂階段、偵查蜂階段[12]。

首先建立一群蜜蜂,其中半數(shù)為雇傭蜂,另一半為旁觀蜂。生成NF個解,每個解Xi(i=1,2,…,NF)為一個D維向量。Xi表示蜂群中第i個食物源。每個食物源(解)僅對應(yīng)一只雇傭蜂,即雇傭蜂或旁觀蜂的數(shù)量等于解的數(shù)量。根據(jù)式(1)隨機生成每個候選解。然后計算適應(yīng)度并保存最優(yōu)解。由于本文選擇封裝方法進行特征選擇,因此使用了XGBoost進行適應(yīng)度評價。

(1)

vi,j=xi,j+φi,j(xi,j-xk,j)

(2)

式中:xi,j為上一個位置;φi,j為區(qū)間[-1,1]內(nèi)的隨機量;xk,j為xi,j的一個鄰居。通過下式計算每個解的適應(yīng)度:

(3)

式中:f(xi)為第i個解的目標(biāo)函數(shù)值。

在所有雇傭蜂都完成探索過程后,將更新后解的適應(yīng)度數(shù)值與旁觀蜂共享。蜜蜂基于食物源概率選擇一個食物源。利用下式計算任意解的選擇概率[13]:

(4)

式中:fiti為雇傭蜂計算出的第i個解的適應(yīng)度數(shù)值。根據(jù)式(4)隨機選擇鄰近解,并通過式(2)搜索周圍更好的解,使得位置xi,j的變化減少。由此在搜索空間中搜索到的最優(yōu)解是在附近的。在利用式(2)完成每個探索后,若上一個食物源的位置不優(yōu)于新位置,則將trial的數(shù)值加1。為了防止局部最優(yōu)陷阱,若經(jīng)過幾次連續(xù)的重復(fù)后,食物源的trail數(shù)值是預(yù)先確定的限值,且未更新,則丟棄該食物源,與其對應(yīng)的雇傭蜂將該食物源丟棄給偵查蜂。接著,基于式(1)利用隨機探索選擇一個新的食物源來替代丟棄的食物源,丟棄食物源的trial數(shù)值為0。最后,通過反復(fù)探索計算出最優(yōu)食物源,若計算出的最優(yōu)食物源優(yōu)于整個算法的最優(yōu)食物源,則進行替換。ABC算法的流程如圖2所示。

圖2 應(yīng)用ABC算法的流程示意圖

1.2 分類(XGBoost算法)

由于入侵檢測數(shù)據(jù)集中包含多個分類,目前很多智能算法(如AdaBoost算法)是針對二元分類設(shè)計的,并不適用于多分類問題。因此,本文在XGBoost算法的基礎(chǔ)上,利用偽損失的概念來衡量弱假設(shè)的優(yōu)良度。其偽代碼如算法1所示。將包含5片樹葉的決策樹作為基分類器,初始時所有樣本權(quán)重相等,在每個T中改變樣本權(quán)重。弱分類器旨在最小化步驟3中的偽損失。如果弱分類器能夠不斷生成偽損失小于1/2的弱假設(shè),則對其進行增強。

算法1XGBoost算法

輸入:m個帶標(biāo)簽樣本的序列((x1,y1),(x2,y2),…,(xm,ym));yi∈Y={1,2,…,k};弱分類算法DT;迭代次數(shù)T。

輸出:分類結(jié)果hfin(x)。

fort=1,2,…,Tdo

2.DT(給出分布Dt和標(biāo)簽加權(quán)函數(shù)qt)

ht:X×Y→[0,1]

式(5)和式(6)通過XGBoost函數(shù)建立網(wǎng)絡(luò)用戶的行為模型,該模型通過對測試數(shù)據(jù)集的分類進行預(yù)測(正常類或攻擊類)。

[MDL]=XGBoost(X,t)

(5)

pre=predict(MDL,XTest)

(6)

式中:X和t分別表示訓(xùn)練數(shù)據(jù)集和樣本標(biāo)簽;XTest為測試數(shù)據(jù)集。然后根據(jù)式(7)確定實際情況下的模型誤差量,通過重復(fù)最大搜索次數(shù)的方式確定影響IDS性能的最佳特征。

L=loss(MDL,XTest,GroupTest)

(7)

式中:GroupTest為測試集標(biāo)簽。根據(jù)這些最佳特征設(shè)定檢測操作的參數(shù),這些參數(shù)將會影響到運行時間和求解效率。

2 實 驗

2.1 數(shù)據(jù)集

為了評價該方法,本文在NSL-KDD(KDD99修改版本)和ISCXIDS2012數(shù)據(jù)集上基于MATLAB進行了仿真。網(wǎng)絡(luò)拓?fù)淙鐖D3所示,在上述數(shù)據(jù)集中定義不同的攻擊場景。仿真參數(shù)如表1所示。

圖3 混合式計算機網(wǎng)絡(luò)拓?fù)?/p>

表1 仿真參數(shù)設(shè)定

2.2 評價指標(biāo)

鑒于IDS性能存在若干標(biāo)準(zhǔn),本文在方法驗證中計算了檢測率DR、虛警率FPR和準(zhǔn)確率Ac。具體計算公式為:

(8)

(9)

(10)

式中:TP表示真陽性;TN表示真陰性;FP表示假陽性;FN表示假陰性。其含義為:1) 真陽性(TP):生成警報且確實存在入侵。2) 假陰性(FN):未生成警報,但存在入侵,即漏警。3) 假陽性(FP):生成警報,但不存在入侵,即虛警。4) 真陰性(TN):未生成警報,且不存在入侵。

2.3 仿真結(jié)果

本文使用NSL-KDD和ISCXIDS2012數(shù)據(jù)集來測試本文方法在不同場景下的性能。仿真在MATLAB中完成,訓(xùn)練時間和測試時間分別為2.3 s和32.5 s。捕捉期間每秒的數(shù)據(jù)流數(shù)量在10 MB以上?;诹髁靠梢暬姆治鯷14]使用Wireshark工具繪制,如圖4所示。

圖4 流量可視化分析的Wireshark工具界面

2.3.1場景1

在場景1中,攻擊者使用的攻擊類型包括:

1) DoS攻擊(拒絕服務(wù)):攻擊者占用處理有效請求所需的計算資源或內(nèi)存資源,使得系統(tǒng)無法應(yīng)答正常的用戶請求。

2) R2L攻擊(遠(yuǎn)程到本地):攻擊者遠(yuǎn)程非授權(quán)接入系統(tǒng),使用有效用戶賬戶。

3) U2R攻擊(用戶到Root):攻擊者遠(yuǎn)程接入網(wǎng)絡(luò),并非法獲得超級用戶權(quán)限,使用有效用戶賬戶。

4) 探測攻擊:攻擊者試圖獲得計算機網(wǎng)絡(luò)相關(guān)信息。

表2給出了本文方法使用NSL-KDD數(shù)據(jù)集在場景1下的運行結(jié)果,可以看出,該方法成功完成了攻擊檢測。特別針對攻擊特征與正常業(yè)務(wù)非常相似的攻擊類型(識別難度較大),表3進一步給出了場景1下本文方法的運行情況。

表2 場景1攻擊的多項檢測結(jié)果

表3 場景1攻擊檢測的樣本情況

2.3.2場景2

場景2中,攻擊者使用的攻擊手段包括:

1) 滲透攻擊:攻擊者首先收集目標(biāo)相關(guān)信息,包括網(wǎng)絡(luò)IP段、服務(wù)器名等。通過使用網(wǎng)絡(luò)管理工具查詢資源記錄來實現(xiàn)[15]。

2) 暴力SSH攻擊:一種常見的網(wǎng)絡(luò)攻擊,窮舉弱用戶名和密碼組合完成賬戶入侵。該場景設(shè)計是對郵件服務(wù)器進行暴力攻擊以獲取SSH賬戶[15]。

3) 僵尸網(wǎng)絡(luò)攻擊:將上述行為合并為單個平臺,最終幫助平臺上的用戶執(zhí)行針對世界各地網(wǎng)絡(luò)的復(fù)雜攻擊。此類行為包括掃描、分布式拒絕服務(wù)(DDoS)活動等[15]。

本文方法使用ISCXIDS2012數(shù)據(jù)集在場景2的運行結(jié)果如表4所示,其中:正確報警率為86%,錯誤報警率為14%,虛警率小于等于5%,漏警率為3%,準(zhǔn)確率為83%,檢測率為73%,誤差率為27%。表5給出了本文方法與其他方法的比較結(jié)果??梢钥闯?,方法在所有三個重要標(biāo)準(zhǔn)中均顯著優(yōu)于其他方法。這主要因為ABC算法能夠避免局部最優(yōu)區(qū)域,選擇出最優(yōu)相關(guān)特征,從而實現(xiàn)性能改進。

表4 本文方法對場景2攻擊的檢測結(jié)果

表5 與其他方法的結(jié)果比較

2.4 靈敏度分析

表6給出了對于DR、Ac和FPR標(biāo)準(zhǔn),本文方法在每個特征子集中單獨實施的結(jié)果??梢姡瑓?shù)T的數(shù)量至少要在200以上調(diào)整。當(dāng)T=200時,DR和Ac會隨最大循環(huán)數(shù)的增加而上升,且FPR則會下降。同樣,當(dāng)maxcycle=10時,T增加會帶來性能提升。由于相關(guān)特征直接影響到分類準(zhǔn)確度,循環(huán)次數(shù)增加會提高選擇最合適的分類特征的概率,由此對攻擊檢測造成積極的影響。另一方面,由于XGBoost的設(shè)計能夠降低分類中的誤差,在迭代次數(shù)較高的水平上調(diào)整特征數(shù)也能得到較理想的結(jié)果。

表6 本文方法的靈敏度分析

為了分析NF的影響,以maxcycle=10,T=200運行程序,NF分別為25和50。得到25個解時,DR=98.81,Ac=93.67,F(xiàn)PR=0.093;在50個解時,DR=99.40,Ac=97.50,F(xiàn)PR=0.040。結(jié)果表明增加NF能夠提升性能。4個實驗下的分類誤差如圖5所示,其中最佳情況下分類誤差低于0.006(T=200,maxcycle=50)。

(a) T=500,maxcycle=10的情況

各方法的復(fù)雜度結(jié)果如表7所示??梢钥闯?,本文方法在攻擊檢測中表現(xiàn)出很高的效率。在選定的數(shù)據(jù)集上,本文方法能夠以適當(dāng)?shù)臅r間和空間復(fù)雜度有效檢測網(wǎng)絡(luò)異常,其ABC算法的適應(yīng)度函數(shù)在30次迭代即可達(dá)到收斂狀態(tài)。

表7 時間和空間復(fù)雜度結(jié)果

3 結(jié) 語

網(wǎng)絡(luò)流量數(shù)據(jù)集非常大且不平衡,會影響到IDS的性能,其不平衡性會造成傳統(tǒng)的數(shù)據(jù)挖掘算法無法正確檢測少數(shù)異常類,而少數(shù)實例類非常重要。因此本文針對不平衡數(shù)據(jù)采用了XGBoost算法,使本文方法能夠準(zhǔn)確地對不同攻擊類型進行分類。另一方面,ABC算法適用于優(yōu)化IDS問題,因此采用ABC算法進行特征選擇。在NSL-KDD和ISCXIDS2012數(shù)據(jù)集上執(zhí)行了仿真和評價。實驗結(jié)果表明,該方法在準(zhǔn)確度和檢測率方面的性能優(yōu)秀,強于傳統(tǒng)方法。

猜你喜歡
特征選擇攻擊者分類
基于貝葉斯博弈的防御資源調(diào)配模型研究
正面迎接批判
正面迎接批判
按需分類
教你一招:數(shù)的分類
說說分類那些事
基于智能優(yōu)化算法選擇特征的網(wǎng)絡(luò)入侵檢測
故障診斷中的數(shù)據(jù)建模與特征選擇
reliefF算法在數(shù)據(jù)發(fā)布隱私保護中的應(yīng)用研究
一種多特征融合的中文微博評價對象提取方法