发明名称 一种面向Android系统资源的访问控制方法
摘要 本发明公开了一种面向Android系统资源的访问控制方法,包括:1)、上层应用请求使用系统资源时,调用ServiceManager,当运行到断点时,监控程序读取寄存器信息,进而获得请求资源的信息和发出请求的应用信息;监控程序判断请求资源和发出请求的应用是否需要拦截,如果是,则进入步骤2);如果否,正常调用ServiceManager分配系统资源;2)、弹出对话框,提示用户。
申请公布号 CN103699835B 申请公布日期 2016.08.17
申请号 CN201310675959.0 申请日期 2013.12.11
申请人 西安交通大学 发明人 桂小林;代敏;郭岳龙;赵建强;田丰;林建财;安健
分类号 G06F21/55(2013.01)I;G06F21/52(2013.01)I 主分类号 G06F21/55(2013.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 徐文权
主权项 一种面向Android系统资源的访问控制方法,其特征在于,包括以下步骤:1)、上层应用请求使用系统资源,调用ServiceManager,当运行到监控代码时,转入到监控拦截程序中运行,监控拦截程序分析svcmgr_handler()函数的参数中的内容,获取到请求资源的信息和发出请求的应用信息;监控拦截程序首先判断中断号是否来自加入的断点,判断条件为:(ARM_pc>=int_addr)&&ARM_pc<=(int_addr+0xf)其中ARM_pc是寄存器中下一条指令的地址,int_addr为断点注入地址;如果满足判断条件,说明拦截到的中断来自加入的断点,存储相应资源信息和请求者的信息到对应寄存器中,然后进入步骤2);如果不满足判断条件,正常调用ServiceManager分配系统资源;2)、获取请求资源的信息,判断是否为敏感资源;如果为敏感系统资源,弹出对话框,提示用户,根据用户的选择,进行相应的处理;否则,继续执行ServiceManager执行系统资源的调用;所述敏感系统资源为摄像头、麦克风、蓝牙、WIFI、短信的发送或GPS;步骤2)中如果系统调用敏感资源,则从对应寄存器中读取申请者信息,通过socket发送给上层,弹出对话框,提示用户应用名和所申请的资源,供用户选择是禁止还是允许此次申请;若禁止此次申请,则跳出ServiceManager阻止系统资源的访问,若允许此次申请,则继续执行ServiceManager,允许资源的调用;监控拦截程序的监控代码注入包括以下步骤:a)、获取ServiceManager的代码注入地址,包含ServiceManager处理资源请求的起始地址和偏移地址;b)、保存状态,执行系统调用getpid()注入监控拦截程序的监控代码到ServiceManager中。
地址 710049 陕西省西安市碑林区咸宁西路28号