聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

谷歌 Project Zero 团队表示,三星为阻止 Galaxy 手机遭攻击而修改了内核代码,但实际上引发了更多的安全漏洞。

谷歌安全研究员 JannHorn 表示,不单是智能手机制造商如三星等通过添加下游定制化驱动实现对安卓 Linux 内核的直接硬件访问权限而制造了更多的漏洞问题,而且厂商使用 Linux 内核中已经存在的安全功能会更好。

Horn 在三星 Galaxy A50 安卓内核中找到的正是这种类型的错误。但他表示,三星的做法在所有智能厂商中非常常见,它们将代码添加到 Linux 内核代码下游中,而上游内核开发者并未对其进行审计。

即使当这些下游定制化旨在提升某设备的安全性,但它们也带来了新的安全漏洞问题。三星在内核安全缓解措施中引入了一个内存损坏漏洞,而该漏洞是谷歌在11月份报告给三星的。

三星在2月份发布的安全更新中已经修复了 Galaxy 手机中的漏洞问题 (SVE-2019-16132),它影响三星的额外安全子系统 PROCA (或称为 Process Authenticator)。该漏洞是由PROCA 中的释放后使用和双重释放漏洞组成的中危漏洞,可导致在运行安卓 9.0 和10.0 的某些 Galaxy 设备上“执行任意代码”。

很偶然地,三星在2月份发布的更新还修复了存在于“TEEGRIS 设备”中的一个严重漏洞。TEE 即更新的Galaxy 手机上的受信任执行环境,它包含三星的专有 TEE 操作系统。GalaxyS10 也是其中的一种TEEGRIS 设备。

Horn 新发布的博客文章主要关注安卓所采取的降低厂商向内核增加唯一代码所带来的影响。Horn 解释称,“安卓一直通过锁定能够访问设备驱动的进程来限制这类代码产生的安全影响。这些驱动一般随厂商的不同而不同。”

例如,更新的安卓手机通过专门的帮助进程(被统称为 Hardware Abstraction Layer (HAL))访问硬件。但 Horn 表示修改了 Linux内核核心部门的运作方式后会破坏“锁定攻击面”所发挥的作用。他建议手机制造商使用 Linux 支持的直接的硬件访问功能而非定制化 Linux 内核代码。

Horn 表示,三星添加的某些定制化功能是“不必要的”,如果将其删除则不会对设备产生任何影响。他认为 PROCA 旨在限制已经获得内核读写权限的攻击者。但他也表示三星如果能够将工程资源用于阻止攻击者获取这种权限会更有效。

Horn 解释称,“我认为如果将具体设备的内核修改上游化或者迁移到用户空间驱动将更好,它们可以以更安全的编程语言实现以及/或者沙箱化,同时不会使内核更新复杂化。”

推荐阅读

谷歌修复安卓蓝牙组件中无需用户交互的 bug

安卓2020年1月更新发布40个补丁,含修复1个严重的 Media 框架 RCE漏洞

原文链接

https://www.zdnet.com/article/google-to-samsung-stop-messing-with-linux-kernel-code-its-hurting-android-security/

题图:Pixabay License

转载请注明“转自奇安信代码卫士 www.codesafe.cn”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

点个“在看”,bounty 不停~

谷歌喊话三星:别再搞 Linux 内核代码了,安卓安全也不保了相关推荐

  1. Linux内核代码风格

    Linux内核代码风格 这是一个简短的文档,描述了linux内核的首选代码风格.代码风格是因人而异的,而且我不愿意把我的观点强加给任何人,不过这里所讲述的是我必须要维护的代码所遵守的风格,并且我也希望 ...

  2. Linux 内核代码行数达到 2700 万行量级

    来自:技术让梦想更伟大 截止到2020年1月1日09:00:10,Linux内核Git源码树中的代码达到了2780万行. phoronix网站统计了Linux内核在进入2020年时的一些源码数据并作了 ...

  3. Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码

    CSDN GitHub Ubuntu14.04搭建LXR本地服务器阅读Linux内核代码 AderXCoding/system/tools/lxr 本作品采用知识共享署名-非商业性使用-相同方式共享 ...

  4. linux 内核编号含义_如何阅读linux内核代码?

    阅读代码从来就是不可行的方法,有篇文章详细讲了这个事,很多人都觉得应该多读代码, 读好的代码,比如Donald Knuth. 但事实上, 只要简单让你描述一下最近读了什么代码,绝大多数人都说不上.文章 ...

  5. linux内核源码只有makefile文件没有c文件,linux内核代码的编写初步以及makefile的配置...

    在linux内核代码开发中,头文件不能包含标准C头文件,只能采用GNC标准 而且内核开发中没有main函数,只有init 和 exit ,这是每个内核模块中必须要包含的函数模块. 在GNU C标准中, ...

  6. 最小的linux内核代码,带你阅读linux内核源码:下载源码、编译内核并运行一个最小系统...

    要学习linux内核,先要能够编译内核,还需要了解内核如何启动根文件系统.这样你才能在修改linux内核代码之后,完成验证的过程. 本文教你完成下列过程: 1.下载linux并编译linux内核源码 ...

  7. Linux内核代码华人贡献统计

    http://www.remword.com/kps_result/ 这个站点对Linux内核代码补丁进行了详细的统计,感兴趣的童鞋可以看一下. 在这里给大家看一下2005年4月16日至今各个国家贡献 ...

  8. 再思linux内核在中断路径内不能睡眠/调度的原因(2010)【转】

    转自:http://blog.csdn.net/maray/article/details/5770889 Linux内核中断路径中不能睡眠,为什么? 这里就行了很深入的讨论,值得一看:http:// ...

  9. 用VSCODE看linux内核代码

    前言 使用VSCODE在看内核代码时一定会出现如下几种情况: 跳转等半天 跳转出现错误 跳转时出现N多定义 目录结构繁杂,找文件困难等等 通过settings.json屏蔽的方式 该方式比较方便,但是 ...

最新文章

  1. 01_9_ServletContext
  2. 存储过程 not supported yet_让我们来看看+Redis如何存储和计算一亿用户的活跃度
  3. NYOJ_37_回文字符串
  4. 运用Zabbix实现内网服务器状态及局域网状况监控(2) —— 环境配置
  5. 【牛客 - 303K第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Technology Tree(树形dp,tricks)
  6. 暑假集训-个人赛第六场
  7. HCIE-Security Day26:IPSec:实验(一)两个网关之间通过IKE方式协商IPSec PN隧道(采用预共享密钥认证)
  8. java程序: 倒计时的小程序 (GridPane, Timer, Calendar, SimpleDateFormat ...)
  9. 临时邮箱email网址
  10. mysql 5.6 cmake 参数_编译cmake MySQL 5.6.10报错
  11. MYsql的数学函数
  12. 慧之声科技- 程序员的爱情故事
  13. python csv文件和xlsx文件混杂时,提取指定列数据并合并
  14. Statspack 基础入门
  15. 第一周《人月神话》读书笔记-------黄志鹏
  16. easyconnect 通过Vmware虚拟机挂ccproxy变非全局代理
  17. unity(登录注册用手机号短信验证)
  18. 思岚科技亮相2017电子博览会 倍受瞩目
  19. IntelliJ IDEA 之 jdk Language level
  20. 福禄克DSX5000怎么导出数据

热门文章

  1. Visual Studio 2008 SDK Version 和Microsoft Visual Studio 2008 Shell发布了
  2. OC 实现的几个排序算法
  3. Linux下Kafka单机安装配置
  4. [转] js对象监听实现
  5. Nginx+Keepalived实现站点高可用
  6. Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
  7. solr5.2.1安装
  8. 修改ASM磁盘组冗余模式(一):copy-switch方式
  9. Sql Server 2005跨数据查询
  10. android真实项目教程(一)——App应用框架搭建_by_CJJ