论文总字数:23056字
摘 要
在如今这个智能终端和无线网络随处可见的时代,手机成为了人们不可或缺的工具。安卓系统作为目前两大手机操作系统之一,占据了操作系统市场很大的份额。而安卓应用开发自由度高,因此导致其规模十分庞大。安卓应用逆向工程的简易和众多第三方市场的监管漏洞也导致了重打包行为的泛滥。过去的重打包检测手段大多数是针对代码的检测,这些手段已无法应对日益更新的代码混淆和加密技术的抵抗。因此本文提出了一种基于布局相似度的安卓重打包静态检测方法,其主要贡献有:1.将应用图片文件集的相似度比较简化为直接从应用打包时生成的文件签名中提取摘要哈希进行比较,同时也考虑了小型应用图片数量较少的情况;2.将文件布局结构相似性比较映射为字符串之间的距离,将复杂的树形转化为线性比较,并计算布局相似度;3.将图片集相似度检测的高效和布局相似度检测的准确度相结合,既保证了准确性又提高了效率。针对采集数据集的测试显示,本方案的阶段设计和配合十分有效。
关键词:安卓应用,布局相似度,重打包检测
Abstract
In today's era of smart terminals and wireless networks everywhere, mobile phones have become an indispensable tool. As one of the two major mobile phone operating systems, Android has occupied a large share of the operating system market. Android application development has a high degree of freedom, which leads to its huge scale. The simplicity of Android application reverse engineering and regulatory vulnerabilities in many third-party markets have also led to the proliferation of repackaging behavior. Most of the past repackaging detection methods were for code detection, and these methods have been unable to cope with the increasing resistance of code confusion and encryption technology. Therefore, this paper proposes an Android repackaging static detection method based on layout similarity. The main contributions are as follows: 1. Simplify the similarity of the application image file set to extract the summary hash directly from the file signature generated when the application is packaged. The number of small application images is also considered at the same time; 2. The file layout structure similarity comparison is mapped to the distance between the strings, the complex tree is converted into a linear comparison, and the layout similarity is calculated; 3. Combine the efficiency of image set similarity detection with the accuracy of layout similarity detection, which not only ensures accuracy but also improves efficiency. Tests on the collected data sets show that the phase design and coordination of this solution is very effective.
KEY WORDS: Android app, layout similarity, repackage detection
目 录
摘 要 1
Abstract 1
1 绪论 2
1.1选题背景 2
1.2研究意义 3
1.3相关工作 3
1.4论文结构安排 5
2 背景知识 6
2.1安卓系统相关 6
2.1.1安卓应用程序 6
2.1.2安卓应用市场 6
2.2重打包应用 7
2.3反编译工具 8
2.4用户界面 9
2.4.1用户界面 9
2.4.2布局文件格式 10
3.1方法概述 11
3.2筛选阶段 11
3.3比较阶段 13
4 方案测试 15
4.1数据集和配置 15
4.2阈值确定 15
4.2.1筛选阶段 15
4.2.2比较阶段 18
4.3效率评估 19
5 总结与展望 20
5.1总结 20
5.2展望 20
参考文献 22
致 谢 24
1 绪论
1.1选题背景
在信息化时代的今天,移动设备的飞速进步促进了智能手机设备行业高速发展,也吸引了大量的移动应用开发者,每天都有成千上万的新型安卓移动应用涌入人们的视野。随着移动应用市场的飞速发展,安卓应用程序又可以使用逆向工程工具,这引起了抄袭者和恶意软件编写者的注意,这使应用重打包成为了当前安卓端存在的最主要的威胁。这严重破坏了应用市场生态系统的健全,因为重打包的应用不仅损害了开发者的利益,而且还是恶意软件分发的来源,这对用户的隐私和安全造成了威胁。C.Gibler等人的研究中提到,假设已经下载过原始应用的用户下载了重打包应用,那原始应用将会流失近10%的用户群体[1]。安卓恶意软件包含木马,后门,广告软件,假应用等,而Y.Zhou等人的研究发现约86%的恶意软件是合法应用程序的重打包[2]。
安卓吸引大量开发人员的主要原因之一可能是由于创建其应用程序的简易型,因为有关安卓应用程序开发的教程和工具随处可见。此外,程序开发人员可以通过创建应用程序以各种货币化模式获利,例如付费下载,应用内购买,订阅,应用内广告,赞助和众筹[3]。由于安卓系统的开放性,攻击者可以很容易的修改并重打包安卓应用,从而达到不法目的,并对他人造成不可挽回的隐私泄露和财产损失。使用重新打包技术,攻击者可以添加各种恶意功能,例如破解付费应用以绕过支付功能,或者替换开发者的广告ID。此外,攻击者可以将恶意逻辑插入到流行的应用程序中,以欺骗用户并广泛传播恶意软件。除了重打包的恶意软件之外,网络钓鱼恶意软件还试图通过伪装成值得信赖的银行应用程序,在线购物应用程序或支付应用程序来获取敏感信息,如帐户密码和信用卡号。
由于安卓应用市场缺乏有效的监管,这种重打包问题并没有得到实际解决,另外,市场上又存在许多家安卓应用的第三方市场,跨市场监管比市场内监管更加困难,这又降低了重打包行为的风险。由于技术的黑箱性,攻击者往往只需要从互联网上获取一些工具,如反编译工具等,只需少量的编程经验即可从市场上获取应用并重打包,这使得大多数人都有成为攻击者的“潜力”。而重打包的成本与其带来的收益相比又显得微乎其微,即使无法获得大量收益,攻击者也可以采用广撒网的方式,对各种应用进行重打包,而这在缺乏监管的条件下又是一劳永逸的行为,因此这是促成了这一行为的内在因素。在许多国家,相关法律的不完善也给了攻击者可乘之机,不过这一问题不在本论文的考虑范围内。
剩余内容已隐藏,请支付后下载全文,论文总字数:23056字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;