什么是 VirtualBox 强化?

What is VirtualBox Hardening?

我们使用 Oracle VirtualBox OSE 作为我们自定义虚拟化基础架构的一部分,并且 compile 它在我们的 CI 服务器上。您可以添加到自定义配置文件 LocalConfig.kmk 中的众多编译参数之一是 VBOX_WITH_HARDENING = 0,这显然意味着编译 VirtualBox 而无需强化。还有,你自己编译的话,是打不开的。

我在官方构建说明中找不到 "low-level" 上 "hardening" 中的内容,据我所知这是一些安全补丁,增加了对来宾 OS-es 的保护反对攻击。然而,它仍然留下了很多问题。它在物理上是什么,一个驱动程序,一个补丁,一个应用程序?为什么开源产品 VirtualBox OSE 中不包含加固源?我的意思是,来自 Sun Microsystems 的开源许可证怎么可能?主要问题是,是否可以通过强化来编译 VirtualBox OSE?

我明白了。 VirtualBox Hardening 可以对已编译的应用程序进行额外检查。例如,您必须在构建期间指定您构建的应用程序在文件系统中的确切位置及其确切名称。如果应用不符合构建过程中定义的要求,则应用不会 运行。这就是为什么您不能重新定位 VirtualBox.app,这包括重命名它! "VirtualBox-5.2.18.app" 不会 运行,"VirtualBox.app" 会。

另一件事是您不能从其构建输出位置(DebugRelease 目录)运行 VirtualBox。如果您正在构建强化版本,您会看到 "Hardening error"