Firefox安全性再強化,Firefox 95導入最新的沙盒技術RLBox,透過高效能的隔離技術來隔離子元件,使得即便受隔離的模組存在零日漏洞,也完全不會使Firefox受到威脅。

這個稱為RLBox的新型沙盒技術,是Mozilla和加利福尼亞大學聖地牙哥分校合作開發,有別與傳統基於程序的沙盒,RLBox使用WebAssembly來隔離具有潛在臭蟲程式碼,現在Graphite、Hunspell、Ogg、Expat和Woff2總共5個模組,已經使用該隔離技術,並且在桌面和行動Firefox全平臺提供支援。

目前所有主要瀏覽器,都是透過沙盒程序來執行網頁內容,這種方法在理論上,可以避免惡意程式碼透過瀏覽器漏洞,來入侵用戶的電腦,在桌面作業系統,Firefox甚至會在自己的程序中,隔離每個網站,以確保網站間的安全。

不過惡意攻擊者也不是省油的燈,Mozilla提到,他們通常會透過聯合使用兩個漏洞來攻擊用戶,除了破壞網站的沙盒程序之外,也儘可能逃離沙盒的隔離。因此除了在程序上隔離,沙盒技術的下一階段發展,便是要朝向在功能之間設下隔離邊界前進,像是Firefox在執行解碼任務時,會在一個專用且鎖定的程序中進行,使該程序僅擁有受限的介面。

但這個方法存在嚴重的限制,Mozilla提到,除了需要先解耦程式碼,使其成為非同步運作之外,這個工作還很耗時,也可能產生額外的效能成本,另外,每個程序都有固定的記憶體開銷,添加更多的程序,會使得應用程式占用的記憶體增加。

現在Mozilla提出另一種更精細的隔離方法RLBox,RLBox並不會將程式碼放到單獨的程序中執行,而是將其編譯成為WebAssembly,並將該WebAssembly編譯成為原生程式碼,因此在Firefox中不會加入任何.wasm檔案,WebAssembly僅為建置過程的中間語言。

但這個轉換步驟對於目標程式碼,設置了兩個重要的限制,第一是不能意外跳轉到程式其餘部分,第二則是不能存取指定區域以外的記憶體。這些限制使得可信和不可信程式碼間共用記憶體空間變得更加安全,並且大致上能跟過去一樣,在同一個程序中執行。這個方法還有另一項好處,便是不需要大動作重構程式碼,就能完成實作。

官方提到,RLBox保護Firefox免受意外臭蟲,以及供應鏈攻擊,在上游元件揭露漏洞時,開發人員也不需要著急地修補。Mozilla會繼續將RLBox隔離技術擴展使用到更多的元件上,不過像是太過於仰賴與其他程式共享記憶體,或是效能敏感的元件,無法接受任何額外成本的元件,便不適合應用RLBox隔離技術。

熱門新聞

Advertisement