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 的主要发现

  • 通常使用高级编程语言实现 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

问题:底层数据存在噪声
方案:最优部分图匹配方法,区别与确切匹配,具有一定的容错能力