[發明專利]一種Android系統下的權限共謀攻擊檢測方法有效
| 申請號: | 201710839802.5 | 申請日: | 2017-09-18 |
| 公開(公告)號: | CN107463847B | 公開(公告)日: | 2021-07-13 |
| 發明(設計)人: | 楊宏宇;王在明;謝麗霞 | 申請(專利權)人: | 中國民航大學 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F21/31 |
| 代理公司: | 天津才智專利商標代理有限公司 12108 | 代理人: | 龐學欣 |
| 地址: | 300300 天*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 android 系統 權限 共謀 攻擊 檢測 方法 | ||
1.一種Android系統下的權限共謀攻擊檢測方法,其特征在于:包括按順序進行的下列步驟:
(1)訓練樣本數據,得到安全策略規則集和通信數據集
①反編譯現有已知攻擊行為的APK樣本文件,得到AndroidManifest.xml文件,提取權限、組件和通信特征生成對應的特征向量,得到樣本數據;
②對Bayes分類算法進行改進,傳統Bayes分類算法通過計算權限Wi是共謀應用的條件概率P(C|Wi)來進行分類,Wi是共謀應用的條件概率P(C|Wi)為:
其中,P(C|Wi)表示出現權限Wi的應用是共謀應用的條件概率;P(C)為訓練階段應用中存在共謀應用的概率;P(Wi|C)表示共謀應用中權限Wi出現的概率;P(H)表示訓練階段應用中非共謀應用的概率;P(Wi|H)表示非共謀應用中權限Wi出現的概率;
③將上述提取的權限特征向量作為改進后Bayes分類算法的輸入,將改進后Bayes分類算法的分類結果作為共謀應用的安全策略規則集;
④利用上述提取的通信方式特征向量和組件特征向量生成通信狀態機;將步驟③中得到的的安全策略規則集輸入通信狀態機,得到優化后的安全策略規則集;
⑤將優化后的安全策略規則集保存到數據庫中;
(2)對權限共謀攻擊進行檢測
1)反編譯待檢測行為的APK文件得到AndroidManifest.xml文件,提取AndroidManifest.xml文件中權限、組件和通信相關特征生成對應的特征向量;
2)提取步驟1)中的權限特征向量作為改進Bayes分類算法的輸入,得到待檢測行為權限組合數據集;
3)利用步驟1)提取的待檢測行為的通信方式特征向量和組件特征向量生成待檢測行為通信狀態機,將步驟2)中得到的待檢測行為權限組合數據集輸入待檢測行為通訊狀態機得到優化待檢測行為權限組合數據集;
4)將步驟3)中得到的優化待檢測行為權限組合數據集在數據庫中與步驟(1)得到的優化后安全策略規則集進行匹配;若完全匹配成功,則待檢測行為是非權限共謀攻擊,否則該行為是權限共謀攻擊。
2.根據權利要求1所述的方法,其特征在于,對Bayes分類算法進行改進的方法為:
Ⅰ)判斷權限特征向量W={W1,W2,W3....Wn}中的權限Wi=0是否為0,若判斷結果為“是”,則計算P(Wi|C)和P(Wi|H)時,將所有權限出現的次數初始化為1,并根據樣本調整P(C|W)的值;否則,進入下一步,計算P(C|W),
其中,n表示應用的數量;
Ⅱ)判斷P(C|Wi)是否較小于0.001,若判斷結果為“是”(即P(C|Wi)小于0.001),則計算共謀攻擊概率P(Wi|C)和非共謀攻擊概率P(Wi|H)時,取P(C|Wi)的對數ln{(P(C|Wi))-1},將P(C|Wi)的結果判斷轉換為對P(W1|C)P(W2|C)...P(Wn|C)P(C)與P(W1|H)P(W2|H)...P(Wn|H)P(H)的比較;若判斷結果為“否”(即P(C|Wi)大于0.001),則進入下一步;
Ⅲ)計算P(C|W)時引入一個變量調整因子θ,其作用是調整權限列表中某一權限組合共謀攻擊的聯合概率,并利用Adaboost算法進行多次迭代確定變量調整因子θ;
Ⅳ)計算Lτ(S),其中,Lτ(S)=ln{(P(C|W))-1},當Lτ(S)大于0.5,將權限組合列表保存作為安全策略規則集。
3.根據權利要求1所述的方法,其特征在于,所述的通信狀態機的生成方法為:
步驟1:將每一個應用轉化為用點集合V與邊集E表示的狀態圖G(V,E);
用A表示一個應用,V—某個應用中Activities組件集合、Services組件的集合、Broadcast Receivers組件的集合和API調用與Intent相關的所有操作字符串的集合;
定義點集合V為:
V=α∪β∪γ∪ζ(ξ) (3)
α—應用A中Activities組件的集合;
β—應用A中Services組件的集合;
γ—應用A中Broadcast Receivers組件的集合;
ξ—應用A中與Intent相關的API調用;
ζ(ξ)表示API調用ξ中所有操作字符串的集合;
定義邊集E為:
S(ξ)—API調用ξ中發送Intent傳遞信息組件集;
S(ξ)={x∈{α∪β∪γ},表示x發送Intent i∈ξ;T(ξ)表示接收Intent處理信息的組件集;
T(ξ)={x∈{α∪β∪γ},表示x接收Intent i∈ξ;
—API調用ξ中Intent與Intent組件之間相關傳遞信息的組件集合;
步驟2:將所有應用轉化后的狀態圖進行融合,得到融合圖;
為處理應用間的隱式Intent調用問題,將狀態圖G(V,E)融合,將n個應用對應的所有狀態圖融合后表示為融合圖Gu,
步驟3:對融合圖進行優化,刪除融合圖中的動作字符串的節點得到優化圖Gd;
步驟4:建立優化圖Gd的狀態機;
將優化圖Gd轉化為狀態機M中對應的元素,優化圖Gd節點作為狀態機M中接受狀態集F;初始狀態為q0,權限集Q=F∪{q0},狀態轉移函數δ包含從q0→F的轉換,且能夠訪問接受狀態集F中的元素和優化圖Gd中的所有邊,若組件間存在通信,則保存通信相關的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國民航大學,未經中國民航大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710839802.5/1.html,轉載請聲明來源鉆瓜專利網。





