从加密虚拟机中提取密钥
密码学与安全
2019-01-08 v1
摘要
AMD SEV 是多租户系统上用于主存加密的硬件扩展。SEV 使用片上协处理器 AMD 安全处理器,以各自临时的、从不离开协处理器的密钥透明地加密虚拟机内存。其目标是保护租户内存的机密性免受恶意或受损虚拟机监控程序以及内存攻击(例如通过冷启动或 DMA)。SEVered 攻击已表明,虚拟机监控程序仍可在无加密密钥访问的情况下从 SEV 加密虚拟机中以明文提取内存。然而,加密阻碍了传统虚拟机自省技术在提取前于内存中定位密钥,这可能需提取大量内存以获取特定密钥,从而导致耗时且明显的攻击。我们提出一种方法,允许恶意虚拟机监控程序在当前 SEV 硬件上从加密虚拟机中快速识别并窃取密钥,如 TLS、SSH 或 FDE 密钥。我们首先从虚拟机监控程序内部观察虚拟机活动以推断最可能包含密钥的内存区域。然后,我们系统性提取这些内存区域并实时分析其内容。这实现了针对性密钥的高效检索,极大增加了快速、稳健且隐蔽窃取的可能性。
引用
@article{arxiv.1901.01759,
title = {Extracting Secrets from Encrypted Virtual Machines},
author = {Mathias Morbitzer and Manuel Huber and Julian Horsch},
journal= {arXiv preprint arXiv:1901.01759},
year = {2019}
}
备注
Accepted for publication at CODASPY 2019