◆王駿濤 易叔海
(武漢虹旭信息技術(shù)有限責(zé)任公司 湖北 430205)
安全模型、算法與編程
基于機器學(xué)習(xí)算法構(gòu)建手機惡意軟件研判模型的研究
◆王駿濤 易叔海
(武漢虹旭信息技術(shù)有限責(zé)任公司 湖北 430205)
本文介紹了一種基于機器學(xué)習(xí)算法構(gòu)建手機惡意軟件特征研判模型的方法,提出了基于惡意軟件的行為分析模型,通過特征取樣分析,可以實現(xiàn)對惡意軟件的特征分析,通過不斷完善機器學(xué)習(xí)算法,提升惡意軟件的研判能力。
樸素貝葉斯模型;機器學(xué)習(xí);特征分析;惡意軟件
惡意軟件是指在計算機和移動終端系統(tǒng)上執(zhí)行惡意任務(wù)的病毒、蠕蟲和特洛伊木馬程序,通過破壞軟件進程來實施控制[1]。伴隨著手機的大量普及,移動端惡意程序不論是在技術(shù)上,還是在鏈路傳播上更加趨向于對個人隱私的收集和財務(wù)詐騙。據(jù)2016年統(tǒng)計,基于Android系統(tǒng)的惡意程序已經(jīng)達到了1402.3萬個,IOS系統(tǒng)也曝出多個漏洞。面對日新月異的網(wǎng)絡(luò)安全威脅和惡意軟件的快速變種,急需一套惡意特征分析的檢測系統(tǒng),結(jié)合安裝包文件特征、流量特征、權(quán)限特征、行為特征,構(gòu)建四維立體檢測模型,利用機器學(xué)習(xí)算法,實現(xiàn)對樣本的不斷分析和學(xué)習(xí),提升惡意軟件的研判能力,及時為用戶提供預(yù)警。
自從智能手機的出現(xiàn),惡意軟件就一直在攻防領(lǐng)域展開對抗。當(dāng)前手機惡意軟件的現(xiàn)狀如下:
1.1 利用漏洞技術(shù),運行更加隱蔽
隨著漏洞挖掘技術(shù)的興起,特別是系統(tǒng)級漏洞的曝光,給不法人員入侵系統(tǒng)提供了快捷的途徑。他們以低成本的方式對漏洞加以利用,可以繞過手機的殺毒軟件,實現(xiàn)更加隱蔽的底層運行。
其次借助于逆向技術(shù),黑客可以將惡意代碼注入到手機合法軟件中捆綁運行。這種捆綁式的軟件在一定程度上提升了自身的隱蔽性,增加了用戶的信任,很容易導(dǎo)致用戶的財產(chǎn)損失。
1.2 惡意軟件更加側(cè)向個人財務(wù)
手機支付在便捷的同時,其安全性問題越來越多。據(jù)獵網(wǎng)平臺2016年接統(tǒng)計分析,有4265人是通過銀行轉(zhuǎn)賬、第三方支付、手機充值等方式主動給不法分子轉(zhuǎn)賬,占比66.4%;其次,有1132人在虛假釣魚網(wǎng)站上支付,占比17.6%[2]。更多的惡意軟件通過劫持用戶操作界面,通過驗證短信實現(xiàn)對手機支付和轉(zhuǎn)賬操作,給用戶帶來了巨大的財產(chǎn)損失。
1.3 結(jié)合社會工程學(xué)誘導(dǎo)用戶
社會工程學(xué)(Social Engineering)泛指一種通過對受害者心理弱點、本能反應(yīng)、好奇心、信任、貪婪等心理陷阱進行諸如欺騙、傷害等取得利益的手法。黑客的社工手段正是利用前期獲取的用戶私有信息冒充親人、政府人員、運營商、銀行進行誘騙,特別是通過偽基站誘騙植入惡意軟件,從而騙取用戶的銀行卡或支付寶賬號、密碼等重要信息,實現(xiàn)進一步詐騙。
1.4 惡意軟件傳播和感染途徑更加廣泛
惡意軟件的傳播從最開始短信和鏈接感染,逐漸發(fā)展為鏈路上的流量劫持,通過對流量包的偽造,從而植入惡意軟件,手段更加隱蔽。在感染方面逐漸由單一系統(tǒng)向多系統(tǒng)演變,跨平臺傳播惡意安裝包會根據(jù)接入設(shè)備不同,感染不同版本的惡意軟件,從而實現(xiàn)了對用戶終端設(shè)備的遠程控制。同時在傳播上,木馬攻擊全平臺化方向發(fā)展將成為今后的趨勢,例如2016年的“Switcher”惡意軟件可以實現(xiàn)對家用路由器的攻擊實現(xiàn)流量劫持,給手機用戶帶來致命的安全隱患。
2.1 惡意軟件檢測現(xiàn)狀
當(dāng)前對樣本的檢測方法主要有基于特征代碼的檢測方法和基于行為的檢測方法。基于特征代碼的檢測方法,通過檢測文件是否擁有已知樣本的特征代碼和權(quán)限列表來判斷其是否為惡意軟件。它的優(yōu)點是檢測快速、準確率高、誤報率低,但缺點是無法檢測未知的惡意代碼?;谛袨榈臋z測方法,通過分析應(yīng)用程序的運行權(quán)限和操作行為進行綜合分析,并將這些行為與已知的惡意行為模式進行匹配,以此判斷目標(biāo)文件是否具備惡意特征。它的優(yōu)點可以檢測未知的惡意變種,缺點是誤報率較高。
2.2 惡意軟件特征采集和分析
本文將結(jié)合安裝包的特征、流量特征、權(quán)限特征和行為的檢測方法,通過動態(tài)分析和靜態(tài)分析,構(gòu)建一個惡意軟件檢測模型,實現(xiàn)對惡意軟件的判定,主要特征如下:
2.2.1 安裝包特征
安裝包特征是硬件特征,可通過MD5文件特征比對進行分析判斷。對于通過注入技術(shù)和捆綁技術(shù)實現(xiàn)的惡意軟件,木馬運行在正常的目標(biāo)進程中,需要結(jié)合MD5值和數(shù)據(jù)交互IP池比對來辨別軟件是否被篡改。
2.2.2 流量特征
基于流量的分析,包括了對流量產(chǎn)生的時間和地點進行分析,同時對樣本的流量內(nèi)容進行還原,進一步獲取樣本的流量數(shù)據(jù)。同時通過模擬用戶操作手機系統(tǒng),采集比對正常應(yīng)用IP池、用戶手機鎖屏期間頻繁交互、周期性請求固定數(shù)據(jù)、上行流量大于下行流量等特征,判斷是否為被注入惡意代碼正常軟件。借助于逆向技術(shù),還原出目標(biāo)應(yīng)用的加密算法,實現(xiàn)對流量的還原,檢測是否涉及到用戶通訊錄、地理位置、短信、通話記錄、圖片、音視頻等敏感私人信息,提供給分析模型進行判斷。
2.2.3 權(quán)限特征
通過逆向技術(shù)對樣本進行靜態(tài)分析,可以獲取樣本權(quán)限特征。通過對權(quán)限信息的分析可以檢測惡意軟件是否申請了敏感隱私權(quán)限,包括訪問文件、訪問攝像頭、訪問短信、訪問通訊錄等權(quán)限。
2.2.4 行為特征
相對于靜態(tài)分析,行為檢測可以以動態(tài)的方式展現(xiàn)樣本是否執(zhí)行了具有威脅性的代碼,通過采集對系統(tǒng)的資源訪問情況,可以獲取到該軟件的行為特征。通過動態(tài)行為的監(jiān)控,Hook系統(tǒng)API接口,可記錄樣本運行行為,最終確定的威脅行為將對比重判斷提供更有效的判斷模型。
表1 惡意軟件特征列表
2.3 樸素貝葉斯模型
樸素貝葉斯分類器(Naive Bayes Classifier,或 NBC)發(fā)源于古典數(shù)學(xué)理論,有著堅實的數(shù)學(xué)基礎(chǔ),以及穩(wěn)定的分類效率[7]。同時,NBC模型所需估計的參數(shù)很少,對缺失數(shù)據(jù)不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。假如我們的分類模型樣本是:
,接著得到條件概率分布:
2.4 樸素貝葉斯模型構(gòu)建
基于以上的特征分析和樸素貝葉斯方法推斷,可以實現(xiàn)基于惡意軟件特征的模型建模。通過將樣本數(shù)據(jù)統(tǒng)計分析,計算其概率,以表1總結(jié)出來的惡意特征作為統(tǒng)計屬性,主要步驟如下:
(1)獲取200種測試樣本,n為獲取樣本中各權(quán)限總數(shù);
(2)從應(yīng)用市場獲取正版應(yīng)用軟件100種,記錄為A={<behavior1,size_a1>,...},概率計算公式為:
(3)獲取網(wǎng)絡(luò)曝光的惡意軟件100種樣本,記錄為B={<behavior1,size_b1>,...}
(4)使用NB算法,計算概率,N為權(quán)限分類數(shù)量:
根據(jù)步驟四計算的概率可以計算出樣本預(yù)測分類,隨機選擇未參與訓(xùn)練20個樣本進行2輪的模型判斷,利用以下公式可以得到分析結(jié)果:
表2 機器學(xué)習(xí)模型研判結(jié)果
由此可見,樣本具有一定判斷能力,可以通過更多樣本學(xué)習(xí)不斷提升精準度,之后可以完善惡意軟件研判模型,提升系統(tǒng)的研判能力。
本文使用的基于特征決策模型,依據(jù)惡意軟件安裝包特征、流量特征、權(quán)限特征、行為特征進行深入分析,基于樸素貝葉斯模型構(gòu)建機器學(xué)習(xí)模型,實現(xiàn)對惡意軟件的研判,取得了一定效果,后期將加強研判樣本的自學(xué)習(xí),提升研判精度。
[1]百度百科.惡意軟件[EB/OL].http://baike.baiducom/i. tem/惡意軟件.
[2]MBA智庫文檔.2016年中國手機安全狀況報告[EB/OL].http://doc.mbalib.com/view/14c980ded28e58be974ca2 17c3ed203c.html.
[3]孫潤康,展嫻,邵玉如等.Android手機安全檢測與取證分析系統(tǒng)[J].信息網(wǎng)絡(luò)安全,2013.
[4]吳大勇,鄭紫微.基于Android平臺的訪問權(quán)限機制優(yōu)化方案[J].計算機工程,2013.
[5]楊廣亮,龔曉銳,姚剛等.一個面向Android的隱私泄露檢測系統(tǒng)[J].計算機工程,2012.
[6]戴威,鄭滔.基于Android權(quán)限機制的動態(tài)隱私保護模型[J].計算機應(yīng)用研究,2012.
[7]薛麗娜.基于改進的樸素貝葉斯算法的Android平臺安全檢測[D].昆明理工大學(xué),2016.