ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:381.39KB ,
资源ID:7891974      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7891974.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于静态分析的虚假安卓APP产品分析与检测.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于静态分析的虚假安卓APP产品分析与检测.docx

1、基于静态分析的虚假安卓APP产品分析与检测基于静态分析的虚假安卓APP产品分析与检测0 引 言随着移动互联网的发展,智能手机销量迅速增长。这个过程中,安卓操作系统占据了移动设备市场的主导地位。安卓操作系统在移动设备市场的流行性、开放性和巨大的利益,使它成为各种欺诈应用程序投放的重灾区。著名安全厂商赛门铁克发表了一份报告,称安卓APP产品产品中有17%是恶意APP产品产品每不到6个安卓APP产品产品中就存在一个恶意软件,安卓恶意APP产品产品的泛滥程度可见一斑。根据赛门铁克的统计,在2013年,安卓平台上有70万个恶意APP产品产品;而到2014年,安卓恶意APP产品产品数量已经增长到100万个

2、。同时,还有230万的安卓APP产品产品被赛门铁克称之为“灰色软件”或是“疯子软件”。这些灰色软件往往会用疯狂的手段给你推送各种弹窗、通知广告。更重要的是,一项基于安卓系统恶意软件分析的最新研究表明3,在分析1 260件恶意应用程序后发现,1 083个(即86.0%)恶意应用程序是经过仿冒的虚假APP产品产品,即经过合法版本与恶意程序重新打包生成的。即使是在官方的安卓市场,也有可能存在从其他各种对合法应用程序进行仿冒的恶意应用程序。以上报告与数据研究表明,虚假的应用程序是恶意应用程序进行伪装、传播的主要方式。安卓平台应用的安全,特别是对虚假安卓APP产品产品的分析与识别,将是未来一段时间内的研

3、究重点。近年,信息安全工作者发表了一些高质量文章,有助于人们了解此领域的前沿研究方法和工作。2012年5月,加州大学伯克利分校Li用代码重用的角度阐述了虚假程序的现状和检测代码重用的方法。他的检测方法基于特征值哈希算法。2013年,Huang总结大量虚假应用程序检测研究方法,分析了其中的利弊。文章末尾提出了一种新的检测方法,并验证了其具有很高的准确性和稳定性。国内对安卓平台安全研究起步较晚,且多是针对恶意程序的检测,关注度集中在可疑程序的权限和一些可疑程序行为的分析上,如读取电话本、收发短信、拨打电话等。国内各大安全厂商对安卓平台安全研究投入巨大,但研究的领域都是以防范威胁、恶意程序行为检测为

4、主,对造成恶意程序传播的源头、虚假应用程序的检测与研究相对薄弱。针对这种情况,本文提出了针对虚假安卓APP产品产品的分析与检测系统,对现在泛滥的虚假APP产品产品,利用代码分析技术,结合机器学习相关技术,设计与实现了快速识别与检测虚假APP产品产品的系统。首先利用解包与反编译等技术还原移动应用的相关特征,然后利用静态分析手段解析其应用名称、包名、APK文件清单、签名信息等特征,再利用机器学习算法对这些海量数据信息进行高效率、高准确的分析,从而判断这些移动安卓应用是否虚假。1 系统设计与架构系统的设计与架构如图1所示。系统由三个模块组成:黑白名单模块、特征值提取模块、分类和交互模块。图1 系统的

5、架构黑白名单模块就是一个包含虚假安卓APP产品产品与非虚假安卓APP产品产品的数据库。在这个数据库中存放的是安卓APP产品产品的信息,包含安卓APP产品产品的名字和安卓的apk文件的MD5哈希值。系统动态的维护这个数据库,在我们对一个安卓APP产品产品进行检测之后,根据测试结果将其进行处理,选择加入非虚假APP产品产品库中,或者是加入到虚假APP产品产品库中。特征值提取模块就是系统的检测模块,此模块接收安卓APP产品产品的apk文件作为输入,功能是进行分类分析与与用户的交互功能的web后端。当系统的检测模块接收到安卓APK文件,它将APK文件发送给特征提取模块,由特征提取模块对apk文件进行处

6、理,返回一个表征这apk文件的二元向量,系统的机器学习分类检测器会接收这个二元向量作为输入,返回此安卓APP产品产品的类别标签,即是虚假APP产品产品或者是非虚假APP产品产品。分类和交互模块就是数据的特征提取模块,特征提取模块接受来自于系统的检测模块的输入,获得安卓APP产品产品的apk文件。然后采用静态分析的手段,对此APK文件进行分析,在对此APK文件进行处理后,得到一个表征此APP产品产品的二元特征向量,然后转交给系统的检测模块。2 虚假应用程序检测方法2.1 特征提取系统采用相关APIs和其他相关特征来表征特定的安卓APP产品产品,包括数字签名特征、运行权限特征、Dalvik可执行文

7、件特征、资源文件特征、配置文件特征。其中,资源文件特征和配置文件特征都可以通过解包与反编译直接得到,其他三个特征的提取方式则如下所述。(1)数字签名的提取在完成对待检测程序的规范化后,进行对特征值的提取工作。首先提取的是APK文件的数字签名信息。基于安卓签名机制的目的,即是对APK文件完整性和发布机构唯一性的一种校验机制。安卓系统安装程序可以获APK数字签名,于是可以通过包解析中的public boolean collectCeni6cates(Package pkg,int flags)方法获取。具体工程实现中,通过在androguard里调用函数get_signature()函数完成对数字

8、签名的提取。(2)运行权限的提取安卓权限机制决定了在应用程序安装时,包的安装程序会检测该应用程序请求的运行权限。根据该应用程序的数字签名或提示用户分配相应权限,而请求的权限显式地声明在AndroidManifest.xml中。具体的工程实验中,可通过androguard的一个函数get_permissions()来提取APK文件所申请的权限。(3)Dalvik可执行文件的提取一个APK文件其实就是压缩文件,可利用Linux自带的解压缩文件打开一个APK文件,里面会看到classes.dex文件。提取Dalvik可执行文件的过程就是调用androguard的函数get_dex()。为了选取能够表

9、示安卓APP产品产品是否为虚假安卓APP产品产品的相关API calls,可以定义在虚假APP产品产品中最常使用的API calls。通过使用开源工具Androwarn和DroidAPIMiner,搜寻在虚假应用程序中最常使用的API calls。通过这些方法的结合,系统最终得到了743个特征组成特征向量。对于数据集中的每一个应用程序,在提取该应用程序的二元特征向量后,会增加它的类别标签来表明此应用程序是否是虚假应用程序(0或1)。2.2 特征精简特征选取是提高分类器准确性和性能的重要手段。对于选取的743个特征,可以选取其中的子集作为特征集。这样做有两个好处,一个好处是能够减少系统的复杂度,

10、相对少的特征能够减少系统的分类时间,二是能够避免over-fitting。然而,在进行特征精简时也要考虑不要影响分类器的准确率。为此,系统使用特征相关性评估方法,基于所有特征之间的Pearson相关系数对特征的相关性进行排名,然后挑选其中最好的前300个特征。2.3 机器学习分类模型系统采用不同的机器学习分类模型对虚假应用程序进行分析与检测,包括随机森林、K-近邻(KNN)、支持向量机(SVM)。2.3.1 随机森林随机森林15最早由Leo Breiman和Adele Cutler提出,是利用多棵决策树对样本进行训练并预测的一种分类器。其中,每棵决策树都依赖于独立采样的随机矢量值,且具有相同的

11、分布。它输出的类别取决于所有决策树中分类结果最多的类。优势主要包括能够处理数据集中大量的变量;能够在生成森林的过程中生成一个泛化误差的内部无偏估计;对训练数据的容错能力强,能够有效估计丢失的数据;实现简单,容易实现并行化且不会出现过拟合。随机森林基于决策树算法16,使用如下过程构造每棵决策树:(1)设训练用例或样本个数为N,样本的特征向量长度为M,即有M个特征。(2)从样本库中随机采取N1个样本构成训练集;未被选中的N2个样本作为测试集,用于测试分类效果。(3)配置每棵数的特征数目m,用于构建每棵决策树,其中mM。每棵决策树均随机选取不同的m个特征。(4)由于随机森林的投票特性,每棵决策树构建

12、完成后不需要进行剪枝。至于一棵决策树的构建,采用的是自顶向下的递归方法。它的基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类。熵的定义为:其中,X为随机变量,P(xi)为X=xi时的概率。构建决策树有不同的策略,主要有ID3、C4.5和C5.0算法。2.3.2 K-近邻(KNN)KNN17是通过测量不同特征值之间的距离进行分类地。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。在KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹

13、配问题。在这里,距离一般使用欧氏距离或曼哈顿距离,分别为:2.3.3 支持向量机(SVM)SVM18-19被广泛认为是用于高维数据二元分类最先进的模型,是定义在特征空间上的间隔最大的线性分类器,可利用间隔最大化求最优分离超平面。SVM提供了一种避开高维空间的复杂性而直接用此空间的内积函数,再利用在线性可分情况下的求解方法,直接求解对应的高维空间的决策问题。这是一个凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最优解。同时,SVM基于结构风险最小化原则,避免了过拟合问题。泛化能力强,在小样本训练集上有很好的效果。SVM是在N维空间内,将点集P=pi使用超平面划分为两个子集。超平面的方程

14、可写作:wx-b=0 (4)其中w为超平面的法向量。如果训练数据是线性可分的(存在超平面可以完美将数据分隔为对应的两部分),可求得一个离两部分点集距离最远的超平面,该法向量称为支持向量。如果训练数据不是线性可分的,则需要引入铰链损失函数:当分割的点在正确的一侧时,损失函数值为零;对于在错误一侧的数据,该函数与超平面的距离成正比。SVM平面的误差函数为:对于训练集划分,可使用梯度下降算法对超平面进行拟合,以达到误差函数最小的目标。3 实验及评估系统相较于其他现有的虚假安卓APP产品产品检测工具,主要特点就是易于部署,还能保持较高的准确率与处理性能。为了对系统进行评估,通过训练数据对多种机器学习模

15、型进行构建。虚假APP产品产品样本由电信研究室提供,而非虚假的APP产品产品样本则从Google Play Store和国内的安卓市场下载。本文认为从官方渠道下载的APP产品产品都是非虚假的,共收集了15 000份APP产品产品,其中2 700(18%)是虚假的,其他12 300(82%)是非虚假的,虚假的APP产品产品数量远小于非虚假的APP产品产品数量,符合现实情况。对于多种机器学习模型,分别从准确率(Accuracy)、精确率(Precision)、召回率(Recall)和误报率(FP)为标准进行评估,实验结果如表1所示。表1 不同分类器的分类结果(743个特征)从实验结果可以得到,随机

16、森林、K最近邻以及支持向量机在样本集中达到了较高的检测准确率,说明实验所提取的特征能较好地反映正负样本的特点,其中随机森林的准确率相比较于其他两种分类算法有微弱优势。评估各种分类算法时,误报率是一个比较重要的概念,因为如果把虚假APP产品产品分类为非虚假APP产品产品,带来的结果将十分严重。为了证实对安卓APP产品产品的特征精简是有效的,将上述结果与精简过的拥有300个特征的分类器的分类结果进行比较,实验结果如表2所示。表2 不同分类器的分类结果(300个特征)使用精简过的300个特征,随机森林算法达到了96.95%的准确率(如图2所述)和0.03的误报率(如图3所述)。测试表明,特征数量从7

17、43降到300时,随机森林分类器的分类准确率从99.51%降到96.95%,而误报率则从0.005增长到0.03。对于其他分类器,准确率和误报率也只有较少变化。这些实验数据表明,系统可以使用精简过的特征集对虚假APP产品产品进行分类与检测,仍然能够达到非常高的准确率。图2 有无特征精简的不同分类器的分类准确率图3 有无特征精简的不同分类器的分类误报率4 结 语本文研究并实现了一种基于静态特征的虚假安卓APP产品产品分析与检测系统。在分类器的选择上,采用流行的机器学习算法,达到了较好的分类与检测效果。针对近年来新出现的深度学习技术,下一步将基于所提算法,结合深度学习技术来提取虚假安卓APP产品产品的敏感特征,从而进一步降低实验的误判率,提高整体的检测精度。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1