Tbsi_Revoke_Attestation 函数 (tbs.h)

如果 ELAM 驱动程序检测到 rootkit (策略冲突(例如) ),则使 PCR 失效。

语法

TBS_RESULT Tbsi_Revoke_Attestation();

返回值

返回代码/值 说明
TBS_SUCCESS
0 (0x0)
函数成功。
TBS_E_INTERNAL_ERROR
2150121473 (0x80284001)
出现内部软件错误。
注意 如果返回TBS_E_INTERNAL_ERROR,则系统事件日志可能包含来自 TBS 事件源的事件 ID 16385,错误代码0x80070032。 这可能表示硬件平台未向操作系统提供 TCG 事件日志。 有时,可以通过从平台制造商安装 BIOS 升级来解决此问题。
 

注解

可从内核模式调用此函数。

必须使用管理权限运行此函数。 此函数通过未指定的值扩展 PCR[12],并在 TPM 中递增事件计数器。 这两个操作都是必需的,因此,在从此处向前创建的所有引号中,信任都会断开。 由于 PCR 在休眠时重置,并且扩展到 PCR[12],然后会消失,事件计数器中的间隙将指示日志链断开。

因此,WBCL 文件在 TPM 启动后的剩余时间内不会反映 TPM 的当前状态,并且远程系统将无法在系统的安全状态中形成信任。 请注意,反恶意软件系统可能会执行其他修正或警报,但如果支持证明,则失效步骤至关重要。

当计算机进入休眠状态并随后恢复时,以前的 PCR 范围将丢失,断开的信任将不再反映在 PCR 测量中。 为了解决此问题, Tbsi_Revoke_Attestation 函数还会递增位于 TPM 中的单调事件计数器。 进一步的 TPM 证明验证将注意到存档的 WBCL 日志的启动计数器值有差距。 发现此类差距后,证明验证代码应无法通过验证,就像日志中不存在其他必需事件时一样。 请注意,TPM 中的计数器无法回滚,无法在事后构造缺少的 WBCL。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 tbs.h
Library Tbs.lib
DLL Tbs.dll