<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/2041.htm</link>
<title><![CDATA[Windows 启动过程的保护技术]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Sun, 03 Jul 2022 17:50:00 +0000</pubDate> 
<guid>https://maytide.net/read.php/2041.htm</guid> 
<description>
<![CDATA[ 
	<p><a href="http://goxia.maytide.net/ftpup/2018/Windows-_8577/Windows_logo_horiz_blue_rgb.png"><img width="400" height="88" title="Windows_logo_horiz_blue_rgb" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="Windows_logo_horiz_blue_rgb" src="http://goxia.maytide.net/ftpup/2018/Windows-_8577/Windows_logo_horiz_blue_rgb_thumb.png" border="0"></a></p><p><font color="#fd3f0d" size="4"><strong>Windows 启动过程的保护技术</strong></font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; “安全”是这些年最热门的话题之一，Windows 操作系统也在不断完善和增强自己的安全性，我们看到了显著的成果。今天 <a href="https://goxia.maytide.net" target="_blank">gOxiA</a> 来分享一些关于 Windows 启动过程的保护技术。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于Windows启动过程所面临的威胁恐怕当属Rootkits，作为恶意软件的一部分，它可在内核模式下运行，将拥有与操作系统相同的权限，并且先于操作系统启动，可想而知它的威力、自身隐藏和防御机制有多强大。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rootkits可以在启动过程的不同阶段加载不同类型的Rootkit：</p><ol><li>Firmware rootkits，可覆盖PC的I/O系统或其他硬件固件，从而可先于Windows启动。</li><li>Bootkits，可取代操作系统的引导加载程序，也可实现在操作系统之前加载。</li><li>Kernel rootkits，可取代操作系统内核的一部分，因此可随Windows加载时自启动。</li><li>Driver rootkits，将伪装成Windows用于与硬件通信的受信任驱动程序的一部分。</li></ol><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows 目前支持四项功能，以帮助防止在启动过程中加载 Rootkit 和 Bootkit。</p><ol><li>Secure Boot，即“安全启动”通过将具有 UEFI 和 TPM 的电脑配置为仅加载受信任的操作系统启动加载程序。我们知道当 PC 启动时会首先寻找操作系统的引导加载程序，也就是我们常说的启动程序，没有安全启动的 PC 将无法判断它是受信任的操作系统还是 Rootkit，将会运行硬盘上的任何可引导加载程序。如果 PC 配备了 UEFI，当它启动时首先验证固件是否已进行数字签名，如果启用了安全启动，固件将检查启动加载程序的数字签名，确保其没有被篡改，如果引导加载程序完好无损，则仅当满足下列条件之一时，固件才会启动引导加载程序。<br/>a. 引导加载程序是使用受信任的证书签名。对于经过 Windows 认证的电脑，Microsoft 证书是受信任的。<br/>b. 用户已手动批准了引导加载程序的数字签名。此操作允许加载非 Microsoft 操作系统。</li><li>Trusted Boot，即“受信任启动”Windows 在加载启动过程的每个组件之前进行完整性检查。在实际过程中，受信任启动将接管安全启动结束的位置。引导加载程序在加载之前验证 Windows 内核的数字签名。反过来，Windows 内核会验证其启动过程的所有其他组件，这包括了驱动程序、启动文件和 ELAM。如果文件被篡改，引导加载程序会检测到问题并拒绝加载损坏的组件。通常，Windows 可以自动修复损坏的组件，恢复 Windows 的完整性并允许 PC 正常启动。</li><li>Early Launch Anti-Malware (ELAM)，即“提前启动反恶意软件”在加载驱动程序之前进行扫描测试，防止加载未经批准的驱动程序。前面讲到安全启动保护了引导加载程序，而受信任启动保护了 Windows 内核，那下一个被恶意软件盯上的机会便是感染那些非 Microsoft 启动驱动程序。传统的防病毒软件在加载启动驱动程序后才会启动，这为伪装成驱动程序的 Rootkit 提供了机会。而提前启动反恶意软件（ELAM）可在所有非 Microsoft 启动驱动程序和应用程序之前加载微软或非微软的防病毒驱动程序，从而形成安全启动和受信任启动后的信任链。由于操作系统还没有启动，并且 Windows 需要尽快启动，因此 ELAM 有一个简单的任务：检查每个启动驱动程序并确定它是否在受信任的驱动程序列表中。如果它不受信任，Windows 将不会加载。ELAM 驱动程序并不是一个功能齐全的防病毒软件解决方案，我们熟知的 Windows Defender 就支持 ELAM。</li><li>Measured Boot，即“度量启动”将记录每一次的启动过程，与之前受信任的启动数据进行比对，客观评估电脑运行状况。该项技术旨在防范那些看起来很健康，但其实已经感染了 Rootkit 的 PC 。这些 PC 可能正在运行防病毒软件，但其实已经感染了恶意程序。度量启动技术可以用来验证 Windows 启动过程的完整性，它会使用如下过程：<br/>1) PC 的 UEFI 固件在 TPM 中存储固件、引导加载程序、启动驱动程序的哈希值，以及将在防病毒软件应用之前加载的所有内容。<br/>2) 在启动过程结束时，Windows 将启动非 Microsoft 远程证明客户端。受信任的证明服务器向客户端发送唯一密钥。<br/>3) TPM 使用唯一密钥对 UEFI 记录的日志进行数字签名。<br/>4) 客户端将日志发送到服务器，其中还会包含其他安全信息。<br/>根据实际运行数据和配置数据，我们可以确定客户端是否在正常运行。</li></ol><p><a href="http://goxia.maytide.net/ftpup/2018/Windows-_8577/windows_boot_process.png"><img width="630" height="732" title="windows_boot_process" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="windows_boot_process" src="http://goxia.maytide.net/ftpup/2018/Windows-_8577/windows_boot_process_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 综上，Windows 现行提供的启动保护技术创建了一个从根本上抵御 Rootkit 的体系结构。确保了 Windows 安全。参考文档：<a href="https://docs.microsoft.com/en-us/windows/security/information-protection/secure-the-windows-10-boot-process/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Secure the Windows boot process &#124; Microsoft Docs</a></p>
]]>
</description>
</item>
</channel>
</rss>