站點隔離

站點隔離（site isolation）是存在於某些網路瀏覽器中的安全功能，能夠讓跨源網站彼此隔離。這一功能最初由查爾斯·賴斯（Charles Reis）等人提出，隨後微軟在其Gazelle研究性瀏覽器中實現了該功能的迭代版本。然而，由於實現過程中的問題以及性能方面的擔憂，該功能最初未被廣泛採用。
2017年，幽靈漏洞和熔斷漏洞被公開披露，次年穀歌開始在Chrome中開發站點隔離功能，並於2019年發佈。2021年，Firefox也推出了站點隔離功能，開發過程中使用了代號「Project Fission」。
該功能具有顯著的安全優勢，但研究人員發現了與之相關的一些安全問題，包括對瞬態執行攻擊的保護效果不佳，以及由該功能引發的新型Timing attack和資源耗盡攻擊。

**背景**
2017年前，主流網頁瀏覽器的主要安全架構採用每瀏覽實例一進程（process-per-browsing-instance）模型。瀏覽器有多個沙箱進程，包括瀏覽器進程、GPU進程、網絡進程、渲染進程。在瀏覽網頁時，若需要特權提升，渲染進程會與其他特權服務交互。pp=225-226
這種舊模型能夠防止惡意JavaScript訪問操作系統，但在有效隔離各個網站方面仍顯不足。pp=791-792然而新模型在性能和內存方面存在明顯問題，因此未被廣泛使用。p=89
2017年披露的幽靈漏洞和熔斷漏洞揭示了舊模型的嚴重缺陷。在漏洞披露前，任意訪問內存難度很大，需要攻陷渲染器；而通過幽靈漏洞，僅需利用JavaScript特性即可讀取渲染進程中幾乎所有的內存，從而獲取先前渲染的跨源頁面中的敏感信息。p=1525為了防止類似的問題，需要開發新的安全架構，將不同網頁的渲染完全隔離到相互獨立的進程中。Janc

**歷史**
2009年，查爾斯·賴斯（Charles Reis）等人首次提出了每網站一進程（process-per-site）模型，根據頁面的來源隔離網頁，將不同瀏覽實例放在不同渲染進程中。pp=224-225同年，Gazelle研究性瀏覽器對此做出了改進，不僅在網站之間進行隔離，還在同一頁面中為每個來自不同域的內容元素創建獨立的進程。2009與此同時，OP（OP2瀏覽器的前身）、IBOS、Tahoma、SubOS瀏覽器也在進行相關工作，提出了不同方式以解決站點之間的進程分離問題。p=1674

**實現**
2013年5月，Google Chrome的站點隔離團隊中一位成員在chromium-dev郵件列表上宣佈，他們將開始提交用於實現跨進程HTML_element#Frames（out-of-process i-frame）的代碼。20132015年1月於BlinkOn舉行的「站點隔離峰會」（Site Isolation Summit）上，官方介紹了由八位工程師組成的團隊，並詳細說明了這一項目的動機、目標、架構、預期時間表以及所-{zh-hans:取得; zh-hant:取得}-的進展。該峰會上還演示了Chrome上早期站點隔離的原型。2015
2019年，Google Chrome項目的賴斯等人在USENIX Securityp=7049上發表了一篇論文，詳細介紹了他們對瀏覽器安全模型所做的更改，以應對先前出現的幽靈漏洞。pp=96-97該論文稱，這些更改參考了他和其他人在2009年提出的模型。pp=1663-1664Chrome的站點隔離根據來源在進程層面區分「站點」。pp=25-26此外，Chrome團隊還實現了在進程外執行網站框架，這是Gazelle網絡瀏覽器以及OP和OP2網絡瀏覽器的作者建議的功能。p=1674這些改動需要重構Chrome的進程處理代碼。為此，320名貢獻者在5年內共提交了4000多次代碼，p=1667共修改或增加了45萬行。p=2497
Chrome使用的站點隔離功能能夠防止多種通用-{zh-cn:跨站腳本; zh-tw:跨網站指令碼}-（universal cross-site scripting）攻擊。p=757這種攻擊允許攻擊者破壞-{zh-cn:同源策略; zh-tw:同源政策; zh-hk:同源政策}-，從而獲得在其他網站上注入和加載攻擊者控制的JavaScript的無限制訪問權。p=1007Chrome團隊發現，2014年至2018年間報告的94起uXSS攻擊全部因站點隔離而失效。p=1668除此之外，Chrome團隊還聲稱，站點隔離也能有效防止幽靈和熔斷漏洞的Timing attack變體，這些攻擊依賴於攻擊者代碼與受害者數據在同一進程的地址空間內共存。p=1661 
2021年3月，Firefox開發團隊宣佈他們也將推出實現站點功能。這一功能花費數月開發，代號為「Project Fission」，2019且重寫了進程處理代碼。2019Firefox的實現方法與Chrome相比，能夠避免在某些特定網頁上受到uXSS攻擊。p=714

**缺陷**
2019年之前，站點隔離僅在研究性質的瀏覽器中實現。站點隔離啟用後，進程佔用的內存空間增加，因此被認為是資源密集型的p=114。pp=229-230這種性能開銷在實際使用中也有所體現。pp=12-13Chrome使用站點隔離後，平均會多佔用一到兩個處理器核心。p=114此外，參與站點隔離項目的工程師觀察到，使用站點隔離時內存使用量增加了10%到13%。2018
Chrome是首個採用站點隔離作為防禦uXSS攻擊和瞬態執行攻擊的主流網頁瀏覽器。p=1526為此，開發團隊克服了多個性能瓶頸和兼容性問題，並在整個行業範圍內推動了瀏覽器安全性的提升。然而，站點隔離針對幽靈漏洞的某些防禦措施仍顯不足，p=1525尤其是在防禦計時攻擊方面。p=15272021年，阿尤什·阿加瓦爾（Ayush Agarwal）等人開發了名為Spook.js的攻擊，能夠突破Chrome的幽靈漏洞防禦，竊取其他來源的網頁上的數據。pp=1529-1530同年，微軟的研究人員通過精細操控站點隔離所採用的進程間通信協議，實施了各類計時攻擊，最終獲取跨源信息。pp=1525-1530 
2023年，波鴻魯爾大學的研究人員發現，他們能夠利用站點隔離所需的進程架構來耗盡系統資源，並執行DNS欺騙等高級攻擊。pp=7037-7038

**腳註**

**註釋**

**引用**

**來源**
 archive-url=https://web.archive.org/web/20231224201956/https://dl.acm.org/doi/10.1145/1519065.1519090- archive-url=https://web.archive.org/web/20200210154740/https://ieeexplore.ieee.org/document/7961991/- ref=harv- archive-url=https://web.archive.org/web/20231229194806/https://link.springer.com/chapter/10.1007/978-3-642-40203-6_5- ref=harv- archive-url=https://web.archive.org/web/20231128040322/https://www.usenix.org/conference/usenixsecurity19/presentation/reis- ref=harv- ref=harv- archive-url=https://web.archive.org/web/20220728025450/https://ieeexplore.ieee.org/document/9833710/- ref=harv- archive-url=https://web.archive.org/web/20221027040212/https://ieeexplore.ieee.org/document/9833711/- archive-url=https://web.archive.org/web/20221217235323/https://hal.inria.fr/hal-03215569/file/eurosp21_rokicki.pdf- ref=harv- s2cid=7573477- ref=harv- ref=harv- archive-url=https://web.archive.org/web/20231224201956/https://www.usenix.org/conference/usenixsecurity20/presentation/narayan- archive-url=https://web.archive.org/web/20231224201956/https://www.usenix.org/conference/usenixsecurity23/presentation/gierlings- ref=harv- archive-url=https://web.archive.org/web/20231224201957/https://www.usenix.org/conference/usenixsecurity23/presentation/kim-young-min- dead-url=no- ref=harv- archiveurl=https://web.archive.org/web/20240830185202/https://www.youtube.com/playlist?list=PL9ioqAuyl6UJmC0hyI-k1wYW08O71lBn8- Cite news |url=https://www.ithome.com/0/430/175.htm |title=谷歌地球現已支持所有Chromium瀏覽器，包括微軟新Edge |author=騎士 |date=2019-06-25 |accessdate=2025-05-07 |language=zh-Hans-CN |ref=harv |website=IT之家 |url-status=live |archive-date=2025-05-07 |archive-url=https://web.archive.org/web/20250507021647/https://www.ithome.com/0/430/175.htm- Cite news |url=https://www.163.com/tech/article/DRA8UGL300097U7R.html |title=Chrome瀏覽器誕生10年，網絡環境更安全更可靠了 |author=惜辰 |date=2018-09-10 |accessdate=2025-05-07 |language=zh-Hans-CN |ref=harv |website=網易 |editor=王鳳枝 |url-status=live |archive-date=2025-05-07 |archive-url=https://web.archive.org/web/20250507021850/https://www.163.com/tech/article/DRA8UGL300097U7R.html- Cite news |url=https://www.ithome.com.tw/news/119334 |title=Chrome 63出爐，網站隔離、擴充程式封鎖政策登場 |author=陳曉莉 |date=2017-12-08 |accessdate=2025-05-07 |language=zh-Hant-TW |ref=harv |website=iThome |url-status=live |archive-date=2024-12-13 |archive-url=https://web.archive.org/web/20241213090427/https://www.ithome.com.tw/news/119334