張新英,李 彬,吳媛媛
(1.鄭州經(jīng)貿(mào)學(xué)院 智慧制造學(xué)院,河南 鄭州 451191;2.中原工學(xué)院 機(jī)電學(xué)院,河南 鄭州 451191)
移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展使得移動(dòng)端軟件數(shù)量高速增長(zhǎng)。移動(dòng)端操作系統(tǒng)也因良好的用戶體驗(yàn)占據(jù)了基本所有移動(dòng)端OS市場(chǎng)[1]。但由于像鴻蒙、安卓等系統(tǒng)具有開放性,使得惡意軟件與日俱增,給移動(dòng)網(wǎng)絡(luò)用戶帶來了嚴(yán)重的網(wǎng)絡(luò)安全問題。通過移動(dòng)網(wǎng)絡(luò)流量分析建立精準(zhǔn)惡意軟件檢測(cè)模型對(duì)于建立安全網(wǎng)絡(luò)使用環(huán)境將具有重要作用。惡意軟件檢測(cè)主要包括靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)方法。前者[2-4]以反編譯方式獲取靜態(tài)特征,進(jìn)而構(gòu)建分類模型。然而,靜態(tài)方法的軟件特征選取的相關(guān)性不足,分類精度低。后者[5-7]利用特征分析獲取軟件序列特征及相關(guān)環(huán)境變量,并以此對(duì)惡意軟件分類。然而,該方法在最優(yōu)特征選擇和惡意功能準(zhǔn)確識(shí)別上存在困難。
近年來,群體智能優(yōu)化算法因?yàn)榫哂辛己玫碾S機(jī)搜索性能,通過綜合考慮多特征組合對(duì)分類模型性能的影響,已廣泛地應(yīng)用于特征選擇的求解。如文獻(xiàn)[8]通過融合粒子群算法和外觀比間隔算法在安卓環(huán)境設(shè)計(jì)了針對(duì)惡意軟件的特征選擇策略,有效減少了冗余特征。文獻(xiàn)[9]結(jié)合EGA算法進(jìn)行特征選擇,學(xué)習(xí)模型的精度得到了提高,最優(yōu)特征子集也實(shí)現(xiàn)了降維。將智能優(yōu)化算法、特征選擇及分類模型綜合考慮,可以進(jìn)一步提高分類精度。如文獻(xiàn)[10]結(jié)合STOA和GA算法選擇最優(yōu)特征子集,提升了模型分類精度。文獻(xiàn)[11]利用GOA算法優(yōu)化封閉式特征選擇,并同步搜索分類模型的關(guān)鍵參數(shù),特征子集相關(guān)性更高,但由于GOA本身全局搜索能力差,分類精度還待提升。
哈里斯鷹優(yōu)化算法HHO[12]是一種新的智能優(yōu)化算法,其原理簡(jiǎn)單、參數(shù)少、全局搜索能力強(qiáng),已在圖像識(shí)別[13]、機(jī)器學(xué)習(xí)[14]、電力控制[15]、TDOA定位[16]等方面得到了有效驗(yàn)證。但HHO依然存在全局尋優(yōu)精度差、收斂速度慢的不足。本文提出一種基于改進(jìn)HHO優(yōu)化特征選擇與SVM的惡意軟件檢測(cè)模型,通過多種策略對(duì)HHO進(jìn)行綜合尋優(yōu)性能改進(jìn),利用改進(jìn)算法優(yōu)化SVM學(xué)習(xí)模型,對(duì)特征子集和SVM參數(shù)調(diào)整同步優(yōu)化。結(jié)合網(wǎng)絡(luò)流量數(shù)據(jù)特征構(gòu)建包含正常和惡意特征的軟件數(shù)據(jù)集,構(gòu)建分類模型。并通過實(shí)驗(yàn)測(cè)試驗(yàn)證改進(jìn)模型達(dá)到了預(yù)期效果,能夠提升惡意軟件檢測(cè)模型的分類能力。
哈里斯鷹優(yōu)化算法HHO是一種啟發(fā)于美國(guó)亞利桑那州南部猛禽協(xié)作捕食行為的元啟發(fā)式算法,該物種可以通過追蹤、圍捕、攻擊對(duì)獵物進(jìn)行高效協(xié)作捕食。HHO算法由全局搜索和局部開發(fā)兩個(gè)階段組成,并通過獵物逃逸的能量因子E采取不同的搜索行為,該因子定義為
E=2E0(1-t/Tmax)
(1)
其中,E0=2rand(0,1)-1表示能量初始狀態(tài),該狀態(tài)在(-1,1)間隨機(jī)變化,t、Tmax分指當(dāng)前迭代和最大迭代。
|E|≥1時(shí),算法進(jìn)入全局搜索階段,哈里斯鷹會(huì)根據(jù)獵物的位置和其它個(gè)體的位置隨機(jī)選擇棲息點(diǎn),并通過兩種等概率策略搜索目標(biāo)獵物,數(shù)學(xué)模型如下
X(t+1)=
(2)
(3)
其中,N為種群規(guī)模,X(t+1)、X(t) 分別為個(gè)體的新位置和原位置,Xrand(t)、Xrabbit(t) 分指隨機(jī)個(gè)體和搜索目標(biāo)個(gè)體,q、r1~r4為[0,1]隨機(jī)值,[lb,ub]為搜索邊界,Xm(t) 為種群位置均值。
|E|<1時(shí),算法進(jìn)入局部開發(fā)階段,獵物會(huì)試圖逃逸,哈里斯鷹會(huì)以突襲的方式攻擊獵物。HHO算法采用4種策略模擬這種捕食行為,4種策略分別為軟包圍、硬包圍、漸近快速俯沖式軟包圍和漸近快速俯沖式硬包圍。HHO算法根據(jù)能量因子E和逃脫概率λ決定采用哪種策略。
(1)軟包圍。 |E|≥0.5且λ≥0.5, 獵物擁有能量逃脫包圍,個(gè)體會(huì)以包圍方式消耗獵物的能量,使獵物精疲力盡,并完成獵物捕食。數(shù)學(xué)模型如下
(4)
其中,ΔX(t) 為獵物與個(gè)體的間距,J為獵物跳躍距離,r5為(0,1)間隨機(jī)量。
(2)硬包圍。 |E|<0.5且λ≥0.5,表明獵物逃逸能量不足,種群將以圍捕方式向獵物發(fā)出突擊突襲。數(shù)學(xué)模型如下
X(t+1)=Xrabbit(t)-E|ΔX(t)|
(5)
(3)漸近快速俯沖軟包圍。 |E|≥0.5且λ<0.5,表明獵物有逃脫能量,此時(shí)種群會(huì)建立軟包圍對(duì)獵物進(jìn)行圍捕。數(shù)學(xué)模型如下
X(t+1)=
(6)
其中,D為維度,S為行向量,LF為L(zhǎng)evy飛行算子。
(4)漸近快速俯沖硬包圍。 |E|<0.5且λ<0.5,表明獵物擁有較少的能量,此時(shí)種群會(huì)建立硬包圍對(duì)獵物圍捕。數(shù)學(xué)模型如下
X(t+1)=
(7)
智能算法的搜索過程起始于初始種群的分布,若初始種群的分布較好,在搜索區(qū)域內(nèi)的均勻性、多樣性得到了保證,無疑可以加快算法搜索到最優(yōu)解。標(biāo)準(zhǔn)HHO算法在初始種群生成方面采用了隨機(jī)生成機(jī)制,這樣可以保證智能算法搜索的隨機(jī)性,但無法保證較高的初始種群質(zhì)量,進(jìn)而降低算法搜索效率。在優(yōu)化領(lǐng)域內(nèi),混沌映射是一種比隨機(jī)數(shù)生成器更有效的方法,它不僅具備隨機(jī)性,而且規(guī)律性及對(duì)空間搜索的遍歷性要強(qiáng)于隨機(jī)數(shù)。目前常用的混沌映射方式有多種,研究表明,Bernouilli shift混沌映射、Tent混沌映射相比較于Sine、Logistic以及ICMIC等混沌映射具有更高的搜索效率。設(shè)置最大迭代次數(shù)Tmax=10 000,筆者對(duì)Bernouilli shift、Tent、Logisitc和Sine這4種混沌映射取值頻次進(jìn)行了實(shí)驗(yàn),圖1是取值頻次的分布直方圖。從結(jié)果來看,Bernouilli shift、Tent兩種混沌映射的混沌取值均勻性明顯優(yōu)于Logisitc和Sine,后面兩者在[0,1]的邊界區(qū)域取值頻次明顯高于中間區(qū)域,說明算法在邊界區(qū)域的搜索密度過高,而中間區(qū)域則搜索不足,種群個(gè)體分布的多樣性不平衡。前面兩者的取值頻次更加均勻,保證所有搜索區(qū)域內(nèi)個(gè)體的均勻分布,提高了接近最優(yōu)解的概率。
圖1 不同混沌映射的取值頻次
基于以上分析,本文將采用Bernouilli shift混沌映射機(jī)制來生成改進(jìn)HHO算法的初始種群。Bernouilli shift混沌映射公式為
(8)
其中,δ為混沌參數(shù),當(dāng)δ∈(0,0.5)∪(0.5,0.8) 時(shí),式(8)處于混沌狀態(tài)。
生成Bernouilli shift混沌值后,混沌值與種群搜索空間的映射規(guī)則為
X(t)=lb+Z(t)×(ub-lb)
(9)
其中,[lb,ub] 為個(gè)體搜索邊界,Z(t) 為第t次迭代生成的Bernouilli shift混沌值。
根據(jù)HHO算法的搜索機(jī)制可知,參數(shù)E是實(shí)現(xiàn)HHO算法進(jìn)行全局搜索或局部開發(fā)的控制參數(shù),搜索能力和開發(fā)能力也是智能算法搜索最優(yōu)解的主要指標(biāo)。根據(jù)參數(shù)E的定義式(1),其值呈線性遞減規(guī)律,表明迭代前期E值較大,偏向全局搜索,然后線性遞減,逐步轉(zhuǎn)向局部開發(fā)。但這種線性模式無法真實(shí)反映自然種群對(duì)搜索目標(biāo)的多輪次搜捕,無法將算法效率提升到最大。針對(duì)這一問題,改進(jìn)HHO算法將能量因子E設(shè)計(jì)為非線性更新模式,并引入余弦函數(shù)將其改進(jìn)為周期性的更新模式,以描述種群對(duì)目標(biāo)的多輪次搜捕特征,具體為
(10)
其中,參數(shù)k用于控制能量因子的遞減周期數(shù)。根據(jù)式(10),種群將實(shí)現(xiàn)多輪次全局搜索與局部開采,并依據(jù)概率靠近并捕食目標(biāo)獵物。
能量因子E同時(shí)決定了獵物逃逸的跳躍距離J,為了避免HHO算法中跳躍的隨機(jī)性,將J設(shè)置為E的函數(shù)形式,以指導(dǎo)獵物的跳躍距離,具體為
(11)
根據(jù)式(11)可知:能量因子與跳躍距離呈現(xiàn)一致變化。若獵物能量充足,則逃逸距離更遠(yuǎn);若獵物能量耗盡,則幾乎只能停留在原地。
在HHO算法的迭代晚期,種群個(gè)體逐步趨近于種群最優(yōu)解,容易導(dǎo)致多樣性缺失,搜索陷入局部最優(yōu)。為此,改進(jìn)算法將設(shè)計(jì)一種針對(duì)最優(yōu)解的動(dòng)態(tài)變異擾動(dòng)機(jī)制,引入兩種變異算子,以動(dòng)態(tài)選擇概率決定具體變異方式,以此實(shí)現(xiàn)對(duì)最優(yōu)解的擾動(dòng),提高個(gè)體多樣性和算法跳離局部極值的概率。
(1)隨機(jī)游走變異
該機(jī)制表明個(gè)體將以隨機(jī)游走的方式搜索食物源,并更新個(gè)體位置。隨機(jī)游走公式為
X(t)=[0,cumsum(2r(t1)-1),…,cumsum(2r(tn)-1)]
(12)
其中,X(t) 為隨機(jī)游走步數(shù),cumsum為累加和函數(shù),n為最大迭代次數(shù),函數(shù)r(t) 定義為
(13)
根據(jù)隨機(jī)游走原理可知,個(gè)體在所有維度上都以隨機(jī)游走更新個(gè)體位置。同時(shí),由于搜索空間存在可行域邊界,為了確保種群個(gè)體在可行域內(nèi)進(jìn)行隨機(jī)游走,算法將利用式(14)對(duì)最優(yōu)解對(duì)應(yīng)的位置進(jìn)行歸一化處理
(14)
其中,歸一化處理的Xbest(t) 即為最優(yōu)解進(jìn)行隨機(jī)游走變異的新位置,參數(shù)中,maxi、mini對(duì)應(yīng)個(gè)體維度i進(jìn)行隨機(jī)游走的最大值與最小值,maxi(t)、 mini(t) 對(duì)應(yīng)第t次迭代時(shí)個(gè)體維度i的最大值與最小值。由隨機(jī)游走方式可知,迭代前期,隨機(jī)游走邊界更大,利于算法充分地全局搜索;迭代后期,游走邊界收窄,利于算法可以做更充分的精細(xì)開發(fā)。
(2)柯西-t變異
柯西分布特征是:兩端具有較長(zhǎng)尾翼,分布密度小,分布較長(zhǎng);而在分布原點(diǎn)處概率密度大、分布緊湊。這種分布可以對(duì)個(gè)體進(jìn)行強(qiáng)烈的擾動(dòng),增加算法脫離局部最優(yōu)的概率。而t-分布在自由度較低時(shí)與柯西分布相似,自由度較高又與高斯分布相似,前者擾動(dòng)能力更強(qiáng),后者則局部開發(fā)能力更佳。結(jié)合柯西分布和t-分布構(gòu)造柯西-t變異算子,定義為
Xbest(t+1)=Xbest(t)[λ1·cauchy(0,1)+1]+λ2·t(Tmax)
(15)
其中,Xbest(t)、Xbest(t+1) 分別對(duì)應(yīng)于原始最優(yōu)解和變異后的最優(yōu)解,cauchy(0,1) 為柯西算子,t(Tmax) 為以Tmax為自由度的t分布算子,λ1、λ2分別表示棲西分布和t-分布的自適應(yīng)權(quán)重系數(shù),用于調(diào)整兩種變異算子對(duì)最優(yōu)解的擾動(dòng)程度,定義為
(16)
根據(jù)式(16)可知,迭代早期,λ1取值較大,此時(shí)柯西算子對(duì)最優(yōu)解的擾動(dòng)程度更大,利于廣泛區(qū)域內(nèi)對(duì)最優(yōu)解進(jìn)行擾動(dòng),算法全局搜索能力更強(qiáng)。而隨著迭代進(jìn)行,晚期時(shí)λ2取值變大,此時(shí)t-分布算子占據(jù)更大比例,利于算法在局部區(qū)域內(nèi)的精細(xì)開采,加快算法收斂。
為了在兩種變異算子間作出動(dòng)態(tài)切換,引入一種動(dòng)態(tài)選擇概率對(duì)變異方式進(jìn)行決策,以動(dòng)態(tài)概率針對(duì)最優(yōu)解進(jìn)行交替擾動(dòng),提高擾動(dòng)隨機(jī)性和跳離局部極值的概率。將動(dòng)態(tài)選擇概率定義為
P=-exp(1-t/Tmax)10+0.05
(17)
變異擾動(dòng)的具體過程為:若隨機(jī)值≤P,選擇隨機(jī)游走變異機(jī)制,即式(12)、式(13)、式(14)對(duì)最優(yōu)解進(jìn)行擾動(dòng);若隨機(jī)值>P,則選擇柯西-t變異機(jī)制,即式(15)對(duì)最優(yōu)解進(jìn)行擾動(dòng)。
HHO算法在搜索過程中隨機(jī)因素影響較大,搜索方向具有一定盲目性,這會(huì)降低算法搜索精度和收斂速度。為此,MHHO引入互利共生改進(jìn)種群搜索機(jī)制。令Xi、Xj為兩個(gè)可以交互生存的共生個(gè)體,共生交互的位置更新為
(18)
RMV=(Xi+Xj)/2
(19)
其中,bf1、bf2∈{1,2} 為利益因子,Xbest為最優(yōu)解,RMV為兩個(gè)個(gè)體的交互關(guān)系。
將當(dāng)前個(gè)體與選擇的隨機(jī)個(gè)體進(jìn)行共生交互,以此改進(jìn)MHHO的全局搜索能力,并融入慣性權(quán)重機(jī)制調(diào)整種群的共生交互程度,由此得到新的位置更新為
X(t+1)=
(20)
RMV=(X(t)+Xrand(t))/2
(21)
(22)
其中,Xrand(t) 為迭代t時(shí)選擇的隨機(jī)個(gè)體,Xm(t) 為迭代t時(shí)的種群平均位置,慣性權(quán)重w定義為
w(t)=wmin+(wmax-wmin)·exp(-(2t/Tmax)3)
(23)
其中,[wmin,wmax] 為慣性權(quán)重變化區(qū)間。
步驟1 參數(shù)初始化,包括種群規(guī)模、迭代次數(shù)、混沌因子、能量因子遞減周期數(shù)、慣性權(quán)重最值等;基于混沌Bernouilli shift映射機(jī)制初始化MHHO算法的種群結(jié)構(gòu);
步驟2 計(jì)算個(gè)體適應(yīng)度,更新算法參數(shù)E、J;
步驟3 若 |E|≥1, 實(shí)施算法全局搜索,按式(2)更新位置;
步驟4 否則,實(shí)施算法局部開發(fā);若 |E|≥0.5且λ≥0.5, 按式(4)更新位置;若 |E|<0.5且λ≥0.5, 按式(5)更新位置;若 |E|≥0.5且λ<0.5, 按式(6)更新位置;若 |E|<0.5且λ<0.5,按式(7)更新位置;
步驟5 以最優(yōu)解實(shí)施混合變異,具體地:若隨機(jī)值≤P,選擇隨機(jī)游走變異機(jī)制,即式(12)、式(13)、式(14)對(duì)最優(yōu)解進(jìn)行擾動(dòng);若隨機(jī)值>P,則選擇柯西-t變異機(jī)制,即式(15)對(duì)最優(yōu)解進(jìn)行擾動(dòng);
步驟6 運(yùn)行互利共生策略,按式(20)對(duì)解進(jìn)行重新更新;
步驟7 更新全局最優(yōu)解及其適應(yīng)度;
步驟8 若達(dá)到算法終止條件,則輸出全局最優(yōu)解;否則,跳轉(zhuǎn)步驟2繼續(xù)執(zhí)行。
利用6個(gè)基準(zhǔn)函數(shù)對(duì)算法的尋優(yōu)性能進(jìn)行測(cè)試,函數(shù)說明見表1。MHHO算法中,設(shè)置N=20,Tmax=400,比例系數(shù)α=0.99、β=0.01,能量遞減參數(shù)k=4,慣性權(quán)重最值為wmin=0.4,wmax=0.9,混沌參數(shù)δ=0.4。引入標(biāo)準(zhǔn)HHO算法[12]、樽海鞘群算法SSA[18]和改進(jìn)哈里斯鷹優(yōu)化算法CEHHO[19]進(jìn)行實(shí)驗(yàn)對(duì)比分析。同類型測(cè)試可以擴(kuò)展到其它基準(zhǔn)函數(shù)和CEC2014數(shù)據(jù)集上進(jìn)行。
表1 基準(zhǔn)函數(shù)說明
表2是4種算法在目標(biāo)函數(shù)平均精度和標(biāo)準(zhǔn)差兩個(gè)指標(biāo)上的統(tǒng)計(jì)結(jié)果。可以看出,MHHO算法可以在所有測(cè)試數(shù)據(jù)找到最優(yōu)解,表明MHHO尋優(yōu)能力更強(qiáng),且在單峰、多峰目標(biāo)函數(shù)上仍然擁有較為穩(wěn)定的尋優(yōu)能力。CEHHO算法引入精英對(duì)立學(xué)習(xí)和新型局部搜索機(jī)制,提升了HHO算法的搜索能力,但其收斂速度較慢,復(fù)雜個(gè)體選優(yōu)機(jī)制也提高了算法的復(fù)雜性。但該算法相比標(biāo)準(zhǔn)HHO和SSA算法在部分函數(shù)測(cè)試上還是得到了最優(yōu)解。圖2是4種算法的收斂曲線。從曲線的墜落程度看,MHHO算法在不同類型的基準(zhǔn)函數(shù)上可以以更少的迭代次數(shù)找到精度更高、更接近于最優(yōu)解的候選解,其尋優(yōu)速度和收斂速度都明顯優(yōu)于3種對(duì)比算法。HHO算法和SSA算法的收斂曲線都快速地進(jìn)入到較平緩的階段,說明算法進(jìn)入了早熟收斂,尋得的是局部最優(yōu)解,且無法跳離。CEHHO算法相比這兩種算法能夠通過尋優(yōu)手段的改進(jìn)拓展到新的搜索區(qū)域,從而提高了算法的尋優(yōu)精度??傮w來看,本文的MHHO算法通過引入混沌映射、能量因子非線性調(diào)整、變異擾動(dòng)和互利共生機(jī)制對(duì)HHO算法的綜合性能改進(jìn)能夠增強(qiáng)算法的全局尋優(yōu)能力和求解精度,實(shí)現(xiàn)了對(duì)算法搜索能力的提升。
表2 對(duì)比結(jié)果
圖2 算法的尋優(yōu)曲線
網(wǎng)絡(luò)流量動(dòng)態(tài)檢測(cè)可以捕獲信息流,從而獲取代碼的統(tǒng)計(jì)特征。這種能夠通過大數(shù)據(jù)分析技術(shù)構(gòu)建更完善的特征庫(kù),最終的分類模型準(zhǔn)確度和惡意軟件檢測(cè)模型更具優(yōu)勢(shì)。然而,龐大的數(shù)據(jù)量和特征維度環(huán)境下,維數(shù)災(zāi)難是必須解決的問題。因此,特征選擇將是針對(duì)數(shù)據(jù)預(yù)處理的必要步驟。特征選擇的目標(biāo)刪除不相關(guān)和冗余特征,降低模型計(jì)算開銷,生成最優(yōu)特征子集以提升分類器學(xué)習(xí)效率。智能優(yōu)化算法結(jié)合封裝式特征選擇,雖然在分類性能上具有一定優(yōu)勢(shì),但優(yōu)化機(jī)制繁瑣,預(yù)設(shè)參數(shù)對(duì)模型敏感性高。MHHO對(duì)算法的求解精度和收斂效率進(jìn)行了優(yōu)化,模型精度更高,更加適應(yīng)于解決惡意軟件檢測(cè)這類實(shí)際問題。
利用MHHO算法進(jìn)行特征選擇,是為了剔除惡意軟件數(shù)據(jù)集中的冗余特征和相關(guān)性較差的特征,實(shí)現(xiàn)特征降維從而提高分類效率。此時(shí),MHHO算法解決的是一種離散優(yōu)化問題,為了尋找最佳的特征子集,MHHO算法以二進(jìn)制字符串的形式對(duì)種群個(gè)體位置進(jìn)行編碼,以表示特征選擇的一個(gè)候選解。即:若某個(gè)特征被選擇,則將其位置編碼為“1”,否則其位置編碼為“0”。相應(yīng)解碼時(shí),通過收集位置上為1的特征數(shù)是即可得到最佳特征子集。
以支持向量機(jī)SVM構(gòu)建數(shù)據(jù)集的分類模型,懲罰因子C和核函數(shù)參數(shù)g起著決定性作用。C用于描述分類結(jié)果對(duì)誤差的容忍程度,C值過高容易帶來數(shù)據(jù)過擬合,模型泛化能力降低;但C值過低又會(huì)帶來分類誤差增大,數(shù)據(jù)欠擬合甚至樣本錯(cuò)分。而g則控制著數(shù)據(jù)映射至高維空間時(shí)的分布狀況,即控制核函數(shù)徑向作用范圍,g值過高會(huì)導(dǎo)致模型復(fù)雜度趨近無窮,產(chǎn)生嚴(yán)重過擬合;而g值過小會(huì)使得數(shù)據(jù)線性可分割程度隨之降低。
結(jié)合學(xué)習(xí)模型及特征選擇進(jìn)行數(shù)據(jù)分類,傳統(tǒng)方法是以所有原始特征訓(xùn)練模型,再作參數(shù)調(diào)優(yōu),再作特征選擇。該方法容易導(dǎo)致模型訓(xùn)練所用的關(guān)鍵特征被忽略,降低訓(xùn)練精度。而先作特征選擇,再作模型參數(shù)調(diào)優(yōu),則訓(xùn)練過程涉及二次尋優(yōu),極大降低計(jì)算效率。結(jié)合兩種方法的優(yōu)勢(shì)和不足,改進(jìn)模型利用MHHO算法對(duì)SVM關(guān)鍵參數(shù)和特征選擇進(jìn)行同步優(yōu)化,將種群個(gè)體編碼為兩部分:關(guān)鍵參數(shù)C、g和特征選擇二進(jìn)制數(shù)字串。因此,種群個(gè)體編碼方式可表示為圖3。
其中,原始數(shù)據(jù)集的特征量為n。
MHHO算法搜索最優(yōu)解,主要以適應(yīng)度函數(shù)評(píng)估個(gè)體位置優(yōu)劣。結(jié)合特征選擇為多目標(biāo)優(yōu)化問題的屬性,適應(yīng)度函數(shù)將同步考慮特征數(shù)量選擇最少和分類準(zhǔn)確率最大兩個(gè)目標(biāo),即以最少數(shù)量的特征選擇量實(shí)現(xiàn)最大化的分類準(zhǔn)確率,以相關(guān)性最優(yōu)的特征子集選擇出來。因此,MHHO算法的適應(yīng)度函數(shù)為
(24)
其中,α、β分別為針對(duì)分類準(zhǔn)確率和選擇規(guī)模的比例系數(shù),α、β∈[0,1],且α+β=1,accuarcy表示分類準(zhǔn)確率,F(xiàn)S表示特征選擇量,n為特征總量。
利用MHHO算法實(shí)現(xiàn)SVM優(yōu)化與特征選擇的過程如下:
輸入:MHHO參數(shù):種群規(guī)模、維度、迭代次數(shù)、混沌參數(shù)、能量因子遞減周期數(shù)、慣性權(quán)重最值、適應(yīng)度函數(shù)中的比例系數(shù)α、β;SVM模型參數(shù)C的搜索范圍 [Cmin,Cmax] 和g的搜索范圍 [gmin,gmax];
步驟1 對(duì)原始數(shù)據(jù)集進(jìn)行歸一化預(yù)處理,統(tǒng)一數(shù)據(jù)量綱;然后確定訓(xùn)練樣本和測(cè)試樣本;
步驟2 依據(jù)樣本數(shù)據(jù)特征對(duì)種群個(gè)體進(jìn)行二進(jìn)制編碼,并對(duì)算法進(jìn)行種群初始化;
步驟3 初始化支持向量機(jī)的C和g值,結(jié)合MHHO對(duì)參數(shù)C、g及二進(jìn)制編碼的特征選擇方案迭代尋優(yōu);
步驟4 解碼特征選擇方案,編碼為1的個(gè)體位置選擇為最優(yōu)特征子集元素;
步驟5 以C、g及特征子集配置SVM分類器。利用K-折交叉驗(yàn)證法訓(xùn)練分類器*,計(jì)算適應(yīng)度并更新最優(yōu)解;
步驟6 算法迭代終止,保存最優(yōu)解;否則,返回至步驟3;
輸出:最優(yōu)C、g和特征子集、分類準(zhǔn)確率及適應(yīng)度。
注*:分類器通常將數(shù)據(jù)集分為訓(xùn)練樣本和測(cè)試樣本驗(yàn)證模型性能,但其訓(xùn)練模型效果差、泛化能力不足。在改進(jìn)算法中利用K-折交叉驗(yàn)證法提升模型泛化能力,先將數(shù)據(jù)集分為K個(gè)子集,隨機(jī)選擇K-1個(gè)進(jìn)行模型訓(xùn)練,剩余1個(gè)進(jìn)行模型測(cè)試,重復(fù)K次以均值結(jié)果比較性能。
協(xié)同優(yōu)化的詳細(xì)流程如圖4所示。
圖4 MHHO-SVM特征選擇流程
圖5是基于移動(dòng)Andriod環(huán)境下的惡意軟件檢測(cè)模型,主要目標(biāo)是通過分析數(shù)據(jù)流量集,檢測(cè)Andriod平臺(tái)下的惡意軟件。模型先通過數(shù)據(jù)采集模塊收集原始網(wǎng)絡(luò)流量,再將網(wǎng)絡(luò)流量集中的數(shù)據(jù)進(jìn)行預(yù)處理,最后通過分類器對(duì)對(duì)模型訓(xùn)練和評(píng)估。網(wǎng)絡(luò)數(shù)據(jù)采集主要利用流量數(shù)據(jù)技術(shù),本文采用較為常規(guī)的嗅探法進(jìn)行數(shù)據(jù)采集,通過在交換機(jī)的鏡像端口上設(shè)置數(shù)據(jù)采集點(diǎn),捕獲流經(jīng)端口的數(shù)據(jù)報(bào)文,該方法采集的信息較為全面,同時(shí)可以對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)文進(jìn)行完全復(fù)制。數(shù)據(jù)預(yù)處理過程主要包括對(duì)原始數(shù)據(jù)的簡(jiǎn)單清洗,補(bǔ)充缺失值,并刪除一些明顯離群的異常數(shù)據(jù),最后對(duì)數(shù)據(jù)進(jìn)行歸一化處理,以統(tǒng)一量綱。特征選擇模塊即利用MHHO算法迭代求解最優(yōu)特征子集,降低特征維度。得到最優(yōu)特征子集之后,結(jié)合優(yōu)化后的SVM在訓(xùn)練集中對(duì)模型進(jìn)行訓(xùn)練,并以測(cè)試集進(jìn)行測(cè)試,以評(píng)估指標(biāo)對(duì)分類結(jié)果進(jìn)行總體評(píng)估。影響模型檢測(cè)效果的主要因素包括數(shù)據(jù)的特征維度和分類算法的性能,在固定的網(wǎng)絡(luò)流量集樣本前提下,所選特征子集的規(guī)模及特征相關(guān)性都決定著模型的預(yù)測(cè)精度。因此,需要挖掘原始數(shù)據(jù)、精煉特征選擇,同時(shí)優(yōu)化分類算法的性能。
圖5 惡意軟件檢測(cè)
為了驗(yàn)證MHHO算法同步優(yōu)化SVM參數(shù)及特征選擇問題的有效性,選擇UCI的4個(gè)keel數(shù)據(jù)集和CICInvesAndMal2019數(shù)據(jù)集CIAM進(jìn)行測(cè)試。數(shù)據(jù)集的樣本數(shù)、特征數(shù)和類別數(shù)等相關(guān)屬性說明見表3。其中,segment和CIAM數(shù)據(jù)集樣本規(guī)模較大,而sonar和spectfheart數(shù)據(jù)集樣本規(guī)模較小,但包含特征數(shù)相對(duì)較多,不同規(guī)模和特征的數(shù)據(jù)集有利于檢測(cè)算法的適應(yīng)性。而CIAM為惡意軟件檢測(cè)數(shù)據(jù)集,包含軟件安裝及運(yùn)行的特征數(shù)據(jù)。該樣本集共有2000個(gè)樣本,65個(gè)數(shù)據(jù)特征。仿真平臺(tái)為Matlab2017a,學(xué)習(xí)器選用LIBSVM。實(shí)驗(yàn)樣本數(shù)據(jù)的提取方式是:利用Matlab的dlmread進(jìn)行讀取,同時(shí)將非數(shù)字類別替換為數(shù)字。在對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理之后,將劃分出模型的訓(xùn)練樣本和測(cè)試樣本。設(shè)置N=20,Tmax=400,α=0.99、β=0.01,能量遞減參數(shù)k=4,慣性權(quán)重最值為wmin=0.4,wmax=0.9,混沌參數(shù)δ=0.4,K-折交叉驗(yàn)證法取K=10。算法運(yùn)行20次取平均值比較。
表3 數(shù)據(jù)集屬性說明
選擇互信息、卡方檢驗(yàn)、隨機(jī)森林遞歸特征消除法RFRFE以及標(biāo)準(zhǔn)HHO算法[12]、鯨魚優(yōu)化算法WOA[17]、樽海鞘群算法SSA[18]、改進(jìn)哈里斯鷹優(yōu)化算法CEHHO[19]進(jìn)行數(shù)據(jù)集特征選擇對(duì)比,以SVM為分類算法。將特征值進(jìn)行歸一化處理,并以二進(jìn)制方式對(duì)種群個(gè)體進(jìn)行編碼。特征值歸一化公式為
(25)
其中,x為原始特征值,xmin、xmax為數(shù)據(jù)特征最小及最大值,xnorm為預(yù)處理特征值。
為了衡量模型分類及其泛化能力,利用平均分類準(zhǔn)確率AAC和平均特征選擇量ASN兩個(gè)指標(biāo)評(píng)估算法性能。定義如下
(26)
其中,Acc(i) 為第i次算法運(yùn)行的分類準(zhǔn)確率結(jié)果,Size(i) 為第i次算法運(yùn)行的特征選擇量結(jié)果。
為了便于指標(biāo)的對(duì)比,將互信息、卡方檢驗(yàn)及FRFRE特征選擇量篩選閾值設(shè)置為特征子集量,然后以貝葉斯模型進(jìn)行參數(shù)調(diào)優(yōu)。結(jié)果見表4。從規(guī)模上看,傳統(tǒng)的互信息法、卡方檢測(cè)法屬于過濾式特征選擇方法,特征降維上難以實(shí)現(xiàn)預(yù)期效果。RFRFE方法比較前兩種過濾法效果略有優(yōu)勢(shì),但缺乏特定參數(shù)下特征子集規(guī)模的調(diào)優(yōu),無法實(shí)現(xiàn)在特征降維和模型分類準(zhǔn)確率上的同步優(yōu)化,性能差于智能優(yōu)化算法的實(shí)驗(yàn)結(jié)果。在5種結(jié)合智能優(yōu)化算法的實(shí)驗(yàn)中,MHHO算法所選特征數(shù)量是所有模型中最少的,由于在惡意軟件檢測(cè)數(shù)據(jù)集CIAM中僅選取13個(gè)特征即可達(dá)到約85%左右的分類準(zhǔn)確率,特征維度降低了約75%,表明所采取的改進(jìn)機(jī)制能夠有效降低數(shù)據(jù)集的特征維度,實(shí)現(xiàn)高效特征選擇。而在分類模型的準(zhǔn)確率指標(biāo)上,MHHO算法基本在5個(gè)數(shù)據(jù)集上均實(shí)現(xiàn)了最高的分類準(zhǔn)確率。此外,結(jié)合圖6和圖7中對(duì)所有群體智能優(yōu)化算法的對(duì)比分析可知,本文所提出的MHHO算法處理惡意軟件檢測(cè)中對(duì)其數(shù)據(jù)集進(jìn)行特征選取時(shí)能夠更好地實(shí)現(xiàn)特征降維,選取更高質(zhì)量、相關(guān)性更高的特征,并在分類準(zhǔn)確率上得到更好的性能表現(xiàn)。
表4 不同算法實(shí)驗(yàn)結(jié)果
圖6 不同智能優(yōu)化算法得到的平均分類準(zhǔn)確率
圖7 不同智能優(yōu)化算法得到的平均特征選擇量
為了進(jìn)一步驗(yàn)證MHHO的優(yōu)勢(shì),接下來僅以惡意軟件檢測(cè)數(shù)據(jù)集CICInvesAndMal2019進(jìn)行實(shí)證分析,再選擇幾種分類學(xué)習(xí)模型:隨機(jī)森林RF、樸素貝葉斯法NB、標(biāo)準(zhǔn)支持向理機(jī)模型SVM、極端梯度提升樹分類算法XGBoost,以及輕量梯度提升機(jī)分類算法LightGBM進(jìn)行實(shí)驗(yàn)分析。除平均分類準(zhǔn)確率AAC和平均特征選擇量ASN兩個(gè)指標(biāo)外,再引入解的平均適應(yīng)度AF和算法的平均計(jì)算時(shí)間AT進(jìn)行全面對(duì)比,指標(biāo)定義為
(27)
(28)
其中,fitness(i) 為第i次的適應(yīng)度結(jié)果,runtime(i) 為第i次算法運(yùn)行時(shí)間,SDF為適應(yīng)度標(biāo)準(zhǔn)差。
實(shí)驗(yàn)結(jié)果見表5??梢姡琑F、標(biāo)準(zhǔn)SVM和XGBoost這3種模型雖然在特征降維上有一定作用,但得到分類準(zhǔn)確率并不理想,沒有實(shí)現(xiàn)同步優(yōu)化。NB、LightGBM在分類準(zhǔn)確率上具有一定優(yōu)勢(shì),但最優(yōu)特征子集的選取上不具備優(yōu)勢(shì)。本文的惡意軟件檢測(cè)模型MHHO-SVM在處理網(wǎng)絡(luò)流量動(dòng)態(tài)檢測(cè)數(shù)據(jù)集上具有更明顯的優(yōu)勢(shì),在特征規(guī)模降維和分類準(zhǔn)確率上實(shí)現(xiàn)了同步優(yōu)化。在解的適應(yīng)度上,MHHO-SVM模型是所有模型中最高的,而更小的標(biāo)準(zhǔn)差值SDF則反映出該模型具有更好的穩(wěn)定性,平均計(jì)算時(shí)間上略高于XGBoost和LightGBM,但在綜合性能上表現(xiàn)最優(yōu)。
表5 實(shí)驗(yàn)結(jié)果
應(yīng)用MHHO-SVM模型進(jìn)行惡意軟件檢測(cè),可視為一種動(dòng)態(tài)檢測(cè)方法,更加符合目前惡意軟件檢測(cè)應(yīng)用背景。該模型通過利用特征分析工具,獲取軟件的序列特征和網(wǎng)絡(luò)流量,利用智能優(yōu)化算法更加強(qiáng)大的隨機(jī)搜索能力,實(shí)現(xiàn)特征降維和分類準(zhǔn)確率的提升,從而更加準(zhǔn)確地對(duì)惡意軟件進(jìn)行分類描述。
提出一種改進(jìn)HHO優(yōu)化SVM和特征選擇的惡意軟件檢測(cè)模型。為了提高分類模型的性能和特征子集的選取能力,利用Bernouilli shift混沌映射、能量因子非線性周期性調(diào)整、最優(yōu)解變異擾動(dòng)機(jī)制和互利共生策略對(duì)HHO算法全局尋優(yōu)能力和求解精度進(jìn)行了優(yōu)化,并構(gòu)建基于網(wǎng)絡(luò)流量特征的惡意軟件檢測(cè)模型。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法能夠更準(zhǔn)確地選取特征子集,實(shí)現(xiàn)特征降維,而且能夠提升學(xué)習(xí)模型的分類準(zhǔn)度,更準(zhǔn)確地識(shí)別惡意軟件樣本。