SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data abstract。

解决的问题

安全人员很难从传统的 ISD/SIEM 工具中大量的告警信息中快速有效提取出实际攻击场景。
因此本文设计了一种基于标签的攻击分析技术实时生成攻击场景。

Architecture

架构图
整体系统架构大致分为溯源信息采集、图生成、基于图的分析和攻击场景重现四个部分:

  • 溯源信息采集
  • 图生成
  • 基于图的分析
  • 攻击场景重现

挑战

本文需要实时对攻击告警进行检测、分析和重现攻击场景,由此对以下地方提出了更高的要求:

  • 事件存储和分析
  • 事件实体优先级
  • 场景重建
  • 处理攻击期间的正常活动
  • 快速、交互式的推理能力

主存内的依赖图设计

为了尽量降低内存占用,通过多种方法降低内存的使用:

  • 存储数据结构
  • 指针
  • 相对时间戳
  • etc.

标签和攻击检测

标签分为两类,机密性标签和可信度标签,其中可信度标签有:

  • Benign authentic
  • Benign
  • Unknown

机密性标签分为:

  • Secret
  • Sensitive
  • Private
  • Public

对于进程来说,拥有两种标签,但是对于数据来说只有机密性标签。
针对不同的实体采用不同的策略获得其标签:

  • 已经存在的或远程实体 -> 初始化策略(tag initialization policies)
  • 系统运行期间新建的 -> 标签传递策略(tag propagation policies)
  • 攻击 -> 检测策略(detection policies)
  • 其余没有特定标记策略指定的源将会被标记为 Unknown,没有特定传播策略指定的实体将会采用默认策略

基于标签的攻击检测

根据攻击行为的一般步骤:

  • 部署攻击者的代码到目标系统
  • 替换或者修改重要文件
  • 泄漏敏感信息

定义了以下攻击者目标和手段的攻击检测策略:

  • 非信任的代码执行,Untrusted code execution
  • 低信任度代码修改,Modification by subjects with lower code t-tag
  • 机密信息泄漏,Confidential data leak
  • 非信任数据执行准备,Preparation of untrusted data for execution

这种检测方法的优点是不会被中间步骤稀释,不管当数据经过多少次中间步骤,最终执行时均能出发报警。并且该方法还可以和外部的检测器配合,如果外部检测器将一个实体标记为可以,在本系统中该实体将会被标记为 Unknown,然后检测策略将会根据该信息进行推理验证。

策略框架

此部分介绍了本文的策略框架,详见论文第4章。

基于标签的双向分析

反向分析

反响分析的目的是寻找攻击者入口节点,分析的起点是检测策略生成的告警。

前向分析

前向分析的目的是评估攻击行动的危害。

场景重建

通过剪枝、合并等操作生成一个简化后的攻击场景。