一个简短的android病毒分析

来源:互联网 发布:新网域名转入阿里云 编辑:程序博客网 时间:2024/04/28 11:08
由于智能手机的普及,手机病毒逐渐走上前台,病毒的地下产业链也逐渐注意到这一块。总体来说,目前的手机病毒不像PC病毒那样(初期的pc病毒主要是为了显示黑客的个人能力)。手机病毒的初衷很简单,主要是为了窃取隐私和获取经济利益。
      下面就简单的介绍一个android平台上手机病毒分析的大体流程,首先我们经常用到的两款工具是apktool和jd-gui,这两款工具是分析的利器。
     当我们拿到一个安卓平台样本的时候,最先需要考虑的是获取他的文件的结构,apk包我们可以利用解压工具解压出来。不少的样本在加压之后我们可以在其中的解压文件中找到elf,so,apk等格式的文件,其中elf,so是linux平台上的文件,主要的作用有以下一些:网络通信,提权,修改文件系统,封装一些加密什么的功能函数。对于这些文件,我们可以利用IDA对其进行反汇编,如果没有加密的话我们可以查看器字串表,在其中我们可以比较容易的看到以下诸如卸载,获取超级用户等的指令。如果发现了apk格式的,那就得注意了,很有可能真正的恶意行为就是利用这个apk来实现的。
     通常的状态下,我们时间比较充足的话,可以把样本放到android开发的虚拟手机中动态的跑一下,这个可以帮助我们建立一个比较直观的印象。比如不少的病毒就是安装之后无图标,伪装为系统服务等等,拦截短信(通常是特定的短信),开机或接收短信等自启动等等。这些我们都可以通过动态的方式观测到。
      动态之后,对于比较简单的手机病毒,我们已经有了一个比较清醒的认识。接下来要做的就是静态分析了。静态分析的主要的作用为了弄清病毒的原理。将apk转化为dex格式,用JD-GUI进行反编译,我们可以得到近乎源码的样本代码。下面就是我分析的样本的主要功能部分。
   1,获取手机信息,写入xml文件。
名称: 1.png 查看次数: 136 文件大小: 10.5 KB

   2,下载apk
名称: 2.png 查看次数: 138 文件大小: 22.5 KB
   3.获取imei ,imsi号码
   名称: 3.png 查看次数: 132 文件大小: 7.8 KB
点击图片以查看大图 图片名称: 4.png 查看次数: 134 文件大小: 8.2 KB 文件 ID : 67421

  4,上传IMEI,IMSI等信息
点击图片以查看大图 图片名称: 5.png 查看次数: 19 文件大小: 25.2 KB 文件 ID : 67422
  5卸载软件
点击图片以查看大图 图片名称: 6.png 查看次数: 133 文件大小: 5.1 KB 文件 ID : 67423
  6,发送短信
点击图片以查看大图 图片名称: 7.png 查看次数: 140 文件大小: 17.6 KB 文件 ID : 67424


并不是说具有这些行为的就是恶意软件,判断他的标准主要是依据用户是否知情的情况,是否为用户带来损失。

分析完这些就结束了么,这显然是不对的。这只是对样本的一个大致的分析过程,最终的目的不是这些,而是为了检测和判断未知的样本,这就需要一个提取规则的过程,由于目前的手机病毒编写的语言是java这种高级语言,稍加修改就能使文件的二进制代码发生巨大的改边,采用PC上的特征码方法显然是不能有限的检测手机病毒的,这里我们可以用样本中的url,sp号码,包结构和函数等等来对未知病毒进行检测,个人觉得PC上的未知病毒检测对于手机病毒的检测还是有很大的借鉴作用的,由于他是使用高级语言来编写的,导致他的很多的恶意功能都是通过API来完成的,这样我们是不是可以借鉴PC上的API组合,API顺序流的办法来检测呢。这些值得我们来关注。
原址:http://bbs.pediy.com/showthread.php?p=1124714
0 0
原创粉丝点击