Chrome安全團隊正計劃犧牲部分性能 換取更安全的使用環境
安全是一場貓捉老鼠的遊戲。 攻擊者會不斷創新攻擊方式,而瀏覽器廠商也在採取新的防禦措施以保持領先。 Chrome 在沙箱和網站隔離的基礎上不斷打造更強大的多進程架構。 通過整合模糊處理,為用戶構建起更牢固的安全防線。 但這道主要防線已達到了極限,Google 不能再僅僅依靠這種策略來打敗野蠻的攻擊。
Chrome 軟體工程師在去年 5 月 23 日發布的報告中指出,70% 的嚴重安全漏洞都來自記憶體安全問題。 更重要的是,Chrome 瀏覽器有一半的安全缺陷是”use-after-free”漏洞,這些安全問題來自於對記憶體指標的不正確管理,使 Chrome 瀏覽器進一步受到攻擊。
犧牲性能來換取安全
今天,Chrome 安全團隊公佈他們對瀏覽器記憶體安全問題的解決方案,其中一個涉及到以性能為代價。 Chrome 瀏覽器的安全團隊由 Andrew Whalley、Dana Jansens、Adrian Taylor 和 Nasko Oskov 組成。 該團隊進一步列舉了所提到的來自記憶體安全缺陷的安全漏洞的統計數據。
這三個方案包括
● 通過 compile-time 檢查指標是否正確讓 C++ 變得更安全
● 通過 runtime 檢查指標是否正確讓 C++ 變得更安全
● 研究在代碼庫中的某些代碼使用記憶體安全語言
因此,為了應對瀏覽器記憶體管理中普遍存在的錯誤,Chrome 瀏覽器的開發人員提出了通過增加 runtime 檢查使其更加安全的想法。
儘管 runtime 檢查使 Chrome 的 C++ 語言比以往任何時候都更安全,不受記憶體安全漏洞的影響,但它也有一些性能成本。 安全團隊進一步寫道:「檢查指標的正確性在記憶體和 CPU 時間上是一個無限小的成本。 但對於數百萬個指標來說,它就會增加」。
也就是說,對記憶體缺陷的修復可能是以一些記憶體和CPU時間為代價。 因此,影響了瀏覽器的整體性能。 對於 Chrome 瀏覽器的用戶來說,這種權衡變得更加明顯,因為他們的設備並不具備最高性能的 CPU,而且記憶體不足。 因此,額外的 runtime 檢查可能會導致網頁流覽的性能略微變慢。
然而,Chrome 安全團隊仍然指出,它願意就更安全但更慢的選項進行實驗。 但該團隊也在努力為瀏覽器編寫一種不同的語言,不需要額外的運行時間。