论文部分内容阅读
移动智能终端的迅速普及吸引了众多的应用开发者开发丰富的应用来为人们提供便捷的服务。近段时间,随着移动设备性能提升和以HTML5为代表的移动Web技术的发展,一种新的基于HTML5的混合应用以其开发的便捷性和良好的可移植性越来越受到开发者的青睐。在Android、iOS和Windows Phone等平台中,混合应用,又称为移动网络应用,使用系统内置的浏览器组件WebView来加载HTML5页面和执行JavaScript脚本。与移动平台原生应用不同,混合应用包含实现应用功能逻辑的Web端代码和访问设备系统资源的本地代码,WebView组件为Web端代码和本地代码之间的通信提供了多种桥接机制。混合应用的这种新特性在丰富应用功能的同时也引入了新的安全问题。首先对Android混合应用的安全性进行研究,结合混合应用软件架构和中间件开发框架的特点,系统分析了混合应用的安全模型和可能产生的安全问题,指出Android混合应用产生安全问题的主要原因在于其核心组件WebView在引入新的特性时打破了传统浏览器应用的沙箱模型,使得混合应用中加载的Web内容可以访问设备上的系统资源,而Android系统并没有提供系统级别的机制对这类访问进行访问控制。针对这一问题,提出了一种基于混合应用中间件开发框架PhoneGap的细粒度访问控制模型。访问控制模型将对系统资源的访问操作以PhoneGap插件的形式进行封装,并对混合应用中可能加载的来自不同的源的网络内容授予不同的插件的访问权限,以此来控制网络代码对系统资源的访问操作。通过实验分析,本文提出的访问控制模型能有效的控制WebView中加载的Web内容对系统资源的访问,且框架引入的计算负载很低,对应用的性能几乎没有影响。