RATSCOPE: Recording and Reconstructing Missing RAT Semantic Behaviors for Forensic Analysis on Windows
RATSCOPE: Recording and Reconstructing Missing RAT Semantic Behaviors for Forensic Analysis on Windows abstract。
Main Contribution
- 53个真实世界中的RAT家族研究
- 提出针对RAT的取证工具
- 针对RAT建模行为系统模块
Large-study of Real-world RATs
workflow
RAT 包括两个重要的组成部分:
- RAT stub,受控端,在受害者主机上执行
- RAT controller,控制端,在攻击者主机上远程控制受害者主机
收集到的 RAT 样本
关于 RAT 的主要发现
- 通常使用高级编程语言实现 RAT stubs,如C++,Delphi 和 Java
- RATs 通常装备了非常多恶意功能,如键盘记录,屏幕录制,远程控制等
- 不同的 RAT 家族通常装备了相同的恶意功能
- 90% 的 RATs 只针对 WINDOWS 系统
系统设计
整个过程分为三个阶段:
- 离线训练,通过正负样本对 RAT 的 phfs 进行建模,阐述了语义爆炸问题,并且提出了新的行为图模型来解决该问题(Agregated API Tree Record Graph, AATR)
- 在线记录
- 审计分析,AATR graph matcher 使用在线采集的数据和离线生成的 AATR 图进行 PHF 识别
AATR 解决的问题
ETW 不为包括系统调用和 API 在内的任何低级数据提供输入参数,这会导致行为图模型方法出现严重的语义冲突问题。
为了解决这个问题,提出 Aggregated API Tree Record Graph.
语义冲突
语义冲突是指在丢失底层信息的情况下,两种不同的应用行为表现为相同的语义图。
通过 AATR 避免语义冲突
- 使用系统调用 System call 来进行通用程序行为建模
- 使用调用树来补足缺失的语义
- 调用树可以方便地重建,因为系统调用属性和对应的触发 API 在 ETW 中是相邻的
基于 ETW 的审计记录系统
ETW 是 Windows 自带的审计记录系统,包括两个部分,一个记录器,一个解析器。并且还拥有两个重要的特点,不需要附加工具和负载低。
但是 ETW 也存在着缺点:
- 效率问题,在处理大量事件的时候效率地
- 数据缺失问题,缺少重要的信息,如进程id等
因此本文提出了方案改进了 ETW:
- 过滤器,过滤特定应用的事件,识别,并且专注于对于审计有用的事件
- 语义恢复,补足进程id等重要的缺失信息
AATR graph generator
问题:底层数据存在严重的数据冗余问题
方案:去冗余算法
AATR graph matcher
问题:底层数据存在噪声
方案:最优部分图匹配方法,区别与确切匹配,具有一定的容错能力
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.