论文部分内容阅读
随着移动互联网的不断发展,移动软件市场变得越来越繁荣。巨大的经济利益不仅吸引了大量的开发人员,也引起了攻击者的注意,各种恶意软件、盗版软件层出不穷。由于移动平台本身的特点和局限,使得移动软件的保护方法不得不面对更加多样化的挑战,具体表现在:1.移动软件通常采用一些高级程序设计语言进行编写,攻击者可能利用多种逆向攻击手段对软件进行破坏,需要综合多种防御手段对软件进行保护。2.移动软件通常存储大量用户隐私数据,攻击者可能通过分析残留数据来发现有价值的信息,需要设计能够安全清除数据的方法。3.攻击者可以利用重新签名打包的方法产生大量的相似软件(盗版软件),而移动软件的数量十分庞大,需要设计高效的相似软件检测方法。为了维护移动软件的安全,本文紧紧围绕移动平台软件保护的关键技术开展研究,在分析总结现有软件保护技术的基础上,针对前述的挑战分别从软件的完整性(篡改防护)、数据的安全性(数据销毁)和软件的相似性(相似性检测)三个方面进行了深入研究,主要的工作和创新点如下:1.设计实现了一种保护本地代码的方法。该方法首先通过将多个冗余数据和完整性检查代码插入到原始代码,防止攻击者的动态篡改,而后对编译后的代码进行加密,防止攻击者的静态分析。实验表明,该方法可以有效提高本地代码的安全性,增强整个应用软件的抗攻击能力。2.设计实现了一种用户级的移动数据销毁方法。这种方法首先通过快速创建垃圾文件来缩小剩余空间,而后删除目标文件以及相关的信息,最后对剩余空间进行反复覆写以强迫闪存主控进行残留数据清除。实验结果表明,与其它两种安全删除工具相比,该方法可以快速安全地销毁目标文件。3.设计实现了一种针对EXT4文件系统的具有可调参数的数据销毁方法。该方法具有分别针对文件和剩余空间的两种数据销毁算法。根据用户指定的残留块比率,文件销毁算法可以选择对文件进行部分销毁来提高效率。剩余空间销毁算法将文件系统划分为若干块组,利用随机采样和假设检验的方法来提高处理脏数据块的速度。为了防止攻击者通过日志文件进行数据恢复,该方法还具有通过不断新建、删除垃圾文件来填充日志文件记录的日志文件清理算法。由于拥有若干个可调参数,因此该方法可以帮助用户根据自己的实际需要在安全性和效率之间取得平衡。实验结果表明,该方法可以在不同的参数下实现数据销毁的不同安全性和效率。与其它的两种数据销毁方案相比,该方案可以达到更高的数据销毁效率和安全性。4.设计实现了一种基于属性分类的APP相似性检测框架。该框架首先根据APP具有的一些属性对APP集合进行分类,将APP集合划分为两个不同的子集。然后该框架分别对两个子集中的APP进行特征提取和相似性计算。最后,该框架根据两个子集的计算结果得出最终的检测结果。由于采用了分类和并行计算的方法,该框架可以明显提高APP相似性检测的效率。实验结果表明,与遍历全部APP对的方法相比,该框架可以在检测正确率相近的情况下,减少大约45%的检测时间。5.设计实现了一种基于资源签名的APP相似性快速检测方法,利用资源文件数字签名的Jaccard系数判断APP的相似性。首先,该方法从APP资源文件的数字签名中提取部分信息,组成对应于APP集合的特征矩阵。然后,利用MinHash和LSH(Locality Sensitive Hashing)算法从特征矩阵中以一定的概率挑选出Jaccard系数大于指定阈值的APP对,组成候选对集合。最后,依次计算候选对集合中每一对APP的Jaccard系数,找出符合条件的APP对。由于生成候选对集合时已经排除了大量不满足条件的APP对,因此该方法具有更高的检测效率。实验结果表明,该方法的检测速度是现有方法FSquaDRA的25倍,检测的正确率与FSquaDRA几乎完全相同。通过本文的工作,可以从软件的完整性、数据的安全性和软件的相似性三个方面实现对移动软件的保护,维护移动软件的安全。