Defender for Endpoint 中的 UEFI 扫描

最近,Microsoft Defender for Endpoint使用新的统一可扩展固件接口 (UEFI) 扫描程序将其保护功能扩展到固件级别。

近年来,硬件和固件级攻击继续上升,因为现代安全解决方案使得作系统上的持久性和检测规避更加困难。 攻击者入侵启动流以实现难以检测的低级别恶意软件行为,从而给组织的安全状况带来重大风险。

Windows Defender System Guard通过硬件支持的安全功能(如虚拟机监控程序级证明和安全启动)(也称为动态信任根 (DRTM) )提供安全启动保证,帮助抵御固件攻击,这些功能在安全核心电脑上默认启用。 Defender for Endpoint 中新的 UEFI 扫描引擎通过使固件扫描广泛可用,扩展了这些保护。

UEFI 扫描程序是Windows 10和更新版本上的内置防病毒解决方案的新组件,使 Defender for Endpoint 能够扫描固件文件系统并执行安全评估。 它集成了合作伙伴芯片集制造商的见解,并进一步扩展了 Defender for Endpoint 提供的全面终结点保护。

先决条件

什么是 UEFI 扫描程序?

统一可扩展固件接口 (UEFI) 是 旧版 BIOS 的替代品。 如果正确配置了芯片集, (UEFI & 芯片集配置本身) 并且启用了 安全启动 ,则固件是相当安全的。 为了执行基于硬件的攻击,攻击者利用易受攻击的固件或配置错误的计算机来部署 rootkit,从而允许攻击者在计算机上站稳脚跟。

显示预期启动流与已泄露启动流的屏幕截图

如图所示,对于 配置正确的设备,从开机到 OS 初始化的启动路径是可靠的。 如果禁用安全启动或主板芯片集配置错误,攻击者可以更改固件中未签名或篡改的 UEFI 驱动程序的内容。 这可能允许攻击者接管对设备的控制,并赋予他们剥夺作系统内核或防病毒以重新配置固件安全性的能力。

UEFI 平台初始化

串行外设接口 (SPI) 闪存存储重要信息。 其结构取决于 OEM 的设计,通常包括处理器微代码更新、Intel 管理引擎 (ME) 和启动映像(UEFI 可执行文件)。 当计算机运行时,处理器会在 UEFI 的 SEC 阶段从 SPI 闪存执行固件代码一段时间。 闪存永久映射到 x86 重置矢量 (物理地址0xFFFF_FFF0) ,而不是内存。 但是,攻击者可能会干扰内存访问,以按软件重置矢量。 他们通过在配置错误的设备上重新编程 BIOS 控制寄存器来执行此作,使安全软件更难确定在启动期间执行的确切内容。

部署植入物后,就很难检测到。 为了捕获此级别的威胁,OS 级别的安全解决方案依赖于来自固件的信息,但信任链会受到削弱。

从技术上讲,固件不会存储,并且无法从main内存访问。 与其他软件相反,它存储在 SPI 闪存存储中,因此新的 UEFI 扫描程序必须遵循硬件制造商提供的硬件协议。 为了兼容并更新所有平台,它需要考虑协议差异。

显示 UEFI 扫描程序内部概述的屏幕截图

UEFI 扫描程序对从硬件闪存存储获取的固件执行动态分析。 通过获取固件,扫描程序能够分析固件,使 Defender for Endpoint 能够在运行时检查固件内容。

如何打开 UEFI 扫描程序?

新的 UEFI 扫描程序是 Microsoft Defender 防病毒的一个组件,因此,只要它是主 AV,它就包括扫描和访问 UEFI 固件的此功能。

如何管理 UEFI 扫描程序?

它是Microsoft Defender防病毒的内置功能。 因此,没有额外的管理。

Defender for Endpoint 中的 UEFI 扫描程序如何工作?

新的 UEFI 扫描程序通过与主板芯片集交互在运行时读取固件文件系统。 为了检测威胁,它使用多个新的解决方案组件执行动态分析,其中包括:

  • UEFI 反 rootkit,它通过串行外设接口 (SPI)
  • 完整的文件系统扫描程序,用于分析固件内的内容
  • 检测引擎,用于识别攻击和恶意行为

固件扫描由运行时事件(例如可疑驱动程序负载)和定期系统扫描进行协调。 在“保护历史记录”下,Windows 安全中心报告检测。

显示 NVRAM 中恶意内容的Windows 安全中心通知的屏幕截图

Defender for Endpoint 客户可以在Microsoft Defender门户中看到作为警报引发的这些检测,使安全运营团队能够在其环境中的固件级别调查和响应固件攻击和可疑活动。

显示 Defender for Endpoint 警报检测恶意代码的屏幕截图

为了检测 SPI 闪存中的未知威胁,将分析来自 UEFI 扫描程序的信号,以识别异常及其执行位置。 异常情况将报告到Microsoft Defender门户进行调查。

显示 UEFI 中恶意软件植入的 Defender for Endpoint 警报的屏幕截图

同样,可以通过高级搜寻来查询这些事件,如下所示:

let AlertStats = AlertInfo
| where Timestamp > ago(30d)
| where ServiceSource == "Microsoft Defender for Endpoint"
| where DetectionSource == "Antivirus"
| where Title has "UEFI"
| join AlertEvidence on AlertId;
AlertStats
| join DeviceInfo on DeviceId
| distinct DeviceName, DeviceId, AlertId, Title, Severity, DetectionSource, Timestamp
| summarize Titles=makeset(Title) by DeviceName, DeviceId, bin(Timestamp, 1d)

全面提升安全级别,提供低级别保护

新的 UEFI 扫描程序增加了一组丰富的Microsoft技术,这些技术集成以提供芯片到云的安全性,从强大的硬件信任根到作系统级别的云支持的安全解决方案。

硬件支持的安全功能(如安全启动和设备证明)有助于阻止固件攻击。 这些功能在 安全核心电脑上默认启用,可与 Defender for Endpoint 无缝集成,以提供全面的终结点保护。

借助其 UEFI 扫描程序, Defender for Endpoint 在固件级别可以更深入地了解威胁,攻击者越来越专注于这些威胁。 安全运营团队可以使用此新级别的可见性,以及 Defender for Endpoint 中丰富的检测和响应功能集来调查和遏制此类高级攻击。

Microsoft Defender门户中还提供了此级别的可见性,该门户提供更广泛的跨域防御,以协调跨终结点、标识、电子邮件和应用的保护。