前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研究人员攻破 AMD 的虚拟机加密防线 !

研究人员攻破 AMD 的虚拟机加密防线 !

作者头像
C4rpeDime
发布2018-08-28 14:32:20
7000
发布2018-08-28 14:32:20
举报
文章被收录于专栏:黑白安全黑白安全
研究人员攻破 AMD 的虚拟机加密防线 ! 研究人员攻破 AMD 的虚拟机加密防线 ! 国际动态
研究人员攻破 AMD 的虚拟机加密防线 ! 研究人员攻破 AMD 的虚拟机加密防线 ! 国际动态

研究报告称,中招的虚拟机管理程序会从加密的内存中获取明文信息。

德国研究人员认为,他们已设计出一种方法,可攻破AMD的Epyc服务器芯片用来自动加密内存中虚拟机的安全机制。

他们表示,甚至可以通过被劫持的虚拟机管理程序和简单的HTTP请求,就能从加密的访客系统(guest)获取明文数据,这些HTTP请求发往在同一台机器上的第二个访客系统中运行的Web服务器。

AMD的Epyc数据中心处理器以及RyzenPro系列支持所谓的安全加密虚拟化(SEV)。该技术在数据存储于内存中时可实时解密和加密虚拟机,那样主机操作系统、虚拟机管理程序和主机上的任何恶意软件都无法窥视受保护的虚拟机。每个虚拟机都分配有一个地址空间ID,该ID与加密密钥关联起来,那样数据在内存和CPU核心之间传送时,加密密钥可以加密和解密数据。密钥永远不离开片上系统,每个虚拟机都有自己的密钥。

这意味着,从理论上来说,连恶意或被劫持的虚拟机管理程序、内核、驱动程序或其他特权代码都无法查看受保护虚拟机里面的内容,这对于多租户模式的云平台来说是一项很好的安全功能。现在你可以确信该死的操作人员(BOFH)没在窥视你的访客实例。

然而据称,为非作歹的主机级管理员、虚拟机管理程序里面的恶意软件或类似的威胁分子可以使用一种名为SEVered的技术,绕过SEV保护机制,将信息从客户或用户的虚拟机中拷贝出来。

弗劳恩霍夫应用集成信息安全研究所(Fraunhofer AISEC)的几位研究人员马修斯•莫比策(MathiasMorbitzer)、曼纽尔•休伯(Manuel Huber)、朱利安•霍施(JulianHorsch)和萨莎•韦塞尔(Sascha Wessel)表示,问题在于,进入主机层面的不法分子可以使用标准页表来篡改访客系统的物理内存映射,那样SEV机制就无法正确地隔离和加密内存中虚拟机的部分内容。下面是该研究团队概述攻击的内容:

借助SEVered,我们演示了恶意的HV[虚拟机管理程序]仍然可以从SEV加密的VM[虚拟机]获取明文格式的所有内存数据。我们从SEV得出了结论,主内存的页加密缺乏完整性保护。

虽然虚拟机的访客虚拟地址(GVA)到访客物理地址(GPA)的转换由虚拟机本身来控制,并对HV来说不透明,但HV仍然负责第二级地址转换(SLAT),这意味着它维护主内存中虚拟机的GPA到主机物理地址(HPA)映射。这使我们能够改变HV中虚拟机的内存布局。我们使用这种功能来诱骗虚拟机中的服务,比如Web服务器,那样一旦外部发出资源请求,该服务就会以明文格式返回虚拟机的任意页。

这不是研究人员头一回发现SEV严加保护虚拟机的功能存在缺陷了:以前的研究已经分析了黑客如何可以钻内存管理系统的空子,窥视加密的访客系统。弗劳恩霍夫应用集成信息安全研究所在本周四发表的研究报告在此基础上更进了一步,它表明:的确,就算SEV处于启用状态,虚拟机的全部内存内容也可能被虚拟机管理程序获取。

为了表明这个,研究人员搭建了一个测试系统,该系统搭载启用SEV的AMDEpyc 7251处理器,并安装了Debian GNU/ Linux,在单独的虚拟机中运行两项服务:Apache Web服务器和OpenSSH。然后,他们修改了系统的KVM虚拟机管理程序,观察访客中的软件何时访问物理内存。

通过向其中一项服务发出大量请求,比如从Apache获取HTML网页,虚拟机管理程序就能看到物理内存的哪些页用于保存该文件。然后它切换页面映射,以便Apache使用另一个虚拟机中的加密页来发送请求的网页,因而改而发送另一个虚拟机的自动解密的内存页。

这意味着Apache泄漏了来自另一个访客的数据。随着时间的推移,该团队能够从一个受攻击的虚拟机获取整整2GB内存的数据。

研究人员写道:“我们的评估显示,SEVered实际上切实可行,它可以用来在合理的时间内从SEV保护的虚拟机获取整个内存数据。结果明确表明,SEVered妥善处理好了关键方面,比如识别过程中的噪音和资源粘性(resource stickiness)。”

无法联系上AMD的发言人请其发表评论。研究团队特别指出,不过这家芯片制造商可采取几个措施,隔离主机和访客物理地址过程之间的转换,从而应对研究中描述的攻击。

他们解释道:“最好的解决办法似乎是除了加密外,另外针对访客内存页提供功能完备的完整性和新鲜度保护,英特尔SGX就是这么做的。然而,相比SGXenclave,保护整个虚拟机可能面临高昂的硅片成本。”

“一种低成本且高效的解决办法也许是将内存页内容的哈希与分配给访客的GPA安全地结合起来。”

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-272,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档