我正在使用 GNOME-Boxes 在 Fedora 35 主机内运行 Fedora 35 来宾。如果我使用 --privileged 标志(以及其他标志)运行 docker 容器,它可能造成的最大危害是什么?
我读到恶意 Docker 确实可以利用裸机系统,因此我认为它可以访问比来宾计算机中应有的内容更多的内容。但楼主呢?
答案1
如果我使用 --privileged 标志(以及其他标志)运行 docker 容器,它可能造成的最大危害是什么?
--privileged
表示容器以 root 身份运行。这意味着容器可以做它想做的一切——容器中的根用户是整个系统的根用户。它可以安装devfs
在任何地方,覆盖您的 SSD。它可以读取所有 RAM、安装 nvidia 驱动程序、下载 Deepfake 色情内容,等等。
然而,这只是容器里面你的虚拟机,如果我正确理解你的问题的话。虚拟机边界实际上是边界(不仅仅是选择性命名空间的边界)特征你的内核),所以这更难克服。最终,这取决于您与房东分享的内容。但是,例如,如果您的主机和 VM 共享 CPU 核心(它们可能会这样做!)并因此共享内存缓存,则主机很容易受到 VM 内部 SPECTRE 式攻击(巧合的是,这可能是即使来自小型 x86_64 VM 的主要原因)超大规模处理器为您提供两个核心:这是最小的硬件单元(除此之外,缓存不共享)。 Rowhammer 仍然可以工作,即使被锤击的页面更有可能在客户端内;当然,如果您共享 GPU 内存(通过 3D 加速来宾),那就打破了一些墙壁。 (GPU 及其驱动程序在这方面尤其令人讨厌。有些游戏机正是通过这种机制越狱的 - 加速来宾能够通过 GPU 的 DMA 引擎规避内存分段。)
但最终,所有这些都不太可能被有效利用。请注意,我从头到尾只认识到硬件错误是虚拟机隔离的破坏者!所以,你很安全。