Accurate, Low Cost and Instrumentation-Free Security Audit Logging for Windows(CCF B)
1. ABSTRACT
该技术建立在Windows事件跟踪(ETW)的基础上。通过分析ETW日志和应用程序可执行文件的关键部分,可以构建一个模型,将ETW日志解析为表示进程中独立子执行的单元。在单位级别推断的因果关系提供了更高的准确性,允许我们执行准确的攻击调查和高效的日志缩减。
2.INTRODUCTION
对于APT等新型攻击,它们往往是悄无声息、低调而缓慢的,有时还通过社会心理活动加以掩饰。因此,审计日志(Audit logging)是一种重要的方法。
Problem:
现有的基于Audit logging的方法存在以下3点问题:
- 依赖爆炸
- 需要应用检测(application instrumentation)和繁杂的训练(tedious training),就比如之前读过的BEEP,那个虽然可以缓解依赖爆炸,但是需要扫描应用,需要训练,需要提供寻训练数据,这些都需要大量的人工。
- 现存的技术大都是基于Linux系统的日志审计系统,Linux系统本身的日志审计开销就有大量的时间和空间开销。
Contributions
- 提 出了一种基于ETW的新型的instrumentation-free的日志审计方法。它可以自动识别这样一种event loop,其迭代代表着自治循环单元(autonomous execution units)。
- 单元(units)的精确因果推断使我们能够有效地减少ETW日志中的垃圾。
- 实验表明,本文提出的技术开销是较低的(trivial)。
3. MOTIVATING EXAMPLE
3.1 Scenario Description
假设一个攻击者在一次活动中有机会偷取机密文件,他打开包含机密的文件,复制机密部分,并将其粘贴到一个可公开访问的HTML文件中,该文件是他之前使用Chromium从y.y.y.y.下载的,攻击者使用两种不同的编辑器,notepad和notepad++,通过多次复制和粘贴操作来覆盖他的踪迹。如下图所示是由以前的取证技术(基于系统调用)生成的因果图(通过复制粘贴从notepad到notopad++这条路是检测不出来的,所以用虚线表示),攻击者的实际攻击路径为:
这个秘密最初存储在文件sec.txt,由notepad编辑。然后攻击者将敏感信息复制到剪贴板缓冲区(Clipboard Buffer),然后通过noyepad++打开,将其粘贴到文件htdocs/index.html(这个文件是之前使用Chromium从y.y.y.y.下载的)。当攻击者从公司外部下载此文件时,httpd服务器将读取该文件并发送给攻击者,攻击者的IP为X.X.X.X。
问题1:传统的系统级的日志检测方法无法检测到内存操作导致的依赖关系
复制和粘贴操作(通过剪贴板)是检测攻击的关键事件。但是,当前基于系统调用的技术无法检测到它们,因为机密信息是通过内存操作而不是系统调用传输的。使用虚线表示复制和粘贴操作,这些操作会导致notepad和notepad++之间的依赖关系。
问题2:依赖爆炸
Chromium是一个长期运行的进程,在它的生命周期内,它访问了许多ip。很难找出htdoc/index.html究竟是从哪个ip下载下来的。
3.2 Existing Approach(现有的解决方法)
BEEP(可以见论文笔记4)可以解决这个问题,但是BEEP的问题在于以下几点:
- BEEP需要在一些关键位置(如事件处理循环边界)插入额外的日志记录命令(BEEP论文中的Table V增加了两条Rwrt和Rrd指令),以促进执行分区。
- BEEP需要一个的训练阶段,在这个阶段中,应用程序必须在运行分析器( runtime profiler)中运行,这会导致开销,每次更新应用程序时都必须重复相同的训练
- BEEP是在默认的Linux审计日志系统上构建的,这导致了很高的