[發(fā)明專利]利用隨機森林分類器實時檢測安卓惡意軟件的方法有效
| 申請?zhí)枺?/td> | 201710269007.7 | 申請日: | 2017-04-24 |
| 公開(公告)號: | CN107153789B | 公開(公告)日: | 2019-08-13 |
| 發(fā)明(設(shè)計)人: | 董慶寬;曾敏;張文博;陳原;白麗娜 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 陜西電子工業(yè)專利中心 61205 | 代理人: | 田文英;王品華 |
| 地址: | 710071 陜*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 惡意軟件 待檢測樣本 實時檢測 隨機森林分類器 檢測 數(shù)據(jù)流 隨機森林 應(yīng)用程序接口調(diào)用 隱馬爾科夫模型 應(yīng)用程序接口 數(shù)據(jù)流特征 輸出 調(diào)用序列 特征向量 網(wǎng)絡(luò)數(shù)據(jù) 網(wǎng)絡(luò)特征 最小單元 準確率 字段 傳輸 分組 網(wǎng)絡(luò) | ||
1.一種利用隨機森林分類器實時檢測安卓惡意軟件的方法,包括以下步驟:
(1)收集網(wǎng)絡(luò)數(shù)據(jù):
使用數(shù)據(jù)包捕獲工具,分別收集正常軟件樣本和惡意軟件樣本所產(chǎn)生的運行時應(yīng)用程序接口調(diào)用數(shù)據(jù)流,將收集到的運行時應(yīng)用程序接口調(diào)用數(shù)據(jù)流作為訓(xùn)練惡意軟件檢測模型的初始數(shù)據(jù)集;
(2)應(yīng)用程序接口調(diào)用數(shù)據(jù)流分組:
應(yīng)用程序接口利用數(shù)據(jù)流的分組規(guī)則,對初始應(yīng)用程序接口調(diào)用數(shù)據(jù)集進行分組,得到多個不同應(yīng)用程序接口數(shù)據(jù)流類型的分組;
所述的數(shù)據(jù)流的分組規(guī)則是指,對于初始數(shù)據(jù)集中的應(yīng)用程序接口數(shù)據(jù)流,按照數(shù)據(jù)流的時間順序,將兩個數(shù)據(jù)流時間間隔小于4.5秒的相鄰應(yīng)用程序接口數(shù)據(jù)流,劃分為一個數(shù)據(jù)流分組;
(3)提取數(shù)據(jù)流最小單元:
應(yīng)用程序接口利用數(shù)據(jù)流最小單元的分組規(guī)則,提取不同應(yīng)用程序接口數(shù)據(jù)流類型的分組,從運行時trace文件生成的應(yīng)用程序接口數(shù)據(jù)流調(diào)用關(guān)系樹中,提取應(yīng)用程序接口數(shù)據(jù)流最小單元;
所述的應(yīng)用程序接口數(shù)據(jù)流最小單元的分組規(guī)則是指,對于每一個應(yīng)用程序接口數(shù)據(jù)流分組內(nèi)的數(shù)據(jù)包,按照數(shù)據(jù)包的時間順序,將具有相同的應(yīng)用程序接口數(shù)據(jù)包,劃分成一個應(yīng)用程序數(shù)據(jù)流最小單元,7<Count<256,其中,Count為應(yīng)用程序數(shù)據(jù)流最小單元中數(shù)據(jù)包的總數(shù);
(4)提取調(diào)用序列特征:
(4a)根據(jù)運行時trace文件對應(yīng)的應(yīng)用程序接口數(shù)據(jù)流最小單元,分別從每個應(yīng)用程序接口數(shù)據(jù)流最小單元的頭部字段調(diào)用信息中,提取多種網(wǎng)絡(luò)行為特征序列;
(4b)將提取到的多種網(wǎng)絡(luò)行為特征中每一項網(wǎng)絡(luò)行為特征作為對應(yīng)向量的每一列特征元素,組成字段網(wǎng)絡(luò)特征向量;
(5)訓(xùn)練隱馬爾科夫模型:
(5a)分別將每個字段網(wǎng)絡(luò)特征向量標記為與該特征向量對應(yīng)的軟件樣本類別,將所有標記后的字段網(wǎng)絡(luò)特征向量組成隱馬爾科夫模型的訓(xùn)練樣本集;
(5b)利用Baum-Welch算法,對訓(xùn)練樣本集進行訓(xùn)練,得到隱馬爾科夫模型;
(5c)利用最大似然推導(dǎo)公式,計算在Baum-Welch算法下得到的隱馬爾科夫模型的最大似然輸出,將多個類型的最大似然輸出組成最大似然向量;
所述的最大似然推導(dǎo)公式如下:
第1步,按照下式,計算特征集合中狀態(tài)特征的轉(zhuǎn)移概率:
其中,akj表示狀態(tài)特征qk轉(zhuǎn)移到狀態(tài)特征qj的轉(zhuǎn)移概率,T表示當(dāng)前字段特征向量中向量元素的總數(shù),δ(qk,qj)表示狀態(tài)特征qk與狀態(tài)特征qj的克羅奈可值,當(dāng)狀態(tài)特征qk與狀態(tài)特征qj相等時,δ(qk,qj)等于1,當(dāng)狀態(tài)特征qk與狀態(tài)特征qj不相等時,δ(qk,qj)等于0,qt表示特征集合中第t個狀態(tài)特征,qk表示特征集合中第k個狀態(tài)特征,qt+1表示特征集合中第t+1個狀態(tài)特征,qj表示特征集合中第j個狀態(tài)特征;
第2步,按照下式,計算特征集合的發(fā)散概率:
其中,bj(l)表示從特征集合中的狀態(tài)特征qj至下一個狀態(tài)特征ql的發(fā)散概率,ql表示特征集合中第l個狀態(tài)特征;
第3步,將狀態(tài)特征qi與狀態(tài)特征qj的轉(zhuǎn)移概率和發(fā)散概率作為特征集合的最大似然輸出;
(6)訓(xùn)練隨機森林模型:
(6a)將最大似然向量作為隨機森林模型的觀測值訓(xùn)練樣本集;
(6b)利用隨機森林算法,對訓(xùn)練樣本集進行訓(xùn)練,得到隨機森林分類器檢測模型;
(7)提取待檢測樣本的應(yīng)用程序接口數(shù)據(jù)流特征:
(7a)利用網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具,實時捕獲待檢測樣本的應(yīng)用程序接口數(shù)據(jù)流特征;
(7b)根據(jù)數(shù)據(jù)流的分組規(guī)則,得到待檢測樣本的應(yīng)用程序接口數(shù)據(jù)流分組;
所述的數(shù)據(jù)流的分組規(guī)則是指,對于初始數(shù)據(jù)集中的應(yīng)用程序接口數(shù)據(jù)流,按照數(shù)據(jù)流的時間順序,將兩個數(shù)據(jù)流時間間隔小于4.5秒的相鄰應(yīng)用程序接口數(shù)據(jù)流,劃分為一個數(shù)據(jù)流分組;
(7c)根據(jù)數(shù)據(jù)流最小單元的分組規(guī)則,從待檢測樣本的應(yīng)用程序接口數(shù)據(jù)流分組中提取應(yīng)用程序接口數(shù)據(jù)流最小單元;
所述的應(yīng)用程序接口數(shù)據(jù)流最小單元的分組規(guī)則是指,對于每一個應(yīng)用程序接口數(shù)據(jù)流分組內(nèi)的數(shù)據(jù)包,按照數(shù)據(jù)包的時間順序,將具有相同的應(yīng)用程序接口數(shù)據(jù)包,劃分成一個應(yīng)用程序數(shù)據(jù)流最小單元,7<Count<256,其中,Count為應(yīng)用程序數(shù)據(jù)流最小單元中數(shù)據(jù)包的總數(shù);
(7d)提取到網(wǎng)絡(luò)行為特征作為向量的元素,組成字段網(wǎng)絡(luò)特征向量;
(8)將待檢測樣本的特征向量輸入隨機森林檢測模型,判斷特征檢測模型的輸出是否為惡意軟件類別,若是,則執(zhí)行步驟(9),否則,執(zhí)行步驟(10);
(9)將待檢測樣本標記為惡意軟件,輸出待檢測樣本對應(yīng)的惡意軟件類別;
(10)將待檢測樣本標記為正常軟件,輸出待檢測樣本對應(yīng)的正常軟件類別。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710269007.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





