[发明专利]一种基于权限使用行为的安卓平台应用程序动态分析系统有效
申请号: | 201310506289.X | 申请日: | 2013-10-24 |
公开(公告)号: | CN103593605B | 公开(公告)日: | 2016-11-09 |
发明(设计)人: | 杨珉;张源;肖卫 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 权限 使用 行为 平台 应用程序 动态 分析 系统 | ||
1. 一种基于权限使用行为分析安卓平台应用程序的动态分析系统,其特征在于包括:显示权限使用点识别器和隐式权限使用点追踪器,显示权限使用点识别器和隐式权限使用点追踪器设置在安卓权限实施系统;其中:
显示权限使用点识别器将识别应用程序对敏感系统资源的请求,并且将资源请求的相关信息生成日志文件;应用程序在获取系统敏感资源后有自己特殊的使用方式,不管是何种使用方式,隐式权限使用点追踪器将追踪资源在应用程序内部的使用方式,并且将资源使用的相关信息生成日志文件。
2. 根据权利要求1所述的动态分析系统,其特征在于还包括辅助的应用程序驱动器和行为分析器;
应用程序驱动器加载样本应用程序,分析样本应用程序,并在按要求修改过的安卓系统沙箱中运行应用程序;样本程序在运行过程中,通过应用程序编程接口请求系统资源;
行为分析器对日志文件进行分析生成应用程序的权限使用行为图。
3. 根据权利要求1所述的动态分析系统,其特征在于所述显示权限使用点识别器,用于识别应用程序内部所有对受权限保护的安卓系统编程接口的调用,并获取被调用接口在执行期间所发生的权限检查的准确信息;显示权限使用点识别器的识别步骤为:
首先,所述显示权限使用点识别器识别应用程序——系统边界,通过识别应用程序——系统边界,拦截程序所有与系统交互的函数调用;然后,监听在此函数调用期间安卓权限实施系统发生的权限检查事件,并且将确切的权限检查信息传递回应用程序层;如果此次函数调用发生权限检查,则判断为显示权限使用点。
4. 根据权利要求3所述的动态分析系统,其特征在于所述将权限信息从系统传递到应用程序,其中,安卓的权限机制由两部分加强:安卓系统服务和底层Linux内核;根据不同的权限增强技术,将安卓权限分为:内核权限和框架层权限;对框架层权限和内核权限采用不同的传递权限信息的方式;
内核权限检查信息传递方式
由于内核权限增强机制通过gid隔离机制来实现,修改gid隔离机制,使得Linux内核将被检查的gid存储到内核线程专用存储区中;由于gid与权限的一一映射关系,故可在应用程序层通过从内核线程专用存储区中读取gid来确认被检查的权限信息;
框架层权限检查信息传递方式
框架层权限检查信息发生在系统进程中;通过扩展Binder通讯协议使得Binder不仅能传递函数调用参数和返回值,而且能同时够传递在IPC过程中的发生的权限检查信息;当权限检查最终在ActivityManagerService完成时,扩展权限检查逻辑,使得其在保留原本功能的基础上将权限检查信息传递给Binder驱动,再由扩展后的Binder驱动,将权限检查信息传递到应用程序层。
5. 根据权利要求1所述的动态分析系统,其特征在于所述隐式权限使用点追踪器用以追踪应用程序所获取的系统敏感资源在程序内部的具体使用方式;
首先,给每个显示权限使用点赋予一个唯一的污点标识,该污点标识表示该权限使用点所请求的资源;污点标识是一个32位整数,标识的每一位代表一个唯一的显示权限使用点;污点标识的分配是上下文相关的,即具有相同函数调用上下文并且使用了同样权限的显示权限使用点,分配为相同的污点标识;
当一个显示权限使用点被分配到一个污点标识后,它所对应的由应用程序请求到的系统敏感资源被标记该污点标识;污点标识的动态标记发生在显示权限使用点的资源传递点;对于注册回调函数的应用程序编程接口,使用包装方法将这些回调函数包装起来,以便根据具体的回调函数的类型给被传递的敏感资源标记污点标识;
对于其他种类的应用程序编程接口,根据接口的方法签名自动地给相关的资源标记污点标识:(1)显示权限使用点的处的应用程序编程接口的返回值将被自动标记上相应的污点标识;(2)因为Java是一种面向对象语言,一个实例的状态可能被其实例方法所修改,因此,对于实例方法,将给调用实例方法的实例标记相应的污点标识;
上述动态污点标记方法能动态的追踪系统敏感数据在应用程序内部使用的数据流;通过识别这些资源的使用点来识别隐式权限使用点;
在识别资源传递点和执行基于权限的动态污点标记技术之后,隐式权限使用点追踪器保证在具有准确权限信息的前提下,追踪到所有的隐式权限使用点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310506289.X/1.html,转载请声明来源钻瓜专利网。