论文部分内容阅读
2007年11月5日,Google宣布推出基于Linux、开放源码的智能手机操作系统—Android。时至今日,Android已成为最热门的移动终端开发平台之一,应用软件数目飞速增长。然而,Android应用软件的保护技术却鲜有研究,众多应用软件相继被破解,严重损害了广大应用软件开发者的利益和积极性。在此背景下,本文以传统软件保护技术为基础,结合Android平台系统特点,设计并实现了一种基于密钥保护和篡改抵制的Android平台软件保护系统。论文中所做主要工作如下:(1)分析了Android平台下软件保护面临的威胁分类:网络威胁、内部威胁和恶意主机威胁,并以此分析了Android平台下软件保护面临的攻击手段:非法拷贝、逆向工程、篡改等,并详细介绍了攻击所使用的工具和攻击流程。在此基础上提出一个基于Android的软件保护评估模型,提出了基于可认证性、机密性和完整性的评估标准和一个通用的软件加固流程。最后利用该评估模型对传统软件保护技术在Android平台下的适用性进行了分析,并对现有的Android软件保护技术的脆弱点进行了讨论。(2)在上述分析基础上提出了一个基于密钥保护和篡改抵制的Android软件保护方案。该方案基于开发者和软件加固系统协作的方式,将应用软件密钥信息和软件保护功能封装到动态链接库中,应用软件通过调用动态链接库实现软件保护功能。该方案主要包含3个核心功能:基于数据和代码转换技术的密钥保护技术,基于完整性校验的篡改抵制技术,基于传统软件保护技术和Android系统特性的防逆向工程技术。(3)给出了一个基于上述方案的Android软件保护系统的设计与实现,并对加固后的应用软件的安全性、性能开销等进行了实验和数据分析。实验结果表明,该保护方案在增加可接受范围内的空间和时间开销的情况下,达到了软件保护的目的。