Skip to content
目录

09 — 沙箱与安全模型

Chrome 安全模型的基本假设是:Renderer 可能会被恶意网页攻破,所以必须限制它能做什么

沙箱解决什么

Renderer 进程需要解析 HTML、CSS、图片、字体、执行 JS,攻击面很大。沙箱的目标是:即使 Renderer 被攻破,也不能随意读文件、访问系统资源或直接控制 OS 能力。

Broker / Target

沙箱常见模型是:

  • Browser 进程 = broker:权限更高,负责策略判断和代执行敏感操作。
  • Renderer 进程 = target:权限低,只能在沙箱允许的范围内运行。

当 Renderer 需要敏感能力时,通常要经过 broker 判断,而不是直接访问系统资源。

设计原则

  • 最小权限。
  • 假设沙箱内代码可能是恶意的。
  • 依赖操作系统安全机制,而不是自己发明一套安全边界。
  • 正常路径尽量低开销。

和 Site Isolation 的区别

  • 沙箱限制“被攻破后能做什么”。
  • Site Isolation 限制“同一进程里有哪些站点数据”。

二者叠加,构成 Chrome 的纵深防御。

总结

Chrome 把 Renderer 放进低权限沙箱,由 Browser 进程作为 broker 控制敏感能力。沙箱不保证没有漏洞,但能显著降低 Renderer 漏洞的破坏范围。

MIT License.