Rust非常好編程語言,使Android漏洞大幅下降

↑點擊上方藍字關注「OSC開源社區」

谷歌在最新的一篇文章中指出,內存安全問題導致的漏洞百分比與新代碼使用的開發語言密切相關。

而隨着其將開發轉向內存安全語言,Android 內存安全漏洞的百分比已經從 2019 年的 76% 下降到了 2024 年的僅 24%,遠低於 70% 的行業標準,並且還在繼續下降。

Android 安全團隊成員 Jeff Vander Stoep 和 Google 高級軟件工程師 Alex Rebert 解釋稱,漏洞具有半衰期,會隨着代碼的發展而逐漸衰減,絕大多數漏洞都存在於新的或最近修改的代碼中。

這就意味着問題主要出在新代碼上,需要從根本上改變代碼開發方式。且隨着時間的推移,代碼會呈指數級成熟和更加安全;而隨着代碼老化,重寫等投資的回報也會逐漸減少。

因此在維護舊代碼的同時,使用 Rust 等內存安全語言編寫新代碼,最大限度地減少隨着時間的推移出現新的缺陷,就能達到大幅減少內存安全漏洞的目的。

“根據我們的經驗,很明顯不需要丟棄或重寫所有現有的內存不安全代碼。相反,Android 專注於將互操作性作爲內存安全之旅的主要功能,使其既安全又方便。互操作性提供了一種實用且漸進的方法來採用內存安全語言,使組織能夠利用現有的代碼和系統投資,同時加速新功能的開發。”

文章還總結了過去幾十年間,業界在處理內存安全漏洞方面經歷的四個主要階段:

被動修補

主動緩解措施

主動發現漏洞

高保障預防(安全編碼):強調通過使用 Rust 等內存安全語言從源頭上預防漏洞。

“向內存安全語言的轉變不僅代表着技術的變化,更是安全方法的根本轉變......安全編碼通過將錯誤查找進一步向左移動來提高代碼正確性和開發人員生產力。我們看到這種轉變體現在回滾率等重要指標中。Android 團隊觀察到 Rust 更改的回滾率不到 C++ 的一半。”

在過渡到內存安全代碼後,谷歌預計對漏洞緩解措施的依賴、以及對模糊測試等主動檢測方法的依賴也均會減少。

相關來源

https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html

↓分享、在看與點贊Orz