-
1 # 田間地頭網路科技
-
2 # 自媒體創作艱難探索者
1、什麼是站點隔離?
網站隔離是Chrome瀏覽器架構的一個重大變化。通常,chrome會預設一個程序的標記,但是當web頁面之間有共享內容時,它們可以彼此共享相同的程序。網站隔離可以消除共享過程,確保不同的網站處於不同的過程中,從而防止幽靈和崩潰等攻擊。當Chrome 83釋出時,這個特性已經存在,使用者可以透過改變狀態來啟用Chrome。
2、站點隔離是google chrome的一項新功能,旨在減少頻譜攻擊。
現在這個功能在chrome 67中預設啟用。這意味著系統將自動防禦一些惱人的漏洞,但這也意味著Chrome——它已經在執行時佔用了計算機的部分資源——現在使用的記憶體增加了10-13%。
3、什麼是光譜和熔燬攻擊?
光譜和熔燬是同一脆弱性的兩種不同變體。他們可以利用一個漏洞,這個漏洞幾乎可以影響過去20年晶片製造商生產的任何計算機晶片。當這兩起攻擊在去年年底被發現時,世界各地的晶片製造商紛紛修復。
從技術上講,有三種變化。其中兩個合併成光譜,另一個則是熔燬。為了訪問一些記憶體,這些攻擊使用所謂的前瞻性執行,然後使用定時攻擊方法查詢儲存在那裡的值。前向執行是一種可以幫助晶片更快執行的機制。用一個例子來說明這一點是最容易的。假設一個程式將提供一個是或否的選擇,並且每個答案都會導致一個不同的過程。晶片不再等待使用者做出決定,而是開始同時計算兩個功能,因此無論使用者選擇什麼,它都會有一個良好的開始。前瞻性執行過程中使用的資料通常儲存在cpu快取中,這就像一個小記憶體龕,可以幫助加快從ram中獲取資料的速度。
現在,讓我們把這一切聯絡起來。頻譜攻擊和熔燬攻擊是利用晶片的前瞻性執行功能來達到攻擊目的的兩種攻擊。他們將使用定時攻擊方法公開程序中載入的資料,然後將其轉儲到CPU快取。
4、頻譜和崩潰是如何影響瀏覽器的呢?
谷歌和所有其他瀏覽器製造商面臨的問題是,頻譜和崩潰可以使“不受信任的程式碼”讀取程序地址空間中的所有記憶體。正如谷歌的查理里斯在部落格中寫道:“這對於web瀏覽器尤其重要,因為不同的瀏覽器執行來自多個站點的潛在惡意javascript程式碼,這些站點通常處於同一程序中。理論上,一個網站可以利用這種攻擊從其他網站竊取資訊,從而違反了相應的策略。所有主流瀏覽器都部署了一些針對spectre的對策,包括減少時鐘粒度和更改javascript編譯器,以降低攻擊成功的可能性。然而,我們認為最有效的應對措施是網站隔離,因為這種方法試圖避免在同一過程中竊取資料,即使發生頻譜攻擊。”
簡而言之,理論上,頻譜攻擊可以竊取其他網站的資訊。相同的同源策略在web應用程式安全中是一個相對神聖的概念。它的想法是“web瀏覽器允許包含在第一個web頁面中的指令碼訪問第二個web頁面中的資料,前提是兩個web頁面具有相同的源。Mozilla對原始碼的定義如下:
如果兩頁具有相同的協議、埠(如果指定了埠)和主機,則兩頁具有相同的源。
同源策略是瀏覽器安全的基礎。所有瀏覽器都部署某種形式的同源策略。用微軟的埃裡克·勞倫斯的話說,沒有它,將發生以下情況:
“如果來自一個源的內容可以讀取從另一個源載入的內容,那麼一個站點很容易攻擊另一個站點。例如,來自攻擊者.com的iframe可以從yourbank.com讀取另一個iframe的內容,依此類推。這樣,攻擊者就可以根據自己的想象來決定要竊取多少敏感資源。”
所以這就是為什麼包括google chrome在內的瀏覽器都在關注頻譜和崩潰攻擊。
回覆列表
毫無疑問,Google Chrome是最受歡迎的網路瀏覽器之一。Google強調,他們將會使Chrome儘可能安全,並不斷新增新功能從而使這種安全性得到保障。站點隔離是Chrome 67於2018年4月推出的一項功能。該功能本質上帶來了Chrome架構的重大變化,將每個渲染器程序限制為來自單個站點的文件。這樣一來,Chrome就能依靠作業系統來防止程序之間以及站點之間的攻擊。隨著Chrome 77的更新,此功能終於被引入到Android上。
Android版的Chrome上的站點隔離
與桌面上的站點隔離非常相似,該功能使用作業系統程序,使攻擊者很難從其他站點上竊取資料。最重要的是,它可以最有效地防禦類似Spectre的CPU漏洞。由於“站點隔離”是一項相當耗費資源的功能,和桌面端一樣完整啟用將會在Android裝置上引起問題。因此,Android版Chrome使用的站點隔離形式更輕量,僅適用於使用者使用密碼登入的高價值站點。
Chrome 77更新之後,Chrome瀏覽器識別出站點上的密碼互動後,以後對該站點的訪問將受到“站點隔離”保護。該站點將以其自己的專用渲染器過程進行渲染,從而使其與其他站點保持隔離。如果您導航到其他站點,則該標籤會自動切換流程,並且跨站點的iframe會完全放在另一個流程中。值得慶幸的是,Chrome已經眾包了移動使用者最常輸入密碼的站點列表,這意味著從一開始就可以保護您在這些站點上的安全。
Google承諾,實施只是幕後的架構更改,不應改變使用者或開發人員的體驗。雖然,由於實際工作負載中的總記憶體開銷為3-5%,因此您可能會注意到對效能的某些影響。值得注意的是,更新後,密碼觸發的站點隔離將提供給99%的Chrome使用者,這些使用者的裝置具有至少2GB的RAM,而其餘的1%將被保留以監視和改善效能。如果您無法透過密碼觸發站點隔離,則可以透過 chrome://flags/#enable-site-per-process 啟用完整的站點隔離。但是在執行此操作之前,請注意隔離所有站點將具有較高的記憶體成本,從而導致效能降低。
桌面版的Chrome的站點隔離的改進
桌面版Chrome 77也對網站隔離進行了一些更改,這將有助於抵禦明顯更強的攻擊。以前,“站點隔離”針對的是類似Spectre的攻擊,這些攻擊可能會洩漏特定渲染器程序中的資料。透過此更新,站點隔離現在將能夠應對嚴重的攻擊,在這種攻擊中,安全漏洞會完全改變整個程序。
在Chrome 77中,“站點隔離”將幫助保護多種型別的敏感資料免受此類受損的渲染器程序的侵害,其中包括:
身份驗證:Cookie和儲存的密碼只能由鎖定到相應站點的程序訪問。網路資料:站點隔離功能使用跨域讀取阻止功能來過濾流程中的敏感資源型別(例如HTML,XML,JSON,PDF),即使該流程試圖針對Chrome的網路堆疊說謊。標有Cross-Origin-Resource-Policy標頭的資源也受到保護。儲存的資料和許可權:Renderer程序只能基於程序的站點鎖定訪問儲存的資料(例如localStorage)或許可權(例如麥克風)。跨域訊息傳遞:Chrome的瀏覽器程序可以驗證postMessage和BroadcastChannel訊息的來源,從而防止渲染器程序謊報訊息的傳送者。此外,Google計劃在之後版本的Chrome透過以下方式,繼續改進受損的渲染器保護:
將這些保護功能引入Android版Chrome:這需要額外的工作來處理僅隔離某些網站的情況。保護CSRF防禦:可以驗證Sec-Fetch-Site和Origin請求標頭,以防止受損的渲染器偽造它們。保護更多型別的資料:我們正在研究如何透過跨域讀取阻止在預設情況下保護其他資料型別。刪除例外:我們正在努力刪除可能尚未應用這些保護措施的情況。例如,一小部分擴充套件仍然可以從內容指令碼獲得更廣泛的跨站點訪問,直到它們更新到新的安全模型為止。我們已經與擴充套件程式作者合作,將受影響的Chrome使用者數量從14%降低到2%,並解決其他擴充套件程式安全問題。此外,“站點隔離”不適用於Flash,該Flash當前預設情況下處於禁用狀態,並且位於棄用路徑上。