Google工程师:手机厂商们请不要再自行修改Linux内核代码了
2020-02-19 22:01
2731 查看
Google Project Zero(GPZ)团队近期报告了三星 Android 内核上的漏洞,并指出,三星试图通过修改内核代码来抵御攻击,反而因此暴露出更多安全漏洞。
来自 GPZ 的研究员 Jann Horn 表示,不仅仅是三星,不少智能手机制造商都会向下游添加自定义驱动程序,以此直接通过硬件访问 Android 的 Linux 内核。但其实,最好还是应当使用 Linux 内核中已经存在的安全功能。
Horn 在 Galaxy A50 的 Android 内核中发现的正是上述类型的错误,原本旨在降低内核安全性的措施却引发了内存损坏的问题。具体来讲,这些漏洞允许在运行 Android 9.0 和 10.0 的某些 Galaxy 设备上“执行任意可能的代码”。
Google 于去年 11 月向三星报告了该错误,三星在 2 月刚刚发布的针对 Galaxy 手机的更新中进行了修复。
目前,一些 Android 手机通过专用的帮助程序来访问硬件,这些帮助程序在 Android 中统称为硬件抽象层(HAL)。但在 Horn 看来,手机厂商修改 Linux 内核核心部分的工作方式反而破坏了其原有的攻击锁定性能。就像三星一样,某些被添加的自定义功能是不必要的,完全可以删去,也不会造成任何影响。
因此,他建议手机制造商使用 Linux 已经支持的直接硬件访问功能,而无需再自定义 Linux 内核代码。如果要进行修改的话,“我认为,特定于设备的内核修改最好是放到上游或移入用户空间驱动中,在这里它们可以用更安全的编程语言和/或沙箱实现,同时也不会使更新的内核版本复杂化。”
相关文章推荐
- 修改设置->关于手机->法律信息 下有一些Item,如开放源代码许可、Google法律信息等,这里分析的是Android 4.4的代码
- 存储班长信息的学生类,将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能?如果不行,请修改程序。请不要修改给出的代码,只能修改自己写的代码。
- 类似baidu google分页器效果的代码(修改于 kwklover 同学基础上)
- 手机+PC双屏显示:android端即时预览PC端修改的代码
- 线程安全7_synchronized代码块(不要在线程内修改对象锁的引用)
- 三星和Google荣登Linux内核代码捐献排行榜
- 11周2-2项目 - 存储班长信息的学生类,将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能?如果不行,请修改程序。请不要修改给出的代码,只能修改自己写的代码。
- Google的工程师每天能写多少的代码呢?
- 手机QQ2008聊天记录导入手机QQ2009 塞班第三版Python全代码 修改
- Google 工程师一天需要写多少行代码?
- Android jni aes加解密,实现文件的加解密,具体实现可以自行修改,上面的代码为简单介绍,下面的是JNI端实现文件加解密,可以修改为字符串加解密
- 修改代码时,请不要引用新的 bug
- Google 工程师一天需要写多少行代码?
- 在串口下添加set和get命令(修改Linux内核代码)
- [置顶] linux系统工程师修改打开文件数限制代码教程。服务器运维技术
- 手机使用了QWERTY keypad,想要在idle home screen时长按SHIFT键进行静音模式切换,该如何修改代码
- 抄google工程师的代码:通过读setting的源代码,利用反射机制调用系统隐藏的API
- Ajax无刷新分页偷懒版(该例子写于YII框架下,其他框架请自行修改部分代码)
- 修改bug时,尤其是别人的代码,永远不要钻牛角尖。应该利用debug,找到问题根源的突破口。
- Google工程师发现公布XP漏洞 并提供攻击代码