论文部分内容阅读
随着移动互联网时代的到来,Android系统占领了智能移动操作系统的绝大多数份额。然而Android系统的安全问题却令人忧虑,近年来Android频频爆出高危漏洞,给广大Android用户带来了很大的安全隐患。安全研究者也密切关注Android系统及其应用市场的安全问题。本文对Android的漏洞进行了研究,对其进行分类,并基于Lua开发了一个可扩展的Android漏洞扫描引擎。本文首先分析Android系统的系统架构。Android总的来说是四层架构,分别是内核层、Native层、框架层、应用层。分别对每个层的功能做了详细介绍,并以此为基础详细介绍了Android系统的安全机制。具体说明了Android比较重要的签名机制、沙盒机制和权限机制的作用及原理。最后从机型、品牌以及操作系统来说明Android碎片化的严重性以及其带来的问题。然后分析到目前为止Android系统每年曝出的漏洞数量,得出目前Android漏洞数量有快速上升趋势的结论。之后总结归纳以前对于软件漏洞的定义及分类。其中详细介绍了比较著名的RISOS分类法、PA分类法、Aslam分类法。之后又介绍了实际工程中微软及CWE采用的软件漏洞分类方法。最后根据以往经验,我们对Android漏洞从漏洞利用环境和漏洞产生原因两个维度进行分类。最后设计了一个基于脚本的可扩展的Android漏洞扫描引擎。我们的整个引擎分为4个块,分别为:脚本解析器、漏洞扫描辅助组件、漏洞触发器模块、描日志及报告模块。然后我们分别讨论了各个模块的具体设计及实现。并且讨论基于这个扫描引擎的各种类型的Android漏洞扫描插件的具体实现。之后我们基于这个扫描引擎针对各种类型的漏洞编写了一系列插件。最后通过在虚拟机上运行测试,证明了该扫描引擎的可用性和可靠性。