BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

简介:
    
   用户在苹果电脑上点击了一条链接,在他眼里,一切都那么平静。然而他并不知道,随着点击的轻响,无数数据在电脑中奔涌激荡。在秒针跳动五次的时间内,苹果公司顶尖程序员们藉由代码构建的层层防御体系毁灭殆尽,赛博世界的上帝悄然易主。电光火石间,黑客夺取了电脑的一切权限。

这件事,真实地发生在“黑客奥运会”——Pwn2Own 2016 上。做出这种华丽攻击的,正是来自腾讯科恩实验室的黑客们。令人发指的是,他们还使用了另一种姿势,再次让 macOS 的世界失守崩溃。

正是这种震慑人心的黑客美学,帮助他们成功获得了“世界破解大师”的称号。

从今年3月开始,全世界都在等待这群“大师”揭秘那次神秘攻击的方法。五个月过去了,科恩实验室的黑客们终于决定还原这次攻击的技术细节。他们选择的舞台,是黑客界的最高盛会——BlackHat USA。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

【从画左到画右分别是:Gross,Flanker(何淇丹)、傅裕斌、陈良】

隐秘入口——关于那次攻击的惊人真相

陈良、Flanker(何淇丹)、傅裕斌、Gross,正是当时破解 macOS 的主力黑客。

他们亲口讲述的真相,几乎超出所有人的想象:两次完美的进攻,全部击溃了苹果的图形渲染系统。这种攻击方法,在世界上只出现过一次。而那一次攻击的导演,仍然是他们。

这是一个隐秘的入口。

陈良告诉雷锋网,

远程攻击是所有攻击中难度较大的。而黑客进行远程攻击的首选正是浏览器 Safari。这两次成功的攻击,利用了两套“Safari+图形渲染”漏洞。

对于这种攻击的发生,苹果也负有一定的责任。Flanker 说,“在旧的苹果系统中,一般的应用是无权调用 GPU 和图形渲染系统的,所有的图形渲染都必须通过“窗口管家”实现;而在新的苹果系统中,为了保证用户体验的顺畅,苹果开放了普通应用调用 GPU 的权限。”

这正是一切灾难的逻辑起源。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

【macOS 图形渲染系统工作逻辑示意】

畸形的数据

简单科普一下:如果一个 App 想要绘制图形,需要提供一些逻辑坐标,这些坐标通过内核驱动器传递给 GPU 做绘制,进而转换成物理坐标,出现在显示器上。

对于已经通过漏洞“绑架” Safari 的陈良一众,可以伪造 Safari 的“矫诏”,向图形绘制系统发出各种畸形的数据。

例如一个非常非常长的矩形,例如一个边长为负数的矩形。

对于图像渲染系统来说,无论 Safari 的命令有多么不靠谱,他都无法“抗旨不尊”。于是,可怜的渲染系统手握小皮鞭,逼迫 GPU 画出一个“边长为负数的矩形”。于是 GPU 方了,它的世界崩溃了,各种不着四六的数据被写进内存,黑客的嘴角露出一丝笑容。

然而,这还远远不够。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

【内存溢出示意】

精心构建的数据陷阱

让系统完全崩溃显然不是黑客的目的,他们的目的是精准地控制这种崩溃——让GPU的“哀嚎”组成一段“动人的交响曲”。

为了达到这个目的,他们面对“三座大山”。

1、他们要利用这个微小的创口,用手术刀精准地在内存里排列出他们想要的代码。


2、即便这么艰难,但苹果的代码还是“闭源”的,他们必须通过逆向工程“猜”出苹果的代码逻辑。


3、雪上加霜的是,封闭的苹果系统在安全防护上之决绝远超 Windows。

事实上:他们每一个微小的动作,都会造成大面积的影响。

举例来说,

这就像驾驶一部叉车穿针引线,连续完成一百次;


这就像带上墨镜打游戏,连续通关一丝血都不费;


这就像同时交往一百个女朋友,还让她们感觉不到彼此的存在。

总之,这件事情,比你的想象更难。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

【现场展示对 macOS 的破解过程】

Flanker 告诉雷锋网(公众号:雷锋网)

比较简单的漏洞,可以允许黑客在任意地址写任意值。这种情况就很容易。但是和图形相关的漏洞通常是依靠 GPU 执行浮点运算。所以我们必须满足它的性质——浮点数要对应很大的整形,所以必须在精确的内存位置布置极其特别的数据。

从技术上来说,他们需要找到一片稳定的内存,然后再极其短暂的时间内,把自己精心构建的代码铺进去。就像在飞驰的列车旁,精准地跳上一个指定的车门。然而,上帝在大多数时候并不那么给力。

这个漏洞处于比较活跃喧嚣的内存区,利用时一旦内存收到干扰,就会失败。所以我们发明了一套“内存风水论”。利用内存分配某些“先进先出”的特性,构造了一些“空洞”,然后想办法让我们的代码正好落入这片“空洞”之中。

Flanker 解释道。

以上的技术路径,是两套破解方案中较为复杂的一套,被他们称为“内核态漏洞方案”,而另一套“用户态漏洞方案”虽然理论相近,但利用方案相对简洁。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

【现场演示视频中,攻击者获得系统最高权限】

永不消逝的噪音 VS 永不磨灭的黑客精神

正如前文所言,这种破解相当于“在飞驰的列车旁,精准地跳上一个指定的车门”。然而,Flanker 和 傅裕斌 告诉雷锋网一个残酷的事实:存在一定的可能性,当你准确地跳向车门时,车门却是关闭的。

这种在盗梦空间最底层将入侵者扼杀掉的力量,仍然是来自内存的“永不消逝的噪音”。Flanker 说,“用户态漏洞方案”有15%-20%的失败几率,而“内核态漏洞方案”虽然失败几率极低,但是仍然难保 100% 成功率。

这些来自赛博实际的的噪声,是他们尽了最大的努力,仍然不能控制的最低值。

在3月的 Pwn2Own 大赛上,严苛的赛制规定,一个团队只能在15分钟的时间内最多进行3次尝试。也就是说,虽然概率很小,但是他们仍然有失败的可能。

然而这一次,一直为他们出难题的上帝终于眷顾了他们,两种方案全部一次攻击成功,分别用时 5 秒和 1 分钟。

上帝眷顾他们的理由或许很多,

但是有一条不容置疑,

那就是这群中国黑客身上流淌着的,永不磨灭的黑客精神。

BlackHat 专题 | 中国黑客5秒干掉 macOS 系统,攻击方法首次全球揭秘

 
  本文作者: 史中

本文转自雷锋网禁止二次转载, 原文链接
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
【Mac os系统】安装MySQL数据库
本文详细介绍了在Mac OS系统上安装MySQL数据库的步骤,包括下载、安装、配置环境变量、启动服务、授权设置以及解决常见问题,并提供了一些常用的MySQL命令。
214 0
【Mac os系统】安装MySQL数据库
|
4月前
|
Linux 虚拟化 iOS开发
部署06--MacOS安装VMware Fusion安装
部署06--MacOS安装VMware Fusion安装
|
3月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
153 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
3月前
|
虚拟化 数据安全/隐私保护 iOS开发
VMware——安装MacOS 系统教程(仅供学习交流)
VMware——安装MacOS 系统教程(仅供学习交流)
77 4
|
5月前
|
Java Shell 开发工具
03. 【Java教程】在 MacOS 上安装 Java
03. 【Java教程】在 MacOS 上安装 Java
59 1
|
5月前
|
JavaScript iOS开发 开发者
pnpm的安装与配置(Windows/macOS)
pnpm的安装与配置(Windows/macOS)
1779 0
|
5月前
|
资源调度 JavaScript iOS开发
yarn的安装与配置(Windows/macOS)
yarn的安装与配置(Windows/macOS)
601 0
|
6月前
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
317 1
|
6月前
|
Shell iOS开发 MacOS
在macOS上安装Homebrew教程
在macOS上安装Homebrew教程
240 0
下一篇
无影云桌面