黃玉書
摘要:當前智能手機市場中,Android系統(tǒng)的智能手機市場比例較大,而在豐富的應用軟件中混雜著一些不易察覺的異常軟件,Android平臺軟件的安全問題引起很多學者的注意。該文從低能耗開銷目的出發(fā)初步惡意軟件的檢測,設(shè)計了基于權(quán)限特征的異常軟件智能檢測方法,首先對樣本的權(quán)限信息的進行提取,然后根據(jù)CFS算法進行權(quán)限屬性選擇,最后利用AODE分類器對屬性過濾后的權(quán)限特征進行分類,實現(xiàn)了異常軟件輕量級初步檢測。
關(guān)鍵詞:Android;異常軟件;檢測;特征選取;機器學習
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)06-0068-02
1 緒論
當前智能手機市場中,Android系統(tǒng)的智能手機市場比例較大,是目前使用范圍最廣的手機系統(tǒng)。由于Android系統(tǒng)具有免費開源的特點,在豐富的應用軟件中混雜著一些不易察覺的異常軟件,加之用戶的安全意識薄弱,Android平臺軟件安全問題亟須解決。本文為了解決Android平臺中軟件安全問題,利用機器學習,結(jié)合惡意軟件特征值的方法進行檢測。根據(jù)能反映軟件惡意傾向的權(quán)限,設(shè)計檢測方法,目的在于以較小開銷實現(xiàn)了異常軟件輕量級初步檢測。
2 Android平臺異常軟件相關(guān)檢測理論
2.1 Android安全機制
Google公司在設(shè)計開發(fā)Android操作系統(tǒng)時從Linux內(nèi)核、本地庫和運行環(huán)境以及應用程序框架這三個方面設(shè)置了相應的Android安全機制[1]。
2.2 機器學習概述
機器學習[2]是近20年開始興起的利用計算機來模擬人類學習的一個復雜的學科。機器學習在人工智能跟統(tǒng)計分析的這兩個領(lǐng)域得到最廣泛的應用[3]。機器學習理論主要是設(shè)計和分析一些讓計算機可以自動“學習”的算法,是一類從數(shù)據(jù)中智能分析獲得規(guī)律,并利用規(guī)律對未知數(shù)據(jù)進行預測的算法[4]。本文用機器學習的方法進行研究,是因為機器學習具有智能性,不強烈依賴重量級的庫,而且還具有預測未知樣本的能力。本文涉及的機器學習算法中關(guān)鍵的技術(shù)是特征選取和分類算法。在機器學習中分類是比較重要的方向,分類的基本思想是:通過樣本的學習,得出分類器,利用分類器預測未知樣本的類型。
2.3 Android惡意軟件檢測技術(shù)
目前針對異常軟件檢測方法有兩大類,根據(jù)軟件在檢測過程中是否需要運行軟件,將檢測技術(shù)劃分為動態(tài)檢測技術(shù)和靜態(tài)檢測技術(shù)。
本文從節(jié)省開銷方面考慮,設(shè)計了基于機器學習的特征值檢測方法,通過學習正常軟件和惡意軟件特征,形成分類器,利用分類器對待測樣本實現(xiàn)分類。這種方法不強烈依賴重量級的庫,能夠用來檢測未知的惡意軟件。本文設(shè)計了基于權(quán)限特征的智能檢測方法進行檢測,這種方法對系統(tǒng)資源開銷較小。
3 基于權(quán)限特征的異常軟件檢測方法
3.1 權(quán)限特征檢測方案設(shè)計
本章根據(jù)權(quán)限特征進行分類,首先要進行樣本的權(quán)限信息的提取,然后根據(jù)CFS算法進行權(quán)限屬性選擇,選擇權(quán)限屬性與類屬性相關(guān)度高的屬性并且去除掉冗余屬性,然后用AODE分類器對屬性過濾后的權(quán)限特征進行分類,通過先驗概率計算正常與惡意的后驗概率,最后把后驗概率最大的類別作為該軟件的類別。整個方案的流程圖如圖1所示。
3.2 權(quán)限信息處理模塊
根據(jù)本文設(shè)計的權(quán)限特征檢測方案,要對獲取權(quán)限特征值,首先要提取軟件的權(quán)限信息,然后對提取的權(quán)限進行特征映射形成特征向量。本文采用的是CFS算法對權(quán)限信息進行特征提取,該算法采用的是CfsSubsetEval的評價方法,利用相關(guān)性來評價屬性子集,選取的是對類屬性具有強相關(guān)的以及屬性與屬性之間具有弱相關(guān)或者不相關(guān)的屬性子集作為權(quán)限特征。
3.3 AODE分類模型
本文根據(jù)一種緩解屬性間相互獨立地條件假設(shè)且性能較為出色的平均、一依賴分類器(Aggregating One-Dependence Estimators,簡稱AODE)算法進行分類。
其中,[Πxk]為[xk]的父親結(jié)點。由于AODE分類器是基于樸素貝葉斯算法改進的,是對屬性間相互獨立的一種弱化,符合本文權(quán)限屬性之間不一定獨立實際情況,具有較好的應用場景,所以本文中的權(quán)限特征分類的算法選用該算法來實現(xiàn)分類預測。
4 權(quán)限特征的異常軟件檢測實驗結(jié)果與分析
4.1 實驗樣本
為了保證樣本的多樣性,本文的正常軟件樣本包含了十類常見的軟件,本文實驗中的正常和異常軟件樣本的數(shù)量,經(jīng)過人工整理,組成了500個正常樣本和 500個惡意樣本,共同組成實驗樣本。
4.2 全部權(quán)限屬性分類算法實驗
本實驗用AODE分類模型與其他三種常用的分類模型進行對比實驗,分別對不同測試數(shù)據(jù)進行均值計算,得出結(jié)果如表1所示。
4.3 權(quán)限特征屬性分類算法實驗
1)實驗過程
前面對樣本的全部權(quán)限作為特征進行分類實驗檢測率有較高的檢測率,接著對權(quán)限特征進行選擇,進行CfsSubsetEval屬性選擇后,產(chǎn)生最佳屬性子集。權(quán)限屬性由不包含類標記的135個全部屬性,減少為15個,屬性特征數(shù)量明顯減少。
2)實驗結(jié)果
本次實驗與權(quán)限的全部屬性分類中采用的是相同的數(shù)據(jù)集,針對不同的訓練樣本和測試樣本數(shù)量進行實驗,分別對不同測試數(shù)據(jù)進加權(quán)平均計算,得出經(jīng)過CFS屬性選擇后的上述分類算法在不同訓練數(shù)據(jù)的平均值如表2所示。
4.4 實驗結(jié)果對比分析
經(jīng)過屬性選擇的AODE分類算法具有較高的準確率和檢測率。屬性選擇前后,基于權(quán)限特征的異常軟件檢測結(jié)果如表3所示。
經(jīng)過屬性選擇后的特征數(shù)量明顯減少,只有15個,說明經(jīng)過權(quán)限屬性特征選擇的AODE分類器的維數(shù)顯著減少,而分類精度基本保持不變,能明顯減小能耗開銷,具有較好的性能。
5 結(jié)論
以上實驗表明,本文基于AODE分類模型的分類精度相較于基礎(chǔ)的NB模型有了明顯的提高,也高于ID3和IBK的分類精度。而利用CFS算法對權(quán)限屬性進行特征選取,得到的權(quán)限特征數(shù)量明顯減少,節(jié)省了能耗開銷,AODE分類算法的檢測率變化不大,仍然具有較高的準確率。驗證了運用CFS屬性選擇與AODE分類器相結(jié)合的檢測方案的優(yōu)良性,實現(xiàn)了異常軟件輕量級初步檢測。
參考文獻:
[1] 吳倩,趙晨嘯,郭瑩.Android安全機制解析與應用實踐[M].北京:機械工業(yè)出版社,2013.
[2] Mitchell. Machine learning[M].Burr Ridge,IL:McGraw Hill,1997.
[3] 高新波,張軍平.機器學習及其應用[M].北京:清華大學出版社,2015.
[4] 李航.統(tǒng)計學習方法[M].北京:清華大學出版社,2012.
【通聯(lián)編輯:代影】