Tbsi_Revoke_Attestation 函数 (tbs.h)
如果 ELAM 驱动程序检测到 rootkit (策略冲突(例如) ),则使 PCR 失效。
语法
TBS_RESULT Tbsi_Revoke_Attestation();
返回值
返回代码/值 | 说明 |
---|---|
|
函数成功。 |
|
出现内部软件错误。
注意 如果返回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 |