乐趣区

关于人工智能:Android病毒分析基础一

后期筹备

环境筹备

次要就是 Android 开发的环境,具体的能够参考非充老师白皮书第一章,其中蕴含了 Win、Linux 环境,如果须要 mac 环境配置能够自行检索,或者公众号留言,咱们会在前期文章中专门减少一篇。

工具筹备

反编译工具

1、apktool
2、jeb
3、jadx
4、GDA

样本获取网站

koodous
appscan

在线查杀检测工具

FileLine 动态代码检测:前线 | FireLine | 动态代码检测

腾讯挪动平安实验室:在线查毒 - 平安实验室 - 腾讯手机管家官方网站

deguard:DeGuard | Statistical Deobfuscation for Android

魔盾平安剖析:恶意软件剖析 & URL 链接扫描 收费在线病毒剖析平台 | 魔盾平安剖析

腾讯哈勃剖析零碎:腾讯哈勃剖析零碎

腾讯金刚:金刚 – 腾讯平安应急响应核心

virustotal:收费的可疑文件剖析服务的网站

INTEZER ANALYZE

malpedia

alienvault

溯源剖析工具

站长工具
微步情报社区
天眼查

规范文档

次要规范文档:《挪动互联网恶意程序形容格局》

恶意程序属性主分类

排序 编码 属性主分类
1 payment 歹意扣费
2 privacy 信息窃取
3 remote 近程管制
4 spread 歹意流传
5 expense 资费耗费
6 system 零碎毁坏
7 fraud 诱骗欺诈
8 rogue 流氓行为

上面咱们以其中一个分类看一下次要有那些歹意行为。

信息窃取

在用户不知情或未受权的状况下,获取波及用户个人信息、工作信息或其它非公开信息的,具备信 息窃取属性。

包含但不限于具备以下任意一种行为的挪动互联网恶意程序具备信息窃取属性:

  • 在用户不知情或未受权的状况下,获取短信内容的;
  • 在用户不知情或未受权的状况下,获取彩信内容的;
  • 在用户不知情或未受权的状况下,获取邮件内容的;
  • 在用户不知情或未受权的状况下,获取通讯录内容的;
  • 在用户不知情或未受权的状况下,获取通话记录的;
  • 在用户不知情或未受权的状况下,获取通话内容的;
  • 在用户不知情或未受权的状况下,获取地理位置信息的;
  • 在用户不知情或未受权的状况下,获取本机手机号码的;
  • 在用户不知情或未受权的状况下,获取本机已装置软件信息的;
  • 在用户不知情或未受权的状况下,获取本机运行过程信息的;
  • 在用户不知情或未受权的状况下,获取用户各类帐号信息的;
  • 在用户不知情或未受权的状况下,获取用户各类明码信息的;
  • 在用户不知情或未受权的状况下,获取用户文件内容的;
  • 在用户不知情或未受权的状况下,记录剖析用户行为的;
  • 在用户不知情或未受权的状况下,获取用户网络交易信息的;
  • 在用户不知情或未受权的状况下,获取用户收藏夹信息的;
  • 在用户不知情或未受权的状况下,获取用户联网信息的;
  • 在用户不知情或未受权的状况下,获取用户下载信息的;
  • 在用户不知情或未受权的状况下,利用挪动终端麦克风、摄像头等设施获取音频、视频、图片信息的;
  • 在用户不知情或未受权的状况下,获取用户其它个人信息的;
  • 在用户不知情或未受权的状况下,获取用户其它工作信息的;
  • 在用户不知情或未受权的状况下,获取其它非公开信息的。

后续文章咱们会找专门的样本来具体介绍规范中的一些属性。

分析方法

疾速分析方法

  • 间接找对应行为的 API,比方获取手机号码,是 getLine1Number 办法获取。
  • 间接应用上述章节中提到的在线查杀检测工具,依据查杀后的信息进行具体的行为剖析。
  • 通过抓包软件抓取数据包后在代码中定位找到关键点

惯例分析方法

  • 先用在线查杀工具或者本地部署的一些动态剖析工具进行剖析,而后依据查杀后的信息定位要害代码;
  • 在测试真机或者模拟器上运行样本,看看大体的行为,并抓包看看有哪些网络行为,也能够查看一下日志打印;
  • 有了上述剖析做前提,咱们就能够反编译样本进行代码剖析,而后定位关键点
  • 首先看一下 manifest 中的组件信息,找到入口;
  • 随后顺着入口持续剖析 Service,Thread,AyncTask 等,并配合要害 API 定位;

病毒样本特征提取

  • 最早的样本入库为了不出问题都是间接入样本的 MD5 或者 SHA1 等,这一点比较简单,只有病毒分析师剖析确认后提取对应样本的 MD5 即可,这种办法不存在误杀状况。
  • 再起初减少了签名信息,然而因为 Android 开发的爆炸式增长,开发恶意程序的老本升高,很多平台间接能够同时生成双客户端,而且签名也是平台默认签名,即便有些集体开发者也会应用默认的 debug 签名信息,所以这个点很容易误杀。
  • 因为以上信息都是较为固定的,只有病毒稍作改变,以上信息都会变,查杀范畴较小,起初减少了一些多维度特色,比方恶意程序会申请的权限、会调用的 API、存在的恶意代码的包名等,通过更多维度更多信息去定位某个类型的病毒,这样的话病毒改变不大的话都会被查杀,不过这样必定也会误杀。
  • 再起初就是将以上特色全副整合,分成很多更小的维度,利用机器学习来剖析更多的样本,一直优化特色集,尽可能的缩小误杀,这种形式后期须要病毒分析师进行大量工作,提取不同维度的特征值,给每一个样本加标签,而后一直的优化。

疑难问题解决

无奈解压 -Android 利用伪加密

首先理解下什么样的 apk,是通过通过伪加密的:

咱们应用解压软件解压须要明码的很大可能就是伪加密的 apk。

其实这种加密的成果不大,咱们能够应用工具解决后即可。

可在公众号回复“Android 利用伪加密”获取工具

AndroidManifest.xml 反编译失败

因为批改 AndroidManifest.xml,导致 apktool 无奈反编译

失常的:

批改后的:

将其中的 00 00 00 03 改为 00 00 00 00,保留后从新反编译即可

可在公众号回复“AndroidManifest.xml 文件反编译失败”获取工具

某工具反编译后代码不全

如下图,失常反编译后局部代码无奈失常查看,这可能是针对 jeb 反编译做了防护,能够应用其余工具查看。

这种状况还有可能是 odex 文件,咱们间接用 jeb 反编译是无奈失常剖析的,须要将 odex 或者 vdex 等转成 dex 文件。

下图应用 010 Editor 等工具查看 dex 文件后发现不是传统的 dex.035 结尾,这就须要工具转换成 dex 文件。

可在公众号回复“odex 转 dex”获取工具,解决后再看文件格式及为失常的 dex 文件了,再反编译应该就失常了。

公众号文章:
https://mp.weixin.qq.com/s/-TUsohTUuP1QlK6Hr0vkVQ

参考文章:
https://blog.csdn.net/u011266992/article/details/61192333
https://white.anva.org.cn/rel/file/ydwj.pdf
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

退出移动版