论文部分内容阅读
随着Android移动终端的发展,Android系统几乎已经与每个人的生活息息相关,基于Android系统的设备不仅引用于手机系统中,同时还包括导航仪、智能家电设备等,成为使用范围最广的系统程序。然而,Android系统由于系统开源和碎片化严重等特点,Android的安全漏洞相对较多且检测和防御都有一定的难度,对用户在使用移动终端等设备带来了一定的安全隐患。因此,本文对Android系统安全进行了研究同时开发了一款基于Lua脚本引擎的Android漏洞检测工具,完成工具系统设计的同时,覆盖了大量Android系统漏洞的检测功能。主要工作包括以下内容。首先,总结了Android系统中典型的漏洞,并对漏洞进行了全面细致的分类,介绍漏洞形成原理,为工具开发做好资料收集和总结工作。其次,将Lua引擎移植到Android系统中,工具通过Lua引擎完成了可扩展且高效的特性,解决了触发式漏洞扫描效率不高的缺陷。最后,设计完成了基于Lua引擎的Android漏洞检测工具,并覆盖了大部分Android漏洞检测,独立编写了相关组件和Android漏洞检测脚本。基于Lua引擎的Android漏洞检测工具分为三层功能结构,各层次结构功能如下:1) Android漏洞检测策略库层。共有两部分组成分别为特征匹配策略库和触发式扫描策略库。两种策略库都是通过Lua脚本的形式完成检测功能。特征匹配策略库通过版本信息和漏洞数据库的信息对比确定漏洞检测结果;触发式扫描策略库则通过触发效果验证漏洞存在。2)Lua引擎层。为提高该工具效率和达到可扩展性功能使用的轻量型Lua脚本引擎。本文详细分析了Lua引擎源码,将其整体结构总结为Lua引擎数据结构模块、脚本执行核心模块和库管理模块,并对每个模块的功能和实现进行分析。不到2万行的代码可以保证Android软件轻巧的要求:高级脚本语言和它提供的可扩展接口较少适应Android检测工具需求;Android漏洞检测脚本开发的工作量相对不大。所以Lua引擎是满足于该软件多方面需求的优秀引擎。3)Lua引擎组件。Lua引擎组件添加功能,使该引擎移植与Android系统成为可能,开发者可根据不同需要在底层自由的添加需要的功能组件,自定义各种漏洞检测功能为上层策略库实现提供支持。通过对Android移动终端设备进行测试,如在不同Android系统版本上进行漏洞检测测试确定漏洞数量和对比不同引擎下漏洞检测时间两种方式,证明该工具在Android漏洞检测上的准确性和高效性,并针对Android系统漏洞库中已存在的漏洞信息进行了详细的研究整理和总结,分析漏洞产生原因,重现漏洞攻击,确定漏洞检测方法,基本实现了大部分Android系统漏洞的检测功能进而证明该工具的设计和开发是有价值和意义的。