IT之家 10 月 10 日消息,谷歌在去年聲稱正在將 Android 原生代碼從 C++ 遷移到 Rust,目前谷歌在博客中發(fā)布文章,展示了當前使用 Rust 語言的新進展。
據悉,谷歌正在使用 Rust 語言,重寫在 Linux 核心之外執(zhí)行的 Android 關鍵安全組件,從而進一步減少安全漏洞。
谷歌聲稱,去年調查顯示,Android 的安全漏洞,從 2019 年的 223 個降低到 2022 年的 85 個,經過分析,谷歌認為內存漏洞減少的情況,主要與 Rust 代碼的比例增加有關。
IT之家注:Rust 語言考慮了內存安全性,在編譯的時候,Rust 就能夠捕捉到大多數的內存安全問題,避免相關漏洞在生產環(huán)境中出現。
在 Android 13 中,就已經有約 21%的新原生代碼以 Rust 開發(fā),官方提到,這些組件大多數是在用戶層面的系統服務(即 Linux 中運行),但目前還有許多組件依然使用 C++ 進行編寫,而其中許多安全關鍵組件,都在 Linux 核心之外的裸機環(huán)境中運行,當下谷歌為了強化 Android 設備的安全性,正逐漸提高在裸機環(huán)境使用 Rust 的比例。
谷歌聲稱,相關開發(fā)人員在 Rust 中重寫了 Android 虛擬化框架的受保護虛擬機 (pVM) 固件,從而為 pVM 信任根提供了安全基礎。
據悉,pVM 的作用與 Bootloader 類似,其建立在開源項目 U-Boot 之上,不過 U-Boot 在設計時有所缺憾,有許多研究人員已經發(fā)現 U-Boot 存在整數下溢(Integer Underflow)和內存損壞等安全漏洞,特別是 VirtIO 驅動程序,在“邊界檢查”方面,其存在許多問題。
谷歌表示,他們已經修復了在 U-Boot 中發(fā)現的問題,而通過轉用 Rust,還可以在未來避免出現更多類似的內存安全漏洞。
由于谷歌要支持 Rust 語言在裸機環(huán)境中使用,也因此貢獻一系列新的項目,像是在 pVM 固件的 VirtIO 驅動程序方面,谷歌便修復了現有 virtio-drivers 中的一系列錯誤問題,還添加了新功能。
谷歌還計劃發(fā)布更多的 Rust 軟件包,并支持各平臺的裸機程序開發(fā),谷歌提到,雖然在裸機上應用 Rust 還有許多限制,但是相對于 C 或 C++ 語言,Rust 可以提供更高的安全性和生產力,谷歌未來還會繼續(xù)擴大 Rust 的使用。
參考
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。