◆王駿濤 易叔海
(武漢虹旭信息技術有限責任公司 湖北 430205)
安全模型、算法與編程
基于機器學習算法構建手機惡意軟件研判模型的研究
◆王駿濤 易叔海
(武漢虹旭信息技術有限責任公司 湖北 430205)
本文介紹了一種基于機器學習算法構建手機惡意軟件特征研判模型的方法,提出了基于惡意軟件的行為分析模型,通過特征取樣分析,可以實現對惡意軟件的特征分析,通過不斷完善機器學習算法,提升惡意軟件的研判能力。
樸素貝葉斯模型;機器學習;特征分析;惡意軟件
惡意軟件是指在計算機和移動終端系統上執行惡意任務的病毒、蠕蟲和特洛伊木馬程序,通過破壞軟件進程來實施控制[1]。伴隨著手機的大量普及,移動端惡意程序不論是在技術上,還是在鏈路傳播上更加趨向于對個人隱私的收集和財務詐騙。據2016年統計,基于Android系統的惡意程序已經達到了1402.3萬個,IOS系統也曝出多個漏洞。面對日新月異的網絡安全威脅和惡意軟件的快速變種,急需一套惡意特征分析的檢測系統,結合安裝包文件特征、流量特征、權限特征、行為特征,構建四維立體檢測模型,利用機器學習算法,實現對樣本的不斷分析和學習,提升惡意軟件的研判能力,及時為用戶提供預警。
自從智能手機的出現,惡意軟件就一直在攻防領域展開對抗。當前手機惡意軟件的現狀如下:
1.1 利用漏洞技術,運行更加隱蔽
隨著漏洞挖掘技術的興起,特別是系統級漏洞的曝光,給不法人員入侵系統提供了快捷的途徑。他們以低成本的方式對漏洞加以利用,可以繞過手機的殺毒軟件,實現更加隱蔽的底層運行。
其次借助于逆向技術,黑客可以將惡意代碼注入到手機合法軟件中捆綁運行。這種捆綁式的軟件在一定程度上提升了自身的隱蔽性,增加了用戶的信任,很容易導致用戶的財產損失。
1.2 惡意軟件更加側向個人財務
手機支付在便捷的同時,其安全性問題越來越多。據獵網平臺2016年接統計分析,有4265人是通過銀行轉賬、第三方支付、手機充值等方式主動給不法分子轉賬,占比66.4%;其次,有1132人在虛假釣魚網站上支付,占比17.6%[2]。更多的惡意軟件通過劫持用戶操作界面,通過驗證短信實現對手機支付和轉賬操作,給用戶帶來了巨大的財產損失。
1.3 結合社會工程學誘導用戶
社會工程學(Social Engineering)泛指一種通過對受害者心理弱點、本能反應、好奇心、信任、貪婪等心理陷阱進行諸如欺騙、傷害等取得利益的手法。黑客的社工手段正是利用前期獲取的用戶私有信息冒充親人、政府人員、運營商、銀行進行誘騙,特別是通過偽基站誘騙植入惡意軟件,從而騙取用戶的銀行卡或支付寶賬號、密碼等重要信息,實現進一步詐騙。
1.4 惡意軟件傳播和感染途徑更加廣泛
惡意軟件的傳播從最開始短信和鏈接感染,逐漸發展為鏈路上的流量劫持,通過對流量包的偽造,從而植入惡意軟件,手段更加隱蔽。在感染方面逐漸由單一系統向多系統演變,跨平臺傳播惡意安裝包會根據接入設備不同,感染不同版本的惡意軟件,從而實現了對用戶終端設備的遠程控制。同時在傳播上,木馬攻擊全平臺化方向發展將成為今后的趨勢,例如2016年的“Switcher”惡意軟件可以實現對家用路由器的攻擊實現流量劫持,給手機用戶帶來致命的安全隱患。
2.1 惡意軟件檢測現狀
當前對樣本的檢測方法主要有基于特征代碼的檢測方法和基于行為的檢測方法。基于特征代碼的檢測方法,通過檢測文件是否擁有已知樣本的特征代碼和權限列表來判斷其是否為惡意軟件。它的優點是檢測快速、準確率高、誤報率低,但缺點是無法檢測未知的惡意代碼。基于行為的檢測方法,通過分析應用程序的運行權限和操作行為進行綜合分析,并將這些行為與已知的惡意行為模式進行匹配,以此判斷目標文件是否具備惡意特征。它的優點可以檢測未知的惡意變種,缺點是誤報率較高。
2.2 惡意軟件特征采集和分析
本文將結合安裝包的特征、流量特征、權限特征和行為的檢測方法,通過動態分析和靜態分析,構建一個惡意軟件檢測模型,實現對惡意軟件的判定,主要特征如下:
2.2.1 安裝包特征
安裝包特征是硬件特征,可通過MD5文件特征比對進行分析判斷。對于通過注入技術和捆綁技術實現的惡意軟件,木馬運行在正常的目標進程中,需要結合MD5值和數據交互IP池比對來辨別軟件是否被篡改。
2.2.2 流量特征
基于流量的分析,包括了對流量產生的時間和地點進行分析,同時對樣本的流量內容進行還原,進一步獲取樣本的流量數據。同時通過模擬用戶操作手機系統,采集比對正常應用IP池、用戶手機鎖屏期間頻繁交互、周期性請求固定數據、上行流量大于下行流量等特征,判斷是否為被注入惡意代碼正常軟件。借助于逆向技術,還原出目標應用的加密算法,實現對流量的還原,檢測是否涉及到用戶通訊錄、地理位置、短信、通話記錄、圖片、音視頻等敏感私人信息,提供給分析模型進行判斷。
2.2.3 權限特征
通過逆向技術對樣本進行靜態分析,可以獲取樣本權限特征。通過對權限信息的分析可以檢測惡意軟件是否申請了敏感隱私權限,包括訪問文件、訪問攝像頭、訪問短信、訪問通訊錄等權限。
2.2.4 行為特征
相對于靜態分析,行為檢測可以以動態的方式展現樣本是否執行了具有威脅性的代碼,通過采集對系統的資源訪問情況,可以獲取到該軟件的行為特征。通過動態行為的監控,Hook系統API接口,可記錄樣本運行行為,最終確定的威脅行為將對比重判斷提供更有效的判斷模型。

表1 惡意軟件特征列表
2.3 樸素貝葉斯模型
樸素貝葉斯分類器(Naive Bayes Classifier,或 NBC)發源于古典數學理論,有著堅實的數學基礎,以及穩定的分類效率[7]。同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。假如我們的分類模型樣本是:

,接著得到條件概率分布:


2.4 樸素貝葉斯模型構建
基于以上的特征分析和樸素貝葉斯方法推斷,可以實現基于惡意軟件特征的模型建模。通過將樣本數據統計分析,計算其概率,以表1總結出來的惡意特征作為統計屬性,主要步驟如下:
(1)獲取200種測試樣本,n為獲取樣本中各權限總數;
(2)從應用市場獲取正版應用軟件100種,記錄為A={<behavior1,size_a1>,...},概率計算公式為:

(3)獲取網絡曝光的惡意軟件100種樣本,記錄為B={<behavior1,size_b1>,...}

(4)使用NB算法,計算概率,N為權限分類數量:

根據步驟四計算的概率可以計算出樣本預測分類,隨機選擇未參與訓練20個樣本進行2輪的模型判斷,利用以下公式可以得到分析結果:


表2 機器學習模型研判結果
由此可見,樣本具有一定判斷能力,可以通過更多樣本學習不斷提升精準度,之后可以完善惡意軟件研判模型,提升系統的研判能力。
本文使用的基于特征決策模型,依據惡意軟件安裝包特征、流量特征、權限特征、行為特征進行深入分析,基于樸素貝葉斯模型構建機器學習模型,實現對惡意軟件的研判,取得了一定效果,后期將加強研判樣本的自學習,提升研判精度。
[1]百度百科.惡意軟件[EB/OL].http://baike.baiducom/i. tem/惡意軟件.
[2]MBA智庫文檔.2016年中國手機安全狀況報告[EB/OL].http://doc.mbalib.com/view/14c980ded28e58be974ca2 17c3ed203c.html.
[3]孫潤康,展嫻,邵玉如等.Android手機安全檢測與取證分析系統[J].信息網絡安全,2013.
[4]吳大勇,鄭紫微.基于Android平臺的訪問權限機制優化方案[J].計算機工程,2013.
[5]楊廣亮,龔曉銳,姚剛等.一個面向Android的隱私泄露檢測系統[J].計算機工程,2012.
[6]戴威,鄭滔.基于Android權限機制的動態隱私保護模型[J].計算機應用研究,2012.
[7]薛麗娜.基于改進的樸素貝葉斯算法的Android平臺安全檢測[D].昆明理工大學,2016.