如果有留意過手機(jī)廠商的系統(tǒng)更新日志,想必就會(huì)發(fā)現(xiàn),“修復(fù)漏洞”是一個(gè)會(huì)高頻率出現(xiàn)的詞。而對(duì)于經(jīng)常關(guān)注科技資訊的朋友來說,對(duì)于“XX公司被爆在XX軟件上存在漏洞,導(dǎo)致XX人或設(shè)備受到影響”這類消息,應(yīng)該也是熟悉得不能再熟悉了。
此前在今年夏季,來自谷歌的互聯(lián)網(wǎng)安全團(tuán)隊(duì)ProjectZero發(fā)現(xiàn)了多個(gè)來自ARM Mali GPU的漏洞。看起來這只是網(wǎng)絡(luò)安全領(lǐng)域平平無奇的一件小事,但在數(shù)月后的卻引發(fā)了不小的波瀾。
日前,在ProjectZero團(tuán)隊(duì)發(fā)布的最新博客中,將矛頭指向了Android手機(jī)廠商,并措辭嚴(yán)厲地譴責(zé)了這些廠商的偷懶行為,其中甚至就連谷歌自家的Pixel系列機(jī)型也沒有放過。而原因其實(shí)也很簡(jiǎn)單,因此Android手機(jī)廠商并沒有嚴(yán)肅對(duì)待這一系列的漏洞,在安全更新上“偷奸耍滑”了。
此前,ProjectZero團(tuán)隊(duì)陸續(xù)發(fā)現(xiàn)了5個(gè)有關(guān)ARM處理器中Mali GPU的漏洞,其中編號(hào)為CVE-2022-36449的漏洞可以讓非特權(quán)用戶獲得對(duì)只讀存儲(chǔ)器的寫入權(quán)限。用相關(guān)研究人員的話來說,成功利用該漏洞可以允許攻擊者獲得執(zhí)行本機(jī)代碼的權(quán)限,進(jìn)而獲得對(duì)系統(tǒng)的完全訪問,并繞過Android的權(quán)限模型,允許更廣泛的訪問用戶數(shù)據(jù)。
在收到了來自ProjectZero的漏洞報(bào)告后,ARM方面在今年7-8月期間修復(fù)了這些問題,發(fā)布了安全公告、并公布了修復(fù)的源代碼。然而在ARM做到了應(yīng)該做的事情后,手機(jī)廠商卻幾乎都無動(dòng)于衷。Project Zero團(tuán)隊(duì)日前表示,在ARM修復(fù)了這些漏洞幾個(gè)月后,他們使用搭載了Mali GPU的測(cè)試設(shè)備仍然會(huì)受到這些問題的影響,CVE-2022-36449在幾乎任何手機(jī)廠商的安全公告中都沒有被提到。
要知道,CVE-2022-36449漏洞影響的是ARM過去三代的Mali GPU架構(gòu)(Midgard、Bifrost,以及Valhall),其范圍覆蓋了從目前出貨的谷歌Pixel 7系列,一直可以向前追溯到2016年的三星Galaxy S7,除了使用自研GPU的高通外,其他面向Android手機(jī)廠商供貨的芯片廠商均牽涉其中。換而言之,幾乎每一個(gè)Android手機(jī)廠商旗下可能都有數(shù)以百萬量級(jí)的受影響設(shè)備存在。
如此看來,這次的事件不就是Android手機(jī)廠商將用戶設(shè)備的安全當(dāng)作兒戲嗎。但其實(shí)谷歌估計(jì)也很無奈,目前Android系統(tǒng)的安全補(bǔ)丁更新是以月為單位,并且Android的月度安全更新也是公開發(fā)布的。然而Android手機(jī)廠商也有話要說,月度安全更新歸更新,但將安全更新應(yīng)用到自家的產(chǎn)品上則又是另外一回事。
事實(shí)上,系統(tǒng)更新一直以來都是Android生態(tài)中的一個(gè)痛點(diǎn),核心原因就是相比于封閉的蘋果iOS體系,Android陣營的參與者要多得多,這既是當(dāng)年Android得以快速鋪開的優(yōu)勢(shì),也是如今限制Android機(jī)型及時(shí)更新的問題所在。拋開雙方都要面對(duì)的開發(fā)者適配應(yīng)用問題,Android陣營在系統(tǒng)更新上就有谷歌、芯片廠商,以及手機(jī)廠商三方加入,并且后面兩者的產(chǎn)品線都相當(dāng)復(fù)雜,所以也造成了Android大版本更新的難度要遠(yuǎn)勝過iOS。
盡管谷歌多年前就開始著手提升Android機(jī)型的系統(tǒng)更新速度,從Android 8開始,新增的Project Treble就將硬件驅(qū)動(dòng)與系統(tǒng)分離,從此手機(jī)廠商可以為手機(jī)單獨(dú)推送新的Android版本、而不需要重新適配驅(qū)動(dòng)。而在Android 10中引入的Project Mainline更是將系統(tǒng)功能模塊化,讓更上游的供應(yīng)商可以更細(xì)化地提供具體的功能更新。
索尼方面在Android 8發(fā)布后就繪制了Android系統(tǒng)升級(jí)的流程圖,并強(qiáng)調(diào)Project Treble能夠?qū)⑾到y(tǒng)升級(jí)推送的流程再減少3-4步。但他們沒有告訴用戶的是,即便減少了這幾步,Android系統(tǒng)更新的流程依然十分復(fù)雜。就以此次的ARM驅(qū)動(dòng)為例,在ARM完成了漏洞修復(fù)、并公開源代碼后,手機(jī)廠商并不能像我們接收系統(tǒng)OTA更新那樣簡(jiǎn)單的進(jìn)行修復(fù),而是需要調(diào)試驅(qū)動(dòng)以適配自己修改過的ROM。
畢竟Project Treble也只是讓手機(jī)廠商可以為手機(jī)單獨(dú)推送新的Android版本,而不需要重新適配驅(qū)動(dòng),可這一次恰恰是驅(qū)動(dòng)出了問題。涉及到GPU驅(qū)動(dòng)這樣底層的功能,Android手機(jī)廠商是需要調(diào)試BSP(板級(jí)支持包)的,這是因?yàn)锳ndroid系統(tǒng)的HAL(硬件抽象)層需要加載BootLoader,而加載BootLoader則依賴于BSP。但需要注意的是,HAL中關(guān)于各硬件的參數(shù)是十分重要的商業(yè)機(jī)密,所以也導(dǎo)致HAL往往存在于User Space中,而非在內(nèi)核中。
更為遺憾的是,在解耦硬件驅(qū)動(dòng)與系統(tǒng)的Project Treble擴(kuò)展項(xiàng)目上,谷歌方面選擇了與高通合作、而非聯(lián)發(fā)科。Project Treble的“無追溯性原則”目前只能影響到高通驍龍移動(dòng)平臺(tái),為此高通開發(fā)了自己的通用系統(tǒng)映像系統(tǒng)“QSSI”,其能夠與谷歌的AOSPGSI一樣與不同的SoC兼容。換而言之,如果此次是高通SoC的AdrenoGPU出現(xiàn)漏洞,可能情況都要好得多。
除此之外,就算是同型號(hào)機(jī)型往往還會(huì)有不同的版本,例如三星的Galaxy S系列在中國、日本、美國和南美是使用高通驍龍平臺(tái),但在歐洲和韓國則使用的是自家的Exynos主控。再加上運(yùn)營商定制版本的存在,僅僅一款設(shè)備就足以讓手機(jī)廠商的運(yùn)維團(tuán)隊(duì)焦頭爛額,更別提此次Mali GPU影響的是過去整整5年間的產(chǎn)品,如此大的規(guī)模也足以讓手機(jī)廠商感到絕望。
所以只能說,如此龐大的工作量讓手機(jī)廠商不得不選擇“擺爛”。而想要杜絕類似的事件再次發(fā)生,只能是谷歌與ARM方面加強(qiáng)合作,效仿高通來建立一個(gè)自己的通用鏡像系統(tǒng),以此來加快更新的部署才行。
-
ARM
+關(guān)注
關(guān)注
134文章
9150瀏覽量
368467 -
Android
+關(guān)注
關(guān)注
12文章
3941瀏覽量
127709
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論