[發明專利]一種基于安卓虛擬容器的安全裝置、方法及安全裝置的構建方法在審
| 申請號: | 201611189648.3 | 申請日: | 2016-12-21 |
| 公開(公告)號: | CN108229146A | 公開(公告)日: | 2018-06-29 |
| 發明(設計)人: | 李伏一;袁海濤;馮澤;馬志遠 | 申請(專利權)人: | 武漢安天信息技術有限責任公司 |
| 主分類號: | G06F21/53 | 分類號: | G06F21/53 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 虛擬容器 安全裝置 應用 構建 預設 系統環境 應用層 隔離 安全模塊 惡意代碼 獲取模塊 加載模塊 敏感數據 用戶體驗 用戶隱私 運行環境 敏感 替換 泄露 虛擬 監控 訪問 | ||
1.一種基于安卓虛擬容器的安全裝置,其特征在于,安全裝置位于一虛擬容器中,所述虛擬容器位于Android應用層且與真實的系統環境隔離,本安全裝置裝置包括:
應用獲取模塊,用于獲取并解析外存中的apk文件;
應用加載模塊,用于加載并運行apk文件;
安全模塊,用于監控apk文件加載和運行時的行為,當apk文件要執行預定義敏感行為時,替換應用要訪問的敏感數據為預設數據。
2.一種如權利要求1所述的安全裝置,其特征在于,所述安全模塊包括:Java層安全子模塊和Native層安全子模塊,其中Java層安全子模塊用于監控apk文件在運行時調用Java層敏感函數的行為,Native層安全子模塊用于監控apk文件在運行時調用Native層敏感函數的行為。
3.一種如權利要求1所述的安全裝置,其特征在于,應用加載模塊包括代碼加載模塊和資源加載模塊;
所述的代碼加載模塊用于創建待測應用Application和主Activity;
所述的資源加載模塊用于加載待測應用資源,其中資源包括位圖文件、頁面布局文件或顏色文件。
4.一種使用權利要求1所述安全裝置的安全方法,其特征在于,將安全裝置應用于位于Android應用層且與真實的系統環境隔離中,本安全方法包括:
獲取并解析外存中的apk文件;
加載并運行apk文件;
監控apk文件運行時的行為,當apk文件要執行預定義敏感行為時,替換應用訪問的隱私數據為預設構造的數據。
5.如權利要求4所述的安全方法,其特征在于,監控apk文件運行時的行為包括:分別對Java層的敏感函數和Native層敏感函數進行hook。
6.如權利要求1所述的安全裝置或如權利要求4所述的安全方法,其特征在于,替換應用要訪問的敏感數據為預設數據的方法包括替換Hook函數中的參數或返回值為預設的相應數據。
7.如權利要求4所述的安全方法,其特征在于,所述的加載對應的apk文件包括:
代碼加載:創建待測應用Application和主Activity;
資源加載:加載待測應用資源,其中資源包括位圖文件、頁面布局文件或顏色文件。
8.如權利要求3所述的安全裝置或如權利要求7所述的安全方法,其特征在于,所述資源加載的方法包括:將apk文件的資源路徑傳遞給AsserManager中的addAssertPath函數,用AssertManager創建Resources對象,將apk文件的資源加載到Resources對象中;
代碼加載的方法包括:通過動態代理的方式hook住虛擬容器的StartActivity函數,修改該函數的Intent參數為虛擬容器中的Activity,當AMS完成Activity的管理后,調用ScheduleLanuchActivity方法,虛擬容器創建待測應用的Activity;通過動態代理的方式hook住ActivityThread中的mH對象,在創建的待測應用Activity的前面加入創建Application的流程。
9.一種如權利要求1所述安全裝置的構建方法,其特征在于:它包括以下步驟:
構建虛擬容器app:在Android應用層構建作為一個app的虛擬容器的整體框架,包括應用獲取模塊、應用加載模塊和安全模塊;
構建應用獲取模塊:創建用于展示待測應用的Activity;
構建應用加載模塊:根據APK文件的包名在虛擬容器里創建對應的文件目錄,該文件目錄為模擬待測應用正常安裝到系統后產生的文件目錄;
創建資源加載模塊;
創建代碼加載模塊;
構建安全模塊:構建敏感行為集合;該集合包含了Android平臺與敏感行為相關的敏感函數,以確定需要Hook的敏感函數;然后構建Hook框架,對敏感集合中的函數進行hook操作,并替換其訪問的敏感數據為預設的數據。
10.一種如權利要求9所述的構建方法,其特征在于:構建安全模塊包括以下步驟:
構建Java層安全子模塊: 構建Java層敏感行為集合;該集合包含了Android平臺與敏感行為相關的Java層敏感函數,以確定需要Hook的敏感函數;然后構建Java層Hook框架,對敏感集合中的Java函數進行hook操作,并替換其訪問的敏感數據為預設的數據;
構建Native層安全子模塊:構建Native層敏感行為集合;該集合包含了Android平臺與敏感行為相關的Native層敏感函數,以確定需要Hook的敏感函數;然后構建Native層Hook框架,對敏感集合中的Native函數進行hook操作,并替換其訪問的敏感數據為預設的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢安天信息技術有限責任公司,未經武漢安天信息技術有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611189648.3/1.html,轉載請聲明來源鉆瓜專利網。





