基于应用程序虚拟化的安卓存储应用沙箱及通信方法技术

技术编号:14589493 阅读:71 留言:0更新日期:2017-02-08 18:16
本发明专利技术公开了一种基于应用程序虚拟化的安卓存储应用沙箱,包括代理和目标,目标和代理间存在一个用于安全地隔离不受信应用程序的强安全界;代理是应用程序进程,拥有系统分配的所有平台权限,能够与安卓中间件正常交互,作为目标和安卓系统间所有交互的强制代理;代理包括API层、核心逻辑层和虚拟层:目标无平台权限、无法访问安卓固件且不能改变文件系统,包括沙箱服务、Binder进程间通信拦截器和系统调用拦截器。本发明专利技术利用隔离进程提供的安全性,通过在进程内动态加载执行不受信应用程序避免了修改操作系统和不受信应用程序,同时用一种可控制的方法允许不受信应用程序执行输入/输出操作和访问系统资源,将不受信应用程序封装在沙箱环境内。

Android storage application sandbox and communication method based on Application Virtualization

The invention discloses a Android application virtualization storage application sandbox based on including the agent and goal, there is a strong security for safe isolation is not trusted application target and agent; agent is the application process, the system has allocated all platform permissions can normally interact with Android middleware as a compulsory agent for all target interaction, and Android system; agent including API layer, logic layer and core layer: virtual target without permission, can not access the Android platform firmware and does not change the file system, including the sandbox service, Binder interprocess communication and system call interceptor interceptor. The invention uses the security isolation process, through the implementation of dynamic loading in the process is not trusted applications without modifying the operating system and trusted applications, while allowing untrusted applications to perform input / output operations and access to system resources in a controlled manner, will not be trusted applications the package in a sandbox environment.

【技术实现步骤摘要】

本专利技术属于通信
,特别涉及一种基于应用程序虚拟化的安卓存储应用沙箱及通信方法。
技术介绍
随着安卓的普遍性和开源系统的普及,智能手机用户特别是安卓操作系统用户的隐私受到许多不同威胁的危害。这些威胁包括越来越复杂的恶意软件和间谍软件、开发者的疏忽以及安卓SDK缺乏故障安全缺省值。为了解决这种情况,近年来开发保护终端用户隐私的新方法已经成为安卓安全领域的活跃话题。已有的部署安卓安全扩展的方法有操作系统安全扩展和内联参考监测。操作系统安全扩展展示了以用户标识符为中心的安卓安全架构,虽然提供了较强的安全保证,但操作系统和安卓应用框架需要大量的修改。内联参考监测作为一种替代方法,将参考监测器移动到应用层并允许用户安装应用程序形式的安全扩展,然而参考监测器和不受信应用程序共享相同的进程空间,安全性较差,同时内联参考监测器需要修改使得应用程序需要重新签名,这违反了安卓基于签名的同源模型。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种利用隔离进程提供的安全性,通过在进程内动态加载执行不受信应用程序避免了修改操作系统和不受信应用程序,同时用一种可控制的方法允许不受信应用程序执行输入/输出操作和访问系统资源,从而安全地将不受信应用程序封装在沙箱环境内的基于应用程序虚拟化的安卓存储应用沙箱及通信方法。本专利技术的目的是通过以下技术方案来实现的:基于应用程序虚拟化的安卓存储应用沙箱,包括运行在权限控制进程的代理和运行在隔离进程的一个或多个目标,目标和代理间存在一个用于安全地隔离不受信应用程序的强安全界;所述代理是应用程序进程,拥有系统分配的所有平台权限,能够与安卓中间件正常交互,作为目标和安卓系统间所有交互的强制代理;代理包括API层、核心逻辑层和虚拟层:API层:包括进程间通信接收器和系统调用接收器;核心逻辑层:为Binder进程间通信和系统调用实现策略实施点,通过复制安卓核心系统服务提供的功能来为应用程序提供基本功能;系统调用策略实施点执行关于网络和文件系统操作的系统调用策略,同时该层判断是使用复制服务进行模拟还是通过虚拟层转发给系统,将不是由核心逻辑层进行模拟的系统服务通过服务策略实施点传递到虚拟层;对于系统调用,利用系统调用策略实施点通过系统调用API访问系统底层资源;虚拟层:负责转换安卓应用程序框架和目标间的双向通信,同时维护目标组件和代理组件间的映射;所述目标无平台权限、无法访问安卓固件且不能改变文件系统,包括沙箱服务、Binder进程间通信拦截器和系统调用拦截器:沙箱服务:提供进程间通信接口,代理通过该通信接口与目标通信并调用基本的目标生命周期操作,同时沙箱服务建立Binder进程间通信拦截器和系统调用拦截器;Binder进程间通信拦截器:有效地拦截目标发出的Binder进程间通信并将Binder进程间通信重定向到代理;系统调用拦截器:将目标的系统调用重定向到代理。进一步地,API层的进程间通信接收器和系统调用接收器分别接收隔离进程中Binder进程间通信拦截器和系统调用拦截器的重定向参数,并将这些参数转播到核心逻辑层进行监测和执行。进一步地,核心逻辑层包括服务策略实施点、系统调用策略实施点和策略模块,所述策略模块用于对转发到代理的来自目标的进程间通信和系统调用进行安全评估;服务策略实施点用于监测和执行来自进程间通信接收器转播的重定向参数;系统调用策略实施点用于监测和执行来自系统调用接收器转播的重定向参数。进一步地,核心逻辑层传递的Binder进程间通信是利用虚拟层的代理组件通过Linux内核的Binder组件实现与应用程序框架内的其它应用程序组件进行通信。进一步地,系统调用API访问系统底层资源包括自主访问控制DAC和强制访问控制MAC。S1、激活隔离进程内的沙箱服务;S2、建立Binder进程间通信拦截器和系统调用拦截器;S3、代理通过沙箱服务提供的进程间通信接口与目标进行通信并交换配置信息从而正确地操作目标;S4、代理根据接收到的Binder句柄指示目标加载沙箱内封装的不受信应用程序;S5、虚拟层创建代理组件到目标组件的映射,当需要启动目标应用程序时,将目标组件映射到代理组件,同时代理向系统服务负责分配资源的活动管理器请求启动沙箱内的不受信应用程序,资源分配后,代理向目标进程发送信号启动不受信应用程序;S6、隔离进程的不受信应用程序发出Binder进程间通信,与应用程序远程组件进行通信或者系统调用访问系统底层资源,Binder进程间通信拦截器和系统调用拦截器将Binder进程间通信和系统调用重定向到代理;S7、定向到代理的来自隔离进程的Binder进程间通信和系统调用通过策略模块进行评估判断,当策略模块允许Binder进程间通信和系统调用时,代理执行该进程间通信和系统调用,否则拒绝该Binder进程间通信和系统调用。进一步地,所述步骤S6具体实现方法为:当不受信应用程序利用Binder进程间通信机制与应用程序远程组件进行通信时,该不受信应用程序首先获得将其连接到所需远程组件的Binder句柄,检索Binder句柄需要查询服务管理器,Binder进程间通信拦截器利用这一点,将隔离进程内对服务管理器句柄的调用替换为对代理Binder句柄的调用,拦截目标进程的进程间通信并重定向到代理;对于目标进程的系统调用,系统调用拦截器拦截并将调用重定向到运行在隔离进程中的某个服务客户端,该服务客户端通过目标与代理间的进程间通信将调用转发到代理的某个自定义组件,从而将系统调用重定向到代理;对于可能赋予隔离进程某种权限的系统调用不进行重定向。本专利技术的有益效果是:本专利技术基于应用程序虚拟化(沙箱)和权限分离,提出了用一种可控制方法运行沙箱内不受信应用程序执行输入/输出操作的应用沙箱及其通信方法,克服了传统应用沙箱需要调节和监测沙箱应用程序和系统间的所有输入/输出端口来限制不受信应用程序权限的缺点,利用隔离进程提供的安全性,通过在进程内动态加载执行不受信应用程序避免了修改操作系统和不受信应用程序,同时用一种可控制的方法允许不受信应用程序执行输入/输出操作和访问系统资源,从而安全地将不受信应用程序封装在沙箱环境内,提高通信安全性。本专利技术结合操作系统扩展和内联参考监测器方法,提供了一种与操作系统隔离的应用沙箱,该应用沙箱能够完全作为一种应用程序部署在安卓存储内而不需要修改固件和监测应用程序代码。附图说明图1为本专利技术的安卓存储应用沙箱结构示意图。具体实施方式下面结合附图进一步说明本专利技术的技术方案。如图1所示,基于应用程序虚拟化的安卓存储应用沙箱,包括运行在权限控制进程的代理和运行在隔离进程的一个或多个目标,目标和代理间存在一个用于安全地隔离不受信应用程序的强安全界;所述代理是应用程序进程,拥有系统分配的所有平台权限,能够与安卓中间件正常交互,作为目标和安卓系统间所有交互的强制代理;代理包括API层、核心逻辑层和虚拟层:API层:包括进程间通信接收器和系统调用接收器;核心逻辑层:为Binder进程间通信和系统调用实现策略实施点,通过复制安卓核心系统服务提供的功能来为应用程序提供基本功能;系统调用策略实施点执行关于网络和文件系统操作的系统调用策略,同时该层判断是使用复制服务进行模拟还是通过虚拟层转发给系统,本文档来自技高网...

【技术保护点】
基于应用程序虚拟化的安卓存储应用沙箱,其特征在于,包括运行在权限控制进程的代理和运行在隔离进程的一个或多个目标,目标和代理间存在一个用于安全地隔离不受信应用程序的强安全界;所述代理是应用程序进程,拥有系统分配的所有平台权限,能够与安卓中间件正常交互,作为目标和安卓系统间所有交互的强制代理;代理包括API层、核心逻辑层和虚拟层:API层:包括进程间通信接收器和系统调用接收器;核心逻辑层:为Binder进程间通信和系统调用实现策略实施点,通过复制安卓核心系统服务提供的功能来为应用程序提供基本功能;系统调用策略实施点执行关于网络和文件系统操作的系统调用策略,同时该层判断是使用复制服务进行模拟还是通过虚拟层转发给系统,将不是由核心逻辑层进行模拟的系统服务通过服务策略实施点传递到虚拟层;对于系统调用,利用系统调用策略实施点通过系统调用API访问系统底层资源;虚拟层:负责转换安卓应用程序框架和目标间的双向通信,同时维护目标组件和代理组件间的映射;所述目标无平台权限、无法访问安卓固件且不能改变文件系统,包括沙箱服务、Binder进程间通信拦截器和系统调用拦截器:沙箱服务:提供进程间通信接口,代理通过该通信接口与目标通信并调用基本的目标生命周期操作,同时沙箱服务建立Binder进程间通信拦截器和系统调用拦截器;Binder进程间通信拦截器:有效地拦截目标发出的Binder进程间通信并将Binder进程间通信重定向到代理;系统调用拦截器:将目标的系统调用重定向到代理。...

【技术特征摘要】
1.基于应用程序虚拟化的安卓存储应用沙箱,其特征在于,包括运行在权限控制进程的代理和运行在隔离进程的一个或多个目标,目标和代理间存在一个用于安全地隔离不受信应用程序的强安全界;所述代理是应用程序进程,拥有系统分配的所有平台权限,能够与安卓中间件正常交互,作为目标和安卓系统间所有交互的强制代理;代理包括API层、核心逻辑层和虚拟层:API层:包括进程间通信接收器和系统调用接收器;核心逻辑层:为Binder进程间通信和系统调用实现策略实施点,通过复制安卓核心系统服务提供的功能来为应用程序提供基本功能;系统调用策略实施点执行关于网络和文件系统操作的系统调用策略,同时该层判断是使用复制服务进行模拟还是通过虚拟层转发给系统,将不是由核心逻辑层进行模拟的系统服务通过服务策略实施点传递到虚拟层;对于系统调用,利用系统调用策略实施点通过系统调用API访问系统底层资源;虚拟层:负责转换安卓应用程序框架和目标间的双向通信,同时维护目标组件和代理组件间的映射;所述目标无平台权限、无法访问安卓固件且不能改变文件系统,包括沙箱服务、Binder进程间通信拦截器和系统调用拦截器:沙箱服务:提供进程间通信接口,代理通过该通信接口与目标通信并调用基本的目标生命周期操作,同时沙箱服务建立Binder进程间通信拦截器和系统调用拦截器;Binder进程间通信拦截器:有效地拦截目标发出的Binder进程间通信并将Binder进程间通信重定向到代理;系统调用拦截器:将目标的系统调用重定向到代理。2.根据权利要求1所述的基于应用程序虚拟化的安卓存储应用沙箱,其特征在于,所述API层的进程间通信接收器和系统调用接收器分别接收隔离进程中Binder进程间通信拦截器和系统调用拦截器的重定向参数,并将这些参数转播到核心逻辑层进行监测和执行。3.根据权利要求2所述的基于应用程序虚拟化的安卓存储应用沙箱,其特征在于,所述核心逻辑层包括服务策略实施点、系统调用策略实施点和策略模块,所述策略模块用于对转发到代理的来自目标的进程间通信和系统调用进行安全评估;服务策略实施点用于监测和执行来自进程间通信接收器转播的重定向参数;系统调用策略实施点用于监测和执行来自系统调用接收器转播的重定向参数。4.根据权利要求1所述的基于应用程序虚拟化的安卓存储应用沙箱,其特征在于,所述...

【专利技术属性】
技术研发人员:罗俊海刘佐婷吴琦付亮
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1