谷歌称macOS内核存在“严重”漏洞
去年,谷歌的Project Zero团队团队发现了Windows 10 S和Microsoft Edge的漏洞。现在,它曝光了 macOS 内核中存在的一个写时复制高危漏洞。
macOS 内核被官方称为 XNU,这个首字母缩写词代表“XNU is Not Unix”。 macOS 的内核 XNU 在某些情况下允许写时复制(copy-on-write,COW)行为,COW 是一种本质上没有缺陷的资源管理技术,它有一个重要的作用是可以保护复制的内存以防后续通过源程序修改,避免源进程被利用双读。但是在 macOS 这里 COW 似乎出了问题。
Project Zero发现,如果修改了用户拥有的已挂载文件系统映像,则不会通知虚拟管理子系统这些更改,这意味着攻击者可以采取恶意操作,而无需挂载的文件系统了解它。
这种写时复制行为不仅适用于匿名内存,还适用于文件映射。这意味着,在目标进程开始从传输的存储区读取之后,存储器压力可能导致保留传输的存储器的页面被从页面缓存中逐出。稍后,当再次需要被驱逐的页面时,可以从后备文件系统重新加载它们。
这意味着如果攻击者可以在不通知虚拟管理子系统的情况下改变磁盘文件,由此形成了一个高危安全漏洞。macOS允许普通用户挂载文件系统映像。当安装的文件系统映像直接发生变化时(例如,通过在文件系统映像上调用pwrite()),此信息不会传播到已安装的文件系统中。
内核XNU漏洞历史
但这并不是内核XNU第一次出现安全漏洞。
去年8月份,来自Semmle公司的安全研究员Kevin Backhouse在苹果操作系统的XNU内核中就发现了多个关键的远程代码执行漏洞。Kevin Backhouse发现的第一个XNU内核漏洞被标识为CVE-2018-4407,一个影响到macOS和iOS的堆缓冲区溢出漏洞,成功利用可能会导致目标设备崩溃。想要触发这个漏洞,攻击者只需要将恶意IP数据包发送到目标设备的IP地址即可。无需任何用户交互,攻击者只需要连接到与目标设备相同的网络。已经在去年9月17日发布的iOS 12和9月24日发布的macOS Mojave,以及10月30日发布的macOSSierra和High Sierra得到修复。
除了CVE-2018-4407之外,Kevin Backhouse还在XNU内核中发现了另外五个缓冲区溢出漏洞:CVE-2018-4259、CVE-2018-4286、CVE-2018-4287、CVE-2018-4288和CVE-2018-4291。不同的是,这些漏洞存在于客户端网络文件系统(NFS)实现中,不过也在去年7月9日发布的macOS 10.13.6中得到了修复。
谷歌的ProjectZero团队以其在公司内部以及其他公司生产的产品中发现并披露安全漏洞的能力而闻名。其成员在软件中找到缺陷,私下向制造商报告,并在公开披露之前给他们90天的时间来解决问题。
研究人员向苹果公司通报了发现于2018年11月的这一缺陷,但该公司在超过90天的最后期限之后仍未修复,这就是为什么这个漏洞现在以“高严重性”标签公开。不过,苹果已经收到了这个问题,正在与Project Zero合作开发未来macOS版本的补丁。
详细的概念验证可以查看:
https://bugs.chromium.org/p/project-zero/issues/detail?id=1726&q=
参考来源:
开源中国
cnBeta.COM
黑客视界
- End -
热门文章阅读
1、2019看雪CTF 晋级赛Q1 3月10日正式开启! 防守篇征题倒计时!
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com