Firefox 將啟用 W^X 安全特性:性能影響不大
Mozilla開發者們已經為Firefox瀏覽器加入了OpenBSD的W^X安全特性,以應對基本的緩沖區溢出和內存泄露問題。“W^X” 是“寫異或執行”(Write XOR Execute)的縮寫,作為OpenBSD中富有代表性的安全特性,Mozilla的開發者們已經將它移植到了Firefox的JIT代碼編譯器中。 Jan de Mooij指出,該功能在Firefox底層運行,并且影響在瀏覽器內執行的代碼是如何與系統內存交互。
W^R內存保護機制的原則是,一個進程(比如Firefox中的一個網頁)不能夠同時寫或執行。該功能會從Firefox 46每夜構建版開始部署,網頁將能夠使用內存寫入或執行的代碼,但不能夠同時進行這兩種操作。
通過延緩執行時間,W^X內存保護機制可組織某些類型的緩沖區溢出攻擊,以及確保流程執行堆棧中的任意動態代碼——即使讓Firefox崩潰,也不再會盲目地運行潛在的惡意代碼。
在加入W^X支持之前,Firefox給予了網頁完整的“讀與寫”(Read-Write-Execute, 簡稱RWX)許可。但為了安全,Firefox此舉也會小幅影響到自身的性能表現。
Jan de Mooij解釋到:“RWX使得某些bug很容易被利用,所有現代操作系統都會存儲執行代碼但內存不可寫,且數據通常是無法執行的,這點可參考W^X與DEP”。
對于普通用戶來說,在切換可寫可執行內存狀態之前,Firefox會通過特殊的內部功能來觸發,而這肯定會帶來一定的延遲。
根據Mozilla開發者的內部測試,根據基準測試套件的不同,其性能影響介于1%到4%之間。考慮到影響并不明顯,所以團隊最終還是決定啟用R^W內存保護功能。
在排除了嚴重缺陷和其它不可預見的性能問題之后,Firefox終將默認啟用這一功能。
[編譯自:Soft Pedia]
來自: http://www.oschina.net/news/69653/firefox-w-x-security-feature