谷歌警告三星不要隨意修改Linux內(nèi)核代碼
GPZ研究人員Jann Horn表示,像三星這樣的智能手機(jī)制造商通過(guò)添加下游自定義驅(qū)動(dòng)程序直接訪問(wèn)Android Linux內(nèi)核,增加了安全漏洞。
據(jù)外媒報(bào)道,根據(jù)谷歌零項(xiàng)目組(GPZ)的說(shuō)法,三星試圖通過(guò)修改內(nèi)核代碼來(lái)防止Galaxy手機(jī)受到攻擊,結(jié)果導(dǎo)致Android面臨更多的安全漏洞。因此,谷歌警告三星不要隨便改動(dòng)Linux內(nèi)核代碼。
GPZ研究員詹恩-霍恩(Jann Horn)表示,像三星這樣的智能手機(jī)制造商通過(guò)添加下游定制驅(qū)動(dòng)程序來(lái)直接訪問(wèn)Android的Linux內(nèi)核,結(jié)果造成了更多的安全漏洞。他還稱(chēng),智能手機(jī)供應(yīng)商最好使用Linux內(nèi)核中已經(jīng)存在的安全功能。
霍恩在三星Galaxy A50的Android內(nèi)核中發(fā)現(xiàn)了這種類(lèi)型的錯(cuò)誤。這種錯(cuò)誤就是,在下游的Linux內(nèi)核代碼中添加上游內(nèi)核開(kāi)發(fā)人員未審閱的代碼。但正如他指出的那樣,三星的所作所為在所有智能手機(jī)供應(yīng)商中相當(dāng)普遍。
盡管這些下游定制代碼旨在增加設(shè)備的安全性,但是它們可能會(huì)帶來(lái)新的安全漏洞。例如,三星原本準(zhǔn)備增強(qiáng)內(nèi)核安全的代碼結(jié)果帶來(lái)了內(nèi)存損壞漏洞,谷歌在去年11月已向三星通報(bào)了這一漏洞。
在三星在2月份發(fā)布的Galaxy手機(jī)更新程序中,這個(gè)漏洞得以堵塞。該漏洞影響到了三星的名為PROCA或Process Authenticator的額外安全子系統(tǒng)。
三星將該漏洞,代號(hào)為SVE-2019-16132,描述為一個(gè)并不嚴(yán)重的問(wèn)題。它由PROCA中的Use-After-Free和Double-Free漏洞組成,這些漏洞允許黑客在一些運(yùn)行Android 9.0和10.0的Galaxy手機(jī)上“執(zhí)行任意代碼”。
順便說(shuō)一句,2月份的更新程序還包括一個(gè)針對(duì)“TEEGRIS設(shè)備”中嚴(yán)重缺陷的補(bǔ)丁。TEEGRIS設(shè)備指的是搭載三星專(zhuān)有TEE操作系統(tǒng)的較新Galaxy手機(jī)上的可信執(zhí)行環(huán)境(TEE)。Galaxy S10就是TEEGRIS設(shè)備之一。
但霍恩的新博文關(guān)注的是Android為此所做的努力,這些努力旨在減少智能手機(jī)供應(yīng)商向內(nèi)核添加獨(dú)特代碼帶來(lái)的安全影響。
“Android已經(jīng)通過(guò)鎖定哪些進(jìn)程可以訪問(wèn)設(shè)備驅(qū)動(dòng)程序來(lái)降低此類(lèi)代碼的安全影響。這些設(shè)備驅(qū)動(dòng)程序通常是針對(duì)特定智能手機(jī)供應(yīng)商的。”霍恩解釋說(shuō)。
例如,較新的Android手機(jī)通過(guò)Android中專(zhuān)用的助手進(jìn)程——統(tǒng)稱(chēng)為硬件抽象層(HAL)——訪問(wèn)硬件。但霍恩說(shuō),智能手機(jī)供應(yīng)商修改Linux內(nèi)核代碼的工作方式會(huì)破壞“鎖定攻擊面”的努力。
相反,他建議手機(jī)制造商使用Linux已經(jīng)支持的直接硬件訪問(wèn)功能,而不是定制Linux內(nèi)核代碼。
霍恩說(shuō),三星增加的一些定制功能是“不必要的”,如果它們被刪除了,也不會(huì)影響設(shè)備的安全性。
他推測(cè),PROCA旨在限制已經(jīng)獲得內(nèi)核讀寫(xiě)訪問(wèn)權(quán)限的攻擊者。但他認(rèn)為,三星可以通過(guò)引導(dǎo)工程資源,從一開(kāi)始就阻止攻擊者獲得這種訪問(wèn)權(quán)限,從而提高效率。
Horn解釋說(shuō):“我認(rèn)為最好將特定于設(shè)備的內(nèi)核更改遷移到用戶空間驅(qū)動(dòng)程序,因?yàn)樗鼈兛梢杂酶踩木幊陶Z(yǔ)言和沙箱來(lái)完成。