论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf

所需积分/C币:6 2019-08-24 08:33:19 644KB .PDF
收藏 收藏
举报

基于AndroidManifest文件信息的恶意应用检测方法,李响,刘建毅,Android操作系统作为近年来发展迅猛的移动设备智能操作系统,占据了智能手机操作系统的主流地位,Android应用资源极大丰富,应用的功�
山到花论文在丝 http:/www.paper.edu.cn 找出了1200多个恶意应用与普通应用中存在的权限模式,列出两个数据集中独有的权限模 85式与共有的权限模式,并称之为对比权限模式例。Xong等人同样利用对比权限模式,设计 了一种带杈重的权限模式恶意应用判别算法,并找出了获得最佳准确率时的判别门限值。 Zhang等人提岀了一种基于相关性的权限修剪算,利用精简的权限集进行恶意应用判别, 提升了判别的效率山。 以往的研宄结果表明,静态检测相比于动态检测更易与机器学习机相关技术结合实现检 90测的自动化,其中 Android的权限声明直接表征了程序的敏感操作,学术界对于权限的研宄 较为集中。然而对于同样在 manifest文件中声明的、直接表征程序的交冮界面、后台驻留服 务等行为的 Android组件信息对于应用判别的作用,却鲜有文章提及 2基于 Androidmanifest文件信息的恶意应用检测 21 Androidmanifest文件结构 Manifest文件是APK压缩包中必不可少的文件之一,其中包含 Android权限信息和应 用程序组件信息、。权限机制是 Android操作系统安全机制的根本, Android利用权限对系统 敏感AP进行访问控訇12,同样oOS操作系统也采用了基于权限的访问控制机制,不同的 是OS可对所有应用使用的权限进行实时地、细粒度地配置。 Android使用100多种权限标 签来标识不同的系统资源、操作、敏感ArI等。 Android程序需要根据自身功能需求在调用 100这些API之前事先将权限标签声明在 manifest文件中,形式妇下 <uses-permISSIOl android: name="android. permission. CAMERA </uses- permission> 105 此条XML标签标明,该应用程序在运行过程中需要使用到设备的摄像头。如果用户在 安装程序的初期授予」这些权限,则程序可以在必要时使相应的系统资源。 Android权限的 授予只能在程序安装时进行一次,并只能选择全部授予或者终止安装。如果程序运行时试图 获取授权外的资溟和操作,程序将直接崩溃ε由权限机制的特性叮见 Android权限表征了程 序的操作,也潜在地注明了 Android程序可能存在的威胁。因此可以利用权限对系统资源是 110否有威胁米作做出判断。 此外 manifest文件中还需要被开发者声明的至关重要的信息就是 Android的应用程序组 件, Android应用程序山四和组件组成: activitic、 serVICe、 broadcastrccicvcr和 contentProvider Activity用于标记与用户交互的系统组件,承载着用户所有可见的交互界面: service标记了 稈序后台运行的服务,不包括用户界面: broadcastReciver用于接收广播信息,主要来源有 115两种,系统信息和自定义信息; ContentProvider标记」用于共享数据给其他应用的组件。 组件信息的声明形式如下: <application> activity>.… activity> <service>...service> 120 </receiver> </application> 山到花论文在丝 http:/www.paper.edu.cn 22样本数据采集和 Manifest文件预处理 本文研究所采用的数据集包括两部分,388个恶意应用样本集和322个正常样本集。恶 125意样本覆盖了市面上常见的恶意软件种类、如:损耗用户话费、后台下载、内嵌恶意连接、 更改系统配買等。正常程序样夲来自360手杋助于的下载,类别包括了媒体播放、生活服务 理财工具、地图办公等。 对得到的样木,我们需要进行一些基木的处坦,目的是为了获得对恶意应用的判别有用 的信息。APK安装程序本身是一个压缩包,将后缀名修改成zp便可直接进行解压缩。 日y、 wap main zip-Dp文件解包大小为50578605字节 大小庄端后大小型 修改时闻 CRC Assets 文件夹 文件夹 ⊥ META-INF 文夹 文件夹 eAndroidManife.208.648 27421XML文档 2015/9/1821.195c8584 口 classes. dex 89789963533658DEX文件 2015/9/1821.24544D resources. arsc 26.572 26572ARSC文体 2015/91821EE558301 130 图1APK文件结构 Fig. l File structure of Android APK 取得其中的 Androidmanifest.xml文件使用 AXMLPrint2ar工具,对配置文件进行反编 135译。前后对比效果如卜所示: minsdkversion NLENClabelNULEOTiconNUL debuggableNIUL configChangeswulsotargetActivitywuLENothemekulBELprocesskIuL launchMode NULaCkischeme WIuLeshime lypeWLENdvalue NULDCIscreenor intent-filterNULACKactionNULSUBandroid intent action. MAINNuL ReActivity NUL com. androidemu snes MainActivity NULSCactivity-a UMENG CHANNEL NULACKcadtwoNIULESCcom airpush. android. PushAdsNUI BootReceiverNULSandroid intent action. BOOT COMPLETEDNULESand 8R不c圆 图2xm文件反编译前 Fig 2 xml filc bcforc decompile 4 山到花论文在丝 http:/www.paper.edu.cn <axel maradona 1. o" encodingautt-8-2 n⊥eat xmlnetandreiduwbttp://schemas, android. con/ayk/res/android andre:d:vera:enceeselo android:ere: enkanes'1, o packagescoe. stoandour addit ua-p命 m:mELon andro:d: namer android, permission. NCESS HIPI STATE /渗一p山n andro:o: name"android pemission. BWETDOTE" /口mes- pe4.ssion 口Q一p命12n andre:d: naeesandrosd. permission. BLUETDOTH ADMIN 》 /当pmn⊥sien 140 图3xml文什反编译后 Fig 3 xml file after decompile 反编译后的 Android配置文件呈现清晰可读的XML文件格式。权限和组件特征使用不 同的标签加以标注,至此预处理工作就已完成。 14523 AndroidManifest所包含信息的统计分析 以往的研究成果显示 Androidmanifos文件中包含重要的权限信息,它提示了程序能够 进行何种操作的同时,也是暗示了程序的安仝威胁:文件中的组件信息则表明了程序的基本 框架结构,对组件信息的分析和利用是以往研究鲜有提到的。我们对两组数据集分别利用 Python脚本解XML的结构和标签,重点是权限标签和四种组件标签,并对结果的统计特 150征进行记录,发现∫以下规律 在权限使用方面,322个正常样本共中请了7479个权限,平均每个应用使用到23.23 个权限。大部分应用程序使用权限的个数集中在11条到30条之问。388个恶意应用共中请 了5385个系统权限,其中大部分应用使用的权限数量在20个以内。 正常应用权限数量百分比 ■恶意应月权限数量百分比 11∠U U31∠1-U31~U 应用仗用的权限数量/ 155 图4恶意应用与普通应用的权限数量分布 Fig 4 Permission distribution of malware and benign 由图4中可以看出,两个数据集在权限使用数量以及分布上存在明显差别。对丁恶意应 用而言,他们的功能往往比第二方市场中的普通应用要更加单一,扣费、窃取通讯录和短信 160功能等这类单一功能点,仅需单一权限或少数权限组合即可完成。而近年米应用软件的流行 趋势是功能越米越多,并且紧密结合社交网络,这样的功能特性使得其需要更多的系统权限 山到花论文在丝 http:/www.paper.edu.cn 作为支持。 此外两个数据集在权限使用的倾向性上有所差异,下表展示了两个数据集权限申请的倾 向性 165 表1恶意应用与普通应用最常使用权限 Tab. 1 The most requested permissions of malware and benign 意应用使用权限topl0 普通应用使用权限topl0 INTERNET INTERNET READ PHONE STATE WRITE EXTERNAL STORAGE CCESS NETWORK STATE ACCESS NETWORK STATE WRITE EXTERNAL STORAGE ACCESS WIFI STATE SEND SMS READ PIIONE STATE ACCESS WIFI STATE VIBRATE RECEIVE BOOT COMPLETED WAKE LOCK RECEIVE SMS GET TASKS READ SMS ACCESS COARSE LOCATION WAKE LOCK ACCESS FINE LOCATION 从表1中我们发现,有些表征特殊行为的权限,较大频度的出现在了恶意样本集中,例 如: INSTALL PACKAGES、 DELETE PACKAGES等,而连接网络、开启WiFi的权限几乎 170所有应用都要使用,在使用频率方面都处丁两组数据集的前刎。 在 Androidmanifest文件中组件信息同样以ⅹML标签标注,组件信息在两个数据集上 也表现出了具有差异性的统计特征,尤其是在 activity组件的使用数量上。在388个恶意应 用中,共使用了655个 activity,平均每个应用使用168个 activity,大部样本使用不超过 20个 activity组件,而在正常样本数据集中,322个样本共使用了18971个 activity组件,平 175均组件数量为5891个,并且aiviⅳy组件使用数量的分布在正常样本数据集中分部得要更 加均匀。 50 出40 ■正常应用actⅳty使用数 量分布 20 ■恶意应用 activity使用数 量分布 9s, activity组件使用数量/个 图5恶意应用与普通应用使用的 activity数量分布 Fig5 Activity distribution of malware and benign 180 造成这种分布差异性的原因是近年来app功能的发展流行趋势,市场上越来越多的超级 应用例如微信,支付宝等软件出现。这类应用通常具有复杂的功能和异常丰富的交互界面, 使得这类应用结构上的复杂性超过了功能相对单一的恶意应用。 24基于 Androidmanifest文件的特征向量的提取 185 上文的统计分析显示, Manifest文件中包含的权限信息和组件信息对于应用的类别判定 具有举足轻重的作用,接下来要做的是从 Manifest文件中提取出包含这来两和信息的特征向 量。对于 Androidmanifest文件信息的提取,采取以下四个步骤 Sepl:采集权限信息,统计单个样木使用的权限、组成单个样木的权限集,整个系统权 6 山到花论文在丝 http:/www.paper.edu.cn 限集以 Google官方发布为准。 190 Step2:计算权限集中每条杖限与样本分类的相关情况,找出关键权限特征。 Step3:记录组件信息,作为特征向量的一个属性项 Step4:列出特征向量。 24.1关键权限特征的选取 此处我们用 chi-square test方法,筛选出与样本类别相关度高的权限项[1针对本 195情况适用四格chi- square test算法,计算公式如下: 表2chi- square test计算规则 Tab. 2 Calculating rulcs of chi-squarc test 恶意软件数量 正常软件数量 含有该条权限 B 不含有该条权限 C 该条权限的 chi-squarc test值记作x2, AD-BC 200 (N为样本总数量) A+B)(C+D)(4+C(B+D) 将每条样本按照其x2的大小进行排序,排序靠前者表示该条权限与软件的类别具有较 高的相关度。 表3chi- square test检验值top10 Tab 3 Top 10 of the chi-square test result x-值topl0 READ SMS WRITE SMS READ PHONE STATE SEND SMS RECEIⅤESMS WRITE APN SETTINGS ACCESS WIFI STATE RECEIVE BOOT COMPLETED INSTALL PACKAGES CHANGE WIFI STATE 2052.42基于 Androidmanifest文件信息的特征向量生成算法 基于 Androidmanifest文件信息的特征向量包含两部分信息,使用如下算法生成特征向 量 算法描述: 定义:将每条权限按照x排序,从中取出数量为n的相关权限集,记作D(含有n 210个元素),每个元素为一条权限,记作P1;D、D,分别表示恶意应用( malware)和正常应 用数 (benign)据集;S表示单个样木;V单个样木的特征向量。 Pmslist表示单个样木 中用到的系统权限子集;n,表示单个样本的 activity数量。 Input:D、D Output:所有 7 山到花论文在丝 http:/www.paper.edu.cn for each s in and D (v 0 PmsList= getPms(s nact=getActivity Num(S: 220 for each P; in d pms if(p. is in Pmslist ) V append(n return r 225 最终牛成的特征向量形如:V=(,0.1,0,11,0.0,0,0…37) 上式表示某样本提取特征后所得特征向量,该应用使用了37个 activity组件。 25朴素贝叶斯分类器 朴素贝叶斯分类算法具有算法简单,容易实现,对数据的缺失敏感性低的特点,这里我 们利用提取的特征向量来训练基丁朴素从叶斯算法的分类器。其原理如下 230 假设,C={C1,C2,C3…Cm表示共有m个类别的集合;F=(V,2,3…)表 示有n个特征属性的特征向量;则已知特征向量F,则该样本属于C类的概率使用如下公式 P(C=cIV) (=c)∏P(le) k=1 依次计算在v条件下,该样本属于C1到Cn的概率,最大者记为该样本的最终分类结 235。 至此基于 AndroidManifest文件信息的恶意应用检测方法的流程图可以用下图表示: 样本数据 数据清理 生成特征向量 训练数据 测试数据 分类结果 训练分类器 图6基于 Androidmanifest文件信息的恶意应用检测流程 Fig 6 Procedure of Android Manifesttile based malware detection 山到花论文在丝 http:/www.paper.edu.cn 2403实验结果及分析 为了验证本文提出的基于 AndroidManifest文件信息的恶意应用检测方法的有效性和效 果,本文将釆集的样本分成两部分,选取部分恶意应用和正常应用组成训练数据,其中包括 242个正常样本,忐意样本291个,并使用朴素贝叫斯算法训练生成分类器,剩下的80个 正常样木和97个恶意样木作为测试数据导入分类器,并记录分类结果,采用如下指标衡量 245分类器效果: nml-mn表示本为恶意,分类后准确的测试数据的数量,nm2b表示本为正常,分类 后准确的测试数据的数量,mm2mn表示本为正常样本,被分类为恶意样本的测试数据的数 量,nmnb表示木为恶意样木,被分类为正常样木的测试数据的数量。 1.正确率:测试样木被正确分类的比例 numn +num AUC= num.+nui +numm-htnumb-b 2.检出率:恶意软件被正确检出的比例 TPR= nimm_m t nimlm-b 3.错检率:正常软件被识别为恶意应用的比例。 FPR= 十n 本文提出的检测方法是在权限检测的基础上,扩展了特征向量包含的信息,因此这里使 用的对比实验是:在生成特征向量时只考虑权限信息,特征向量中不增加 activity数量的特 征属性项。两种方法比较时,分别使用一致的训练样本和测试样本,使用相同的训练数据和 测试数据。最终实验结果对比如下表 如下衣: 260 表4仿真结果对匕权限检测 Tab. 4 Results in contrast to permission detection 组别 TPR FPR AcC 权垠检测 0.8041 0.2313 0.788 本文的检测方法 0.8351 0.1875 0.8248 由实验结果可以看出,在权限检测的基础上,加入应用程序的aciy属性项,能够增 加特征向量中的有用信息,提高了朴素贝叶斯分类器在恶意应用判别场景下的检出率,降低 265了错检率,整体分类的准确率有所提升。 4结束语 本文介绍了一种基于 Androidmanifest文件信息的恶意应用检测方法。样本统计分析分 析结果显示, Androidmanifest文件中标记的组件信息在不同种类的应用中衣现出了不同的 统计分布规律。本文将这一特点与传统的权限分析方法结合,从 Androidmanifest文件中提 270取出包含权限和组件信息的混合特征,并使用朴素贝叶斯分类器对样本进行分类分析。实验 结果表明本文的方法相比传统的权限检测具有更高的检出率和更低的错检率,整体检测精度 有所提高。但该方法目前仍然有在可提升空间:组件信息的量化方法有待进一步研究;通过 比较多种适用的分类器,寻找到更优算法后,检测效果可能会进一步提升。 9 山到花论文在丝 http:/www.paper.edu.cn 参考文献]( References) 275[门]张玉淸,王凯,杨欢,等. Android安全综述[.计算机研究与发屐,2014,51(7):1385-1396 ZHANG Y Q, WANG K, YANG H, et al. Survey of Android OS Security[J] Journal of Computer Research and Development, 2004, 51(7): 1385-1369(in Chinese [2]彭国军,李晶雯,孙润康,等. Android恶意软件检测研究与进展[.武汉大学学报(理学版),2014, 61(1):021-033 280 PENG G J, LI JW, SUN R K, ct al. Android Malware Dctcction Rcscarch and Dcvclopmcnt[]. Journal of Wuhan University(Natural Science Edition), 2014, 61(1): 021-033 (in Chinese [37IIQUY,JIANGi X Dissecting android malware: characterization and evohutionLA]. Symposium on Security and Privacy[C]. Oakland: IEEE, 2012. 95-109 [4] ZHENG C, ZHU SX, DAI S F, et al. Smart Droid: Anautomatic system for revealing UI-ba 285 conditions in Android applications[A]. Procccdings of thc 2nd ACM Workshop on Sccurity and Privacy in Smartphones and Mobile Devices[C]. USA: ACM, 2012. 93-104 [5 SHABTAI A, KANONOV U, ELOVICI Y, ct aL. 'Andromaly': a behavioral malware dctection framework for Android devices[j] Journal of Intelligent Information Systems, 2012, 38(1): 161-190 [6 ENCK W, GILBERT P, CHUN B G, et al. Taint Droid: an information flow tracking system for real-time privacy monitoring on smartphones [J]. Communications of the ACM, 2014, 57(3): 99-106 [7 ENCK W, ONGTANG M, MCDANIEL P On lightweight mobile phone application certification[A]. Proceed of thc 1 6th ACM Confcrcncc on Computer and Communications Sccurity[C]. Ncw York: ACM, 2009. 235-245 [8]杨欢,张玉清,岄予濮,等.基于权限频繁模式挖掘算法的 Android恶意应用检测方法J.遥信学报, 2013,34(Z1):107-115 295 YANG H, ZHANG Y Q, HU Y P, et al. Android malware detection method based on permission sequential pattern mining algorithm[]. Journal on Communications, 2013, 34(71):107-115.in Chinese) [9] MOONSAMY V, JIA R, LIU S W, et al. Mining permission patterns for contrasting clean and malicious android applications[J]. Future Generation Computer Systems, 2014, 36(2014 ): 122-132 [10] XIONG P, WANG X, NIU W, et al. Android malware detection with contrasting permission patterns[J] 300 China Communications, 2014, 2014(8): 1-14 [1]张锐,杨古云.基J权限相关性的恶意软件检测[计算机应用,2014,34(5):1322-1325 ZHANG Y, YANG J Y. Android malware dctection bascd on permission corrclationpJ] Journal of Computcr Applications, 2014, 34(5): 1322-1325.in Chinese 「12]朱佳伟,喻梁文,关志,等. Android权限杋制安全研究综述[.计算机应用研究,2015,4(10):2880 3052885 ZHU J W, YUL W, GUAN Z, et al. Survey on Android permission mechanism research[J]. Application Research of Computers, 2015, 4(10): 2880-2885 ( in Chinese 10

...展开详情
试读 10P 论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    img

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf 6积分/C币 立即下载
    1/10
    论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf第1页
    论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf第2页
    论文研究-基于AndroidManifest文件信息的恶意应用检测方法 .pdf第3页

    试读已结束,剩余7页未读...

    6积分/C币 立即下载 >