论文部分内容阅读
Android系统由于其开源特性,迅速成为了世界上使用最广泛的移动智能操作系统之一。但正是由于Android应用市场的快速发展,Android应用也成为了攻击者的重要目标。由于Android系统发布时间较短,且移动平台的软件保护技术尚处于起步阶段,Android应用面临着盗版、恶意篡改等严峻的问题,移动软件开发人员的知识产权收到侵犯的事件屡见不鲜。本文首先分析了目前Android平台软件面临的严峻安全威胁,针对这些安全威胁提出了对应的Android软件防护技术,基于这些软件安全防护技术,设计并实现了Android软件防护系统,提高了Android软件的安全性,保护了开发者的知识产权,避免了用户的信息泄露和财产损失。论文的主要工作成果如下:1.针对Android平台的系统架构和运行机制进行了深入的研究。分析了Android平台的四层架构与安全机制,对Android软件的编译流程进行分析与逆向,提出Android软件面临的安全威胁。2.针对Android软件容易被逆向篡改,本文提出了面向Android软件代码的混淆方案及算法,算法结合并改进了插入多余的分支路径和压扁控制流这两种控制流混淆方法,插入多余的分支路径是为了混淆程序的执行路径,对其进行压扁控制流处理是破坏程序中原有的嵌套的循环和条件转移语句,进一步破坏程序原有的控制流图,加强程序分析的难度。同时,通过构建访问控制策略强化不透明谓词,进一步加强了混淆强度。在程序实际运行时减少了switch结构中next变量的更新次数控制了混淆的时间开销,对不进行压扁的多余路径进行删除操作对混淆后文件大小增长的开销也进行了控制。3.深入研究了windows平台的代码自修改技术后,对代码自修改技术在Android平台实现的可能性进行了详细分析和讲解,对与其实现相关的Java本地接口技术和NDK本地开发技术进行了研究与实现,并通过实例证明代码自修改技术在Android平台的实现。4.在基于Android平台的代码自修改技术实现的基础之上,提出了基于Android平台的双层代码自修改保护方案,并将该方案与软件签名验证、完整性保护相结合,再加上关键代码保护和代码混淆模块,设计并实现了一套基于Android平台的软件安全防护系统,对Android软件的认证性、完整性、机密性和防篡改性全方位的防护。5.针对本文提出的Android软件防护系统,从该系统的可用性、安全性、性能分析等方面进行相关实验分析,验证该系统的实用性。