Chrome 操作系统的“沙盒”是什么意思?

信息安全 操作系统 铬合金 沙盒
2021-09-01 04:01:40

我在安全部分阅读了有关 Chrome OS 的信息,我想知道他们一直提到的“沙盒”的含义是什么。这个沙盒是像 Selinux 还是 Apparmor ?

2个回答
  • Google Chrome OS是一个基于 Linux 的操作系统,其中 Chrome 是浏览器,专注于使用属于 Google 的在线应用程序(Google Drive、Youtube ...)。它是微软Windows操作系统的直接竞争者。
  • Centos OS也是基于 Linux 的操作系统,但与在手机上运行的 Chrome OS 不同,Centos OS 广泛用于服务器。
  • 沙盒是您在 Chrome OS 中经常看到的一个概念,因为它是依赖沙盒机制的免费开源项目 Chromium OS 的商业版本。简单来说,沙盒与安全有关,尤其是为了防止恶意软件对操作系统的影响。例如,您可以使用 Chromium OS 的浏览器访问网站:如果 URL 包含 JavaScript 恶意软件(驱动下载攻击),那么考虑到沙盒概念的原理,该恶意软件没有机会影响您的操作系统,这可以更好地解释这里

沙盒是一个 C++ 库,它允许创建沙盒进程——在非常严格的环境中执行的进程。沙盒进程可以自由使用的唯一资源是 CPU 周期和内存。例如,沙盒进程无法写入磁盘或显示自己的窗口。他们究竟能做什么是由明确的政策控制的。Chromium 渲染器是沙盒进程。

AppArmor 和 Selinux 与沙盒概念具有相同的目标,但它们的功能原理不同。与其他 2 个 Linux 软件不同,沙盒主要不允许其安全边界被破坏。

沙盒就像您计算机的一个特殊“部分”,已被阻止访问您计算机的其余部分。在一个完美的沙盒中,您可以在其中做任何您想做的事情,但它不会影响您计算机的其余部分。这用作一种安全形式,可防止您下载的任何恶意软件影响计算机的其余部分。它只能影响沙盒。

“沙盒”这个名字来源于它里面的所有东西都不是永久的。在任何时候,您都可以将沙箱重置回原来的位置。一切都是用沙子建造的。

ChromeOS 所做的是将沙盒应用到它运行的每个应用程序和插件进程。每个进程都被放入两个不同的沙箱中。第一个沙箱是 SETUID 沙箱,它为每个应用程序在磁盘上提供了一个它不能离开的位置。磁盘的其余部分不会受到影响。第二个沙箱称为 seccomp-bpf,它可以保护操作系统本身不被弄乱。

Selinux 和 AppArmor 与 SETUID 最相似,因为它们主要保护磁盘而不是操作系统本身。但是,它们不能使用沙盒原理工作。相反,他们试图捕捉“正在发生的”做错事的过程,并阻止它发挥作用。

至于 ChromeOS 与 CentOS,它们只是非常不同的东西。CentOS 只是一个传统的 Linux 操作系统,基于 RedHat。它是一个完整的操作系统,可用于多种用途。另一方面,ChromeOS 是经过修改的 Linux 操作系统,专为消费者和低功耗笔记本电脑设计。它使用基于 Internet 的计算模型,所有应用程序都在 Web 浏览器上运行。

ChromeOS 开箱即用可能比 CentOS 更安全,但它的功能也受到更多限制。如果需要,您可以将 CentOS 配置为使用与 ChromeOS 相同的保护。或者您可以采用其他安全措施,有些更好,有些更差。