[發明專利]一種面向Android系統資源的訪問控制方法有效
| 申請號: | 201310675959.0 | 申請日: | 2013-12-11 |
| 公開(公告)號: | CN103699835A | 公開(公告)日: | 2014-04-02 |
| 發明(設計)人: | 桂小林;代敏;郭岳龍;趙建強;田豐;林建財;安健 | 申請(專利權)人: | 西安交通大學 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55;G06F21/52 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 徐文權 |
| 地址: | 710049 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 android 系統資源 訪問 控制 方法 | ||
技術領域:
本發明屬于基于Android系統的智能終端的安全防護領域,具體涉及一種面向Android系統資源的訪問控制方法。
背景技術:
隨著Android系統的日益流行,越來越多的設備廠商轉向Android系統,基于該系統的應用數量也呈爆炸式增長。隨之而來的安全問題也日益嚴嚴峻,如何快速檢測應用安全性,保證用戶的應用安全是一項巨大的挑戰。首先,由于系統的差異性,傳統的面向Windows系統的安全性檢測方法不再適用;其次,Android系統的開源性為惡意應用開發者提供了優越的空間;另外,Android系統版本各異,缺乏統一的管理;最后,Android應用下載中心混雜,應用安全性無法保證。這些新特性的出現,使得基于Android系統的應用安全性檢測更加困難。鑒于此,學者們提出靜態檢測和動態檢測兩種方式進行應用的安全性判定,這兩種方式雖然在很大程度上保證了用戶的安全性,但仍存在不足。現有的靜態檢測方式:(1)病毒特征值比對,需要依賴龐大的病毒庫,屬于后知后覺;(2)權限分析,則需要為每種權限設定適當的權重,并確定合適的閾值。動態監測:(1)改變系統源碼,實現復雜;(2)Hook?API方法需要針對不同的行為Hook不同的API。這些方法都存在缺陷,不能簡單快捷的發現惡意應用,全面保證用戶的安全。
發明內容:
針對以上問題,本發明提出一種面向Android系統資源的訪問控制方法,通過監控ServiceManager的調用,發現并攔截系統中敏感資源的調用,及時提醒用戶,讓用戶自行決定是“禁止”還是“允許”,并且根據用戶的選擇進行相應的操作。
為了實現上述目的,本發明采用如下技術方案:
一種面向Android系統資源的訪問控制方法,包括以下步驟:
1)、上層應用請求使用系統資源,調用ServiceManager,當運行到監控代碼時,轉入到監控攔截程序中運行,監控攔截程序分析svcmgr_handler()函數的參數txt中的內容,獲取到請求資源的信息和發出請求的應用信息;
監控攔截程序首先判斷中斷號是否來自加入的斷點,判斷條件為:
(ARM_pc>=int_addr)&&ARM_pc<=(int_addr+0xf)
其中ARM_pc是寄存器中下一條指令的地址,int_addr為斷點注入地址,0xf為十六進制表示的常數16;不同版本系統斷點語句數目可能不同,本發明取范圍int_addr至int_addr+0xf;
如果滿足判斷條件,說明攔截到的中斷來自加入的斷點,存儲相應資源信息和請求者的信息到對應寄存器中,然后進入步驟2);如果不滿足判斷條件,正常調用ServiceManager分配系統資源;
2)、獲取請求資源的信息,判斷是否為敏感系統資源;如果為敏感系統資源,彈出對話框,提示用戶,根據用戶的選擇,進行相應的處理;否則,繼續執行ServiceManager執行系統資源的調用;
所述敏感系統資源為攝像頭、麥克風、藍牙、WIFI、短信的發送或GPS。
本發明進一步的改進在于:步驟2)中如果系統調用敏感資源,則從對應寄存器中讀取申請者信息,通過socket發送給上層,彈出對話框,提示用戶應用名和所申請的資源,供用戶選擇是禁止還是允許此次申請;若禁止此次申請,則跳出ServiceManager阻止系統資源的訪問,若允許此次申請,則繼續執行ServiceManager,允許資源的調用。
本發明進一步的改進在于:監控攔截程序的監控代碼注入的起始地址和偏移地址為ServiceManager處理資源請求的起始地址和偏移地址。
本發明進一步的改進在于:所述一種面向Android系統資源的訪問控制方法應用于安卓4.1中。
本發明進一步的改進在于:監控攔截程序的監控代碼注入包括以下步驟:
a)、獲取ServiceManager的代碼注入地址,包含ServiceManager處理資源請求的起始地址和偏移地址;
b)、保存狀態,執行系統調用getpid()注入監控攔截程序的監控代碼到ServiceManager中。
相對于現有技術,本發明具有以下有益效果:
本發明中:監控攔截ServiceManager不用改動系統內核程序。監控攔截ServiceManager不用Hook大量的API執行相應的監控。監控攔截ServiceManager能夠有效定位申請系統資源者的來源。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學,未經西安交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310675959.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:顯示掃描進度的方法及裝置
- 下一篇:顯示設備和用于操作顯示設備的方法





