手机厂商们请不要再自行修改Linux内核代码了
Google Project Zero(GPZ)团队近期报告了三星 Android 内核上的漏洞,并指出,三星试图通过修改内核代码来抵御攻击,反而因此暴露出更多安全漏洞。
来自 GPZ 的研究员 Jann Horn 表示,不仅仅是三星,不少智能手机制造商都会向下游添加自定义驱动程序,以此直接通过硬件访问 Android 的 Linux 内核。但其实,最好还是应当使用 Linux 内核中已经存在的安全功能。
Horn 在 Galaxy A50 的 A
ndroid 内核中发现的正是上述类型的错误,原本旨在降低内核安全性的措施却引发了内存损坏的问题。具体来讲,这些漏洞允许在运行 Android 9.0 和 10.0 的某些 Galaxy 设备上“执行任意可能的代码”。
Google 于去年 11 月向三星报告了该错误,三星在 2 月刚刚发布的针对 Galaxy 手机的更新中进行了修复。
目前,一些 Android 手机通过专用的帮助程序来访问硬件,这些帮助程序在 Android 中统称为硬件抽象层(HAL)。但在 Horn 看来,手机厂商修改 Linux 内核核心部分的工作方式反而破坏了其原有的攻击锁定性能。就像三星一样,某些被添加的自定义功能是不必要的,完全可以删去,也不会造成任何影响。
因此,他建议手机制造商使用 Linux 已经支持的直接硬件访问功能,而无需再自定义 Linux 内核代码。如果要进行修改的话,“我认为,特定于设备的内核修改最好是放到上游或移入用户空间驱动中,在这里它们可以用更安全的编程语言和/或沙箱实现,同时也不会使更新的内核版本复杂化。”
谷歌发布了首个 Android 11 的开发者预览版本
谷歌发布了首个 Android 11 的开发者预览版本。预览版包括面向开发人员的预览 SDK,以及官方的 Android 模拟器,目前只能与多款 Pixel 设备配合使用。
通常开发者预览版会在每年 3 月推出,这是迄今为止最早发布的一次。去年谷歌启动了 Android Beta 计划,但今年并没有将第一个预览版本作为 Beta 发布,而是只能手动下载和刷新。也就是说 Android 11 尚未为其他采用者做准备,仅针对开发人员。
Android 11 将带来更好的 5G 体验,以及一系列关于对话功能的改进;对针孔和瀑布屏的支持也是一大亮点。神经网络 API(NNAPI)专为在 Android 设备上运行用于计算机学习的计算密集型操作而设计,在新版本中也得到了优化。
此外,谷歌提供了不少关于隐私和安全的新举措。包括授予一次性临时权限、围绕特定路径范围进行存储、扩展对生物识别的支持等。
在系统方面,Android 11 添加了 12 个新的可更新模块,其中重点包括一个权限模块、一个媒体提供者模块,和一个神经网络 API 模块。新版本还尝试通过提高应用程序的兼容性来使更新速度更快、更流畅,使测试更轻松。
最后,在 Android 11 中,服务器和 Wi-Fi 的连接性得到了增强;图像和相机有了各方面的改进;视频也迎来了低延迟解码。
Android 11 的公开测试版预计将于 5 月份开放,可能会与 Google 开发者大会即 Google I/O 同时进行。谷歌提供的发布时间表如下:
- 2月:Developer Preview 1(早期的基线构建着重于开发人员的反馈,包括新功能、API 和行为更改)
- 3月:Developer Preview 2(具有附加功能、API 和行为更改的增量更新)
- 4月:Developer Preview 3(稳定性和性能的增量更新)
- 5月:Beta 1(初始 Beta 版本,向注册 Android Beta 的早期采用者提供更新)
- 6月:Beta 2(平台稳定性里程碑,最终的 API 和行为,开始发布 Play)
- Q3:Beta 3(发布候选版本)
- Q3:最终版本(向 AOSP 和生态系统正式发布 Android 11)
END