为什么基于软件的 TPM 攻击如此罕见? TPM 如何防范它们?

问题描述

我正在努力通过 WMI 在主机上获取唯一的硬件指纹。 但是,我发现这种方法非常脆弱。

至少有两个攻击向量:

最终,我将 TPM 技术作为硬件识别解决方案进行了调查。 令我惊讶的是,基于软件的 TPM 攻击是如此罕见。

我的问题是

  • 为什么 TPM 可以防御基于软件的攻击,例如 dll 挂钩和内存操作?

解决方法

TPM 中有一些功能(至少在 2.0 中)有助于防止此类攻击。

  • 您可以使用证明来检查密钥是否受 tpm 保护。
  • 您可以使用基于会话的加密/解密来保护您的应用程序和 TPM 之间的至少一些数据。

但是如果攻击者可以执行您列出的任何攻击,他必须设法获得系统的管理员或 root 权限,因此可以执行其他攻击来窃取您的数据。