Skip to content
目录

04 — Site Isolation 与 SiteInstance

Site Isolation 是 Chrome 安全模型里的高频考点。它的核心是:尽量让不同站点的页面运行在不同 Renderer 进程中

Site Isolation 解决什么

同源策略主要是浏览器规则,但如果多个站点共享同一个 Renderer 进程,一旦 Renderer 被漏洞攻破,攻击者可能读取同进程内其他站点的数据。

Site Isolation 把站点边界和进程边界尽量对齐,降低 Spectre 类侧信道和 Renderer 漏洞的影响范围。

SiteInstance

SiteInstance 表示一组应该共享同一 Renderer 进程的文档或 worker。

常见理解:

  • 默认站点粒度通常是 scheme + eTLD+1,不是完整 origin。
  • 同站页面更可能复用进程。
  • 跨站导航或跨站 iframe 可能切换到新的 SiteInstance
  • 跨进程 iframe 就是 OOPIF。

为什么不是每个 origin 一个进程

每 origin 一个进程隔离更细,但成本太高,也会碰到历史兼容问题,例如 document.domain。所以 Chrome 默认更多按 site 隔离,再通过策略、header 或特殊 URL 做更细调整。

Site Isolation 和沙箱的关系

二者解决的问题不同:

  • 沙箱:限制 Renderer 被攻破后能调用哪些系统能力。
  • Site Isolation:限制 Renderer 进程里本来就有哪些站点数据。

总结

Site Isolation 是把“站点隔离”落到进程边界上。它不能防止 XSS 本身,但能降低 Renderer 漏洞或侧信道攻击后读取其他站点数据的风险。

MIT License.