论文部分内容阅读
HTML5混合应用以其优异的跨终端、快速迭代的能力正在被越来越多的移动应用开发者使用,但是由于混合应用使用Web语言开发,同时拥有原生应用的能力,导致其接触到的数据源更多,更容易受到代码注入攻击的危害。注入到混合应用中的恶意代码给混合应用乃至系统的数据安全带来了严重的威胁,所以有必要针对混合应用中的代码注入攻击漏洞进行检测,然后提出并实现有效的安全加固方案。 本课题提出了一套漏洞检测方案和加固方案。漏洞检测方案结合渗透测试和源代码静态分析,漏洞加固方案根据混合应用的安全缺陷以及代码注入的原理进行设计和实现。作者主要完成的工作如下: 1.研究了多个典型的代码注入攻击实例,总结代码注入攻击的共性和原理,结合对于HTML5标准中安全问题、混合应用容器安全性问题的分析和调研,构建了混合应用的安全模型; 2.实现了一个混合应用渗透测试系统,能够基于常见的代码注入攻击实例对混合应用进行渗透测试,为漏洞检测提供参考;形成了一套通用的混合应用代码注入攻击漏洞检测工具,基于源代码的静态分析实现代码注入攻击漏洞的检测,对混合应用的安全性进行评估; 3.设计和实现了一套混合应用代码注入攻击漏洞的加固系统,该系统分为两个方面: a)在最新的Android WebView中实现Web页面对于Java注册对象的访问控制模块,配合开发人员的合理配置,保证混合应用中页面权限的合理分配,控制注入代码权限; b)基于内容安全策略设计并实现了一套内容安全策略的完善方案,防止恶意代码向非可信源传递数据,保护混合应用中的数据不被泄露。 通过实验验证,本课题中的漏洞检测方案能够较好的识别不同框架开发的应用,较准确的检测出其中存在的漏洞;加固方案中的访问控制模块能够限制注入代码的访问权限,给原来的接口调用仅带来了10%左右的额外时间消耗,内容安全策略能够防止注入代码对于数据的泄露,且带来的性能影响几乎可以忽略不计。因此,本论文的工作从多方面有效的保护了混合应用免受代码注入攻击的危害。