張旭華, 任蔚, 李欣
(陜西能源職業技術學院, 1.信息中心, 2.教務處, 陜西, 咸陽 712000)
移動互聯網技術的飛速普及使得各種App軟件的智能終端因其良好的用戶體驗為人類的生活帶來諸多便捷,同時也得到十分廣泛的應用,成為了人們日常生活中不可或缺的部分[1-2]。人們漸漸地關注軟件的準確性、可信度以及安全系數等因素。因此,軟件在運行過程中,如何精準地、可靠地以及快速地滿足人們的需求成為目前軟件研發的熱點話題[3]。但目前,電子閱讀App軟件存在設計和內容同質化嚴重、“淺閱讀”、用戶黏度不足等問題。國內外相關專家針對該方面的內容展開了大量的研究,例如馬紹菊等[4]分別計算惡意應用樣本和良性應用樣本權限關聯規則,對比2種樣本獲取的用戶權限差異,通過惡意樣本獲取的點關聯規則對混合樣本進行檢測。Laprevotte等[5]主要通過一種加密的機器人測功儀對隱私信息進行加密,在確保應用程序運輸實時性的情況下隱私數據不會被惡意傳送,進而達到全自動分析檢測的目的。以上2種方法雖然能夠有效防止隱私數據被泄露,但是由于未能進行電子閱讀App軟件動態特征提取,整體的檢測結果不佳,開發效率下降。為此,提出一種基于貝葉斯網絡的電子閱讀App軟件動態檢測方法。對電子閱讀App軟件動態特征進行提取,并利用動態特征提取將局部的主體信息的擬合程度進行體現,提高整體檢測結果,增加開發效率。仿真實驗結果表明,所提方法能夠有效增加開發效率,獲取較好的檢測結果。
相似度的主要作用是將局部的主體信息的擬合程度進行體現[6-7]。相似度主要用來判斷2個數據樣本之間的差異程度,相關系數記為ρXY:
(1)
式中,D(X)代表隨機變量X的方差,D(Y)代表隨機變量Y的方差,Cov(X,Y)代表隨機變量X、隨機變量Y的協方差。假設ρXY=0,則稱X和Y不相關,否則相關;假設ρXY>0,則稱X和Y負相關。其中,ρXY越大,則說明變量的相似度越高。
根據樸素貝葉斯分類的基本思想[8]和貝葉斯公式,設定A1,A2,…,An是一組不相容的事件,而且事件B能且只能夠和其中一個事件同時發生,則式(2)成立:
(2)
假設樣本集含有n個屬性,即A1,A2,…,An屬性值組成樣本的特征向量,可能包含的類別有m個,具體為{x1,x2,…,xn},計算X分別屬于各個類別的概率為P(Ci|X),則有:
(3)
由于對全部Ci,P(X)均一致,所以只需要對比部分P(Ci|X)P(Ci)即可。其中P(Ci)能夠通過訓練集獲取,該訓練集類別即Ci所占據的比例。在屬性獨立的狀態下,則式(4)成立:
(4)
其中,P(xj|Ci)也是通過訓練集獲取的。假設Aj是分類屬性,P(xj|Ci)和Aj兩者是相等的,并且等同于xj的比例,則式(5)成立:
(5)
由于和P(X)均相等,則通過式(6)進行對比,即:
(6)
在樸素貝葉斯網絡對應結構中,僅有一個類節點。其中節點代表各個分類的不同屬性,屬性節點中僅包含一個父節點,即類節點,且各個屬性節點之間是相互獨立的[9]。利用圖1給出樸素貝葉斯分類結構圖。

圖1 樸素貝葉斯分類結構
由圖1可知,貝葉斯網絡主要通過有向邊描述不同節點之間的概率依賴關系,計算各個節點的后驗概率,同時更新先驗概率。在上述分析的基礎上,引入相似度概念,利用相似度判斷數據樣本間的差異程度[10],并依據貝葉斯分類劃分屬性值組成樣本的特征向量,通過訓練集獲取分類屬性,提取電子閱讀App軟件動態關鍵特征,以上操作不僅能夠提取準確的特征,同時還能夠提升計算效率,即:
(7)
在1.1小節的基礎上,將支持向量機以及貝葉斯網絡等方法相結合組建電子閱讀App軟件動態初始檢測機制,具體的操作流程如下所示。
采用SVM進行電子閱讀App軟件動態檢測的主要操作步驟如下。
(1)首先將得到的電子閱讀App軟件應用程序代碼和惡意代碼入庫,在電子閱讀App軟件特征中提取特征規則化,組建特征矩陣。
(2)采用SVM算法組建超分類平面,對電子閱讀App軟件動態訓練庫中的惡意樣本進行提取[11-12]。
(3)對測試樣本庫進行SVM超平面劃分。
其中,基于貝葉斯網絡的電子閱讀App軟件動態檢測步驟如下所示。
(1)通過關聯規則算法挖掘電子閱讀App軟件中各個行為特征之間的關聯關系,將在電子閱讀App軟件中挖掘出的關聯關系作為基礎[13],組建貝葉斯網絡的網絡結構。
(2)通過局部優先策略對步驟(1)中建立的網絡結構進行學習[14-15],具體的計算式為
MDL(G|D)=
(8)
式中,b和n分別代表不同的常數,kj代表Xi節點中對應的父節點數量,si代表Xi的特征數量,sj代表Xi的取值數量,N代表特征系數,W代表分類參數,FXi代表關聯規則函數。
(3)針對貝葉斯網絡結構中各個節點的參數進行學習。
在迭代訓練階段,將在電子閱讀App軟件提取出的節點特征與數據庫中的數據進行匹配,利用特征動態匹配對比結果得出相應的程序隱私分數,進而得出軟件風險檢測報告。通過特征比對的結果,利用神經網絡技術對初級檢測機制中各個決策權重進行修正,并對應用與類的相似性進行加權處理,有效增強其檢測能力,具體如下所示。
神經網絡的主要優勢是在較大的范圍內輸入值擠壓到(0,1)連續的輸出空間,具體計算式為
(9)
隱層到輸出層的連接權重為Whj,代表多未知因素對檢測結果的影響程度,采用梯度下降策略對Whj進行更新,根據目標的負梯度方向及時進行參數調整。如果已知學習率η,則Whj能夠表示為
(10)
其中,Ek代表負梯度系數,輸出層神經元的梯度項gj和隱層神經元的梯度項eh能夠表示為以下的形式:

(11)

(12)
其中,βj代表輸出層神經元的目標參數,θj代表隱層神經元的目標參數,αh、bh代表輸出層和隱層的決策權重,γh代表初級檢測參數,對初級檢測機制對應的決策權重進行校正,完成電子閱讀App軟件動態檢測。pstr代表初級檢測機制的修正參數,該過程主要通過電子閱讀App軟件調用相關技術獲取動態檢測信息,提取檢測特征,即:
(13)
為了驗證所提基于貝葉斯網絡的電子閱讀App軟件動態檢測方法的有效性,在Windows 10操作系統,Intel(R) Core(TM)2Duo CPU 2環境下進行仿真實驗測試。
實驗選擇3種檢測方法針對不同的電子閱讀App軟件動態的識別能力,主要包括檢測率、誤報率以及漏報率。在實驗中選取3 000個樣本進行測試,其中正常 App軟件有1 500個,惡意App軟件1 500個。將實驗樣本輸入到實驗環境中,利用 Eclipse 檢測技術進行后臺檢測,最終輸出檢測報告。具體實驗對比結果如表1~表3所示。

表1 檢測率

表2 誤報率

表3 漏報率
分析表1~表3中的實驗數據可知,選取3種檢測方法進行電子閱讀App軟件動態檢測存在一定的差異性,文獻[4]方法和文獻[5]方法檢測率最高為95.6%、93.8%,本文方法為98.6%,文獻[4]方法和文獻[5]方法誤報率最低為0.05%、0.08%,本文方法為0.02%,文獻[4]方法和文獻[5]方法漏報率最低為0.03%、0.07%,本文方法為0.01%,由此能夠看出,借助貝葉斯網絡理論,所提方法的檢測結果明顯更好一些。
為了驗證貝葉斯網絡的收斂性,主要通過降低數據維度之間的關聯性來減少計算復雜度,同時盡可能確保精度處于穩定的狀態。為了更好地驗證這一點,將開發效率作為測試指標,具體實驗結果如圖2所示。

圖2 開發效率
分析圖2中的實驗數據可知,所提方法明顯擁有更高的開發效率,其開發效率均在90%以上,主要是因為其采用貝葉斯網絡進行電子閱讀App軟件特征提取,為提升整個方法的開發效率奠定堅持的基礎。
針對傳統檢測方法存在的一系列問題,設計并提出一種基于貝葉斯網絡的電子閱讀App軟件動態檢測方法。測試結果表明,所提方法能夠獲取較為理想的檢測結果,有效降低開發效率。現階段,所提方法存在不足之處,后續將對其進行全面完善。