基于静态行为特征的android程序恶意性检测方法_第1页
基于静态行为特征的android程序恶意性检测方法_第2页
基于静态行为特征的android程序恶意性检测方法_第3页
基于静态行为特征的android程序恶意性检测方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于静态行为特征的android程序恶意性检测方法

0qmap安全报告近年来,智能手机的普及增加了移动设备中的恶意软件数量,尤其是android平台。根据NQMobile发布的安全报告显示,2012年新发现的移动设备恶意软件总数为65227个,比2011年增长163%,并且98.4%的恶意程序针对Android平台文献[2]利用数据挖掘算法Apriori给出的关联规则来检测程序对于敏感权限的访问。Kirin方案1android恶意程序恶意性分析对现有的Android恶意程序行为特征进行总结,对于Android程序的恶意性分析有重要意义,从Android恶意程序的权限申请、入侵方式和恶意代码加载方式3个方面进行总结。1.1发送短信时的权限在Android应用程序中,要实现网络连接或者系统资源的访问,都需要在配置文件中申请相应的权限,比如网络连接需要申请INTERNET权限,发送短信需要申请SEND_SMS权限等恶意程序通常比非恶意程序申请更多的权限,而且恶意程序往往更多的申请与短信相关的权限,比如SEND_SMS和READ_SMS等。某些权限在恶意程序和非恶意程序中都被申请比较普遍,比如INTERNET和READ_PHONE_STATE等,因此并不能简单的根据权限的申请情况来判断该程序是否具有恶意性,但是不同权限的组合为分析程序的恶意性提供重要信息。1.2)远程更新法主要入侵方式有:①重新打包法是Android恶意程序最常用的入侵手段②重新打包法使用的比较普遍,但是这种方式有个缺点就是被感染的程序安装文件包含全部的恶意代码,容易被终端上的杀毒软件检测出来。远程更新法虽然也要对应用程序重新打包③引诱法是一种比较传统的入侵手段,黑客通常在网页或其他Android程序中植入一些比较诱惑的图片或文字信息,引诱用户点击下载。这种手段目前应用的也比较广泛,GGTracker等恶意程序采用这种入侵方式。1.3comperte(ph两种)Android恶意程序往往通过注册系统事件,由系统事件触发恶意代码加载。在众多的系统事件中,BOOT_COMPLETED是被恶意程序使用频率最高的拦截应用入口界面也是许多恶意程序常用的手段,当用户启动或点击桌面上的启动图标时,恶意软件将会收到ACTION_MAIN事件2恶意行为程序Kirin方案预先定义了一些规则,比如程序中不能同时申请RECEIVE_SMS和WRITE_SMS2个权限,否则认为该程序是不安全的,但是这样粗粒度的检测会增加误报率,将没有恶意行为的程序检测为具有恶意行为的程序。文章扩大了检测范围也细化了检测粒度,增加了对可能导致程序具有恶意性的API的检则,同时为了更加准确的描述程序的恶意程度,降低误报率,量化了不同静态行为特征的恶意性指数,恶意性指数越高说明具有恶意的可能性越大,通过计算程序的恶意性指数来判断程序的恶意程度。Google提供了针对Android程序安装文件中.dex文件的反编译器baksmali,baksmali可以将.dex文件反编译为smali文件,而smali语法完整的实现了.dex的所有功能,包括程序代码、注释和调试等大量信息,利用这个工具可以获取程序的API,在文中静态行为特征是指能够导致某一恶意行为的权限或API的组合。2.1特征库与反编译如图1所示,基于静态行为特征的Android程序恶意性检测方法主要分为4个模块,分别为预处理模块、反编译模块、检测模块和恶意性指数计算模块,另外还有一个静态行为特征库。静态行为特征库是检测方案的核心部分,直接影响整个系统的设计、实现与检测效果。预处理模块主要用来分析输入的样本文件是否为正常的Android安装包,另外,如果文件名中包含影响程序运行的特殊字符,将删除特殊字符,并对文件重命名等。反编译模块从检测样本中提取出AndroidManifest.xml配置文件与.dex文件,并分别对其进行反编译,得到检测样本的配置文件与smali文件。分析模块根据静态行为特征库中的内容分别对配置文件与smali文件中的内容进行检测,检测出程序中所包含的所有满足条件的静态行为特征,最后将根据检测结果计算样本的恶意性指数。2.2静态行为特征静态行为特征的选取具有2个方面的条件,首先所选取的特征可能导致程序具有某些恶意行为,比如程序申请的权限中同时出现具有访问网络的权限INTERNET和允许应用程序读取手机上存储的所有联系人的权限READ_CONTACTS,这2个权限的组合就可能导致手机用户的联系人信息泄露,所以这2个权限的组合可以作为一个判断程序是否有恶意性的静态行为特征。另外,还要求所选的特征在非恶意程序中的出现概率较低,比如SEND_SMS是允许程序发送短信的权限,RECEIVE_SMS是允许程序接收短信的权限,普通的应用程序很少同时申请这2个权限,但经常在一些恶意吸费程序中出现,比如恶意程序Zsone,Zsone入侵用户手机后首先向一个恶意号码发送短信订购业务,为了不让用户发现自己的恶意行为,Zsone拦截手机运营商发送业务订购通知消息,这样就能在用户毫无察觉的情况下恶意扣除用户话费。静态行为特征库还包含可能使程序具有恶意行为的API,比如,一些恶意程序使用Runtime;->exec调用来执行系统命令,还有一些恶意程序利用DexClassLoader;->loadClass来加载外部.apk或.jar文件来实现恶意行为,这些API都将作为静态行为特征来分析程序的恶意程度。每个静态行为特征都是由多个权限或API组成的,其中的每个权限或API作为这个静态行为特征的一个元素,只有所有元素都具备时才认为所检测的程序具备这个行为特征。静态行为特征用下面的模版格式来表示:{[元素数目],[元素代号1,元素代号2,…],[行为描述],[恶意性指数t]}。元素数目代表这个静态行为特征中所包含的权限和API总数,模版的第2项列出的是每个元素的代号,例如“1”代表INTERNET权限,“2”代表READ_CONTACTS权限等。行为描述是对这条静态行为特征的简短的描述,例如“泄露用户通讯录信息”。恶意性指数t用来表示这个静态行为特征的危险程度,假设这条静态行为特征中有n个元素,且相互独立,pmi(i=1,2,3,…,n)代表第i个元素在恶意程序中出现的概率,则这个静态行为特征在恶意程序中出现的概率为:Pm=pm1×pm2×...×pmn,pbi(i=1,2,3,…,n)代表第i个元素在非恶意程序中出现的概率,则这条静态行为特征在非恶意程序中出现的概率为:Pb=pb1×pb2×...×pbn,在方案中规定每个静态行为特征的恶意性指数为:t=Pm/Pb,则所检测的程序样本的恶意性指数为:式中,ti是该程序中所包含的静态行为特征的恶意性指数,程序样本的恶意性指数将作为判断程序恶意程度的依据。3kirin方案检测结果分析从Android电子应用市场系统工具类、游戏类和网络通信类等6类应用程序中随机抽取112个程序,分别利用Kirin方案与本文方法对这112个样本进行检测,检测结果如图2所示。所检测的程序的恶意性指数主要分布在0~50这个区间内,少数分布在50~75区间,只有少数的程序恶意性指数超过75。所以如果程序的恶意性指数超过50则认为该程序可能具有恶意行为,如果恶意性指数超过75则该程序极有可能具有恶意行为。而Kirin方案的检测结果相对简单,检测粒度比较粗略,误报率较高,112个样本中检测出42个具有风险的程序。而利用本文中的方法的检测结果,误报率明显降低,并且所检测出的可能具有风险的程序中多为可以发送短信的程序或可能泄露用户信息的程序。方案的检测粒度更细,所选取的检测内容能够准确地反映程序的行为活动。4静态行为特征库的构建提出的基于静态行为特征的Android程序恶意性检测方案,通过量化不同静态特征的恶意性指数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论