样本获取网站
在线查杀检测工具
FileLine 静态代码检测:火线 | FireLine | 静态代码检测
腾讯移动安全实验室:在线查毒-安全实验室-腾讯手机管家官方网站
deguard:DeGuard | Statistical Deobfuscation for Android
魔盾安全分析:恶意软件分析 & URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析
腾讯哈勃分析系统:腾讯哈勃分析系统
腾讯金刚:金刚 - 腾讯安全应急响应中心
virustotal:免费的可疑文件分析服务的网站
溯源分析工具
标准文档
主要标准文档:《移动互联网恶意程序描述格式》
恶意程序属性主分类
排序 | 编码 | 属性主分类 |
---|---|---|
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文件反编译失败”获取工具
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!