張旭華, 任蔚, 李欣
(陜西能源職業(yè)技術(shù)學(xué)院, 1.信息中心, 2.教務(wù)處, 陜西, 咸陽 712000)
移動互聯(lián)網(wǎng)技術(shù)的飛速普及使得各種App軟件的智能終端因其良好的用戶體驗為人類的生活帶來諸多便捷,同時也得到十分廣泛的應(yīng)用,成為了人們?nèi)粘I钪胁豢苫蛉钡牟糠諿1-2]。人們漸漸地關(guān)注軟件的準確性、可信度以及安全系數(shù)等因素。因此,軟件在運行過程中,如何精準地、可靠地以及快速地滿足人們的需求成為目前軟件研發(fā)的熱點話題[3]。但目前,電子閱讀App軟件存在設(shè)計和內(nèi)容同質(zhì)化嚴重、“淺閱讀”、用戶黏度不足等問題。國內(nèi)外相關(guān)專家針對該方面的內(nèi)容展開了大量的研究,例如馬紹菊等[4]分別計算惡意應(yīng)用樣本和良性應(yīng)用樣本權(quán)限關(guān)聯(lián)規(guī)則,對比2種樣本獲取的用戶權(quán)限差異,通過惡意樣本獲取的點關(guān)聯(lián)規(guī)則對混合樣本進行檢測。Laprevotte等[5]主要通過一種加密的機器人測功儀對隱私信息進行加密,在確保應(yīng)用程序運輸實時性的情況下隱私數(shù)據(jù)不會被惡意傳送,進而達到全自動分析檢測的目的。以上2種方法雖然能夠有效防止隱私數(shù)據(jù)被泄露,但是由于未能進行電子閱讀App軟件動態(tài)特征提取,整體的檢測結(jié)果不佳,開發(fā)效率下降。為此,提出一種基于貝葉斯網(wǎng)絡(luò)的電子閱讀App軟件動態(tài)檢測方法。對電子閱讀App軟件動態(tài)特征進行提取,并利用動態(tài)特征提取將局部的主體信息的擬合程度進行體現(xiàn),提高整體檢測結(jié)果,增加開發(fā)效率。仿真實驗結(jié)果表明,所提方法能夠有效增加開發(fā)效率,獲取較好的檢測結(jié)果。
相似度的主要作用是將局部的主體信息的擬合程度進行體現(xiàn)[6-7]。相似度主要用來判斷2個數(shù)據(jù)樣本之間的差異程度,相關(guān)系數(shù)記為ρXY:
(1)
式中,D(X)代表隨機變量X的方差,D(Y)代表隨機變量Y的方差,Cov(X,Y)代表隨機變量X、隨機變量Y的協(xié)方差。假設(shè)ρXY=0,則稱X和Y不相關(guān),否則相關(guān);假設(shè)ρXY>0,則稱X和Y負相關(guān)。其中,ρXY越大,則說明變量的相似度越高。
根據(jù)樸素貝葉斯分類的基本思想[8]和貝葉斯公式,設(shè)定A1,A2,…,An是一組不相容的事件,而且事件B能且只能夠和其中一個事件同時發(fā)生,則式(2)成立:
(2)
假設(shè)樣本集含有n個屬性,即A1,A2,…,An屬性值組成樣本的特征向量,可能包含的類別有m個,具體為{x1,x2,…,xn},計算X分別屬于各個類別的概率為P(Ci|X),則有:
(3)
由于對全部Ci,P(X)均一致,所以只需要對比部分P(Ci|X)P(Ci)即可。其中P(Ci)能夠通過訓(xùn)練集獲取,該訓(xùn)練集類別即Ci所占據(jù)的比例。在屬性獨立的狀態(tài)下,則式(4)成立:
(4)
其中,P(xj|Ci)也是通過訓(xùn)練集獲取的。假設(shè)Aj是分類屬性,P(xj|Ci)和Aj兩者是相等的,并且等同于xj的比例,則式(5)成立:
(5)
由于和P(X)均相等,則通過式(6)進行對比,即:
(6)
在樸素貝葉斯網(wǎng)絡(luò)對應(yīng)結(jié)構(gòu)中,僅有一個類節(jié)點。其中節(jié)點代表各個分類的不同屬性,屬性節(jié)點中僅包含一個父節(jié)點,即類節(jié)點,且各個屬性節(jié)點之間是相互獨立的[9]。利用圖1給出樸素貝葉斯分類結(jié)構(gòu)圖。
圖1 樸素貝葉斯分類結(jié)構(gòu)
由圖1可知,貝葉斯網(wǎng)絡(luò)主要通過有向邊描述不同節(jié)點之間的概率依賴關(guān)系,計算各個節(jié)點的后驗概率,同時更新先驗概率。在上述分析的基礎(chǔ)上,引入相似度概念,利用相似度判斷數(shù)據(jù)樣本間的差異程度[10],并依據(jù)貝葉斯分類劃分屬性值組成樣本的特征向量,通過訓(xùn)練集獲取分類屬性,提取電子閱讀App軟件動態(tài)關(guān)鍵特征,以上操作不僅能夠提取準確的特征,同時還能夠提升計算效率,即:
(7)
在1.1小節(jié)的基礎(chǔ)上,將支持向量機以及貝葉斯網(wǎng)絡(luò)等方法相結(jié)合組建電子閱讀App軟件動態(tài)初始檢測機制,具體的操作流程如下所示。
采用SVM進行電子閱讀App軟件動態(tài)檢測的主要操作步驟如下。
(1)首先將得到的電子閱讀App軟件應(yīng)用程序代碼和惡意代碼入庫,在電子閱讀App軟件特征中提取特征規(guī)則化,組建特征矩陣。
(2)采用SVM算法組建超分類平面,對電子閱讀App軟件動態(tài)訓(xùn)練庫中的惡意樣本進行提取[11-12]。
(3)對測試樣本庫進行SVM超平面劃分。
其中,基于貝葉斯網(wǎng)絡(luò)的電子閱讀App軟件動態(tài)檢測步驟如下所示。
(1)通過關(guān)聯(lián)規(guī)則算法挖掘電子閱讀App軟件中各個行為特征之間的關(guān)聯(lián)關(guān)系,將在電子閱讀App軟件中挖掘出的關(guān)聯(lián)關(guān)系作為基礎(chǔ)[13],組建貝葉斯網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)。
(2)通過局部優(yōu)先策略對步驟(1)中建立的網(wǎng)絡(luò)結(jié)構(gòu)進行學(xué)習[14-15],具體的計算式為
MDL(G|D)=
(8)
式中,b和n分別代表不同的常數(shù),kj代表Xi節(jié)點中對應(yīng)的父節(jié)點數(shù)量,si代表Xi的特征數(shù)量,sj代表Xi的取值數(shù)量,N代表特征系數(shù),W代表分類參數(shù),F(xiàn)Xi代表關(guān)聯(lián)規(guī)則函數(shù)。
(3)針對貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)中各個節(jié)點的參數(shù)進行學(xué)習。
在迭代訓(xùn)練階段,將在電子閱讀App軟件提取出的節(jié)點特征與數(shù)據(jù)庫中的數(shù)據(jù)進行匹配,利用特征動態(tài)匹配對比結(jié)果得出相應(yīng)的程序隱私分數(shù),進而得出軟件風險檢測報告。通過特征比對的結(jié)果,利用神經(jīng)網(wǎng)絡(luò)技術(shù)對初級檢測機制中各個決策權(quán)重進行修正,并對應(yīng)用與類的相似性進行加權(quán)處理,有效增強其檢測能力,具體如下所示。
神經(jīng)網(wǎng)絡(luò)的主要優(yōu)勢是在較大的范圍內(nèi)輸入值擠壓到(0,1)連續(xù)的輸出空間,具體計算式為
(9)
隱層到輸出層的連接權(quán)重為Whj,代表多未知因素對檢測結(jié)果的影響程度,采用梯度下降策略對Whj進行更新,根據(jù)目標的負梯度方向及時進行參數(shù)調(diào)整。如果已知學(xué)習率η,則Whj能夠表示為
(10)
其中,Ek代表負梯度系數(shù),輸出層神經(jīng)元的梯度項gj和隱層神經(jīng)元的梯度項eh能夠表示為以下的形式:
(11)
(12)
其中,βj代表輸出層神經(jīng)元的目標參數(shù),θj代表隱層神經(jīng)元的目標參數(shù),αh、bh代表輸出層和隱層的決策權(quán)重,γh代表初級檢測參數(shù),對初級檢測機制對應(yīng)的決策權(quán)重進行校正,完成電子閱讀App軟件動態(tài)檢測。pstr代表初級檢測機制的修正參數(shù),該過程主要通過電子閱讀App軟件調(diào)用相關(guān)技術(shù)獲取動態(tài)檢測信息,提取檢測特征,即:
(13)
為了驗證所提基于貝葉斯網(wǎng)絡(luò)的電子閱讀App軟件動態(tài)檢測方法的有效性,在Windows 10操作系統(tǒng),Intel(R) Core(TM)2Duo CPU 2環(huán)境下進行仿真實驗測試。
實驗選擇3種檢測方法針對不同的電子閱讀App軟件動態(tài)的識別能力,主要包括檢測率、誤報率以及漏報率。在實驗中選取3 000個樣本進行測試,其中正常 App軟件有1 500個,惡意App軟件1 500個。將實驗樣本輸入到實驗環(huán)境中,利用 Eclipse 檢測技術(shù)進行后臺檢測,最終輸出檢測報告。具體實驗對比結(jié)果如表1~表3所示。
表1 檢測率
表2 誤報率
表3 漏報率
分析表1~表3中的實驗數(shù)據(jù)可知,選取3種檢測方法進行電子閱讀App軟件動態(tài)檢測存在一定的差異性,文獻[4]方法和文獻[5]方法檢測率最高為95.6%、93.8%,本文方法為98.6%,文獻[4]方法和文獻[5]方法誤報率最低為0.05%、0.08%,本文方法為0.02%,文獻[4]方法和文獻[5]方法漏報率最低為0.03%、0.07%,本文方法為0.01%,由此能夠看出,借助貝葉斯網(wǎng)絡(luò)理論,所提方法的檢測結(jié)果明顯更好一些。
為了驗證貝葉斯網(wǎng)絡(luò)的收斂性,主要通過降低數(shù)據(jù)維度之間的關(guān)聯(lián)性來減少計算復(fù)雜度,同時盡可能確保精度處于穩(wěn)定的狀態(tài)。為了更好地驗證這一點,將開發(fā)效率作為測試指標,具體實驗結(jié)果如圖2所示。
圖2 開發(fā)效率
分析圖2中的實驗數(shù)據(jù)可知,所提方法明顯擁有更高的開發(fā)效率,其開發(fā)效率均在90%以上,主要是因為其采用貝葉斯網(wǎng)絡(luò)進行電子閱讀App軟件特征提取,為提升整個方法的開發(fā)效率奠定堅持的基礎(chǔ)。
針對傳統(tǒng)檢測方法存在的一系列問題,設(shè)計并提出一種基于貝葉斯網(wǎng)絡(luò)的電子閱讀App軟件動態(tài)檢測方法。測試結(jié)果表明,所提方法能夠獲取較為理想的檢測結(jié)果,有效降低開發(fā)效率?,F(xiàn)階段,所提方法存在不足之處,后續(xù)將對其進行全面完善。