区分对虚拟机的远程访问与对硬件的远程访问有多难?

信息安全 虚拟化
2021-08-26 10:41:29

假设我可以完全访问远程机器(特别是root在 a 上Linux)。检查这是真正的硬件还是虚拟机的最佳方法是什么?

我见过的大多数方法都依赖于使用诸如lshw. 在我看来,这些方法很容易受到某种中间人攻击。

提前感谢您的参考或任何其他信息。

1个回答

这取决于。如果它试图隐藏它是一个虚拟机,它可能很难。例如,用于分析恶意软件的虚拟机就是这种情况。

赛门铁克的这篇论文详细介绍了一些内容。简而言之,即使 VM 试图隐藏它,通常也可以通过运行指令将 CPU 置于特定状态,然后运行一些指令强制 hypervizor 执行,并检查虚拟机的状态来检测它。之后的CPU。

定时攻击也可以检测到 hypervizor,但如果您没有基线,可能会很困难。

例如,来自 Azure 的库存虚拟机不会试图隐藏它是一个虚拟机,而且很明显它是一个虚拟机,正如你所说的那样,从描述符中。