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)漏洞。
熱門新聞
2024-11-25
2024-11-25
2024-11-25
2024-11-25
2024-11-15
2024-11-15