我知道很多虚拟化types/解决scheme存在,并可能有不同的弱点。 不过,我主要是在寻找关于虚拟化技术的一般安全问题,而不是一个特定的供应商错误。
请提供真实的事实,(严肃的)研究,有经验的问题或技术解释。 请明确点。 不要(只)发表你的意见。
两年前,我听说可能存在与MMU相关的安全问题(我认为是访问其他机器的主内存),但我不知道这是目前的实际威胁,还是只是一个理论研究学科。
编辑:我也发现这个“刷新+重新加载”攻击能够通过利用L3 CPUcaching,即使GnuPG在另一个虚拟机上运行,在同一台物理机器上检索GnuPG密钥。 GnuPG已经修补。
当然有可能利用在同一硬件上运行的另一个虚拟机,给出一个工作的利用。 另外,可以存在。 你的问题引用了一些最近的工作。 我不打算在这里分享任何具体的漏洞利用或PoC,但我会很乐意地说,他们是如何做到的。
在这个上下文中使用的漏洞与当你在同一台机器上运行,而你尝试利用服务的漏洞有着天然的区别,而且由于隔离度的增加,漏洞往往会变得更加困难。 但是,可以用来实现这种利用的一些一般方法包括:
随着时间的推移,特定的攻击将会出现并被打上补丁,因此将某种特定的机制分类为可利用的,只能在实验室条件下被利用,或者是无法被利用的,是不可行的。 正如你所看到的那样,攻击往往涉及到困难,但在特定时间哪些是可行的,是一个变化很快的事情,你需要做好准备。
也就是说,我上面提到的vector(在某些情况下可能是最后一个例外)根本不存在于裸机环境中。 所以,是的,鉴于安全是为了防止你不知道的漏洞,而且这些漏洞并非公开披露的漏洞,你可以通过运行裸机或者以至less在虚拟机pipe理程序没有托pipe所有和各种虚拟机的环境中。
一般而言,安全应用程序编程的有效策略是假devise算机上运行的其他进程可能受到攻击者控制或恶意攻击,并使用漏洞感知编程技术,即使您认为自己不保证此类进程存在于您的虚拟机中。 但是,特别是前两个类别,请记住先触摸硬件的人先胜出。
理论上,没有。 虚拟机pipe理程序的重点在于将虚拟机彼此隔离。
在实践中,各种虚拟机pipe理程序中都存在(也可能是将来)安全漏洞,这可能会允许一个虚拟机影响同一主机上的虚拟机pipe理程序或其他虚拟机。 诸如sVirt (用于KVM / QEMU)的安全措施旨在解决这个问题。
编辑:我认为这个话题是在几个月前完成的,但是它刚刚复活,现在OP要求更多“真实的事实,引用的研究报告”等等,所以我想到了什么。
这种性质的利用是:
我们不能说破解虚拟机pipe理程序并访问其他虚拟机是不可能的。 我们也不能量化那里有多less风险,除非这个经验告诉我们这个风险很低,因为你不会发现许多利用pipe理程序漏洞的攻击事件。
这里有一个相反的有趣的文章 ,表明已经进行了一些以hypervisor为基础的攻击。
然而,现在比以往任何时候更依赖于虚拟机pipe理程序的技术,比起其他任何types的漏洞,这些漏洞都会被修补和防范得更加紧迫。
以下是IBM X-Force 2010年中趋势和风险报告摘录:
(请在新标签页中打开此图片以全尺寸查看。)
注意“转义pipe理程序”漏洞的测量百分比,这听起来很可怕。 当然,你需要阅读报告的其余部分,因为有更多的数据用于备份索赔。
这是一个关于Playstation 3虚拟机pipe理程序可能被利用的故事,这很有趣。 也许不会影响你的业务,除非你的业务是索尼,在这种情况下,这是非常有影响力的。
这里有一篇来自VMware的Eric Horschman的精彩文章,他对我来说听起来像是一个十几岁的小孩,但是它仍然是一篇很好的文章。 在这篇文章中,你会发现这样的花絮:
微软玻璃屋的居民还有另外一些石头可以折腾我们。 微软指出,CVE-2009-1244是ESX和ESXi中的客户漏洞漏洞的一个例子。 嘉宾突破性的利用是严肃的事情,但微软再一次歪曲事实。 VMware迅速做出了回应,为我们的产品中的漏洞进行了修补,而且ESX受到的影响远远小于Microsoft会让您相信:
在竞争者之间Qu </s>。 但是他可能在整篇文章中说的最清晰的是:
事实是,任何企业软件的漏洞和漏洞都不会完全消失。
OpenBSD项目的Theo de Raddt :
如果您认为全球范围内不能编写操作系统或应用程序而没有安全漏洞的软件工程师,他们可能会转身,突然编写没有安全漏洞的虚拟化层,如果不是愚蠢的话,您绝对会被迷惑。
有点煽动性,但他的观点很好。 理论上讲,虚拟化应该提供虚拟机与主机之间的完全隔离。 在实践中,偶尔存在一些安全漏洞,使得高级攻击者可以绕过这些防护措施,进入其他虚拟机,甚至更糟的是他们的主机(见“对敌对虚拟化环境主机的安全暴露的实证研究” )。 Ryan Ries提到这类漏洞是非常罕见的(这并不意味着它们不存在),并且通常不会被供应商透露,但它们确实存在。
如果您担心这种攻击的可能性(我认为在某种程度上应该是这样),我build议您不要在单个虚拟主机或虚拟主机群集上混用安全区域。 例如,您将拥有DMZ虚拟机专用的两个主机虚拟主机群集,一个专用于中间件的群集和一个专用于受保护资产的群集。 通过这种方式,如果攻击者利用这种方式来攻击其他虚拟机,或者pipe理程序本身更糟糕,那么您的安全模型仍然完好无损。