如果恶意行为者获得对你系统的访问权限,就可能对你的业务、员工和客户造成巨大损害。除了窃取和泄露数据外,他们还可能更改你的配置、应用程序和系统文件,并删除日志以掩盖行踪。
文件完整性监控(FIM)可以帮助你保护业务。作为一种 IT 安全技术和安全流程,FIM 会跟踪文件更改,以判断文件是否被删除或遭到篡改,从而帮助你防止并减轻未经授权的系统文件更改。
继续阅读,了解有关 FIM 的更多信息:它为何重要、如何工作,以及在评估 FIM 解决方案时你应该关注哪些要点。
什么是文件完整性监控(FIM)?
FIM 解决方案是一种变更跟踪与入侵检测软件,它会检查数据库、操作系统和 Windows 文件,以确定这些文件是否被修改;如果被修改,还会判断是谁在何时修改的。
为什么需要使用 FIM 解决方案?
FIM 可帮助组织:
- 检测并处理威胁: FIM 会检测系统文件的变更,并就有害的修改发送警报。随后,你的网络安全团队可以阻止未授权访问,并将已修改的文件恢复到原始状态。
- 确保文件完整性: FIM 工具会通过将当前版本与受信任的基线进行比较来验证关键文件。随后,它会判断任何差异是否可能造成损害。
- 满足合规要求: 许多合规法规都包含 FIM 要求,包括 Payment Card Industry Data Security Standard (PCI DSS)、 SOX 以及 Federal Information Security Management Act of 2002 (FISMA) 和 Health Insurance Portability and Accountability Act (HIPAA)。
- 强化系统配置: FIM 可帮助你建立 合适的配置设置,用于你的 Windows 服务器和其他 IT 系统,从而降低攻击面。
Windows 文件完整性检查应多久进行一次?
诸如 PCI DSS 之类的安全合规标准要求每周进行一次文件完整性检查。然而,每周检查可能不足以防止严重的 data security 违规事件。近年来,威胁行为者变得更加危险——他们现在只需要几个小时或几天就能造成严重损害。
因此,你需要具备持续检测能力的实时文件监控解决方案。如果你只是一周运行一次文件完整性检查,威胁可能会在你察觉之前悄悄潜入,直到为时已晚。
Windows 文件完整性监控应覆盖哪些数据?
你的 FIM 解决方案应监控以下内容:
Windows 文件夹和文件
至少应对以下内容使用文件完整性监控:
- 程序文件 (x86)
- 程序文件
- System 32
- SysWow64
还应考虑将 FIM 应用于 Windows 系统驱动器(C:Windows)。不过,和注册表监控一样,这可能会产生大量误报。因此,你需要排除那些会定期更改的文件,包括数据库和诸如 C:WindowsLogs 之类的实时日志文件。
如果你必须手动来决定要纳入监控和要排除的文件,那么这项工作可能会很困难。建议投资使用一款 FIM 工具,它可以让你通过“文件类型和扩展名”筛选,以及正则表达式(regex)——一种用于定位包含特定字符的文件和文件夹的搜索模式——来快速定位文件。此外,还应寻找能够识别意外更改以及其他真实威胁的智能变更检测功能。
所有文件夹和文件的属性与内容
你的 FIM 工具应跟踪所有文件夹和文件属性,包括以下内容:
- 当前状态
- 特权、权限以及其他安全设置
- 核心大小和属性
- 凭据
- 配置值
一些 FIM 解决方案也会跟踪文件内容。尤其是对于大文件而言,这通常不太现实。更好的做法是跟踪诸如:
- 名称和路径
- 加密哈希值
- 大小和长度
- 创建时间和访问日期
Windows 注册表项(keys)、分支(hives)和值(values)
此外,应对 Windows 注册表项(keys)、分支(hives)和值(values)应用 FIM,因为它们控制 Windows 的配置设置。请务必监控:
- 已安装的程序和更新
- 本地审计和安全策略,其中包括从 Windows 防火墙设置到屏幕保护程序的所有内容
- 本地用户账户
请注意,注册表由数百万个值组成,其中许多会在 Windows 运行过程中频繁变动。为减少误报告警的数量,需要具备如上所述的细粒度“包含/排除”能力。
Windows FIM 如何检测威胁?
要检测更改,Windows file integrity monitoring solution 应使用采用安全哈希算法(如 MD5、SHA1、SHA256 或 SHA512)生成的加密哈希值。该方法为每个文件提供唯一的“DNA 指纹”,从而能够检测到哪怕是微小的变化;因为对文件内容或结构做出的最轻微的修改都会显著影响哈希值。
加密哈希值可以分配给任何文件类型,包括二进制文件(如 .dll、.exe、.drv 和 .sys)以及基于文本的配置文件(如 .js、XML 和压缩归档)。
在评估适用于 Windows 的 FIM 解决方案时,您应关注哪些重点?
在评估 Microsoft 文件完整性监控解决方案时,请询问以下关键问题:
该解决方案是否采用现代化的 FIM 方法?
传统的 FIM 解决方案通过创建包含您所有文件哈希值和元数据的基线(baseline),来跟踪并验证所有文件和文件夹属性;然后将这些基线值与文件的最新版本进行对比。不过,它们只会按天或按周检查变更。与此同时,它们还非常占用资源,并且缺少诸如实时监控、安全事件集中存储以及关于系统文件为何发生更改的上下文等关键功能。上述不足使得网络安全专家在海量可接受的修改中发现潜在危险的变更变得极其困难。
相反,像 Netwrix Change Tracker 这样的现代文件完整性解决方案会使用 FIM 代理持续检测变更,并发出实时告警。它们还具备:
- 基于上下文的文件白名单和文件完整性监控,以确保对所有变更活动进行自动分析,从而区分良性与恶性变更——这会大幅减少变更噪音并降低告警疲劳
- 经过认证且完整的 DISA STIG 和 CIS 配置加固,确保所有系统始终以安全的方式进行配置
该解决方案是否支持 Microsoft Azure?
如果你使用 Microsoft Azure,那么你的 FIM 解决方案必须支持它,这是至关重要的。Azure 确实提供了 Microsoft Defender for Cloud,这是一种文件完整性监控解决方案,可帮助你保护数据。然而,尽管 Defender for Cloud 能够捕捉到许多异常情况,仍有相当数量的威胁可能会漏网,因为它缺少诸如安全事件集中存储、计划变更与非计划变更的检测区分以及实时监控等关键功能。这些不足可能会使你难以判断已检测到的更改究竟是恶意的还是可以接受的。
因此,你应该投资使用第三方 FIM 工具,例如 Netwrix Change Tracker,它能够检测到你对 Microsoft Azure 云环境的每一次变更,并对未经授权的修改进行实时告警,以便你能够快速响应云安全事件。
FAQ
1. Windows FIM 如何检测零日恶意软件?
Windows FIM 解决方案使用加密哈希值来跟踪系统中的每个文件。 当零日恶意软件进入你的系统时,关键文件的哈希值将发生变化,FIM 解决方案会提醒你的安全团队。 这种方法适用于任何文件类型,包括 .drv、.exe、.dll、.sys 以及已压缩的归档文件。
2. Windows 文件完整性检查应当多久进行一次?
尽管 PCI 仅要求每周检查,但这可能不足以防止严重的 数据安全 违规。现代威胁行为者只需要几个小时或几天,就可能对你的系统和数据造成破坏,因此及时检测比以往任何时候都更加关键。任何延迟都可能带来高昂代价。
3. Microsoft Defender for Cloud 是否提供 FIM?
是的,Microsoft Defender for Cloud 会检查 Windows 注册表、操作系统文件、Linux 系统文件、应用软件以及其他文件中的更改,以发现可能表明网络攻击的迹象。
然而,它无法区分计划内的更改和非计划内的更改,因此安全团队可能会被告警信息淹没。此外,Defender for Cloud 不提供实时监控,因此在发出告警之前,威胁行为者可能有足够时间完成攻击。因此,投资第三方 FIM 解决方案可能是一种明智的策略。
分享到
了解更多
关于作者
Dirk Schrader
安全研究高级副总裁(VP)
Dirk Schrader 是 Netwrix 的常驻 CISO(EMEA)以及安全研究高级副总裁(VP)。他拥有 CISSP(ISC²)和 CISM(ISACA)等资质,是一位在 IT 安全领域拥有 25 年经验的老兵。Dirk 致力于以现代化的方式应对网络威胁,从而推动网络韧性的发展。Dirk 曾参与全球范围内的网络安全项目:职业初期从技术与支持岗位做起,随后在大型跨国公司和小型初创企业中分别担任销售、市场与产品管理等职务。他已发表大量文章,强调为实现网络韧性,需要重视变更管理与漏洞管理。