【移动安全高级篇】————1、Android沙盘原理与实现

一、前言

1、恶意扣费

    病毒在后台发送扣费短信、拔打电话进行恶意扣费,同时会对服务商发回的服务短信进行屏蔽,破坏系统的正常功能,同时对用户造成资费损失。

2、隐私窃取
    病毒通过后台服务窃取用户隐私信息,包括通话录音、短信内容、IMEI、IMSI、地理位置、通讯录、浏览器历史记录等信息,然后上传到黑客控制的远程服务器。

3、远程控制

    病毒在后台开机自动,并与C&C服务器进行通讯,并从中获取加密的指令,解密后执行相应的恶意操作,也有通过SMS进行控制,构造出botnet,从而大规模地远程控制用户的手机。比如之前著名的AnserverBot病毒,就是通过新浪博客进行远程控制,也是首个利用第三方站点作为C&C服务器的Android病毒。

4、系统破坏

    病毒通过系统漏洞进行ROOT提权,并执行高权限操作,在后台静默安装子程序包,或者通过伪造成杀毒软件、提示更新等方式欺骗用户安装第三方恶意程序。病毒可能会更改 络状态、APN,或者替换系统文件、添加恶意书签、屏蔽运营商短信、中止杀软进程等方式进行系统破坏。

5、其它

    病毒在后台联 下载大量软件,消耗用户手机流量,或者执行一些比较耗电的操作来消耗手机电量,进而影响正常的手机通信。也有些一些病毒通过钓鱼欺骗等方式,诱骗用户下载伪装软件,导致帐户密码失窃。

三、Android沙盘原理

下面是可能需要修改的相关文件,包括源码位置和编译后所对应的相关文件,可根据自身需要进行修改:

关于apk文件及MalDroidAnalyzer的工作流程如下图所示:

1、静态分析

      沙盘MalDroidAnalyzer主要在电脑端对APK进行静态分析,通过apktool先进行反编译处理。正常的APK文件主要是以zip格式进行压缩捆绑的文档,里面主要包含AndroidManifest.xml、Classes.dex和res等文件。在反编译后会得到明文的AndroidManifest.xml,里面定义各组件、组件权限和启动位置、软件基本信息等,通过对该xml文件的分析,可以获取到软件名称、包名等基本信息,同时对包含的各个组件进行分析,特别是Broadcast Receiver组件的触发条件,可能就包含有开机自启动项用于启动后台服务,这些在 告中都会被高亮显示出来。
      在动态分析过程中,可能由于恶意行为的时间限制,或者模拟器的功能限制(比如蓝牙、Wifi),导致病毒的一些恶意行为无法触发。此时,我们通过检测Android软件调用的API函数可弥补这里的不足,比如发送扣费短信通常会调用sendTextMessage()函数,执行外部命令可能会调用java.lang.Runtime.exec()。下面是笔者收集整理的一些敏感API函数列表,欢迎各位读者补充和改进:

 

2、动态分析

    动态分析是Android沙盘的主要功能,主要使用Google Android模拟器作为沙盘环境,同时以前面修改过的system.img来启动模拟器,以在操作过程中生成我们所需的日志信息:

最后对生成的日志log.txt进行分析,由于修改过system.img,它会按照json格式输出我们所需的信息,而有些原本Android系统输出的日志可直接拿来作行为检测,就未作修改。日志格式如下:

生成日志后,MalDroidAnalyzer会去分析日志,生成统计图数据,然后生成 告。下面是一些真实病毒样本的恶意行为记录:
1、窃取通讯录:

2、通话录音:

3、发送收费短信:

4、动态加载类文件:

5、Root提权:

四、真实案例

五、总结

七、参考资料
1、DroidBox:http://code.google.com/p/droidbox
2、SandDroid:http://sanddroid.xjtu.edu.cn
3、apktool:http://code.google.com/p/android-apktool
4、 秦《2012年上半年全球手机安全 告》:http:// cn.nq.com/neirong/2012shang.pdf
5、Android权限中文描述大全:http://wenku.baidu.com/view/b1f6f9ff0242a8956bece4e7.html
6、Android Permission Map:http://www.android-permissions.org/permissionmap.html

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月8日
下一篇 2019年1月8日

相关推荐