OmegaLog: High-Fidelity Attack Investigation via Transparent Multi-layer Log Analysis abstract。

解决的问题

系统级别因果分析缺少重要的应用上下文,比如 http 响应码。现有的分析引擎也很难很难利用这些数据,因为系统层级之间存在语义鸿沟。
本文为解决此问题提出。

Architecture

arch

通过分析程序二进制文件以识别和建模应用程序层日志记录行为,从而实现应用程序事件与系统层访问的准确协调。
然后拦截应用程序的运行时日志记录活动,并将这些事件移植到系统层溯源图,使调查人员能够更准确地推断攻击的性质。

溯源图比较

本文的应用程序语义和系统日志关联的溯源图:

eg

传统溯源图存在的依赖爆炸的问题,这是 SQL 注入的一个攻击场景:

eg

与现有算法的比较:

eg

OmegaLog 生成的溯源图:

eg

具体实现

  • 1 首先分析所有应用程序二进制文件提取代码中描述事件日志语句的日志消息字符串(Log Message String, LMS),然后使用控制流分析俩识别 LMS 在程序的不同执行中所有可能的时间路径
  • 2 所有的 LMS 控制流路径都存储在数据库中,该数据库输入到日志解析器以引导应用程序事件的解释
  • 3 运行时,捕获所有应用程序事件,并通过拦截写入系统调用的内核模块使用应用程序的 PID/TID 和日志事件时间戳来扩充他们
  • 4 同时,从底层的全系统溯源跟踪器收集系统日志,并使用 PID/TID 作为消歧器将他们与适当的应用程序事件相关联,并将他们存储到统一的日志中
  • 5 将统一的日志和LMS控制流路径数据库传递给一个日志解析器,该解析器通过插入一个新的应用程序日志顶点来划分整个系统途中的关联进程,该顶点连接到相应的分区进程,并在该进程的特定执行单元中的日志消息进行注释,语义感知和执行分区图成为通用溯源图,给分析专家使用

eg