查看: 5017|回复: 17
收起左侧

[新手上路] 无法开启System Guard,是否有解

[复制链接]
潘基蚊
发表于 2021-9-29 11:38:40 | 显示全部楼层 |阅读模式

AMD处理器,因为没有内核DMA保护,无法开启System Guard。请问是BIOS原因还是什么?是否有解?

LOG信息如下:

System Guard 已启用但不受支持。原因: The system does not support DMA remapping in the DMAR table.
喀反
发表于 2021-9-29 17:31:12 | 显示全部楼层
好像得BIOS支持SMM保护和TPM2.0才行
潘基蚊
 楼主| 发表于 2021-9-29 19:36:34 | 显示全部楼层
喀反 发表于 2021-9-29 17:31
好像得BIOS支持SMM保护和TPM2.0才行

有TPM 2.0,但SMM保护是否对系统(BIOS)要求过高?似乎只有Security-Core PC才普遍得到支持?
dongbingtuo
发表于 2021-9-29 20:20:04 | 显示全部楼层
这是个啥,我的WD里只有个内核隔离 内存完整性,没有这个
潘基蚊
 楼主| 发表于 2021-9-29 22:53:07 | 显示全部楼层
dongbingtuo 发表于 2021-9-29 20:20
这是个啥,我的WD里只有个内核隔离 内存完整性,没有这个

固件保护,如果系统不支持,则不会显示
潘基蚊
 楼主| 发表于 2021-9-29 22:57:32 | 显示全部楼层
我看到一个说法,说AMD系统都不能开启固件保护:

https://www.techpowerup.com/forums/threads/windows-10-smm-mitigations-firmware-protection-missing-for-ryzen-3000.269492/

按照上面的说法,固件保护是针对intel 8代以后和部分arm的:
this feature is only available on Windows 10 Enterprise running on 8th gen Intel vPro systems and later and some ARM systems. Not AMD.


同时,我也查询到本机的SMM 缓解 是有效的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
潘基蚊
 楼主| 发表于 2021-9-29 23:42:58 | 显示全部楼层
喀反 发表于 2021-9-29 17:31
好像得BIOS支持SMM保护和TPM2.0才行

有种说法是SG仅仅是针对Intel和部分ARM的,我看微软的官方文档好像也是这个意思:

https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-system-guard/system-guard-secure-launch-and-smm-protection#feedback

AMD被官方单独提出来,并不在SG的目标对象里,AMD对SMM保护好像有点不同,通过独立的处理器,已经隔绝了SMM对内存的不正当访问。

好像是这个意思,不对的话欢迎交流
潘基蚊
 楼主| 发表于 2021-9-30 06:20:25 | 显示全部楼层
下面的说法是否可以说明AMD实现了硬件级的SMM保护?

  1. 除此之外,必须被保护的就是系统管理模式(System Management Mode,SMM)。SMM是一种特殊的x86 CPU模式,主要处理底层任务,包括电源管理、硬件配置和热量监视。当其中一项被请求的时候,SMI会中断调用并执行BIOS安装的SMM代码。此代码在最高权限级别执行,这使得操作系统无法更改,并拥有跨管理程序内存屏障的访问权限。

  2. 而SMI处理程序通常由主板制造商提供,而不是操作系统制造商或CPU制造商。由于处理程序运行在非常高的特权级别,所以这对攻击者来讲是一个极有吸引力的目标。为了最小化这个攻击面,AMD使用了一个特殊的安全模块,叫做SMM管理器。SMM监控程序在SMI中断后立即执行,然后将控制权转移到SMM代码本身,并防止SMM执行其他工作,例如修改虚拟机监视器或OS内存,引入新的SMM代码,或访问任何DMA、I / O以及可能干扰危害虚拟机监视器或操作系统的寄存器。
复制代码
潘基蚊
 楼主| 发表于 2021-9-30 06:51:27 | 显示全部楼层
本帖最后由 潘基蚊 于 2021-9-30 06:54 编辑

Intel 对SMM保护的做法:

  1. 在英特尔® vPro ® 平台上,英特尔® “硬件盾” 组件提供安全核心 PC 操作系统使用的信息,通过 VMX 根 VMCALL 指令评估所有逻辑处理器中的 SMM 访问策略合规性。在 DRTM 发布期间,所有相关的英特尔®硬件防护组件和 SMM 访问策略都受 PCR[17] 约束,以方便加密验证该功能和相关 SMM 策略,而不会受到 SMM 或平台设备的干扰。SMM 策略使用 SMM 内部的硬件增强和特权级别分离组合执行。SMI 处理器设计具有签名的 CPL0 SMM 组件,该组件在更高的信任级别运行,并在 DRTM 启动过程中进行加密验证。大多数 SMI 处理程序以较低的特权 (CPL3) 运行。此外,英特尔硬件还提供功能,以限制甚至 SMM CPL0 环境。
复制代码



AMD对SMM保护的做法:
  1. AMD的 SMM 保护组件还利用在较高处理器特权级别 (CPL0) 运行的 SMM 主管在较低处理器特权级别 (CPL3) 执行 SMI 处理器逻辑,以隔离和保护资源免受 SMI 处理器访问,甚至自身免受篡改。故障处理程序用于保护 IO 端口和 MSR,并强制执行 CR3 锁定以保护内存和 MMIO 组件。SMM 主管在 SKINIT 发布期间以加密方式签名和认证,并测量为 PCR[17]。原始设备制造商通过在适用于安全核心 PC 的操作系统图像中包含必要的软件包,包括支持 SKINIT 和 AMD 的 SMM 保护。
复制代码


看起来AMD从硬件上实现了对SMM的保护咯?



另外,回到启用SG问题。从官方查到要启用SG的条件:
  1. 1、英特尔、AMD 或 ARM 虚拟化扩展
  2. 受信任平台模块 (TPM) 2.0
  3. 2、在英特尔上:BIOS 中的 TXT 支持和 SINIT ACM 驱动程序包必须包含在 Windows 系统图像中
  4. 3、在AMD上: SKINIT 包必须集成在 Windows 系统图像中
  5. 4、在高通:实现 DRTM 信任区应用程序,并支持 SMC 内存保护。
  6. 5、内核 DMA 保护(也称为内存访问保护)
复制代码



我目前无法启用SG,感觉是卡在了 内核DMA保护 上(看日志得出)。

那么这个 内核DMA保护 ,是需要主板的BIOS支持的是吧,有些开发商实现了支持DMA保护的BIOS,那么SG就能成功开启,否则不行?

有这个问题主要是有两个官方资料说的有点差别,一个说SG开启,BIOS里要实现许多变量或特性;另一个只是笼统地说要有DMA保护支持,并不知道是否在BIOS里实现了那些变量、特性后,等同于实现了 内核DMA保护

我估计是否只有Security-Core PC,才能完整打开WD的所有硬件保护措施?
潘基蚊
 楼主| 发表于 2021-9-30 07:43:19 | 显示全部楼层
本帖最后由 潘基蚊 于 2021-9-30 07:49 编辑

上一个Security-Core PC的宣传图,果然Security-Core PC实现了全套安全性

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-24 06:20 , Processed in 0.152789 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表