一种Android平台下基于RBAC的恶意程序拦截及处置方法

文档序号:9787712阅读:457来源:国知局
一种Android平台下基于RBAC的恶意程序拦截及处置方法
【技术领域】
[0001]本发明属于移动安全技术领域,具体涉及一种Android平台下基于RBAC的恶意程 序拦截及处置方法。
【背景技术】
[0002] 随着Android系统以及智能手机的快速发展,Android应用程序呈现爆炸式的增 长。随之而来的是Android系统的安全性问题,以及恶意应用程序对移动终端的恶意攻击、 对用户隐私信息的窃取等问题日益严重。由于Android第三方应用市场的监管不严,很多正 常的应用程序被嵌入了窃取用户隐私的恶意代码并重新打包上传至Android市场,很多情 况下杀毒软件无法拦截类似应用程序的恶意请求。目前主流的恶意程序检测方法分为静态 检测和动态检测,静态检测对恶意代码库的依赖性较高,当出现新型的恶意程序时,其往往 无法准确的识别恶意彳丁为,其检出率和准确率还有待提尚;动态检测方法包括 MonkeyRunner、DroidBox、TaintDroid、Hips等,其特点是对于代码特征库的依赖强度小,通 过捕获运行中的真正恶意行为来判断是否为恶意软件,同时存在着恶意程序绕过系统检测 的风险。例如对于传统HIPS的程序检测方式,通过在用户态注入.so和.jar文件实现API Η00Κ,如果恶意应用程序通过这种方式实现API Η00Κ的话,就会绕过HIPS系统的检测,一定 程度上给用户隐私安全带来了威胁。
[0003] 针对上述问题,本发明提出了一种Android平台下基于RBAC的恶意程序拦截及处 置方法,通过动态插入Linux Hook内核模块,实现在内核层对应用程序读取用户隐私等恶 意行为的监控,由于应用程序是无法修改Android Linux内核源码的,因此避免了恶意应用 程序绕过系统检测。同时,本发明是针对应用程序具体恶意行为的监控,避免了对恶意程序 代码库的依赖,提高了检测效率和准确率。当应用程序访问用户隐私数据时,本发明通过定 义RBAC访问控制策略给出用户相关系统提示,用户可基于系统提示自主选择,从而保护了 用户的隐私安全。

【发明内容】

[0004] 本发明提出一种Android平台下基于RBAC的恶意程序拦截及处置方法,其特征在 于,包括恶意行为检测模块、内核消息反馈模块、拦截提示模块和基于RBAC的拦截模块,步 骤如下:
[0005] 步骤1:恶意行为检测模块通过在Android Linux系统中动态插入用于Hook的内核 模块实现对应用程序读取用户隐私数据行为的内核层监控,为内核消息反馈模块提供消息 源;
[0006]步骤2:内核消息反馈模块通过netlink socket实现内核层和用户层的消息通信, Netlink socket采用全双工、异步的通讯方式,这样当内核态的Hook函数拦截到恶意程序 的信息时发送到用户态的程序去处理,并将处理结果发送到内核态,Linux内核根据该信息 决定是否允许该程序的相关操作;通过内核消息反馈模块,将恶意行为检测模块收集到的 应用程序行为记录传递到拦截提示模块;
[0007] 步骤3:拦截提示模块用于在收到内核层发来的消息之后,根据基于RBAC的拦截模 块反馈的结果,给出用户细粒度的提示;
[0008] 步骤4:基于RBAC的拦截模块通过查询RBAC策略库获取到当前应用程序所属的角 色及其对应的权限信息,将查询结果反馈到拦截提示模块,拦截模块根据该结果给出用户 细粒度的提示;根据RBAC策略库的查询结果;支持用户自主选择,在用户没有选择的情况下 系统会默认根据RBAC策略库的查询结果来决定是否允许应用程序的相应请求。
[0009] 进一步,还能动态更新RBAC策略库,具体为:在应用程序初次安装运行时,基于其 基本功能为其指派相应角色,该角色只拥有完成该应用程序基本功能的最小权限集合,当 应用程序请求其最小权限集合之外的权限时,拦截提示模块会给出用户相关安全提示,在 用户明确选择授予该应用程序此权限时,通过设置新的角色调整RBAC策略库,即设置新角 色拥有用户允许的最小权限之外的其他权限。
[0010]通过动态插入Linux Hook内核模块,实现在内核层对应用程序读取用户隐私等恶 意行为的实时监控;采用netlink socket技术将Android架构中内核层捕获到的应用程序 恶意行为反馈到应用层,插入的内核模块通过socket实现发送恶意行为信息并接收应用层 的反馈,由于其部署在内核层从而保护了该过程不受恶意应用程序的干涉;在Android架构 的应用层,引入RBAC的思想,通过设置RBAC策略库,依据应用程序所属角色给其分配相应权 限,能够实现对恶意应用程序的最小授权。同时允许用户根据RBAC策略库的提示对应用程 序读取用户隐私数据的行为做出相应选择,而非单一允许或禁止应用程序的所有行为,在 保护用户隐私安全的同时,平衡了用户的使用体验。
[0011] 本发明可避免传统应用程序安装之后便会获得其所申请的所有权限的问题,其在 用户点击同意赋予应用程序所申请的权限后,通过内核态监控,在该应用实际运行具体权 限时,通过设置RBAC策略对应用程序的权限申请做二次拦截,可真正达到保护用户隐私的 目的。此外,本发明在构建RBAC策略库时,针对当前安卓应用的特点,对安卓应用场景下的 角色、权限、指派关系以及互斥角色等做了进一步的约束和规范,RBAC策略的设置充分体现 了最小授权、职责分离和数据抽象三大安全原则。
[0012] 与现有技术相比,本发明具有以下优点:
[0013] 目前主流的恶意程序检测方法分为静态检测和动态监测,其中静态检测的主要方 式包括:分析应用程序的签名信息、APK源码逆向分析、恶意代码库匹配等。静态检测对恶意 代码库的依赖性$父尚,恶意程序的检出率和准确率还有待提尚。动态检测通过实际运彳丁应 用程序,已期待触发其中的恶意行为,达到恶意程序检测的目的。主流的动态检测方法包 括:MonkeyRunner、DroidBox、TaintDroid、HIPS等,其特点是对于代码特征库的依赖强度 小,通过捕获运行中的真正恶意行为来判断是否为恶意软件,同时存在着恶意程序绕过系 统检测的风险。例如HIPS不需要修改Android Linux内核,它通过在用户态注入.so和Jar文 件实现目标API的Hook,从而拦截应用程序的相关操作。由于它是通过注入so文件实现API hook的,同样应用程序自己也可以通过这种方式实现API hook。因此,如果恶意程序的开发 者实现了API Hook的话,就会绕过HIPS的系统检测,一定程度上给用户的隐私安全带来了 威胁。
[0014] 本方法采用Linux Hook技术,通过动态插入内核模块实现了在内核层监控应用程 序的恶意行为,由于本方法是在内核层检测应用程序的恶意行为,并且应用程序是无法修 改内核层函数调用的,因此避免了恶意程序绕过传统HIPS系统检测的风险;同时,本方法基 于RBAC的访问控制技术给应用程序分配对应的角色,同时给相应的角色分配其能完成自身 任务的最小权限组合,根据RBAC策略库来给出用户相关提示。例如地图类应用程序读取用 户的位置信息时,系统弹出警示框提示用户,在用户无选择的情况下默认允许该行为;影音 娱乐类应用程序读取用户的通讯录信息时,系统弹出警示框并默认阻断该行为,从而在允 许用户自主选择的基础上更好的满足了用户的需求,同时保护了用户的隐私安全。本发明 提出方法可避免传统APP安装之后便会获得其所申请的所有权限的问题,其在用户点击同 意赋予APP所申请的权限后,通过对该应用运行时的监控,在该应用实际使用具体权限前, 通过设置RBAC策略对APP的权限申请做二次拦截,可真正达到保护用户隐私的目的。
[0015] 本发明提出方法在Android Linux的内核层监控应用程序的运行,可减少恶意应 用程序绕过系统检测的风险,避免了传统HIPS方法的检测机制被旁路问题,具有更好的安 全性和可靠性。
[0016] 本发明提出方法在构建RBAC策略库时,针对当前安卓应用程序的特点,对安卓应 用场景下的角色、权限、指派关系以及互斥角色等做了进一步的约束和规范,RBAC策略的设 置充分体现了最小授权、职责分离和数据抽象三大安全原则,支持RBAC
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1