《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 安卓的“左傾”革命:內(nèi)存安全語(yǔ)言

安卓的“左傾”革命:內(nèi)存安全語(yǔ)言

2021-02-03
來(lái)源:安全牛
關(guān)鍵詞: 安卓 內(nèi)存安全

  谷歌的Android 11將安全性(BYOD相關(guān))和隱私增強(qiáng)功能作為主要賣(mài)點(diǎn),但谷歌明白,要想從根本上扭轉(zhuǎn)Android安全態(tài)勢(shì),就必須在生態(tài)上游和開(kāi)發(fā)周期的“左側(cè)”下猛藥。

  近日,谷歌的Android安全新策略引起了網(wǎng)絡(luò)安全和移動(dòng)互聯(lián)行業(yè)的廣泛關(guān)注。谷歌鼓勵(lì)開(kāi)發(fā)人員轉(zhuǎn)向使用內(nèi)存安全的編程語(yǔ)言,例如Java、Kotlin和Rust,并宣稱(chēng)C和C++的安全性亟待提高。

  微信圖片_20210203145516.jpg

  影響Android操作系統(tǒng)的嚴(yán)重和高危漏洞

  頭號(hào)威脅:內(nèi)存安全

  根據(jù)谷歌最新公布的安卓安全報(bào)告統(tǒng)計(jì)(上圖),Android操作系統(tǒng)的嚴(yán)重和高危安全漏洞中,有59%是內(nèi)存問(wèn)題,例如內(nèi)存損壞和溢出。內(nèi)存安全是迄今為止最主要的Android安全問(wèn)題(59%),其次是權(quán)限繞過(guò)漏洞,占Google安全工程師在2019年修復(fù)的漏洞的21%。

  不僅僅是Android系統(tǒng),內(nèi)存安全通常也是Java、Windows 10和Chrome等主要平臺(tái)的頭號(hào)安全漏洞類(lèi)別。谷歌工程師去年曾表示,Chrome安全漏洞中有70%是內(nèi)存安全問(wèn)題。之前,曾有微軟工程師透露說(shuō),其產(chǎn)品修復(fù)的所有錯(cuò)誤中有70%是內(nèi)存安全性問(wèn)題,即允許訪問(wèn)超出操作系統(tǒng)分配的內(nèi)存和地址的軟件漏洞。

  谷歌認(rèn)為,使用更加安全的開(kāi)發(fā)語(yǔ)言是保護(hù)Android免受惡意軟件和漏洞利用的根本措施?!癈和C++不能像Java、Kotlin和Rust這樣的語(yǔ)言提供內(nèi)存安全。鑒于Android安全報(bào)告中的大多數(shù)安全漏洞都是內(nèi)存安全問(wèn)題(上圖),因此谷歌采用了兩種安全策略:提高C/C++的安全性,同時(shí)也鼓勵(lì)使用內(nèi)存安全語(yǔ)言?!盙oogle在Android安全與隱私小組的博客中指出。

  出于相同的安全原因,亞馬遜(AWS)和Microsoft也在推動(dòng)采用Rust。Mozilla創(chuàng)建了Rust用于Firefox的Gecko引擎中處理與C++內(nèi)存相關(guān)的安全性問(wèn)題。Rust的1.0版于2015年推出,但采用率仍然較低。Microsoft希望將其用于系統(tǒng)編程而不是應(yīng)用程序開(kāi)發(fā)。AWS使用Rust構(gòu)建了基于Linux的容器操作系統(tǒng)Bottlerocket。

  數(shù)據(jù)驅(qū)動(dòng)的安全強(qiáng)化

  谷歌指出,由于安卓生態(tài)系統(tǒng)的多樣化、安全性策略和方法以及緩解措施的的優(yōu)先級(jí)決策遵循“數(shù)據(jù)驅(qū)動(dòng)”。

  這種以數(shù)據(jù)為依據(jù)的方法已產(chǎn)生了可衡量的實(shí)際結(jié)果。根據(jù)數(shù)據(jù)統(tǒng)計(jì),過(guò)去一年Google修復(fù)的絕大多數(shù)Android漏洞都來(lái)自媒體、藍(lán)牙和NFC組件。媒體庫(kù)也是Google在2015年披露的Android遠(yuǎn)程利用高危漏洞Stagefright所影響的關(guān)鍵組件。

  如今,谷歌為加強(qiáng)Android媒體服務(wù)器框架所做的努力已經(jīng)有所回報(bào),2020一整年都沒(méi)有收到Android媒體框架遠(yuǎn)程利用漏洞報(bào)告。

  除了遷移到內(nèi)存安全語(yǔ)言之外,谷歌強(qiáng)調(diào)的其他Android安全緩解和強(qiáng)化措施還包括:

  沙箱

  高權(quán)限大型組件(例如媒體庫(kù))的分解

  提高C/C++的安全性

  漏洞利用緩解

  地址空間布局隨機(jī)化(ASLR)

  控制流完整性(CFI)

  Stack Canaries

  內(nèi)存標(biāo)記

  谷歌指出,LLVM項(xiàng)目的控制流完整性(CFI)已于2018年在Android Pie中的媒體框架、藍(lán)牙和NFC中啟用。

  谷歌和微軟兩家公司都試圖為C和C++提供更安全的系統(tǒng)編程功能。微軟通過(guò)Windows安全功能Control Flow Guard改進(jìn)了CFI。去年,微軟在Clang和LLVM C++編譯器以及Rust中啟用了CFG支持。

  谷歌還需要權(quán)衡每次緩解的性能成本,以及在不負(fù)面影響設(shè)備穩(wěn)定性或用戶(hù)體驗(yàn)的情況下部署和支持緩解所需的工作量。緩解措施/組件的系統(tǒng)開(kāi)銷(xiāo)可能會(huì)縮短電池續(xù)航時(shí)間并降低設(shè)備的響應(yīng)速度,從而對(duì)用戶(hù)體驗(yàn)產(chǎn)生負(fù)面影響。對(duì)于廉價(jià)Android手機(jī)這樣的入門(mén)級(jí)設(shè)備尤其如此,但入門(mén)級(jí)設(shè)備也應(yīng)從安全加固中受益。

  最后,谷歌指出,啟用緩解措施時(shí),除了安全利益和性能成本(例如短期部署和長(zhǎng)期支持的成本)外,還有更多要考慮的因素,例如部署的穩(wěn)定性和長(zhǎng)期支持問(wèn)題。

  

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。