摘要。在许多实际情况下,能够推断特定的软件版本或加密库的变化对于安装有针对性的利用至关重要。为此,传统版本检测方法通常依赖于对程序的直接检查。但是,现代计算平台经常对代码采用保护,例如使用仅执行的内存(XOM)或受信任的执行环境(TEE)来保护敏感代码免于披露和逆向工程。本文展示了通过CPU端口争议的侧通道测量如何揭示出独特的执行签名,即使代码不可访问进行检查。我们的概念验证实现PortPrint标识了加密功能,揭示了库版本,甚至不涵盖WolfSSL构建是否容易受到CVE-2024-1544的影响,或者是否在Xen中活跃了幽灵缓解。我们验证尽管最先进的代码保护机制,例如内存保护键,基于管理机能的XOM,Intel SGX,Intel TDX和AMD SEV,我们还可以验证Portprint。我们还报告了使用崩溃和预示泄露这些技术保护的代码的负面结果,从而提供了对这些攻击局限性的有价值的见解。我们的结果表明,基于硬件的隔离不足以掩盖指导流。
主要关键词