基于行为分析的恶意程序检测工具设计.docxVIP

基于行为分析的恶意程序检测工具设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于行为分析的恶意程序检测工具设计 0 短信扣费以及恶意代码检测 目前,通常的移动平台恶意软件是电子邮件捐款程序。近年来,在buildandrock平台上,有许多安全事件是由于收取软件费用引起的。如2011年2月出现的“安卓吸费王”恶意扣费软件至今已连续植入到超过100款应用软件中,诱骗下载强行扣费。2011年7月,“安卓蠕虫群”恶意软件批量来袭,更对手机用户构成了严重的资费损失。短信扣费程序通常使用本文所提到的技术植入在热门应用中。一旦用户安装,便向某些服务提供商发送业务请求短信,这些业务的开通,通常不需要用户回执确认。一旦开通,便产生巨额的业务费,不法分子便可以从中牟利。 恶意代码检测通常分为静态检测和动态检测,静态检测主要是对应用的文件进行特征码分析,通过匹配特征库,来识别恶意程序。本文主要是研究和实现恶意代码行为特征提取和检测方法的实现。为了这个目的,第一步就要对恶意代码进行分析,然后研究恶意代码行为特征及其与系统数据和系统控制之间的关系,因此,本文从恶意代码特征描述和恶意代码检测这两个方面来展开工作。 1 跟踪和函数的依赖关系 恶意短息吸费程序是在用户使用软件的时候,后台调用系统提供的短信接口,例如Sms Manager类中的send Text Message程序向某一地址发送某些内容的短信,发送的短信通常是某些服务的开通代码,并且没有确认开通的回馈消息,一旦开通这个服务,移动运营商就会从用户的话费中扣取一定的费用支付给服务提供商。通常在吸费程序发送短信的过程中,为了不被用户发现,通常会隐藏掉发送短信的记录,即不会将短信保存在发件箱中。通过这个特性,我们总结出一个规律,通常隐藏自己行为痕迹的程序,很可能为一个恶意程序。 以扣费程序常用的send Text Message函数为例,该函数的第四个参数为用来保存这条消息的Intent,如果这个参数为null,那么发送的消息就不会在系统中保留。所以说,我们可以通过分析该函数中参数来确定一个程序的安全与否。无论是使用组合程序绕过权限机制,还是使用逆向工程来潜入,发送短信不保留记录是恶意程序的固定的“行为”,所以这可以看作是一种基于行为的静态检测方法。这种检测方法,不仅要检测函数的调用信息,还要考虑函数的某些参数。从而衍生出跟踪方法中的变量以及函数依赖问题。下面将详细分析变量的跟踪和函数的依赖问题。 就使用send Text Message检测恶意吸费程序而言,重点侦测的是其第四个参数是否为null。假设send Text Message存在于方法F中,依照sm ali语法,如果在文件中直接使用变量null,会在文件开头声明它。我们可以以一个集合V={}来表示这个方法中受null影响的变量。若首先出现一个赋null值语句:const/4 v2,#int 0,那么V={v2},之后,每出现一次赋值语句,都在V中匹配用来赋值的变量,如果用来赋值的变量存在于V或是为null,那么将被赋值的变量加入V中。 接下来说函数依赖问题。因为send Text Message总是要在某个类中的某个方法中被使用,那么send Text Message以及其他函数之间可能会存在依赖关系。我们设一个函数可表示为F={Vin,Vout,CList},其中,Vin为传入参数;Vout为传出参数,包括返回值和影响的外部变量,和Vin存在交集;CList为这个函数的调用列表,被调用的函数都存在这个列表中。若函数F调用send Text Message,且Vin可导出send Text Message的第四个参数vp为null,那么,我们可以说F与send Text Message等价,其等价因子为Vin中使vp为null的集合VPin;从而检测send Text Message的vp是否为null等同于检测F中VPin是否是Vin的一个子集。所以,在检测过程中,不仅要检测send Text Message函数,还要检测受send Text Message影响的其他函数。 2 检测进程和方法介绍 我们知道,Android安装包其实是一个zip文件,它所有的类都被编译到了classes.dex文件中。要获得这些类的行为,首先得将classes.dex从apk文件中解压出来,然后进行反编译,之后按照上面所说的方法跟踪变量和找出相互等价的函数,才能找出程序是否有恶意行为,所以,这个检测工具主要分为4个模块:解压模块、反编译模块、变量跟踪模块和函数等价匹配模块,如图1所示。 本检测工具检测的具体过程为: 2)判断输入文件是否为zip压缩包,如果不是,输入错误,退出。 3)从apk文件中把classes.dex解压出来。 5)在反编译过程中,首先查看是否有定义的需检测函数,如果没有,结束。如果有那么建立函数等价关系表,

文档评论(0)

xlwkyc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档