为什么 Windows 文件系统审核很重要?
当您遇到网络攻击时(不再是假设),您必须能够准确查明攻击者查看、更改或窃取的内容。这种洞察力需要一个完整的文件系统审计系统。
文件系统审计是任何现代数据安全策略的要求,但文件分析是更好的选择。文件分析处理原始文件审核数据并对其进行规范化,以便您可以更轻松地使用这些信息。一个全面的文件分析日志将显示攻击者或恶意内部人员尝试或成功访问和窃取的数据。
如何启用 Windows 文件系统审核
步骤 1:启用审核策略
首先,转到域控制器 (DC) 并更新组策略 (GPO) 以启用文件审核。
右键单击要更新的组策略,或创建新的 GPO 以进行文件审核。在右键单击菜单中,选择“编辑”以转到组策略编辑器。
*为此示例,我创建了一个名为“文件审核”的新 GPO。
在组策略编辑器中,单击“计算机配置”-“>策略”->“Windows 设置”->“本地策略”。 单击“审核策略”。
您可以向 Windows 事件日志添加许多审核选项。文件审核选项是“审核对象访问”选项。
双击“审核对象访问”并将其设置为成功和失败。
若要启用新的 GPO,请转到命令行并运行“gpupdate /force”。
在要审核的计算机上使用命令“gpresult /r”验证策略是否设置正确。
步骤 2:将审核策略应用于文件和/或文件夹
接下来,确切地告诉 Windows 要审核哪些文件和/或文件夹。以下是为文件夹设置审核的过程。
- 右键单击 Windows 资源管理器中的文件或文件夹。选择“属性”。
- 切换到“安全”选项卡,然后单击“高级”。
- 单击“审核”选项卡,然后单击“继续”。
- 添加要审核的用户或组,并选中所有相应的框。
步骤 3:打开事件查看器
启用审核 GPO 并设置文件/文件夹审核后,你将在 Windows 事件查看器的安全事件日志中看到审核事件。
但是,对于试图弄清楚最近一次网络攻击期间发生了什么的 IR 团队来说,这些信息意味着什么 ?让我们深入了解这些事件日志消息实际上告诉我们的内容。
Windows 文件系统审核方案
请继续阅读,详细了解不同的审核情况,包括谁读取、编辑或删除了给定文件。
如何跟踪谁在 Windows 文件服务器上读取文件
在 Windows 审核中查找谁打开了文件非常简单。只需查找事件 ID 4663。每个 Windows 事件日志条目都有一个事件 ID,用于描述该事件期间发生的情况。ID 4663 表示“尝试访问对象”。您将在事件中看到成功或失败消息、文件或对象的名称,以及尝试访问的用户和进程。
在上面的屏幕截图中,itadmin 用户读取了文件“test – Copy.txt”。
如何使用 Windows 文件审核跟踪谁更改了
在 Windows 文件审核中,您不知道文件是否已更改。您可以知道文件何时打开,以及哪个进程打开了该文件。
我们从此事件 ID 4663 中看到的是,itadmin 在记事本中打开了“正在编辑此file.txt”文件,我们可以假设此文件已更改。
如何检测谁从 Windows 文件服务器中删除了文件
删除 Windows 事件日志中的事件是事件 ID 4660。您可以在此处查看删除操作的示例:
您的第一个问题可能是,“删除了什么文件?要找出答案,我们必须深入研究事件日志以找到相应的事件 ID 4663。
查看这两个事件的时间戳,您可以推断出删除的文件是“test-Copy.txt”。
Windows 文件活动审核流
Windows 不会在高级别记录文件活动,而不需要进行取证调查。相反,它会记录需要进一步处理的粒度文件操作。
下图概述了 Windows 如何使用多个事件日志条目记录每个文件操作:
删除操作是一个独特的情况,因为上面提到了第四个事件 4660。序列由“句柄 ID”事件属性标识,该属性对于此序列是唯一的(至少在重新启动之前)。
提供最多信息的事件是 4663,用于标识尝试访问对象。但是,该名称具有误导性,因为 Windows 仅在操作完成时发出该事件。实际上,单个句柄可能有多个 4663 事件,记录构成整个操作的较小操作。例如,重命名涉及读取、删除和写入操作。此外,单个 4663 事件可能在“Accesses”属性中包含多个值,该属性列出了为执行操作而行使的访问权限。这些“访问”是我们操作本身的指南。
下表提供了有关每个事件的详细信息:
事件 ID | 名字 | 描述 | 它提供的数据 |
4656 | 请求对象 的句柄 | 记录每个文件 活动的开始,但不保证它成功 | 文件的名称 |
4663 | 尝试访问对象 | 记录作为活动的一部分执行的特定微 操作 | 究竟做了什么 |
4660 | 对象已删除 | 记录删除操作 | 验证 活动的唯一方法实际上是删除 |
4658 | 对象的句柄已 关闭 | 记录文件 活动的结束 | 花了多少时间 |
当我们问自己“谁接触了我的文件?”这个问题时,Windows 审核日志将至少有四个不同的事件日志条目,我们需要筛选和关联这些条目,然后才能做出任何高质量的取证结论。
解释文件系统访问
若要标识实际操作,请解码“Accesses”事件属性中报告的已行使权限。不幸的是,这不是一对一的映射。每个文件操作都包括 Windows 执行的许多较小的操作,而这些较小的操作是记录的操作。
更重要的“Accesses”属性值包括:
- “WriteData”意味着文件已创建或修改,除非删除
- “ReadData”几乎被记录为任何操作的一部分。如果在同一时间没有为同一句柄和同一文件名记录“Delete”或“WriteData”,则表示“Access”。
- “删除”可能表示许多内容:删除、重命名(同一文件夹)、移动(到其他文件夹)或回收,这本质上是移动到回收站。具有相同句柄的事件 4660 区分发出 4660 事件的删除或回收,以及未发出 4660 事件的重命名或移动。
仅将此视为起点。上面的分析非常简化,实际实施需要更多的研究。一些需要进一步研究的领域是:
- 区分删除与发送到回收站以及从重命名移动。
- 分析属性访问(有或没有其他访问操作)。
- 处理事件 4659,该事件类似于 4660,但记录在请求在下次重新启动时删除锁定的文件,而不是现在删除它们。
- 研究报告称,事件无序发生,“请求句柄事件”(4656) 可能不是序列中的第一个。
你可能需要查看此 PowerShell 脚本,该脚本读取 Windows 事件并从中生成有意义的文件活动报告,以获得不太简化的分析。
专业提示:瓦罗尼斯 十多年来,我们一直在以 PB 级的规模审计 Windows 文件服务器,拥有许多与规范化和分析相关的专利。试一试,以节省自己弄清楚如何解析原始日志的时间。
文件系统审核的 Windows 事件日志限制
虽然 Windows 文件活动事件看起来很全面,但有些事情不能仅使用事件日志来确定。以下是一些示例:
- 创建与修改:知道这是新文件还是修改文件的唯一方法是知道先前的状态,即该文件之前是否存在。
- 缺少有关故障的信息:对于网络安全,了解某人何时无法访问文件非常重要。Windows 文件审核仅写入单个事件 ID 4656,用于因权限而无法访问。
- 剪切和粘贴:虽然人们会认为“剪切和粘贴”类似于移动操作,但实际上,这种行为似乎类似于删除操作,然后是创建操作,这两个操作之间没有任何关系。
在收集 Windows 文件活动时考虑可伸缩性
如果要使用本机 Windows 文件审核,则需要了解要收集多少数据。收集 Windows 文件活动是一个大规模的事件流,Microsoft 事件结构为单个文件操作生成许多事件,这无济于事。这样的集合将需要更多的网络带宽来传输事件,并需要更多的存储来保存它们。此外,所需的复杂逻辑可能需要强大的处理单元和大量内存。
若要减少开销,可能需要:
- 根据计划实现的方案仔细选择监视的文件。例如,您可能只想跟踪包含敏感数据的系统文件或共享。
- 在源头限制收集不需要的事件。如果收集基础结构使用 Microsoft 事件转发,则可以基于事件 ID 和事件属性生成复杂的筛选器。在我们的例子中,仅筛选事件 4656、4660、4663 和可选的 4658,并且仅筛选所需的“访问”值。
- 限制事件存储和事件大小,因为原始 Windows 事件很大。