论文部分内容阅读
近些年来,由于Android系统平台的自由开放性,搭载该操作系统的智能手机市场份额不断扩大,适用于Android平台的应用软件也呈现出暴涨趋势。此外应用软件开发成本低,发布上线管理松散,导致恶意软件的数量急剧增长。国内外对Android应用软件安全检测技术都展开了相应的研究,与静态检测技术相比,Android应用软件动态检测技术具有实时监控应用软件运行状态的优势,但目前仍存在以下有待提升的问题:覆盖范围有限、研究深度不足以及检测结果分析不准确等。 本论文从恶意行为产生的上下文状态信息出发,对Android应用软件动态检测技术进行研究,提出了Android应用程序安全增强框架的技术实现方案。本文从动态监控系统和检测结果分析两个方向,设计与实现轻量高效的安全增强框架:AppSecure。 (1)动态监控系统研制:本文借鉴CopperDroid系统的实现方案,AppSecure通过分析应用执行过程的系统调用来重构出软件的恶意行为,采用Android内核监控技术方案,设计与实现动态监控系统。AppSecure采用LKM编译技术降低了安全框架的部署难度,并在应用层提供可定制的应用监控列表,使内核监控程序保持小规模的线程控制块,以降低系统的开销。 (2)检测结果分析:本文借鉴AppIntent框架的上下文信息分析方法,结合应用软件系统调用行为和参数信息,提出了一种策略语言标准来描述目标应用的行为。通过研究应用软件产生恶意行为时的上下文信息变化,AppSecure定义了应用行为的五种操作和三种上下文状态信息,提出了隐私泄露、信息破坏和资费消耗的软件威胁判断策略。 从编码实现角度出发,AppSecure安全框架的设计分为三层:内核层、应用层和中间层。AppSecure的内核部分被设计为可加载的内核模块,通过分析内核的系统调用来获取目标应用程序的信息,并重构应用的上层行为。应用层部分实现前端交互和核心策略控制模块,通过威胁评估策略分析应用软件的行为和数据信息,得出应用的威胁评估结果,并在前端更新显示应用软件的安全级别和评价信息。中间层部分是沟通应用层和内核层的桥梁,通过修改Android系统中间层接口代码实现应用程序与内核驱动程序的数据交互。 总体来说,AppSecure安全增强框架可以动态监控所有已安装应用程序的系统调用过程,通过执行上下文信息策略分析得出应用程序的安全评价信息。最后针对15款恶意软件的实验得出:基于上下文状态信息的软件威胁评估策略是行之有效的,而且AppSecure支持恶意软件的粗略分类,以降低用户进行选择的难度。经过性能测试工具验证,AppSecure安全增强框架的整体性能开销小于5%,具有较高的实际应用价值。