[發明專利]基于動態行為依賴圖的Android惡意軟件分類方法有效
| 申請號: | 201610119003.6 | 申請日: | 2016-03-02 |
| 公開(公告)號: | CN105653956B | 公開(公告)日: | 2019-01-25 |
| 發明(設計)人: | 王蕊;林子敏;代朋紋;張道娟;武傳坤;操曉春 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F21/53 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 邱曉鋒 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 動態 行為 依賴 android 惡意 軟件 分類 方法 | ||
1.一種基于動態行為依賴圖的Android惡意軟件分類方法,其步驟包括:
1)在沙盒中執行Android應用并提取其動態行為信息,包括框架層接口調用行為和行為間的依賴關系;
該步驟1)在自定義的Dalvik虛擬機中運行Android應用,得到其相應的動態行為信息,包括以下子步驟:
1-1)在Dalvik虛擬機運行過程中,Java指令解釋過程被掌管,當函數調用指令被解釋執行時,判斷是否為一個框架層接口調用行為,如果是,則函數內的指令行為進一步被分析,用于記錄行為之間的依賴關系;
1-2)搜集所有的系統框架層DEX函數庫的文件指紋,以便區分普通函數調用和框架層接口調用行為;
1-3)在框架層接口函數執行過程中,執行沙盒進一步記錄其中指令操作的數據依賴關系;
2)根據提取的動態行為信息,將Android應用模型化為行為依賴圖;
3)將構建的行為依賴圖進行優化,然后將行為依賴圖劃分為更小尺寸的行為子圖,每個Android應用被表示為一個行為子圖集合;
4)從已知的Android惡意軟件族中分別挑選多個樣本進行第1)-3)步操作,并從得到的所有行為子圖中通過圖匹配技術挑選部分行為子圖作為特征;
5)對已知的Android惡意應用族樣本和正常Android應用樣本分別進行第1)-3)步操作,得到一系列的行為子圖集,然后通過比較第4)步選擇的基本特征,將每一個Android應用表示為一個特征向量,進行模型訓練;
6)將未知的Android應用利用步驟5)訓練所得的分類器,實現對未知Android應用的分類。
2.如權利要求1所述的方法,其特征在于,步驟2)所述行為依賴圖是有向圖,圖中的節點是指APP整個生命周期間調用的接口函數,邊是指函數節點之間的數據依賴關系。
3.如權利要求1所述的方法,其特征在于,步驟3)對構建的行為依賴圖進行優化和劃分,具體過程如下:
3-1)選擇關鍵函數,合并重復節點,刪除冗余邊,以優化復雜的行為依賴圖;
3-2)將行為依賴圖劃分成子圖,以使得關鍵的惡意行為不會被正常行為所掩蓋。
4.如權利要求3所述的方法,其特征在于,所述選擇關鍵函數的方法為:預先在惡意軟件和正常軟件中計算函數的調用頻率,如果一個函數在惡意軟件中調用的頻率高于在正常軟件中調用的頻率,則將其作為關鍵函數;所述合并重復節點的方法為:將相互依賴的節點、依賴于同一節點的兩個點合并成一個節點;所述刪除冗余邊的方法為:對于依賴關系:A依賴于B,B依賴于C,則存在很大的概率推導出A依賴于C,如果存在A依賴于C,將該冗余邊刪除;所述的劃分子圖的步驟為:首先在行為依賴圖找到所有的葉子節點;然后遞歸針對每一個葉子節點尋找其所有的祖先節點;最后,每個葉子節點和它的祖先節點構成一個行為子圖。
5.如權利要求1所述的方法,其特征在于,步驟4)中,當同一個行為子圖至少同時出現在同一族的兩個惡意Android應用樣本中時,該行為子圖被挑選作為一個子圖特征;所述圖匹配技術通過圖的編輯距離來衡量兩個子圖的匹配程度,即當兩個子圖相似度達到一定程度時,即認為兩個行為子圖是同一子圖。
6.如權利要求1所述的方法,其特征在于,步驟5)對已知的Android惡意應用族樣本和正常應用樣本利用步驟1)-4)將每一個應用構建為一個0與1的特征向量,然后對這些特征向量利用支持向量機進行模型訓練,生成分類器。
7.如權利要求1所述的方法,其特征在于,步驟6)對未知的Android應用首先構建其相應的特征向量,然后利用生成的分類器進行分類。
8.如權利要求1所述的方法,其特征在于,還包括步驟7)即驗證與評估步驟,該步驟利用步驟5)訓練出的模型對現實環境中大量APP進行測試和評估,并且模擬三種攻擊場景進行驗證,所述三種攻擊場景包括:代碼加密攻擊,線程劃分攻擊,垃圾代碼注入攻擊。
9.一種采用權利要求1所述方法的基于動態行為依賴圖的Android惡意軟件分類系統,其特征在于,包括:
Android應用執行沙盒模塊,用于執行Android應用并提取其動態行為信息,包括框架層接口調用行為和行為間的依賴關系,然后根據動態信息構建動態行為依賴圖;
行為依賴圖處理模塊,用于優化復雜的行為依賴圖結構,并將行為依賴圖劃分成子圖;
特征的自動提取模塊,用于從惡意軟件動態行為依賴圖中提取相似的子圖結構,將至少被兩個惡意軟件共同擁有的相似子圖結構作為分類時的基本特征;
模型訓練模塊,用于訓練含有惡意軟件和正常軟件集合的訓練樣本,生成分類器,用于對未知APP的分類;
未知APP分類模塊,用于利用模型訓練模塊所得的分類器,實現對未知Android應用的分類。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610119003.6/1.html,轉載請聲明來源鉆瓜專利網。





