互联网

·

安全团队怒斥手机厂商,系统漏洞为何被有意忽视

锌媒体

如果有留意过手机厂商的系统更新日志,想必就会发现," 修复漏洞 " 是一个会高频率出现的词。而对于经常关注科技资讯的朋友来说,对于 "XX 公司被爆在 XX 软件上存在漏洞,导致 XX 人或设备受到影响 " 这类消息,应该也是熟悉得不能再熟悉了。

此前在今年夏季,来自谷歌的互联网安全团队 ProjectZero 发现了多个来自 ARM Mali GPU 的漏洞。看起来这只是网络安全领域平平无奇的一件小事,但在数月后的却引发了不小的波澜。

日前,在 ProjectZero 团队发布的最新博客中,将矛头指向了 Android 手机厂商,并措辞严厉地谴责了这些厂商的偷懒行为,其中甚至就连谷歌自家的 Pixel 系列机型也没有放过。而原因其实也很简单,因此 Android 手机厂商并没有严肃对待这一系列的漏洞,在安全更新上 " 偷奸耍滑 " 了。

此前,ProjectZero 团队陆续发现了 5 个有关 ARM 处理器中 Mali GPU 的漏洞,其中编号为 CVE-2022-36449 的漏洞可以让非特权用户获得对只读存储器的写入权限。用相关研究人员的话来说,成功利用该漏洞可以允许攻击者获得执行本机代码的权限,进而获得对系统的完全访问,并绕过 Android 的权限模型,允许更广泛的访问用户数据。

在收到了来自 ProjectZero 的漏洞报告后,ARM 方面在今年 7-8 月期间修复了这些问题,发布了安全公告、并公布了修复的源代码。然而在 ARM 做到了应该做的事情后,手机厂商却几乎都无动于衷。Project Zero 团队日前表示,在 ARM 修复了这些漏洞几个月后,他们使用搭载了 Mali GPU 的测试设备仍然会受到这些问题的影响,CVE-2022-36449 在几乎任何手机厂商的安全公告中都没有被提到。

要知道,CVE-2022-36449 漏洞影响的是 ARM 过去三代的 Mali GPU 架构(Midgard、Bifrost,以及 Valhall),其范围覆盖了从目前出货的谷歌 Pixel 7 系列,一直可以向前追溯到 2016 年的三星 Galaxy S7,除了使用自研 GPU 的高通外,其他面向 Android 手机厂商供货的芯片厂商均牵涉其中。换而言之,几乎每一个 Android 手机厂商旗下可能都有数以百万量级的受影响设备存在。

如此看来,这次的事件不就是 Android 手机厂商将用户设备的安全当作儿戏吗。但其实谷歌估计也很无奈,目前 Android 系统的安全补丁更新是以月为单位,并且 Android 的月度安全更新也是公开发布的。然而 Android 手机厂商也有话要说,月度安全更新归更新,但将安全更新应用到自家的产品上则又是另外一回事。

事实上,系统更新一直以来都是 Android 生态中的一个痛点,核心原因就是相比于封闭的苹果 iOS 体系,Android 阵营的参与者要多得多,这既是当年 Android 得以快速铺开的优势,也是如今限制 Android 机型及时更新的问题所在。抛开双方都要面对的开发者适配应用问题,Android 阵营在系统更新上就有谷歌、芯片厂商,以及手机厂商三方加入,,并且后面两者的产品线都相当复杂,所以也造成了 Android 大版本更新的难度要远胜过 iOS。

尽管谷歌多年前就开始着手提升 Android 机型的系统更新速度,从 Android 8 开始,新增的 Project Treble 就将硬件驱动与系统分离,从此手机厂商可以为手机单独推送新的 Android 版本、而不需要重新适配驱动。而在 Android 10 中引入的 Project Mainline 更是将系统功能模块化,让更上游的供应商可以更细化地提供具体的功能更新。

索尼方面在 Android 8 发布后就绘制了 Android 系统升级的流程图,并强调 Project Treble 能够将系统升级推送的流程再减少 3-4 步。但他们没有告诉用户的是,即便减少了这几步,Android 系统更新的流程依然十分复杂。就以此次的 ARM 驱动为例,在 ARM 完成了漏洞修复、并公开源代码后,手机厂商并不能像我们接收系统 OTA 更新那样简单的进行修复,而是需要调试驱动以适配自己修改过的 ROM。

毕竟 Project Treble 也只是让手机厂商可以为手机单独推送新的 Android 版本,而不需要重新适配驱动,可这一次恰恰是驱动出了问题。涉及到 GPU 驱动这样底层的功能,Android 手机厂商是需要调试 BSP(板级支持包)的,这是因为 Android 系统的 HAL(硬件抽象)层需要加载 BootLoader,而加载 BootLoader 则依赖于 BSP。但需要注意的是,HAL 中关于各硬件的参数是十分重要的商业机密,所以也导致 HAL 往往存在于 User Space 中,而非在内核中。

更为遗憾的是,在解耦硬件驱动与系统的 Project Treble 扩展项目上,谷歌方面选择了与高通合作、而非联发科。Project Treble 的 " 无追溯性原则 " 目前只能影响到高通骁龙移动平台,为此高通开发了自己的通用系统映像系统 "QSSI",其能够与谷歌的 AOSPGSI 一样与不同的 SoC 兼容。换而言之,如果此次是高通 SoC 的 Adreno GPU 出现漏洞,可能情况都要好得多。

除此之外,就算是同型号机型往往还会有不同的版本,例如三星的 Galaxy S 系列在中国、日本、美国和南美是使用高通骁龙平台,但在欧洲和韩国则使用的是自家的 Exynos 主控。再加上运营商定制版本的存在,仅仅一款设备就足以让手机厂商的运维团队焦头烂额,更别提此次 Mali GPU 影响的是过去整整 5 年间的产品,如此大的规模也足以让手机厂商感到绝望。

所以只能说,如此庞大的工作量让手机厂商不得不选择 " 摆烂 "。而想要杜绝类似的事件再次发生,只能是谷歌与 ARM 方面加强合作,效仿高通来建立一个自己的通用镜像系统,以此来加快更新的部署才行。

【本文图片来自网络】

向作者提问

  • 最新评论

游客
验证码: 点击我更换图片
全部评论