android重包装应用程序静态分析系统的设计

android重包装应用程序静态分析系统的设计

ID:9131145

大小:58.50 KB

页数:6页

时间:2018-04-18

android重包装应用程序静态分析系统的设计_第1页
android重包装应用程序静态分析系统的设计_第2页
android重包装应用程序静态分析系统的设计_第3页
android重包装应用程序静态分析系统的设计_第4页
android重包装应用程序静态分析系统的设计_第5页
资源描述:

《android重包装应用程序静态分析系统的设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Android重包装应用程序静态分析系统的设计孙翌博邰淳亮宫婧南京田家炳高级中学南京邮电大学计算机学院京邮电大学理学院本文以Android重包装应用程序的检测为研宄内容,通过对当前主流的静态分析技术进行对比与总结,提出了一种基于众的Android重装应用程序静态分析方法。该方法选取能表征Android应用程序唯一性的信息作为特征字符串,利用众包构建Android应用程序注册与数据库服务平台,对比签名鉴别重包装应用程序。最后为验证所提出方法的有效性,构建原型系统进行实验测试。实验结果表明,本方法能够有效进行Android重包装应用程序的静态

2、分析。关键词:Android应用程序;重包装;静态分析;众包;1相关技术研宄现在的Android恶意应用程序分析方法主要是利用动态分析技术或静态分析技术进行恶意应用的检测。Android恶意程序的各种攻击方式屮,应用程序重新打包是极为常见的手段。文献[1]研宄发现,当攻击者通过反编译手段获得一个良性Android应用程序的源码后,可以实施的恶意操作通常有三类。(1)注入广告SDK。向原程序中加入广告SDK,实现广告收入。(2)替换应用内广告。替换掉原程序作者在其应用中设置的广告SDK的发布者ID,实现窃取程序开发者的广告收入。(3)添加恶

3、意代码。在大体了解代码流程的基础上,加入恶意代码片段,使得用户执行过程中触发恶意操作。前两种恶意操作方式主要是对知识产权的侵害,后一种的危害则是十分巨大的。攻击者在实施恶意操作后只需要重新打伍签名形成新的安装包APK文件就可以上传至应用商城。用户看到的貌似是正常的一款应用程序安装包,安装后也能使用程序功能,但Android终端实际上已经遭到丫恶意程序的入侵。文献[1]研究显不•许多流行的Android应用程序包括QQ、AngryBirds等都己经出现了被重包装的情况。由于静态分析不需要运行程序,可以实现代码的全覆盖以及没有运行时开销等优势

4、,特别适合进行Android重包装应用程序的分析。文献[2]就设计了一种DroidMOSS检测系统,对官方来源的应用实现反编译获得源码,然后采用模糊哈希技术对程序切片提取Android应用行为模式作为特征形成指纹,构建应用数据库进行分析。该研究发现第三方应用商城中至少有5%至13%的Android应用存在重新包装的情况,多数植入了恶意代码和添加了广告SDK,情况不容乐观。但是该方法对于恶意攻击者可以在代码中加入无效冗余代码以降低形成指纹的相似性来逃避分析和可以进行高度的混淆加密进而导致无法生成指纹的情况没有考虑到。文献[3]则综合选取了A

5、ndroid应用程序的签名、权限和可执行文件作为对比的依据,指标具有综合性。但是该方案仍然存在文献[2]中需要在源代码中嵌入代码的缺点,适用性比较受限。综上,如何快速、有效地分析Android平台屮重包装应用程序仍是亟待解决的问题。主耍难点就是如何快速判断两个安装包APK文件是属于同一个程序。事实上,只要能够知道两款软件其实是一个程序,那么比较一下程序的开发者签名,就能够立即得知其中是否存在重包装的情况。2基于众包的Android重包装应用程序静态分析方法2.1众包机制众包(crowdsourcing)指的是一个公司或机构把过去由员L执行

6、的L作任务,以自由自愿的形式外包给非特定的大众网络的做法。它本身描述了一种新的商业模式,现在也指从广泛群体,特别是在线社区,获取所需想法、服务或内容贡献的实践。在软件安全性分析领域,众包多用来收集数据,需要社会成员广泛的参与,可以取得很好的效果ui。但与此同时,众包也会带来很大的隐私争议m。近年来,文献[5]都提出使用众包(crowdsourcing)机制来参与Android应用程序的分析,希望通过监测大量真实的用户使用程序的数据,来获取充足特征值判断程序的性质。木文即是基于此提出了一种基于众的Android重装应用程序静态分析方法,使用

7、众包机制搜集信息来判断程序的一致性,以此来快速分析程序重新打包问题,并设计Y—种高效的重包装分析原型系统。2.2特征获取分析Android重包装应用程序首要解决的问题就是如何判断两个安装包APK文件是属于同一个程序。判断安装伍APK文件是否属于同一个程序,Android本身是提供现有机制的。Android应用程序发布时会生成一个APK文件,即应用程序的安装文件,其本质上是一个zip格式的压缩包。除Y源代码及资源文件,它还包含名力AndroidManifest,xml的清革文件,以向Android系统声明必要的信息,见图1。Android系

8、统使用名(PackageName)来唯一标识一个应用程序,包名在开发时由开发者指定,位于清单文件AndroidManifest.xm1的“package”属性。包名相同的程序可以升级覆盖原先版

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。