内核隔离技术大揭秘!保护你的Windows系统
内核隔离技术大揭秘!保护你的Windows系统
内核隔离技术是Windows系统的一项重要安全功能,通过在内存中隔离Windows的核心进程,保护系统免受恶意软件的攻击。本文将详细介绍Windows系统的内核隔离技术,包括内存完整性、内核模式硬件强制实施堆栈保护、内存访问保护和固件保护等安全功能。
内存完整性
内存完整性,也称为虚拟机监控程序保护的代码完整性(HVCI),是Windows的安全功能,它使恶意程序很难使用低级驱动程序劫持计算机。
驱动程序是软件,可以让操作系统(本例中为Windows)和设备(例如键盘或网络摄像机)相互通信。当设备希望Windows执行某些操作时,它会使用驱动程序发送该请求。
内存完整性是通过使用硬件虚拟化创建隔离环境来实现的。请把它想象成在上锁的隔间里的保安。这种隔离环境(在类比中是上锁的隔间)防止了内存完整性功能被攻击者篡改。想要运行一段可能危险的代码的程序必须将代码传递给该虚拟隔间内的内存完整性,以便对其进行验证。当内存完整性确信代码是安全的时,它会将代码交回Windows运行。通常情况下,这发生得非常快。
在没有内存完整性运行的情况下,“保安”没有防备,攻击者更容易干扰或破坏保护,从而使恶意代码更容易偷偷通过并引发问题。
如何管理内存完整性?
在大多数情况下,内存完整性在Windows 11中默认打开,在Windows 10中可以打开。以将其打开或关闭:
- 选择“开始”按钮并键入“核心隔离”。
- 从搜索结果中选择“核心隔离”系统设置以打开Windows安全中心应用。
- 在“核心隔离”页面上,将发现内存完整性以及打开或关闭它的切换开关。
重要:为了安全起见,建议打开内存完整性。
要使用内存完整性,必须在系统的UEFI或BIOS中启用硬件虚拟化。
如果它显示有不兼容的驱动程序,该怎么办?
如果内存完整性无法打开,它可能会告知已安装不兼容的设备驱动程序。请与设备制造商联系,看看他们是否有更新的驱动程序。如果他们没有可用的兼容驱动程序,可能可以移除使用该不兼容驱动程序的设备或应用。
注意:如果在打开内存完整性后尝试安装具有不兼容驱动程序的设备,可能会看到相同的消息。如果是这样,同样的建议也适用 - 请与设备制造商核实,看看他们是否有可供下载的更新驱动程序,或者在有兼容驱动程序可用之前不要安装该特定设备。
内核模式硬件强制实施堆栈保护
内核模式硬件强制实施堆栈保护是基于硬件的Windows安全功能,使恶意程序难以使用低级驱动程序来劫持你的计算机。
驱动程序是一个软件,在这种情况下,操作系统(Windows)和键盘或网络摄像头等设备相互通信。当设备希望Windows执行某些操作时,它会使用驱动程序发送该请求。
内核模式硬件强制实施堆栈保护的工作原理是防止攻击修改内核模式内存中的返回地址以启动恶意代码。此安全功能需要包含验证正在运行的代码的返回地址的功能的CPU。
在内核模式下执行代码时,恶意程序或驱动程序可能会损坏内核模式堆栈上的返回地址,以便将正常代码执行重定向到恶意代码。在支持的CPU上,CPU在驱动程序无法修改的只读影子堆栈上维护有效返回地址的第二个副本。如果修改了常规堆栈上的返回地址,CPU可以通过检查影子堆栈上返回地址的副本来检测此差异。发生此差异时,计算机会提示停止错误(有时称为蓝屏),以防止恶意代码执行。
并非所有驱动程序都与此安全功能兼容,因为少数合法驱动程序出于非恶意目的而进行返回地址修改。Microsoft已与众多驱动程序发布者合作,以确保其最新驱动程序与内核模式硬件强制实施的Stack Protection兼容。
如何实现管理内核模式硬件强制实施的堆栈保护?
默认情况下,内核模式硬件强制实施堆栈保护处于关闭状态。
以将其打开或关闭:
- 选择“开始”按钮并键入“核心隔离”。
- 从搜索结果中选择“核心隔离”系统设置以打开Windows安全中心应用。
- 在“核心隔离”页上,你将找到内核模式硬件强制实施堆栈保护以及用于将其打开或关闭的开关。
若要使用内核模式硬件强制实施堆栈保护,必须启用内存完整性,并且必须运行支持Intel Control-Flow强制技术或AMD影子堆栈的CPU。
如果它显示我有不兼容的驱动程序或服务,该怎么办?
如果内核模式硬件强制实施堆栈保护无法打开,它可能会告诉你已安装不兼容的设备驱动程序或服务。请与设备制造商或应用程序发布者联系,了解它们是否有可用的更新驱动程序。如果他们没有可用的兼容驱动程序,你可能能够删除使用该不兼容驱动程序的设备或应用。
某些应用程序可能会在应用程序的安装过程中安装服务而不是驱动程序,并且仅在应用程序启动时安装驱动程序。为了更准确地检测不兼容的驱动程序,还会枚举已知与不兼容驱动程序关联的服务。
注意:如果在打开内核模式硬件强制实施堆栈保护后尝试安装驱动程序不兼容的设备或应用,可能会看到相同的消息。如果是这样,同样的建议适用 - 检查设备制造商或应用发布者,以查看它们是否有可下载的更新驱动程序,或者在兼容的驱动程序可用之前不安装该特定设备或应用。
内存访问保护
也称为“内核DMA保护”,它可以保护设备免受恶意设备插入Thunderbolt端口等PCI(外围组件互连标准)端口时可能发生的攻击。
其中一个攻击的简单例子是,如果有人离开电脑去喝咖啡,在他们不在的时候,攻击者会介入,插入类似USB的设备,然后从机器中拿走敏感数据,或者注入使其能够远程控制电脑的恶意软件。
内存访问保护通过拒绝直接访问那些设备的内存来防止此类攻击,除非在特殊情况下,特别是当电脑已锁定或用户注销时。
建议打开内存访问保护。
提示:如果你想了解更多有关技术的详细信息,请参阅内核DMA保护。
固件保护
每个设备都有一些软件被写入设备的只读存储器 - 基本上是写入系统板上的芯片 - 用于设备的基本功能,例如加载运行所有常用应用的操作系统。由于该软件很难(但并非不可能)修改,我们将其称为固件。
由于固件首先加载并在操作系统下运行,因此在操作系统中运行的安全工具和功能很难检测或防御它。就像依赖良好屋基才安全的房子一样,计算机需要其固件才能安全,以确保计算机上的操作系统、应用程序和客户数据的安全。
Windows Defender System Guard是一组功能,有助于确保攻击者无法使用不受信任或恶意的固件启动设备。
如果设备支持,建议打开它。
提供固件保护的平台通常也会在不同程度上保护系统管理模式(SMM)(一种高特权操作模式)。可以预期这三个值之一,其数字越大,表示SMM保护程度越高:
- 你的设备符合固件保护版本1:这提供了基础安全缓解措施,帮助SMM抵御恶意软件的攻击,并防止机密从OS(包括VBS)
- 设备符合固件保护版本2:除了固件保护版本1外,版本2可确保SMM无法禁用基于虚拟化的安全(VBS)和内核DMA保护
- 你的设备满足固件保护版本3:除了固件保护版本2外,它还阻止访问某些能够破坏OS(包括VBS)
Microsoft易受攻击的驱动程序阻止列表
驱动程序是软件,可以让操作系统(本例中为Windows)和设备(例如键盘或网络摄像机)相互通信。当设备希望Windows执行某些操作时,它会使用驱动程序发送该请求。正因为如此,驱动程序在系统中有很多敏感访问权限。
从Windows 11 2022更新开始,提供阻止列表,其具有已知安全漏洞、已使用用于签名恶意软件的证书进行签名或规避Windows安全模型的驱动程序。
如果打开了内存完整性、智能应用程序控制或Windows S模式,则易受攻击的驱动程序阻止列表也将打开。