江志華,趙飛宇
(1. 樂山師范學(xué)院電子信息與人工智能學(xué)院,四川 樂山 614000;2. 西華大學(xué)信息與網(wǎng)絡(luò)管理中心,四川 成都 610039)
現(xiàn)階段,數(shù)字化控制系統(tǒng)被廣泛應(yīng)用于工業(yè)及制造業(yè)等領(lǐng)域之中[1],智能化儀器儀表也逐漸替代傳統(tǒng)儀器儀表,大幅度提升了現(xiàn)代工業(yè)智能化水平。數(shù)字化控制系統(tǒng)和智能化儀器儀表等均以嵌入式系統(tǒng)為核心[2],其安全性建立在可信嵌入式軟件基礎(chǔ)上[3],嵌入式軟件的潛在風(fēng)險(xiǎn)通常高于個(gè)人計(jì)算機(jī)軟件,更易導(dǎo)致系統(tǒng)故障等問題的發(fā)生,對嵌入式軟件異常識(shí)別和監(jiān)督是保障嵌入式系統(tǒng)安全運(yùn)行的基礎(chǔ),因此構(gòu)建科學(xué)合理的嵌入式操作內(nèi)核可信軟件異常識(shí)別方法尤為重要。
羅森林[4]等人將高斯算法和聚類算法相結(jié)合用于軟件集合簇的劃分,以劃分后若干簇內(nèi)類別比為依據(jù)篩選可靠樣本,采用后驗(yàn)概率識(shí)別邊界并在此基礎(chǔ)上平衡加權(quán)數(shù)據(jù),通過平衡優(yōu)化數(shù)據(jù)構(gòu)建嵌入式操作內(nèi)核可信軟件異常識(shí)別模型,實(shí)現(xiàn)軟件異常識(shí)別。楊宏宇[5]等人融合長短期記憶網(wǎng)絡(luò)和變分自動(dòng)編碼器生成混合網(wǎng)絡(luò),并在該網(wǎng)絡(luò)基礎(chǔ)上建立嵌入式操作內(nèi)核可信軟件異常識(shí)別模型,長短期記憶網(wǎng)絡(luò)用于提取軟件數(shù)據(jù)時(shí)序特征,變分自動(dòng)編碼器用于建模數(shù)據(jù)分布,通過混合網(wǎng)絡(luò)模型處理關(guān)鍵特征參數(shù)并獲取相關(guān)異常度量值,引入耦合度方法優(yōu)化傳統(tǒng)的線性加權(quán),量化軟件異常狀態(tài),實(shí)現(xiàn)軟件異常識(shí)別。仇開[6]等人采用信息熵法賦權(quán)嵌入式操作內(nèi)核可信軟件各維度數(shù)據(jù),引入改進(jìn)的加權(quán)局部離群因子檢測方法初次識(shí)別軟件數(shù)據(jù)異常,結(jié)合軟件運(yùn)行時(shí)上下文信息,二次識(shí)別軟件異常數(shù)據(jù),實(shí)現(xiàn)軟件異常識(shí)別。
雖然以上方法在現(xiàn)階段取得了較好的應(yīng)用效果,但是忽略了對軟件數(shù)據(jù)規(guī)模較大和復(fù)雜度較高導(dǎo)致的“維數(shù)災(zāi)難”問題的考慮,導(dǎo)致軟件異常識(shí)別結(jié)果出現(xiàn)一定程度偏差。為了解決上述方法中存在的問題,提出嵌入式操作內(nèi)核可信軟件異常識(shí)別方法。
大數(shù)據(jù)技術(shù)的發(fā)展使數(shù)據(jù)收集難度降低,但大數(shù)據(jù)環(huán)境下嵌入式操作內(nèi)核可信軟件的數(shù)據(jù)規(guī)模和復(fù)雜度大幅度提升,導(dǎo)致大規(guī)模高維數(shù)據(jù)的產(chǎn)生,“維數(shù)災(zāi)難”問題造成異常識(shí)別困難、識(shí)別效果下降等問題,因此在嵌入式操作內(nèi)核可信軟件異常識(shí)別前需要將數(shù)據(jù)降維處理。
采用深度信念網(wǎng)絡(luò)降維數(shù)據(jù)[7],深度信念網(wǎng)絡(luò)由高斯—伯努利型和伯努利—伯努利型受限玻爾茲曼機(jī)堆疊而成[8]。受限玻爾茲曼機(jī)由可見層和隱藏層神經(jīng)元共同構(gòu)成,總體上為二分圖形式。用n表示嵌入式操作內(nèi)核可信軟件數(shù)據(jù)樣本總數(shù),m表示數(shù)據(jù)維度,則數(shù)據(jù)集可表示為Xn×m,將Xn×m輸入網(wǎng)絡(luò)模型,最終輸出低維數(shù)據(jù)集Yn×d,其中,d表示降維后數(shù)據(jù)維度,d< =-uTWg-(b1)Tu-(b2)Tg (1) 當(dāng)可見層單元為實(shí)數(shù)且服從高斯分布時(shí),該受限玻爾茲曼機(jī)為高斯—伯努利型,對于可見層和隱藏層的每個(gè)向量u和g,對應(yīng)能量函數(shù)E(u,g)如下所示 (2) 結(jié)合能量函數(shù)E(u,g),可得到可見層與隱藏層聯(lián)合概率密度P(u,g)如下所示 (3) 用〈·〉data和〈·〉mod el分別表示相應(yīng)參數(shù)在數(shù)據(jù)和模型中估計(jì)的期望值,則對于ωij存在 ?ωijJNLL(W,b2,u)=-[〈uihj〉data-〈uihj〉mod el] (4) 因?yàn)楂@取〈·〉mod el的準(zhǔn)確值難度較大,所以借助對比散度算法對〈·〉mod el加以估計(jì),通過t步吉布斯采樣獲取〈uihj〉mod el的近似值〈uihj〉t,用〈uihj〉k表示經(jīng)歷k此迭代時(shí)均值[10],則有 ?ωijJNLL(W,b2,u)=-[〈uihj〉0-〈uihj〉t] (5) 將待處理數(shù)據(jù)輸入模型的輸入層,通過第一個(gè)受限玻爾茲曼機(jī)處理后映射輸入數(shù)據(jù)至第一個(gè)隱含層,將隱含層輸出數(shù)據(jù)作為第二個(gè)受限玻爾茲曼機(jī)的輸入數(shù)據(jù),經(jīng)訓(xùn)練后可生成第二個(gè)隱含層,第二個(gè)隱含層輸出值即為深度信念網(wǎng)絡(luò)最終輸出,即降維后數(shù)據(jù)。 采用改進(jìn)遺傳算法優(yōu)化的支持向量機(jī)構(gòu)建異常識(shí)別模型[11,12]。支持向量機(jī)是依據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則將實(shí)際風(fēng)險(xiǎn)最小化的分類方法[13],目前被廣泛應(yīng)用于分類和回歸問題之中。用{(xi,yi),xi∈RN,yi∈{-1,+1}}表示m個(gè)降維后嵌入式操作內(nèi)核可信軟件數(shù)據(jù)樣本,i=1,2,…,m,φ(x)=(φ1(x),φ1(x),…φM(x))表示特征映射,ω表示權(quán)值向量,b表示偏置,y(x)=sgn(ω·φ(x)+b)表示構(gòu)造的最優(yōu)分離超平面,C表示正則化參數(shù)[14],?i表示松弛變量,則可將二分類的1范數(shù)軟邊界支持向量機(jī)描述為優(yōu)化問題J(ω,?) (6) 引入拉格朗日定理轉(zhuǎn)換式(6)問題為對偶問題Q(τ),用Γ=(τ1,τ2,…,τn)T表示拉格朗日乘子[15],i,j=1,2,…,m,τi,τj∈Γ,yi,yj表示對應(yīng)最優(yōu)分離超平面,轉(zhuǎn)換后問題可描述為如下所示 (7) 依據(jù)泛函分析原理,若存在核函數(shù)K(xi,yi)滿足Mercer原理,則該核函數(shù)與某一變化空間的內(nèi)積相對應(yīng),即K(xi,yi)=[φ(xi),φ(xj)],因此可轉(zhuǎn)換式(6)為二次規(guī)劃問題,如下所示 (8) 結(jié)合KKT條件可知τi滿足下式 τi{yi[ω·φ(xi)+b]-1+?i}=0 (9) 得到的結(jié)果中非零τi對應(yīng)樣本即為支持向量,依據(jù)式(7)可解τi取值,從而得到軟件異常識(shí)別模型f(x)為 (10) 其中 (11) 式中,σ表示徑向基函數(shù)擴(kuò)展常數(shù)。在支持向量機(jī)中,C和σ為兩個(gè)可控參數(shù),不同取值對分類器泛化能力具有不同影響。 確定C和σ取值是可信軟件異常識(shí)別的基礎(chǔ),引入改進(jìn)的遺傳算法搜索軟件異常識(shí)別模型最優(yōu)解。傳統(tǒng)遺傳算法在種群演化過程中交叉概率和變異概率始終為同一取值,導(dǎo)致支持向量機(jī)訓(xùn)練時(shí)間過長的問題,為此,所提方法采用梯度下降方法改進(jìn)遺傳算法,減少獲取全局最優(yōu)解所需時(shí)長。 ①交叉操作 交叉是選取母代染色體中部分基因互相交換生成新染色體的操作。交換第一個(gè)母代染色體和第二個(gè)母代染色體的?2/D」維,D為染色體維度總數(shù)。 用t和tmax表示當(dāng)前迭代次數(shù)和最大迭代次數(shù),Pcmax和Pcmin表示最大和最小交叉概率,M表示群體中染色體總數(shù),則執(zhí)行交叉操作染色體個(gè)數(shù)Nc和交叉概率Pc如下所示: (12) ②變異操作 (13) (14) ③梯度下降法 (15) (16) 依據(jù)式(15)和(16)即可獲取到最優(yōu)搜索方向和最優(yōu)搜索步長。優(yōu)化后支持向量機(jī)有效優(yōu)化了軟件異常識(shí)別結(jié)果的精度。 實(shí)驗(yàn)選取來自嵌入式操作內(nèi)核可信軟件一段時(shí)間內(nèi)500000條相關(guān)日志信息數(shù)據(jù),數(shù)據(jù)涉及10臺(tái)嵌入式系統(tǒng)主機(jī),包含user、syslog、maill、localal、kern、daemon、cron、authprivi等多層次運(yùn)行日志,其中反映軟件正常運(yùn)行數(shù)據(jù)和異常運(yùn)行數(shù)據(jù)分別有9166條和4990834條。實(shí)驗(yàn)以準(zhǔn)確率(Accuracy)、召回率(Recall)、查全率(Precision)和F1值為指標(biāo)檢測所提方法對嵌入式操作內(nèi)核可信軟件的異常識(shí)別能力,指標(biāo)數(shù)值越接近100%,則對應(yīng)方法的異常檢測效果越好。用N表示樣本總數(shù)量,T表示全部樣本中被正確識(shí)別的樣本總數(shù),TP表示異常樣本中被正確識(shí)別的樣本總數(shù),FN表示異常樣本中被錯(cuò)誤識(shí)別的樣本總數(shù),FP表示非異常樣本中被錯(cuò)誤識(shí)別的樣本總數(shù),則各指標(biāo)計(jì)算方式如下 (17) 其中,準(zhǔn)確率能夠較為直觀表現(xiàn)算法的識(shí)別準(zhǔn)確性;召回率和查全率能夠表現(xiàn)算法的擬合狀態(tài),若召回率較低,則說明有大量異常樣本被識(shí)別為非異常樣本;若查全率較低,則有大量非異常樣本被識(shí)別為異常樣本;F1值能夠綜合表現(xiàn)算法的擬合能力,F1值越接近100%,則算法擬合效果越好,反之效果越差。對所提方法、穩(wěn)健邊界強(qiáng)化GMM-SMOTE軟件缺陷識(shí)別方法和基于混合生成網(wǎng)絡(luò)的軟件系統(tǒng)異常狀態(tài)識(shí)別方法的準(zhǔn)確率、召回率、查全率和F1值加以計(jì)算,結(jié)果如圖1所示。 圖1 準(zhǔn)確率、召回率、查全率和F1值測試結(jié)果 由圖1所示,在采用嵌入式操作內(nèi)核可信軟件相關(guān)日志信息數(shù)據(jù)識(shí)別軟件異常時(shí),所提方法的準(zhǔn)確率、召回率、查全率和F1值均在95%以上,說明所提方法對異常狀況及非異常狀態(tài)的識(shí)別更為準(zhǔn)確。 以3組基準(zhǔn)程序?yàn)闇y試對象,對比三種方法應(yīng)用后與原始代碼的內(nèi)存開銷和性能開銷之比,實(shí)驗(yàn)均在2G內(nèi)存,Win7的i3PC系統(tǒng)上執(zhí)行,計(jì)算三種方法的性能開銷和內(nèi)存開銷,結(jié)果如表1所示。 表1 內(nèi)存開銷和性能開銷檢測結(jié)果 表中數(shù)據(jù)各個(gè)指標(biāo)均為與基準(zhǔn)程序相比的倍數(shù)。由表中源代碼大小和內(nèi)存開銷數(shù)值可知,所提方法在基準(zhǔn)程序上源代碼大小和內(nèi)存開銷均小于文獻(xiàn)方法,說明采用所提方法對系統(tǒng)造成的負(fù)擔(dān)較小;由性能開銷數(shù)值可知,所提方法的性能開銷接近于1,說明所提方法與原程序執(zhí)行時(shí)間幾乎一致,不會(huì)造成異常識(shí)別延遲較大的問題,更有利于瞬時(shí)錯(cuò)誤的發(fā)現(xiàn)與改進(jìn)。 為了解決軟件異常識(shí)別方法存在的準(zhǔn)確率、召回率、查全率和F1值較低問題,提出嵌入式操作內(nèi)核可信軟件異常識(shí)別方法,采用深度信念網(wǎng)絡(luò)降維數(shù)據(jù),利用梯度下降法改進(jìn)的遺傳算法優(yōu)化支持向量機(jī)并構(gòu)建軟件異常識(shí)別模型,將降維后數(shù)據(jù)輸入模型,完成嵌入式操作內(nèi)核可信軟件異常識(shí)別,為嵌入式系統(tǒng)更安全穩(wěn)定的應(yīng)用于各個(gè)領(lǐng)域中奠定基礎(chǔ)。3 嵌入式操作內(nèi)核可信軟件異常識(shí)別
4 實(shí)驗(yàn)與結(jié)果
5 結(jié)束語