(資料圖)
IT之家 12 月 4 日消息,去年,谷歌將 Rust 作為安卓開源項(xiàng)目(AOSP)中新代碼的默認(rèn)代碼,這一舉措似乎正在得到回報(bào),谷歌稱安卓系統(tǒng)中的內(nèi)存安全漏洞已經(jīng)減少了一半以上。
圖源 Pexels
谷歌表示,“在過去幾年 / 版本中,內(nèi)存安全漏洞的數(shù)量大幅下降”。具體而言,2019 年至 2022 年期間,每年的內(nèi)存安全漏洞數(shù)量從 223 個(gè)下降到 85 個(gè)。內(nèi)存安全漏洞現(xiàn)在是安卓系統(tǒng)總漏洞的 35%,而四年前是 76%。事實(shí)上,“2022 年是內(nèi)存安全漏洞不占安卓系統(tǒng)漏洞的大多數(shù)的第一年”。
安卓 13 是第一個(gè)在其中加入的大部分新代碼都是使用內(nèi)存安全語言的安卓版本,在這個(gè)版本中,Rust 語言占了所有新的本地代碼的 21%,包括超寬帶(UWB)堆棧、DNS-over-HTTP3、Keystore2、安卓的虛擬化框架(AVF),以及“各種其它組件及其開源依賴”。
IT之家了解到,除了 Rust,谷歌用于安卓的其它內(nèi)存安全語言包括 Java 和與 Java 兼容的 Kotlin。C 和 C++ 仍然是 AOSP 中的主流語言,但安卓 13 是第一個(gè)大部分新代碼來自內(nèi)存安全語言的版本。
安卓安全軟件工程師 Jeffrey Vander Stoep 指出,安卓團(tuán)隊(duì)計(jì)劃加強(qiáng)對(duì) Rust 的使用,盡管沒有計(jì)劃在系統(tǒng)編程中徹底棄用 C 和 C++。他在一條推文中指出:“Rust 并不能解決所有問題,在某些領(lǐng)域,C / C++ 將繼續(xù)是最實(shí)用的開發(fā)選擇,至少在一段時(shí)間內(nèi)是這樣。”他還稱,“我們將努力隨著時(shí)間的推移減少這種情況,同時(shí)繼續(xù)擴(kuò)大我們的 Rust 使用規(guī)模,并繼續(xù)投資和部署對(duì) C / C++ 的改進(jìn)?!?/p>
Vander Stoep 指出,相關(guān)性并不等同于因果關(guān)系,但內(nèi)存安全漏洞的百分比確實(shí)與新代碼使用的語言密切相關(guān)。
他繼續(xù)指出,在安卓 13 中,共有 150 萬行 Rust 代碼,約占所有新代碼的 21%。到目前為止,谷歌還沒有在安卓的 Rust 代碼中發(fā)現(xiàn)任何內(nèi)存安全漏洞。Vander Stoep 指出,“這表明,Rust 正在實(shí)現(xiàn)其預(yù)期的目的,即防止出現(xiàn) Android 最常見的漏洞。在安卓的許多 C / C++ 組件(如媒體、藍(lán)牙、NFC 等)中,歷史漏洞密度大于 1 / kLOC(每千行代碼有一個(gè)漏洞)。根據(jù)這一歷史漏洞密度,使用 Rust 很可能已經(jīng)防止了數(shù)百個(gè)漏洞的產(chǎn)生。”
谷歌認(rèn)為擺脫 C / C++ 是一個(gè)挑戰(zhàn),但正在為安卓系統(tǒng)推進(jìn)該項(xiàng)目。然而,其并沒有在 Chrome 上使用 Rust 語言。
據(jù)悉,Rust 是一門系統(tǒng)編程語言,專注于安全,尤其是并發(fā)安全,支持函數(shù)式和命令式以及泛型等編程范式的多范式語言。Rust 在語法上和 C++ 類似,但是設(shè)計(jì)者想要在保證性能的同時(shí)提供更好的內(nèi)存安全。
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 www.sgycos.com All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com