周 躍
(安徽工業(yè)職業(yè)技術(shù)學(xué)院, 安徽 銅陵 244000)
入侵檢測(cè)是網(wǎng)絡(luò)運(yùn)行中為了保護(hù)內(nèi)部用戶信息、防止外部攻擊所采用的一種系統(tǒng)保護(hù)機(jī)制。入侵檢測(cè)機(jī)制包括入侵檢測(cè)技術(shù)和機(jī)器學(xué)習(xí)方法兩部分,入侵檢測(cè)技術(shù)需在機(jī)器學(xué)習(xí)的基礎(chǔ)上來(lái)實(shí)現(xiàn)[1-2]。無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè)需要具備較高的測(cè)算精準(zhǔn)度、較強(qiáng)的檢測(cè)穩(wěn)定性及較低的檢測(cè)誤差率等優(yōu)勢(shì)的算法模型來(lái)支撐。入侵檢測(cè)在模式匹配、規(guī)則匹配和協(xié)議分析的基礎(chǔ)上完成,其識(shí)別率和精準(zhǔn)度有待進(jìn)一步提高。象群算法是基于象群移動(dòng)特性而設(shè)計(jì)的一種群體智能優(yōu)化算法[3]。一個(gè)象群同時(shí)可分為好幾個(gè)氏族,每個(gè)氏族中都有一個(gè)女族長(zhǎng),每一代都有成年雄象因適應(yīng)性差而離開族群,因此族群會(huì)以族長(zhǎng)為中心進(jìn)行重新分類,進(jìn)而優(yōu)化族群位置結(jié)構(gòu)[4]。象群分析算法具有較高的收斂能力、識(shí)別能力及分離能力。本次研究中,將象群算法用于無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè),以進(jìn)一步優(yōu)化侵檢測(cè)技術(shù)。
象群優(yōu)化算法是基于象群同類相識(shí)的行動(dòng)原理來(lái)尋求系統(tǒng)最優(yōu)策略的算法,算法內(nèi)容包括氏族更新與氏族分離。在氏族更新的過(guò)程中,依據(jù)大象以女族長(zhǎng)為中心的原則進(jìn)行更新活動(dòng)。假設(shè),在n個(gè)種群中,每個(gè)氏族有j頭大象,女族長(zhǎng)標(biāo)記為ci,則象群更新后的位置模型如式(1)所示:
xnew,ci,j=xci,j+α·(xbest,ci-xci,j)·r
(1)
式中:xnew,ci,j—— 象群更新后的位置;
xbest,ci—— 女族長(zhǎng)適應(yīng)度最佳的位置;
α—— 象群個(gè)體因女族長(zhǎng)位置變化所受的影響,取值范圍為[0,1];
r—— 隨機(jī)數(shù),用來(lái)提高象群變化的多樣性,取值范圍為[0,1];
xci,j—— 象群位置;
xci—— 象群女族長(zhǎng)位置,象群會(huì)跟隨族長(zhǎng)一起移動(dòng)。
因?yàn)槭献逯锌赡芡瑫r(shí)存在多個(gè)女族長(zhǎng),而氏族的更新變化只能有一個(gè)中心,因此女族長(zhǎng)的位置受中心位置的約束。其模型如式(2)所示:
xnew,ci,j=β×xcenter,ci
(2)
式中:β—— 第2個(gè)算法參數(shù),取值范圍[0,1];
χcenter,ci—— 氏族中心位置;
d—— 空間轉(zhuǎn)移中的維度數(shù),它大于1并且小于所搜索空間的總維度;
nci—— 氏族中大象的總數(shù)。
經(jīng)過(guò)一定周期后,成年大象會(huì)離開原氏族重新建立新的氏族,從而擴(kuò)大象群搜索范圍。象群分離包括適應(yīng)度較差的大象個(gè)體與恒定數(shù)量的成年象的移動(dòng),其分離位置模型如式(3)所示:
xworst,ci=xmin+(xmax-xmin+1)·r
(3)
式中:xworst,ci—— 象群分離后所處的新位置。
xmin—— 分離象群的更新搜索范圍下限;
xmax—— 分離象群的更新搜索范圍上限。
傳統(tǒng)象群算法的不足是,無(wú)法適應(yīng)高維度計(jì)算數(shù)據(jù)集,容易陷入局部最優(yōu)困境[5-6]。為了提高算法的全局搜索能力和收斂速度,對(duì)傳統(tǒng)象群算法作了優(yōu)化,在其基礎(chǔ)上加入飛行及融合粒子策略。從以上分析可知,單個(gè)個(gè)體的運(yùn)行活動(dòng)受女族長(zhǎng)位置的影響。如果沒(méi)有約束條件,一旦女族長(zhǎng)受到局部最優(yōu)影響而提早陷入局部最優(yōu)困境,則受其影響的一部分群體便會(huì)隨之陷入局部最優(yōu)困境[7]。為了避免這種情況,在原位置更新公式的基礎(chǔ)上加入了飛行策略,優(yōu)化模型如式(4)所示:
xnew,ci,j=xci,j+Levy(λ)+α·
(xbest,ci-xci,j)·r
(4)
式中:Levy (λ) —— 萊維隨機(jī)數(shù),是一種短距搜索與偶爾長(zhǎng)距行走相間的模式,該模式服從參數(shù)λ的萊維分布。在一般情況下使用Mantegna算法模擬計(jì)算。
通過(guò)式(4)計(jì)算優(yōu)化結(jié)果,在象群個(gè)體短距離搜索的基礎(chǔ)上加入長(zhǎng)距離跳躍式搜索,通過(guò)拓寬個(gè)體行動(dòng)搜索范圍,使得個(gè)體擺脫局部最優(yōu)困境,增加象群位置更新的多樣性與最優(yōu)程度。為了降低象群替換適應(yīng)度較差個(gè)體的隨機(jī)性,在基本算法的基礎(chǔ)上加入了具有較高群居搜索能力和收斂速度的融合粒子算法。在每次替換計(jì)算時(shí)將個(gè)體象群粒子化,根據(jù)個(gè)體的適應(yīng)值來(lái)判斷是否進(jìn)行分離更新,以及是否對(duì)適應(yīng)度最差大象個(gè)體進(jìn)行更新優(yōu)化。其算法模型如式(5)所示:
(5)
式中:vi—— 粒子更新速度;
ω—— 慣性權(quán)重系數(shù);
t—— 時(shí)間;
c1、c2—— 加速常數(shù);
r1、r2—— 隨機(jī)數(shù),取值范圍為[0,1]。
根據(jù)式(5)所示最差個(gè)體大象最優(yōu)位置計(jì)算結(jié)果,在保留最優(yōu)值的基礎(chǔ)上判斷結(jié)果是否滿足迭代次數(shù)。若滿足迭代次數(shù),則不必進(jìn)行位置更新;反之,則對(duì)適應(yīng)度較差個(gè)體進(jìn)行位置更新,直到滿足迭代次數(shù)為止。
改進(jìn)后的象群算法,雖然實(shí)現(xiàn)了全局最優(yōu)及收斂速度提升的目標(biāo),但仍采用二進(jìn)制函數(shù)進(jìn)行運(yùn)算,只能處理連續(xù)性問(wèn)題。而入侵函數(shù)是一個(gè)特征選擇的二進(jìn)制組合問(wèn)題,因此,還需要在象群優(yōu)化的基礎(chǔ)上與Spark結(jié)合,對(duì)算法二進(jìn)制進(jìn)行編碼,從而縮短分類時(shí)間,提高檢測(cè)精度[8-9]。用sig函數(shù)進(jìn)行二進(jìn)制向量轉(zhuǎn)換,如式(6)所示:
(6)
式中:大象的位置都按照0或者1取值;δ表示飛行的象群位置差量,其差量值等于Levy(λ)⊕α·(xbest,ci-xci,j)·r。大象個(gè)體的二進(jìn)制函數(shù)則如式(7)所示:
(7)
對(duì)于第j頭大象的第d個(gè)維度,都會(huì)產(chǎn)生一個(gè)相對(duì)應(yīng)的位置更新差量,將差量δ映射到[0,1]值域上。通過(guò)差量的映射結(jié)果來(lái)判斷第j頭大象第d個(gè)維度對(duì)應(yīng)值是0或者1的概率,據(jù)此選擇二進(jìn)制特征。
基于Spark的二進(jìn)制特征選擇流程如圖1所示。首先,隨機(jī)設(shè)定大象個(gè)體初始位置,進(jìn)行最優(yōu)特征子集搜索。若找到最優(yōu)子集,就停止搜索,輸出最優(yōu)結(jié)果;反之,則進(jìn)行位置更新,建立新的搜索范圍(即新的象群結(jié)構(gòu)),重復(fù)搜索動(dòng)作,直到找到最優(yōu)特征子集并輸出結(jié)果為止。在搜索過(guò)程中,給定搜索空間,降低搜索維度,可提高搜索效率;給定適應(yīng)度函數(shù),提供判斷子集優(yōu)劣指標(biāo),可提高搜索結(jié)果的正確率。
圖1 基于Spark的二進(jìn)制特征選擇流程
SVM函數(shù)實(shí)質(zhì)上是一個(gè)分類問(wèn)題。前述改進(jìn)后的象群算法模型及其參數(shù)的選擇也較為簡(jiǎn)單,而具體參數(shù)的選擇會(huì)直接影響分類能力及分類結(jié)果的精準(zhǔn)度[10]。因此,在參數(shù)選擇方面結(jié)合SVM參數(shù),以象群位置作為函數(shù)參數(shù)和自身參數(shù),用入侵的精準(zhǔn)度作為適應(yīng)度函數(shù),以提高入侵檢測(cè)的精準(zhǔn)度,降低誤報(bào)率。設(shè)SVM訓(xùn)練樣本集為S,且S={(xi,yi),i=1,2,…,r},xi∈Rd,yi∈{-1,+1},那么加入SVM分類函數(shù),則有:
(8)
式中:ai—— 支持向量樣本,不能取0;
b—— 偏移向量,它可以在支持選定之后,通過(guò)約束條件求得。
在線性部分可分的情況下,支持向量機(jī)將最優(yōu)分類面約束優(yōu)化為式(9):
yi[w·xi+b]-1+ζ≥0,i=1,2,…,n
(9)
在式(9)所示約束條件下,目標(biāo)函數(shù)如式(10)所示:
s.t.y[w·xi+b]-1+ζi≥0,
(10)
i=1,2,…,r,ζ≥0
式中:C—— SVM函數(shù)的自身參數(shù),大于0,它控制了求解過(guò)程中對(duì)錯(cuò)劃分的懲罰力度;
w—— 平面向量;
ζi—— 松弛變量,ζi=max(0,1-yi(w·xi+b))。
基于SVM函數(shù)的象群算法優(yōu)化流程如圖2所示。在引入SVM函數(shù)之后,整個(gè)網(wǎng)絡(luò)入侵檢測(cè)模型可分為4個(gè)模塊,分別是數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、參數(shù)優(yōu)化及分類模型。數(shù)據(jù)獲取模塊的任務(wù)是,建立測(cè)試集,通過(guò)對(duì)系統(tǒng)或者網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行打包而形成檢測(cè)初始數(shù)據(jù)訓(xùn)練樣本集;數(shù)據(jù)預(yù)處理模塊的任務(wù)是,對(duì)數(shù)據(jù)集進(jìn)行歸一化、數(shù)值化和降維處理;參數(shù)優(yōu)化模塊的任務(wù)是,根據(jù)已經(jīng)建立的SVM函數(shù)對(duì)最優(yōu)參數(shù)進(jìn)行判斷;分類模型模塊的任務(wù)是,建立SVM分類模型,通過(guò)分類處理得到預(yù)測(cè)函數(shù),進(jìn)而建立入侵函數(shù),完成入侵檢測(cè)預(yù)測(cè)模型的建構(gòu)。
圖2 EHO-SVM入侵檢測(cè)模型結(jié)構(gòu)圖
為了驗(yàn)證算法建構(gòu)的合理性,分別選用2個(gè)單峰值函數(shù)和2個(gè)多峰值函數(shù)對(duì)改進(jìn)前后的適應(yīng)度進(jìn)行測(cè)試,測(cè)試結(jié)果如圖3所示。 其中,a、b圖分別為改進(jìn)前后象群算法在單峰值Schwefel 2.22和SumSquare測(cè)試函數(shù)下的實(shí)驗(yàn)結(jié)果,c、d圖分別為改進(jìn)前后象群算法在多峰值Griewank和Schaffer測(cè)試函數(shù)下的實(shí)驗(yàn)結(jié)果。
圖3 單峰值與多峰值函數(shù)適應(yīng)度收斂曲線
從其曲線變化可以看出,無(wú)論在單峰值還是多峰值條件下,改進(jìn)后的象群算法都表現(xiàn)出較為穩(wěn)定的迭代能力,且平均值和平均最優(yōu)值比之前的基礎(chǔ)函數(shù)更佳。這表明改進(jìn)后象群算法的收斂速度和全局最優(yōu)性能均較高,在入侵求解最優(yōu)問(wèn)題上具有更好的適應(yīng)能力。
為了驗(yàn)證特征選擇向量模型建構(gòu)的合理性,以30個(gè)種群數(shù)為標(biāo)準(zhǔn),進(jìn)行50次迭代,對(duì)PSO、MFO及改進(jìn)前后的EHO模型進(jìn)行給定訓(xùn)練集驗(yàn)證。各算法在不同數(shù)據(jù)集中的適應(yīng)度收斂對(duì)比結(jié)果如圖4所示。
圖4 不同數(shù)據(jù)集的適應(yīng)度收斂曲線
在各數(shù)據(jù)集中,改進(jìn)后的象群算法均具有較穩(wěn)定的適應(yīng)度,而且可以較好地規(guī)避局部最優(yōu)困境,避免由于過(guò)早局部最優(yōu)導(dǎo)致的算法缺陷。這表明改進(jìn)后的象群算法在入侵檢測(cè)數(shù)據(jù)集中的訓(xùn)練情況良好。
為了驗(yàn)證分類模型建構(gòu)的合理性,選用大小不同的數(shù)據(jù)集對(duì)4種算法進(jìn)行分類效果對(duì)比檢測(cè),結(jié)果如圖5所示。 用于不同大小的數(shù)據(jù)集時(shí),改進(jìn)后的象群算法適應(yīng)度均較高,在保證分類性能的同時(shí)避免了陷入過(guò)早最優(yōu)化困境,且在分類結(jié)果的后期階段還表現(xiàn)出自我學(xué)習(xí)的優(yōu)化更新現(xiàn)象。這表明分類模型的建立能夠在有效范圍內(nèi)完成無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè)。
圖5 各算法對(duì)不同大小入侵檢測(cè)數(shù)據(jù)集的分類效果
在無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè)分別完成算法優(yōu)化、特征選擇、參數(shù)優(yōu)化、入侵檢測(cè)模型建構(gòu)之后,對(duì)無(wú)線傳感網(wǎng)絡(luò)的檢測(cè)精準(zhǔn)度和誤報(bào)率進(jìn)行效果評(píng)測(cè),結(jié)果如圖6所示。
圖6 4種算法平均入侵檢測(cè)的精準(zhǔn)度和誤報(bào)率
可以看出,改進(jìn)后的象群算法在Normal、Dos、Probe、R2L、U2R等5種攻擊下的檢測(cè)值都高于PSO、MFO及改進(jìn)前的EHO算法。相較于改進(jìn)之前的象群算法,其精準(zhǔn)度分別提高了4.25%、5.66%、7.54%、6.75%和3.54%,平均精準(zhǔn)度提高了5.548%左右。這表明在相同條件下,改進(jìn)之后的象群算法能夠更加有效地提高無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè)的精準(zhǔn)度,實(shí)現(xiàn)入侵?jǐn)r截。
改進(jìn)之后的象群算法誤報(bào)率顯著低于其他幾種算法。相較于改進(jìn)前的象群算法,平均誤報(bào)率分別降低了3.74%、3.72%、3.78%、1.91%、2.22%,平均誤報(bào)率降低了3.047%左右。這表明改進(jìn)后的象群算法在準(zhǔn)確實(shí)現(xiàn)攔截的同時(shí),還可保證攔截信息的準(zhǔn)確性,并降低誤報(bào)率。
改進(jìn)前的象群算法參數(shù)簡(jiǎn)單、女族長(zhǎng)隨機(jī)性較高、個(gè)體搜索范圍較窄,導(dǎo)致其算法偶然性較高。入侵模型的穩(wěn)定性與檢測(cè)效率將直接關(guān)系到網(wǎng)絡(luò)運(yùn)行系統(tǒng)的安全性。因此,在相同條件下,將算法獨(dú)立運(yùn)行5次,對(duì)比其在Dos、Probe、R2L、U2R 這4種攻擊形式下的精準(zhǔn)度,以檢測(cè)改進(jìn)后象群算法的穩(wěn)定性及運(yùn)行效率。評(píng)測(cè)結(jié)果如圖7所示。
圖7 不同算法獨(dú)立運(yùn)行5次的精準(zhǔn)度對(duì)比
在4種攻擊形式下,改進(jìn)后象群算法的精準(zhǔn)度高于其他算法,且精準(zhǔn)度預(yù)測(cè)曲線在迭代次數(shù)增加的同時(shí)仍然保持了較高的穩(wěn)定性。這表明,改進(jìn)后的象群算法不僅能夠很好地進(jìn)行入侵檢測(cè),而且還能夠保持監(jiān)測(cè)的穩(wěn)定性及收斂效率。
無(wú)線傳感網(wǎng)絡(luò)入侵檢測(cè)在保護(hù)內(nèi)部用戶信息、防止外部入侵、維護(hù)網(wǎng)絡(luò)安全方面具有重要意義。本次研究是在傳統(tǒng)象群算法的基礎(chǔ)上,實(shí)現(xiàn)了算法、特征選擇及入侵技術(shù)參數(shù)的優(yōu)化設(shè)計(jì),建立了新型象群算法模型。算法性能評(píng)測(cè)結(jié)果顯示,改進(jìn)后的象群算法在Normal、Dos、Probe、R2L、U2R5攻擊形式下,其入侵檢測(cè)精準(zhǔn)度分別提高了4.25%、5.66%、7.54%、6.75%和3.54%,誤差率分別降低3.74%、3.72%、3.78%、191%、2.22%。經(jīng)過(guò)5次迭代測(cè)評(píng),其入侵檢測(cè)穩(wěn)定性和檢測(cè)效率都遠(yuǎn)高于基礎(chǔ)象群算法,模型評(píng)測(cè)結(jié)果較優(yōu)。不足之處是建構(gòu)參數(shù)選用較少,在SVM函數(shù)的參數(shù)選擇方面有待進(jìn)一步優(yōu)化設(shè)計(jì),以提高模型的穩(wěn)定性。