(資料圖)
IT之家 12 月 4 日消息,去年,谷歌將 Rust 作為安卓開(kāi)源項(xiàng)目(AOSP)中新代碼的默認(rèn)代碼,這一舉措似乎正在得到回報(bào),谷歌稱(chēng)安卓系統(tǒng)中的內(nèi)存安全漏洞已經(jīng)減少了一半以上。
圖源 Pexels
谷歌表示,“在過(guò)去幾年 / 版本中,內(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)存安全語(yǔ)言的安卓版本,在這個(gè)版本中,Rust 語(yǔ)言占了所有新的本地代碼的 21%,包括超寬帶(UWB)堆棧、DNS-over-HTTP3、Keystore2、安卓的虛擬化框架(AVF),以及“各種其它組件及其開(kāi)源依賴(lài)”。
IT之家了解到,除了 Rust,谷歌用于安卓的其它內(nèi)存安全語(yǔ)言包括 Java 和與 Java 兼容的 Kotlin。C 和 C++ 仍然是 AOSP 中的主流語(yǔ)言,但安卓 13 是第一個(gè)大部分新代碼來(lái)自?xún)?nèi)存安全語(yǔ)言的版本。
安卓安全軟件工程師 Jeffrey Vander Stoep 指出,安卓團(tuán)隊(duì)計(jì)劃加強(qiáng)對(duì) Rust 的使用,盡管沒(méi)有計(jì)劃在系統(tǒng)編程中徹底棄用 C 和 C++。他在一條推文中指出:“Rust 并不能解決所有問(wèn)題,在某些領(lǐng)域,C / C++ 將繼續(xù)是最實(shí)用的開(kāi)發(fā)選擇,至少在一段時(shí)間內(nèi)是這樣?!彼€稱(chēng),“我們將努力隨著時(shí)間的推移減少這種情況,同時(shí)繼續(xù)擴(kuò)大我們的 Rust 使用規(guī)模,并繼續(xù)投資和部署對(duì) C / C++ 的改進(jìn)?!?/p>
Vander Stoep 指出,相關(guān)性并不等同于因果關(guān)系,但內(nèi)存安全漏洞的百分比確實(shí)與新代碼使用的語(yǔ)言密切相關(guān)。
他繼續(xù)指出,在安卓 13 中,共有 150 萬(wàn)行 Rust 代碼,約占所有新代碼的 21%。到目前為止,谷歌還沒(méi)有在安卓的 Rust 代碼中發(fā)現(xiàn)任何內(nèi)存安全漏洞。Vander Stoep 指出,“這表明,Rust 正在實(shí)現(xiàn)其預(yù)期的目的,即防止出現(xiàn) Android 最常見(jiàn)的漏洞。在安卓的許多 C / C++ 組件(如媒體、藍(lán)牙、NFC 等)中,歷史漏洞密度大于 1 / kLOC(每千行代碼有一個(gè)漏洞)。根據(jù)這一歷史漏洞密度,使用 Rust 很可能已經(jīng)防止了數(shù)百個(gè)漏洞的產(chǎn)生?!?/p>
谷歌認(rèn)為擺脫 C / C++ 是一個(gè)挑戰(zhàn),但正在為安卓系統(tǒng)推進(jìn)該項(xiàng)目。然而,其并沒(méi)有在 Chrome 上使用 Rust 語(yǔ)言。
據(jù)悉,Rust 是一門(mén)系統(tǒng)編程語(yǔ)言,專(zhuān)注于安全,尤其是并發(fā)安全,支持函數(shù)式和命令式以及泛型等編程范式的多范式語(yǔ)言。Rust 在語(yǔ)法上和 C++ 類(lèi)似,但是設(shè)計(jì)者想要在保證性能的同時(shí)提供更好的內(nèi)存安全。
網(wǎng)站首頁(yè) |網(wǎng)站簡(jiǎn)介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 www.hngelin.com All Rights Reserved.
中國(guó)網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書(shū)面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
阿鲁科尔沁旗| 怀安县| 阿勒泰市| 长寿区| 牟定县| 镇雄县| 碌曲县| 屯留县| 太谷县| 禄丰县| 呼和浩特市| 胶州市| 金沙县| 桃园县| 栾城县| 竹溪县| 蕉岭县| 延边| 盱眙县| 铜山县| 西宁市| 辉南县| 安龙县| 夏津县| 蓬溪县| 光泽县| 太仓市| 固原市| 临武县| 巴林左旗| 芮城县| 将乐县| 南昌县| 阿拉善右旗| 海伦市| 象州县| 凤山市| 鄯善县| 壶关县| 喀什市| 凌海市|