据外媒报道,根据谷歌零项目组(GPZ)的说法,三星试图通过修改内核代码来防止Galaxy手机受到攻击,结果导致Android面临更多的安全漏洞。因此,谷歌警告三星不要随便改动Linux内核代码。
GPZ研究员詹恩-霍恩(Jann Horn)表示,像三星这样的智能手机制造商通过添加下游定制驱动程序来直接访问Android的Linux内核,结果造成了更多的安全漏洞。他还称,智能手机供应商最好使用Linux内核中已经存在的安全功能。
霍恩在三星Galaxy A50的Android内核中发现了这种类型的错误。这种错误就是,在下游的Linux内核代码中添加上游内核开发人员未审阅的代码。但正如他指出的那样,三星的所作所为在所有智能手机供应商中相当普遍。
尽管这些下游定制代码旨在增加设备的安全性,但是它们可能会带来新的安全漏洞。例如,三星原本准备增强内核安全的代码结果带来了内存损坏漏洞,谷歌在去年11月已向三星通报了这一漏洞。
在三星在2月份发布的Galaxy手机更新程序中,这个漏洞得以堵塞。该漏洞影响到了三星的名为PROCA或Process Authenticator的额外安全子系统。
三星将该漏洞,代号为SVE-2019-16132,描述为一个并不严重的问题。它由PROCA中的Use-After-Free和Double-Free漏洞组成,这些漏洞允许黑客在一些运行Android 9.0和10.0的Galaxy手机上“执行任意代码”。
顺便说一句,2月份的更新程序还包括一个针对“TEEGRIS设备”中严重缺陷的补丁。TEEGRIS设备指的是搭载三星专有TEE操作系统的较新Galaxy手机上的可信执行环境(TEE)。Galaxy S10就是TEEGRIS设备之一。
但霍恩的新博文关注的是Android为此所做的努力,这些努力旨在减少智能手机供应商向内核添加独特代码带来的安全影响。
“Android已经通过锁定哪些进程可以访问设备驱动程序来降低此类代码的安全影响。这些设备驱动程序通常是针对特定智能手机供应商的。”霍恩解释说。
例如,较新的Android手机通过Android中专用的助手进程——统称为硬件抽象层(HAL)——访问硬件。但霍恩说,智能手机供应商修改Linux内核代码的工作方式会破坏“锁定攻击面”的努力。
相反,他建议手机制造商使用Linux已经支持的直接硬件访问功能,而不是定制Linux内核代码。
霍恩说,三星增加的一些定制功能是“不必要的”,如果它们被删除了,也不会影响设备的安全性。
他推测,PROCA旨在限制已经获得内核读写访问权限的攻击者。但他认为,三星可以通过引导工程资源,从一开始就阻止攻击者获得这种访问权限,从而提高效率。
霍恩解释说:“我认为,特定设备的内核修改最好上移到用户空间驱动程序中,因为在用户空间驱动程序中,它们可以用更安全的编程语言和/或沙箱来执行,同时不会使更新的内核版本复杂化。”
声明:如若转载,请注明出处及文本链接.
中国电子商会 China electronics Chamber of Commerce
京ICP备13044805号
电话:010-68256762 E-mail:service@cecc.org.cn
Copyright @2018 CECC.org.cn All rights reserved
地址:北京市海淀区翠微中里15号楼