Windows 启动过程的保护技术

[ 2022/07/04 01:50 | by gOxiA ]
| |

Windows_logo_horiz_blue_rgb

Windows 启动过程的保护技术

        “安全”是这些年最热门的话题之一,Windows 操作系统也在不断完善和增强自己的安全性,我们看到了显著的成果。今天 gOxiA 来分享一些关于 Windows 启动过程的保护技术。

        对于Windows启动过程所面临的威胁恐怕当属Rootkits,作为恶意软件的一部分,它可在内核模式下运行,将拥有与操作系统相同的权限,并且先于操作系统启动,可想而知它的威力、自身隐藏和防御机制有多强大。

        Rootkits可以在启动过程的不同阶段加载不同类型的Rootkit:

  1. Firmware rootkits,可覆盖PC的I/O系统或其他硬件固件,从而可先于Windows启动。
  2. Bootkits,可取代操作系统的引导加载程序,也可实现在操作系统之前加载。
  3. Kernel rootkits,可取代操作系统内核的一部分,因此可随Windows加载时自启动。
  4. Driver rootkits,将伪装成Windows用于与硬件通信的受信任驱动程序的一部分。

        Windows 目前支持四项功能,以帮助防止在启动过程中加载 Rootkit 和 Bootkit。

  1. Secure Boot,即“安全启动”通过将具有 UEFI 和 TPM 的电脑配置为仅加载受信任的操作系统启动加载程序。我们知道当 PC 启动时会首先寻找操作系统的引导加载程序,也就是我们常说的启动程序,没有安全启动的 PC 将无法判断它是受信任的操作系统还是 Rootkit,将会运行硬盘上的任何可引导加载程序。如果 PC 配备了 UEFI,当它启动时首先验证固件是否已进行数字签名,如果启用了安全启动,固件将检查启动加载程序的数字签名,确保其没有被篡改,如果引导加载程序完好无损,则仅当满足下列条件之一时,固件才会启动引导加载程序。
    a. 引导加载程序是使用受信任的证书签名。对于经过 Windows 认证的电脑,Microsoft 证书是受信任的。
    b. 用户已手动批准了引导加载程序的数字签名。此操作允许加载非 Microsoft 操作系统。
  2. Trusted Boot,即“受信任启动”Windows 在加载启动过程的每个组件之前进行完整性检查。在实际过程中,受信任启动将接管安全启动结束的位置。引导加载程序在加载之前验证 Windows 内核的数字签名。反过来,Windows 内核会验证其启动过程的所有其他组件,这包括了驱动程序、启动文件和 ELAM。如果文件被篡改,引导加载程序会检测到问题并拒绝加载损坏的组件。通常,Windows 可以自动修复损坏的组件,恢复 Windows 的完整性并允许 PC 正常启动。
  3. Early Launch Anti-Malware (ELAM),即“提前启动反恶意软件”在加载驱动程序之前进行扫描测试,防止加载未经批准的驱动程序。前面讲到安全启动保护了引导加载程序,而受信任启动保护了 Windows 内核,那下一个被恶意软件盯上的机会便是感染那些非 Microsoft 启动驱动程序。传统的防病毒软件在加载启动驱动程序后才会启动,这为伪装成驱动程序的 Rootkit 提供了机会。而提前启动反恶意软件(ELAM)可在所有非 Microsoft 启动驱动程序和应用程序之前加载微软或非微软的防病毒驱动程序,从而形成安全启动和受信任启动后的信任链。由于操作系统还没有启动,并且 Windows 需要尽快启动,因此 ELAM 有一个简单的任务:检查每个启动驱动程序并确定它是否在受信任的驱动程序列表中。如果它不受信任,Windows 将不会加载。ELAM 驱动程序并不是一个功能齐全的防病毒软件解决方案,我们熟知的 Windows Defender 就支持 ELAM。
  4. Measured Boot,即“度量启动”将记录每一次的启动过程,与之前受信任的启动数据进行比对,客观评估电脑运行状况。该项技术旨在防范那些看起来很健康,但其实已经感染了 Rootkit 的 PC 。这些 PC 可能正在运行防病毒软件,但其实已经感染了恶意程序。度量启动技术可以用来验证 Windows 启动过程的完整性,它会使用如下过程:
    1) PC 的 UEFI 固件在 TPM 中存储固件、引导加载程序、启动驱动程序的哈希值,以及将在防病毒软件应用之前加载的所有内容。
    2) 在启动过程结束时,Windows 将启动非 Microsoft 远程证明客户端。受信任的证明服务器向客户端发送唯一密钥。
    3) TPM 使用唯一密钥对 UEFI 记录的日志进行数字签名。
    4) 客户端将日志发送到服务器,其中还会包含其他安全信息。
    根据实际运行数据和配置数据,我们可以确定客户端是否在正常运行。

windows_boot_process

        综上,Windows 现行提供的启动保护技术创建了一个从根本上抵御 Rootkit 的体系结构。确保了 Windows 安全。参考文档:Secure the Windows boot process | Microsoft Docs

Windows Client | 评论(0) | 引用(0) | 阅读(1274)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我