论文部分内容阅读
近些年来移动互联网蓬勃发展,市场上出现了各种各样的移动互联网应用。但有一些不法分子为了自身利益,将官方出品的移动互联网应用进行非法修改并重新签名打包,并在第三方应用市场上架,供不知情的用户下载,危害用户权益,窃取用户信息。当前移动互联网应用主要集中在美国苹果公司的iOS系统和Google公司的Android系统两大平台。相较于iOS系统,Android系统有着开源的特性,因此上述不良现象在Android系统平台上更为猖獗。以此同时,我国国内存在着大量第三方Android移动互联网应用商店。相比于官方商店,第三方应用商店的应用审核标准较为宽松,而据统计我国大部分Android系统用户下载应用渠道都来源于第三方应用商店,因此我国Android系统用户面临的信息安全威胁远远大于其他移动操作系统平台用户。根据以上现象分析,本文将移动互联网应用代码同源性安全分析的研究对象设定为基于Android系统平台开发的移动互联网应用。经过调研,当前面向Android应用代码同源性检测方法主要集中在对应用行为相似度的检测上,而该种方法存在着以下问题:首先,面向应用行为相似度检测方法中采用的特征模型准确度不高,难以准确描述Android移动互联网应用特征,且提取特征算法的复杂度普遍过高;其次,Android移动互联网应用发展至今,应用种类繁多、体量庞大,应用的发布渠道也较为分散,面向应用行为相似度检测方法在特征提取及比较流程上过于复杂,无法有效应对实际生产环境中的复杂场景需求。Android应用代码同源性检测需要准确的特征模型对被检测应用进行特征信息提取,同时需要较少的时间执行检测。本文经过研究,提出了一种基于语法树特征模型的Android应用同源性检测方法,并以此为基础实现了一套完整的检测平台。该方法通过对Android应用反编译后得到的java代码文件进行语法词法分析构建语法树,根据语法树节点特征计算节点特征hash值,一定程度上解决了特征提取复杂的问题,同时也使得即使应用经过混淆变形处理后,应用的结构仍够保持不变;在相似比对阶段,将语法树非线性存储结构转化为数组线性存储结构,进行树节点信息的逐个比对,避免了对语法树的多次遍历,提升了算法的处理效率。并通过实验比对,该方法针对Android移动互联网应用同源性检测具有较高的准确率。