跳转至正文

SMAP

架构参考Feex

亦称 OS Guard (SMAP)

SMAP(Supervisor-Mode Access Prevention,管理模式访问防范)限制管理员对用户可访问页面的数据访问,除非体系结构的覆盖条件适用。它与 SMEP(通常冠以 Intel OS Guard 品牌)截然不同。

您需要了解的内容

SMAP(Supervisor-Mode Access Prevention,管理模式访问防范)限制管理员对用户可访问页面的数据访问,除非体系结构的覆盖条件适用。它与 SMEP(通常冠以 Intel OS Guard 品牌)截然不同。

工作原理

操作系统可以启用 SMAP,以便非预期的特权数据访问用户映射时触发错误。在体系结构规则下,有意复制用户数据的内核例程使用严格受控的访问窗口。执行权限是由诸如 SMEP 和 NX 等机制处理的单独事项。

适用场景

接收用户指针的内核例程必须使用其操作系统建立的用户复制设施对其进行验证和访问。SMAP 是围绕此类访问的一道防御边界,而不是长度检查、生命周期处理或正确特权决策的替代品。

如何检查支持与启用状态

CPUID.07H.00H:EBX 第 20 位枚举 SMAP,而 CR4.SMAP 控制启用。SMEP 使用不同的位。请查看操作系统文档和状态接口;切勿将禁用该保护作为通用的应用程序排错步骤。

功能、启用状态与强制执行情况必须分别进行检查。处理器可以支持某项保护,但操作系统、应用程序或虚拟机策略可能并未激活它。数据库中的支持字段并非对运行中系统的证明。

该特性未确立的内容

引入的标签 OS Guard (SMAP) 不应被视为 SMEP 和 SMAP 相同或两者都已启用的证据。处理器功能并不确立特定内核、客户机或驱动程序的保护状态。

实践中的兼容性与性能

保持操作系统、固件和相关运行时为最新版本。如果某项保护暴露了兼容性问题,请首先使用厂商诊断工具和受支持的更新。宽泛的保护开关可能会影响无关的应用程序,应遵循明确的部署和恢复策略。

实用验证核对清单

  1. 记录所涉及的具体处理器或平台型号,以及应用程序、操作系统和运行时的版本。保留实际错误或要求的原始措辞。
  2. 查阅该具体型号的制造商参考资料,然后检查程序运行环境中生效的功能与启用状态。
  3. 逐项比对所选二进制文件或后端的每项要求。仅凭名称相似的特性、别名或宽泛的技术标签是不够的。
  4. 确认应用程序选择了预期的实现。在不满足要求时,使用其文档中记录的诊断工具和受支持的回退方案。
  5. 每次只进行一项受支持的更改并重复相同的负载测试。保留原始配置和恢复路径以便随时使用。

若特性已列出但软件无法使用

首先排查出现故障的具体组件。硬件数据库描述的是记录在案的功能;操作系统或虚拟机监控程序可能会呈现不同的生效环境。非法指令错误同样需要调查实际发生故障的指令和二进制构建版本,因为数据损坏或不相关的未受支持指令也可能产生类似症状。

安装适用于该特定平台的受支持应用程序、驱动程序或运行时版本,并在需要时使用厂商文档记录的基线或回退构建版本。软件更新无法凭空创造处理器缺失的指令。固件和安全策略的更改应遵循系统制造商的规程和恢复计划,而非通用的优化方案。

本说明的来源与适用范围

Intel 64 和 IA-32 架构软件开发人员手册 · 与瞬态执行攻击相关的 Intel 安全特性

这些参考资料确立了架构行为和软件要求。它们并不独立验证关联硬件型号页面上的每个特性值。如需了解型号支持情况,请使用该页面的制造商证据并检查实际生效的系统配置。本文不提供基准测试、认证或独立审查日期。

来源与验证

编辑归属:Feex。未记录独立审核日期。 我们的研究方式.

这篇文章有用吗?

回答"是"或"否"即可。如果您愿意,可以选择一个原因,或添加一段简短附言。

这篇文章有用吗?