转载

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

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

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

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

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

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

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

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

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

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

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

  这是一个隐秘的入口。

  陈良告诉雷锋网,

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

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

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

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

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

  畸形的数据

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

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

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

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

  然而,这还远远不够。

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

【内存溢出示意】

  精心构建的数据陷阱

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

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

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

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

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

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

  举例来说,

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

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

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

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

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

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

  Flanker 告诉雷锋网:

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

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

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

  Flanker 解释道。

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

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

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

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

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

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

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

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

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

  上帝眷顾他们的理由或许很多,但是有一条不容置疑,那就是这群中国黑客身上流淌着的,永不磨灭的黑客精神。

正文到此结束
Loading...