Skip to content

移动恶意应用分析

图:背景

恶意代码分析背景概述

背景

1.全面的移动威胁 2.移动生态环节面临的安全威胁 表面:黑灰产 里面:国家队 3.攻击手段的持续进化 4.恶意色情软件增长趋势 一般不用支付宝、微信,使用第三方 5.地下社工库

  • 完成原始数据积累
  • 完善的黑产分工协作体系

6.持续扩大的威胁面

7.移动威胁从个人向组织迁移

基本概念

1.和产业链高度依存 2.生物学悖论 破坏性越大,传播性越差 3.病毒的生命周期 一般是1~2个月不到 4.国家意志

相关术语

  • 木马
  • 蠕虫
    • 蓝牙蠕虫
  • 后门
  • 工具

命名体系

一般格式为:<病毒前缀>.<病毒名>.<病毒后缀> e.g. Worm.Sasser.b

趋势

  • 恶意代码规模保持稳定增长
  • 恶意代码高度产业化
    • 东南亚
  • 移动端成为APT新战场

1. 安卓病毒分析

APK格式介绍

参考前两天

恶意行为汇总

静态分析

工具

  • Smaliviewer
  • APKTool
  • Dex2jar
  • JEB
  • IDA
  • AndroidKiller
  • AndroidGuard # 偏学术性质

方法

可参考绿盟的手册 - 快读定位法 - 敏感API搜索 - 对比法

  • 代码流程法
    • 从Mainfest开始一步步看
  • 遍历法
    • JEB有重命名功能,一个个功能死磕,一般针对混淆非常严重的代码

动态分析

工具/技术

  • Andebug
  • IDA
  • Frida/XPosed/..
  • Wireshark/tcpdump/..

技术

  • Smali Hook
  • Xposed Hook
    • Tips:忽略系统文件
    • Tips:不要hook资源文件,可能失效
  • Substrate native hook
  • Frida hook # 建议使用Frida

分析系统(沙盒系统)

  • DroidBox
  • AndroGuard
  • Inspeckage # 基于xposed
  • RMS(antiy)
  • cuckoo https://cuckoosandbox.org/
    • 布谷鸟

人工分析实践知识

模拟器

数据包

联网请求数据包实例(Wireshark抓包) 寻找情报来源

工具am

用talent模拟短信

IDA动静态

一般对

在线系统

  • VS
  • Sandroid # 学术项目
  • Koodous # 交流、分享,链接
  • Janus

2. 反病毒引擎

引擎结构

1.对象获取:各种资源文件的获取

2.对象检测:各种分析模式、脱壳、解包

3.对象处理:告知与处理

4.病毒库:基于知识积累的数据保障

特征库

配置


本地检测技术

基础

应用的基础特征:文件Hash、内嵌文件Hash、证书等

符号

应用内所包含的各类符号特征:配置符号信息、dex符号信息、其他可执行文件符号信息

动态

基于行为的模型检测:行为监控、行为建模


体系建设

尽可能基于代码、已有的基础,进行拆解,二次分析


AVL引擎本地检测逻辑

大数据

1.降维 基于应用指纹的分类策略

2.实际运用

  • 证书随机化特征
  • 应用执行文件结构
  • 基于图标的色情检测
  • 基于文件的组织结构特征
  • 基于决策树的行为检测模型

3. 移动威胁情报

威胁情报的定义

威胁情报是基于证据的知识,包括场景、机制、指标、含义和可操作的建议。

这些知识是关于现存的、或者是即将出现的针对资产的威胁或危险的,可为主体响应相关威胁或危险提供决策信息。

决策 —— 情报 —— 信息 —— 数据

威胁情报的体系

  • 强烈的外在和内在的面向威胁的知识管理体系方法

  • 情报是高度具备驱动力的数据流转和响应驱动体系

面向威胁情报的大数据体系

  • 数据采集 —— 数据萃取 —— 数据结构化 —— 归一化设计 —— 数据采集迭代

  • 通过邮件和短信进行,在流量出口做检测

自动化与人工结合的分析运行体系(情报驱动安全)

1.自动化流水线的检测和判别体系,大大减少人工作业的工作量

2.自动化动态分析

  • 典型事件触发
  • 行为事件监控

3.分析组

  • 引擎工作引擎
  • 基于归一化(标签类)数据结构的文件分类器

4.智能分析系统—— 静态 | 动态 | 机器学习 —— 相互补充

威胁情报的困难金字塔

隐晦 —— Incident (最难)

复杂 —— TTP Relation

高对抗 —— TTP/Exploit, Malware

穿透 —— Evil Device(Mobile/IOT)

不可控 —— SDK/Third Parth

方式多样性 —— C2(Network/Other)

符号多样性 —— Symbol

繁琐,低效 —— Hash (最容易)

  • 有代码复用
  • 对日志分析

小结

1.体系化建设是根本 2.多方位合作(国*局也要和其他厂商进一步合作) 3.找到适合自己的方式(找到自己的优势) 4.多体系合作

4. 恶意代码高级对抗

对抗分析工具(不让反编译等)

  • Ptrace自身 ...

对抗用户感知(不让用户知道)

  • 隐藏图标
  • 透明图标
  • 静默下载/安装
  • 预装(二次换装比较多)
  • 植入知名应用
  • 伪装系统应用
  • ISP(互联网服务提供商)劫持
  • 邮件
  • 社工

反追踪(不让自己被追踪)

  • 利用短链接
  • 域名隐私保护
  • 伪基站
  • 动态DNS
  • 盗用他人信息
  • 使用云服务
  • 入侵无关网站

环境对抗

  • 沙箱检测
  • 条件触发
  • 结束杀软
  • 动态加载
  • ROOT提权(现在较难)
  • 杀软检测

银弹

能力较弱,需要APT的情况下,购买第三方的情报

代码相同,需要客户侧写

Application层

  • 范围:各种APP

Framework层

  • 范围:各种API

  • 案例:各种RAT(间*谍*软件)

Kernel层

  • 范围:系统各种驱动
  • 案例:hackteam exploit

案例:RottlenSys

5. 威胁情报与溯源

攻击工具持续演变

萌芽期 —— 发展期(加壳)—— 中后期 —— 后移动攻防时代

中后期后面,武器化,漏洞,移动攻击开始武器化、定向化和组织化

移动终端已经成为APT的新战场

基本规律

只与目标承载的资产资源和与更重要目标的关联度有关,基本不考虑难易

三个特点

1.对移动应用 2.长期 3 应用高级攻击技术

移动APT攻击

攻击者 ——> 手机终端 <——> 攻击对象

攻击植入方式

1.鱼叉攻击

  • 邮件
  • 网站
  • 短信

2.应用市场 3.论坛 4.应用市场 5.远程漏洞或intent schema url 6....

通常我们更关心木马、后门、间*谍软件类的窃取人人的行为和信息的恶意代码。
社交网络的渗透可以进行用户侧写,使话术更加完美。

案例:乌克兰

分析攻击思路与流程

  1. 公开情报
  2. 主动发现

国内未经授权的反制都是违法的


Android 高价值样本发现

溯源

复盘

场景

意图

Android证书分析

1.签名证书 2.时间 判断时间纬度,开发者在哪个时区,但不可信,可以被篡改、伪造

同源性检测

家族同源性检测

1.恶意行为

2.攻击方式

3.攻击目标

  • 地域
  • 目标人群
  • 特定行业

资源同源性检测

1.控制域

  • Whois信息
  • 注册者
  • 有效期

2.服务提供商及手机号

  • 归属地
  • 背景信息

3.邮箱

4.载荷

  • 运行方式
  • 关键行为

文件

1.衍生物

  • 可执行文件

2.程序资源文件

  • 关键性界面布局
  • 图片、音频和视频
  • 核心文件

3.关键配置文件

4.文件大小

  • 文件大小可以做参考,但不一定准确(但注意,威胁情报这快的一个原则就是,所有的信息都是不可信的,都需要进行交叉验证)

代码同源性检测

1.程序名

2.签名证书

  • 注意签名证书的时间,时区,判断其来源,但可伪造并不一定可信

3.核心流程

4.程序模块

5.编译信息

  • 编译时间
  • 编译器信息

6.作者信息

7.版权信息

8.文件大小

在分析代码流程时,最好移除第三方库,排除其他的关联。

传播同源性检测

1.传播源

  • 同域名
  • 同手机

2.传播方式

  • 短信
  • 邮箱
  • 网络推送

不要把第三方的二级域名等加入,这样溯源的关联会无限放大。

威胁情报平台

VirusTotal

国际最大的恶意代码库

https://www.virustotal.com/gui/home/upload

安天insight (安天内部)

微步在线

360威胁情报平台

画像分析

装机列表

// 安全行业的人,不要带着工作机去美国

  • 身份、职业、性别、语言、偏好
  • 设备类型:测试机、备用机、常用机

  • 匿名通信、安全通信、VPN

  • 开发测试的木马

IP轨迹

  • 活动区域
  • V*P\&N记录

CC信息分析

  • 什么是CC服务器?

链接

  • 命令:nslookup, dig, whois

  • 查询网站(谨慎:线索泄漏)

    • http://domainbigdata.com
    • http://ipinfo.io
    • http://www.virustotal.com
  • 搜索引擎查询

社交网络等

社交网络是一个比较方便的挖掘攻击者或组织身份的一个手段

社交网络:

  • Linkdin

  • Facebook/Twitter

  • Weibo

搜索引擎

  • Google cache

网站历史记录

  • archive.org

回溯分析

  • 攻击的时间跨度

  • 通过遗留的信息回溯可能的攻击者

通过CC信息(Command&Control)回溯可能的攻击组织

  • 通过语言、命名特点、时区

  • 攻击技术和手法的演变、复杂度和拥有的资源

难点

  • IDC服务器,更换IP太过频繁
  • 域名历史记录&样本制作时间

国际网络军火库

在各个国家,对各个公司、组织进行侧写,方便以后快速进行定位和分析,需要依靠大量的数据

[1]美国

分工明确、产业化做得比较好

[2]俄国

综合

高度武器化

其中Xagent系列

知识库

从威胁情报看移动威胁分析

主动发现

6. 机器学习应用

误差往往不能接受,所以不能直接应用,需要配合人工

文件相似性检测

将文件抽象成树、图,从而通过比较树的相似性(这快比较成熟)来判断文件相似性

有结点、有权值的树来判断,避免了特征库的膨胀。

[QS]如何抽象?

聚类分析

凡是可以量化,就可以聚类分析。

如何量化?如何提取特征?

每个APK对应成一个向量,从而简易地进行聚类分析。

前置条件:样本有限;过滤有效(白名单,去掉不参与计算的),不能全部样本参与;28原则,头部准确,尾部无效且占比大

随机性识别

信息熵:对我们司空见惯的“不确定现象”的数学化度量

转移概率,由于人类的特定习惯,导致一些惯用的现象产生

算出正常文本的两个符号之间的平均转移概率。

利用文件的平均转移概率 —— 判断机器产生的情况 —— 判断机器产生恶意签名

色情应用识别

内容风控

包名随机、程序随机,通过对图片等的识别 —— 来识别应用

D Hash

Not suit for work Yahoo的一个色情内容识别库

https://github.com/yahoo/open_nsfw

扩展

扩: [IMP]目标侧写、与预计之间的偏差,情报工作需要进行大量的交叉验证,任何信息都是不可信的!

7. 基于样本运营的互联网风控(风控方面)

黑灰产现状

是个非常庞大的产业链,超过150W人

全控,QQ搜

领域

1.电商

2.视频

3.其他

工具

代理

隐藏真实IP

改机工具

更改串号

群控工具

根据指令执行对应操作设备农场

黑化/行话

接码平台

猫池

卡商

养号

死粉/活粉/出粉

协议破解

设备农场/手机墙

AVL的识别思路

  • 应用 —— 装机列表 —— 设备指纹 —— IP
  • 高 —————可信程度————— 低

风控部门,风险控制,置信区间

通过应用识别撞库、薅羊毛、代刷、网赚等,是一套乙方的风控体系

未来工作

1.设备指纹不可信/逐渐不可取

2.日志上传不及时

3.情报能力存疑

4.基础设置能力欠缺


1.SDK改造

网络状态识别

唯一标识符设计

特殊规则检出

2.扫描器研发

代理识别

VPN识别

生命周期验证(需要探活)

3.资源补充

接码接口(根据后台日志做碰撞,二次校验,交叉认证)

代理IP

黑卡获取

4.场景验证

8. 现状

海量设备应对

万分之三的误报率已经很低,但是基数很大

云与本地查杀

云适合消费场景,本地适合对安全要求高的场景

个体的价值

如何从个体的价值放大到高价值的云上

评价体系不一致

《移动互联网恶意代码描述规范》 中国互联网协会反网络病毒联盟 国外暂时没有统一的标准

木桶效应

互联网3G原则:girl, game,gamble 用户对提醒不在乎,中过病毒的人,反倒更可能再次中(使用习惯等原因) 信息泄漏(和社工结合危害更大

攻击过程专业化

国家力量的加入

攻受不对称

只能看见子弹打中了人,但不知道弹道、武器等

Reference

学习资源

[1]链接1

[2]链接2