[發明專利]一種安卓應用程序中不可信第三方庫訪問權限控制方法有效
| 申請號: | 201810387894.2 | 申請日: | 2018-04-26 |
| 公開(公告)號: | CN108763924B | 公開(公告)日: | 2022-04-22 |
| 發明(設計)人: | 曾慶凱;胡靜 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F21/54 | 分類號: | G06F21/54 |
| 代理公司: | 南京鐘山專利代理有限公司 32252 | 代理人: | 戴朝榮 |
| 地址: | 210046 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用程序 不可信 第三 訪問 權限 控制 方法 | ||
1.一種安卓應用程序中不可信第三方庫訪問權限控制方法,其特征在于,包括如下步驟:
步驟1、對第三方庫的權限進行分配;
步驟2、對第三方庫的不可調用API集合進行分析,根據第三方庫被分配的權限,結合權限與API的映射關系,分析得出第三方庫的不可調用API集合;
步驟3、對第三方庫的系統API調用安全性進行分析,根據第三方庫不可調用的權限API集合、及涉及敏感信息訪問的非權限API集合,分析記錄第三方庫中涉及這兩類API的調用信息,具體過程包括如下步驟:
步驟3.1、輸入第三方庫文件classFiles、不可調用的權限API集合illegalAPISet、可疑的非權限API集合susAPISet;
步驟3.2、初始化分析結果非法權限API調用記錄needReplaceAPISet、可疑非權限API調用記錄needInstruAPISet;
步驟3.3、取出classFiles的字節碼文件classFileItem_i進行分析;
步驟3.4、利用反編譯工具javap對選取出來的字節碼文件classFileItem_i文件進行反編譯,得到class文件的中間碼格式文件,并提取中間碼中常量池的內容;
步驟3.5、取出常量池中的所有方法引用,并保存在類方法引用集合methodRefSet_i中;
步驟3.6、遍歷methodRefSet_i中的元素,即對class文件中出現的方法引用methodRefItem_j逐一分析;
步驟3.7、對于字節碼常量池中出現的方法引用methodRefItem_j是否屬于不可調用的權限API集合illegalAPISet進行判斷,若是,則進入步驟3.8;若不是,則進入步驟3.9;
步驟3.8、第三方庫出現的方法引用methodRefItem_j是屬于不可調用的權限API集合illegalAPISet的,調用行為是非法的權限API調用行為,則需要將當前classFileItem_i和methodRefItem_j記錄到needReplaceAPISet中;
步驟3.9、由于字節碼常量池中出現的引用字節碼文件methodRefItem_j不屬于illegalAPISet,則需要進一步判斷引用字節碼文件methodRefItem_j是否屬于可疑的非權限API集合susAPISet的,如果是,則進入步驟3.10,如果不是,則進入步驟3.11;
步驟3.10、如果引用字節碼文件methodRefItem_j屬于可疑的非權限API集合susAPISet,則將當前classFileItem_i和methodRefItem_j記錄到needInstruAPISet中;
步驟3.11、判斷當前class文件的所有方法引用是否完成安全性分析,如果是,則進入步驟3.12,如果剩余方法引用未完成完全性分析,則跳轉到步驟3.6;
步驟3.12、安全性結果保存,即保存needReplaceAPISet、needInstruAPISet兩部分內容,以供字節碼重構模塊使用;
步驟4、根據代碼安全性分析結果,在第三方庫代碼中加入訪問控制策略,所述訪問控制策略包括:
對第三方庫的權限API不合法調用行為進行替換,根據代碼安全性分析結果中關于第三方庫中出現的權限API不合法行為,對其進行替換操作;
對第三方庫的非權限API可疑調用行為進行插樁,根據代碼安全性分析結果中關于第三方庫中出現的非權限API可疑調用行為,對其進行插樁操作。
2.根據權利要求1所述的安卓應用程序中不可信第三方庫訪問權限控制方法,其特征在于,步驟1具體包括如下步驟:
步驟1.1、根據第三方庫的附加說明信息提取出第三方庫申請的訪問權限;
步驟1.2、根據庫功能依次對第三方庫申請的訪問權限的合理性進行分析;
步驟1.3、為某條權限申請是否為合理性判定過程,如果為不合理的權限申請,則直接跳轉到步驟1.5,如果為合理的權限申請,則進入步驟1.4;
步驟1.4、將合理的權限申請條目加入第三方庫權限配置文件ThirdLib_Permissions.xml文件中,并進入步驟1.5;
步驟1.5、判斷是否對所有的第三方庫權限申請條目分析完成,如果存在權限申請條目未進行分析,則跳轉到步驟1.2繼續進行分析;如果已完成對所有的權限申請條目合理性分析,則結束權限分配流程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810387894.2/1.html,轉載請聲明來源鉆瓜專利網。





