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