三星在Galaxy A50系列Android核心,自行加入程式碼,被Google發現這會引發漏洞,影響Android 9.0及10.0。三星接到通報後,將該漏洞編碼為SVE-2019-16132,並於今年2月的安全更新完成修補。(上圖為Galaxy A50示意,圖片來源/三星)

Google本周指出,三星為強化智慧型手機安全而對Android核心做的修改,反而引進更多漏洞,讓手機更不安全。

Google為減少程式碼存取Android的安全風險,於是限縮可存取裝置驅動程式的行程。現代Android手機只能經由專門的行程才能存取資源,這也形成了硬體抽象層(Hardware Abstraction Layer,HAL)。但如果裝置廠商修改了Android核心功能,就很難消除攻擊面。

專精研究漏洞Google Project Zero研究人員Jann Horn指出,Android裝置廠商經常在Android核心內加入獨有的程式碼,這類程式碼往往導致安全漏洞的形成。

他以三星Galaxy A50 手機上發現的漏洞為例。三星為A50系列Android核心,加入了Process Authenticator(PROCA)的安全子系統來追蹤行程的身份。但是當複雜的程式碼pattern碰上子系統內幾個邏輯錯誤,像是追蹤的狀態和實際行程狀態不符合時,即可能造成記憶體不安全,例如Project Zero去年11月在A50手機的PROCA,發現到使用已釋放記憶體(use-after-free)及雙重釋放(double-free)漏洞,影響Android 9.0及10.0。三星將該漏洞編碼為SVE-2019-16132,風險層級為中度(moderate)。

Horn認為,三星在手機加入的某些客製功能不僅沒必要,拿掉也沒差。他也認為裝置廠商對Android做的獨門修改,最好放入沙箱中,或是移到使用者空間(userspace)的驅動程式,因為可以較安全的語言實作。不但安全也不會妨礙新版核心的更新。

在收到Google的通報後,三星本月釋出的安全更新中,修補了SVE-2019-16132在內的近50個漏洞,其中還包括二項重大(critical)漏洞。


Advertisement

更多 iThome相關內容