黃玉書



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