SEAL: Storage-efficient Causality Analysis on Enterprise Logs with Query-friendly Compression
SEAL: Storage-efficient Causality Analysis on Enterprise Logs with Query-friendly Compression abstract。
解决的问题
因果分析使攻击取证自动化,并通过关联因果相关但在时间上遥远的系统时间来寸进行为检测。
尽管该方法是有效的,但是该分析在存储和处理大量系统事件方面存在固有的大数据挑战,这些系统事件是从现实网络中数十万终端主机不断收集的。
此外,安全漏洞的分析有效性依赖于存储长期综合历史事件的假设,因此,为了使因果关系分析实用并适用于企业环境,解决扩展性(scalability)的问题迫在眉睫。
Architecture
因此提出了 SEAT,一种新的应用于因果分析的数据压缩方法。基于对系统时间数据的信息论观察,我们的方法实现了无损压缩并支持对历史事件的近实时检索。
在压缩阶段,研究了由系统日志引起的因果图,并探索了丰富的边缘减少的可能方法。
在查询阶段,最大速率下解压缩是有可能执行的,实验表明 SEAL 在真实数据集上分别提供了 2.63 倍和 12.94 倍的数据压缩。并且 89% ...
ALchemist: Fusing Application and Audit Logs for Precise Attack Provenance without Instrumentation
ALchemist: Fusing Application and Audit Logs for Precise Attack Provenance without Instrumentation abstract。
解决的问题
网络攻击变得越来越复杂和持久,很多当前最先进的方法不是要求源码注释或者软件应用的指令 就是依赖高质量的执行配置文件作为基础,进行异常检测。
为解决此问题,提出 ALchemist。
Architecutre
提出的 ALchemist 基于:
内置的应用程序日志可以提供关键的高层级语义
审计日志可以提供低层级细粒度的信息
而两者共享大量的基本元素
思路与具体实现
日志数据处理
本文提出的溯源图和NoDoze生成的溯源图的区别:
两种日志的对比:
统一模型:
归一化的数据:
审计日志融合
基于规则的审计日志融合,具体的规则如下:
对火狐浏览器日志进行融合的案例:
需求驱动的数据日志推理
输入一个 POI 事件,然后针对这个事件进行反向传播分析。
Back-Propagating System Dependency Impact for Attack Investigation
Back-Propagating System Dependency Impact for Attack Investigation abstract。
解决的问题
系统审计日志上的因果分析成为了攻击调查的重要方法,给定一个事件(point-of-interest event, POI event),通过因果分析可以构建该事件的因果依赖图,使用因果依赖图来进行攻击序列的发现。
然而因果分析同行会产生一张极大的图,这会对安全专家的分析造成困难。
针对以上问题,提出解决方案。
Architecture
从不同攻击的依赖图中,我们观察到一下特点:
与 POI 事件高度相关的依赖项与 不太相关的依赖项相比,通常表现出不同的一组属性(eg. 数据流和时间)
POI 事件通常与一些攻击条目相关(eg. 下载文件)
基于上述观察,提出 DEPIMPACT 来识别依赖图中的关键部分,该框架通过以下方法实现:
为边分配可以判断依赖重要性的权重
将依赖影响从 POI 事件反向传播到入口点
根据依赖影响排名,从排名靠前的入口节点执行前向因果关系分析,过滤掉前向因果关系分析中未找到的边
MCI: Modeling-based Causality Inference in Audit Logging for Attack Investigation
MCI: Modeling-based Causality Inference in Audit Logging for Attack Investigation abstract。
Architecture
在本文中,开发了一个基于因果推理的模型来进行审计日志分析,并且该方法不需要任何应用指令或者内核修改。
它利用了最近的动态分析和双重执行(LDX),可以推断系统调用之间精确因果关系,但不幸的是需要加倍的消耗资源,例如cpu时间和内存的消耗。
对于每个应用来说,我们使用LDX获得一组原始操作的精确的因果模型。每个模型都是一系列具有相互依赖关系的系统调用,其中一些是由内存操作引起的,因此隐含在系统调用级别,这些模型由支持各种复杂性的语言描述,例如常规的、上下文无关的,甚至上下文敏感的。在生产运行中,部署了一个新的解析器来解析审计日志以对实例进行建模,从而得出因果关系。
model construction
trace parsing with models
MPI: Multiple Perspective Attack Investigation with Semantics Aware Execution Partitioning
MPI: Multiple Perspective Attack Investigation with Semantics Aware Execution Partitioning abstract。
解决的问题
传统审计技术产生了大量的不准确的因果图,为了克服该缺点,研究人员开始将图按照执行划分来提高分析粒度和准确度。但是这些技术依赖地层次的编程范式来进行执行划分,这通常会使得低层级的图存在大量冗余。
这不仅会导致溯源图存储的空间效率低下,还会导致溯源图可理解性降低,并且这些技术要求通过训练来检测不同分区之间的低层的依赖关系。
在训练中获得较好的完整性和准确率是很难的。
Architecture
提出了一个可以感知程序注解和命令语义的技术,来进行基于特定程序的分区执行。该方法避免了训练,而能够生成具有丰富语义信息的执行分区,并且提供了攻击的多个视角。
*MPI is short for “Multiple Perspective attack Investigation”
思路与方法
本文的指导思想就是将高层级的任务转化为数据结构。
MPI 允许用户注释与此类任务相对应的数据结构 ...
Accurate, Low Cost and Instrumentation-Free Security Audit Logging for Windows
Accurate, Low Cost and Instrumentation-Free Security Audit Logging for Windows abstract。
解决的问题
传统审计日志缺乏准确率,并且需要大量计算和分析二进制命令。
因此提出一种基于 Windows 的日志审计技术来提高准确率和降低计算消耗。
main contribution
基于 ETW 的新型无工具审计日志记录技术,可以自动识别其 迭代表示自动执行单元的事件循环
基于单元的准确的因果推理,可以进行有效地数据去冗余
具体实现
基本溯源图和本文生成的精简溯源图表示:
方法总体架构图下:
High Accuracy Attack Provenance via Binary-based Execution Partition
High Accuracy Attack Provenance via Binary-based Execution Partition abstract。
解决的问题
了解可疑事件的溯源图是非常重要的方面,因为其揭露了攻击的根本原因和后果。通常通过分析审计日志来完成,但是随着长时间的运行,大量的日志会导致依赖爆炸使得攻击调查几乎难以完成。
因此本文提出一种方法来解决该问题。
方法
作者观察到,通过监视程序事件处理循环的执行,可以将长时间的执行划分为单独的单元,每次迭代对应于独立的输入/请求的处理。
因此对二进制应用进行逆向工程,获取程序事件处理循环,还对可能导致单元之间工作流的指令进行逆向工程,检测这样的工作流程对于揭示单元之间的因果关系至关重要。
然后对单元边界和单元依赖执行选择性地进行了日志记录。
基于上述方法,提出了一种用于二进制程序的高效、无依赖爆炸日志记录的新方案,称为 BEEP。
BEEP 是一种新的、更细粒度的主题类型,称为单元 unit,具体来说,单元是处理特定对象的过程执行段,一个进程被分割成多个单元,BEEP 还设计识别一小组关键的内存依赖关系,这些依赖关系表示 ...
ProTracer: Towards Practical Provenance Tracing by Alternating Between Logging and Tainting
ProTracer: Towards Practical Provenance Tracing by Alternating Between Logging and Tainting abstract。
解决的问题
现有的溯源分析方法要么遭受依赖爆炸问题,要么要求巨大的空间和运行时开销,这阻碍了他们在实践中的应用。
Architecture
提出 ProTracer,一个轻量级的溯源跟踪系统,可以在系统事件日志记录和单元级污染传播之间交替。
该技术建立在动态系统事件处理的基础架构上,该基础架构具有非常轻量级的内核模块和处理并发、无序事件处理的复杂用户空间守护程序。
溯源分析的基本方法:
Audit 架构:
系统主要分为两个部分:内核模块用户空间守护进程,其中内核模块负责采集 syscall 事件信息并把它们写入到 ring buffer,用户空间守护进程负责获取和处理这些事件,包括决定是否记录事件或者执行污点传播。
OmegaLog: High-Fidelity Attack Investigation via Transparent Multi-layer Log Analysis
OmegaLog: High-Fidelity Attack Investigation via Transparent Multi-layer Log Analysis abstract。
解决的问题
系统级别因果分析缺少重要的应用上下文,比如 http 响应码。现有的分析引擎也很难很难利用这些数据,因为系统层级之间存在语义鸿沟。
本文为解决此问题提出。
Architecture
通过分析程序二进制文件以识别和建模应用程序层日志记录行为,从而实现应用程序事件与系统层访问的准确协调。
然后拦截应用程序的运行时日志记录活动,并将这些事件移植到系统层溯源图,使调查人员能够更准确地推断攻击的性质。
溯源图比较
本文的应用程序语义和系统日志关联的溯源图:
传统溯源图存在的依赖爆炸的问题,这是 SQL 注入的一个攻击场景:
与现有算法的比较:
OmegaLog 生成的溯源图:
具体实现
1 首先分析所有应用程序二进制文件提取代码中描述事件日志语句的日志消息字符串(Log Message String, LMS),然后使用控制流分析俩识别 LMS 在程序的不同执行中所有可能的时间路径 ...
Towards a Timely Causality Analysis for Enterprise Security
Towards a Timely Causality Analysis for Enterprise Security abstract。
解决的问题
随着 APT 攻击的涌现,攻击因果分析成为了分析该类攻击的重要手段。 但是由于该类分析是一个时间敏感的任务,所以构建一个能够及时提取出攻击信息的因果溯源系统是第一步。 然而之前的工作无法达到这个要求,该类工作主要集中于因果依赖关系剪枝,将无关的攻击事件去除。
因此本文提出一种解决该问题的方法。
Architecture
文章提出 PROITRACKER,一个前后向因果关系跟踪器,可以在溯源过程中自动优先考虑异常因果关系依赖的调查。
特别是,针对系统事件进行优先级评估,并通过事件稀有程度建立了一个参考模型。
时间约束的异常优先因果跟踪
上述为基本算法,还设计了事件优先级,事件的优先级通过扇出、事件稀有度和数据流打分。
下一步是为优先度函数的参数分配权值。
参考模型
数据采集
首先采集相似主机上的数据,其次对数据进行抽象,最后使用时间窗口来限定范围和计数。
参考分数定义