基于苹果自研芯片的 Mac 电脑对安全意味着什么?

下一个十年的安全机遇之一:基于 Apple Silicon (arm64) 的 Mac 电脑对安全来说意味着什么?

作者 | 蒸米,阿里巴巴高级移动安全专家

责编 | 唐小引

本文经作者授权 CSDN 发布

WWDC 2020 的全称为 2020 年的苹果全球开发者大会,也是每年一度的苹果春晚。这次大会上除了发布了常规的 iOS、macOS、iPadOS 和 watchOS 升级以外,最让人感到惊喜的当属基于 Apple Silicon 芯片的 Mac 系列电脑了。

一直以来,苹果的自研芯片已经带来了一代又一代的成功产品,其中包括了历代的 iPhone、iPad 以及 Apple Watch。苹果在 WWDC2020 上表示,最新推出的 iPad Pro 上使用的芯片的图形处理能力已经是第一代 iPad 的 1000 倍。这正是 iPad Pro 比大多数 PC 要快的原因之一。这也就预示着这样的架构转移到 Mac 端可以实现更加超凡的效果。因此,苹果便想要打造一颗可以提升性能同时降低功耗的电脑芯片。

不出意外,发布会结束后,开发者和用户都对新架构的 Mac 电脑表示出了浓厚的兴趣,也都有自己的解读。因此,我们就不浪费时间在一些跟本文主题无关内容的讨论上了,而是重点分析一下这个新架构对安全方面的影响。不过要说明一点的是,因为我们目前还没有拿到新架构的 Mac 电脑,并且苹果在产品正式出厂之前也会有很多改动,我们所调研的资料都是根据这次 WWDC 发布会中的信息,因此文章内容可能会有一些错误或者和正式产品上的差异,请谅解。

硬件特性的安全机制

首先可以确定的是在 iPhone 上使用的硬件特性的安全机制都可以在基于 Apple Silicon 芯片的 Mac 系列电脑上部署了。这些安全机制有:

W^X: Write XOR execute,苹果芯片会强制内存页面的属性要么可以写,要么可以执行,但不能同时为可以写可执行。特别是像 JS 那种带有 JIT 功能语言,经常会分配可写可执行的内存页面,苹果因此提供了一个专门的 API(pthread_jit_write_protect_np)用于 JIT 来做 RW 和 RX 内存页面之间的转换。 KPP: 内核完整性保护。当内核载入内存以后,苹果芯片会保护内核的内存页面,以防止其被篡改。关注 iOS 越狱的同学应该对这个机制比较熟悉。 PAC: 指针验证。指针验证是利用 arm 架构的特性,在 PC 进行跳转的时候对指针进行验证,从而可以有效地防止像 ROP(返回导向编程)这样的攻击。苹果在 iPhone XS 和 XR 中首次部署了这个机制。目前苹果只是对 macOS 的内核和系统服务做了 PAC 的防护,我们自己在 Mac 上编写的 app 并没有 PAC 的防护。 Device isolation: 设备内存隔离。在 Intel 架构的 Mac 上,系统上的设备和驱动的内存空间是共享的,但是在 arm64 架构的 Mac 上,不同设备和驱动之间的内存是相互隔离的。

Secure boot: 安全启动。新架构的 macOS 的启动使用了 iOS 的安全启动模式,苹果芯片会验证每一步加载的固件的签名,以保证其完整性和安全性。同时,在系统安装的时候,用户可以选择是 full security(完整安全)模式还是 reduce security(低安全)模式。苹果默认会采用完整安全模式,在完整安全模式下,可以认为这台 mac 和一台 iPhone 一样,比如无法降级,无法加载第三方的内核扩展。在低安全模式下,用户可以安装任意版本的 macOS 以及加载内核扩展,关闭 SIP(系统完整性保护)等。

安全软件的适配

理论上,对安全软件以及其他第三方应用来说,开发者需要对应用进行重新编译才能在 arm 架构的 macOS 上运行。但是有些比较老的软件或者库可能很难找到可以运行的 arm64 版本。好消息是,苹果提供了 Rosetta 2 仿真软件。

如果我们不重新编译的话, Rosetta 可以重新翻译和模拟 x86_64 的环境,因此 x86_64 的二进制文件也可以直接在 macOS 以仿真的形式运行。但是效率会比较低。

开发者还可以将 App 或者库重新编译为 universal 模式(同时包含 arm64 和 x86_64),这样既能在 arm 架构的 Mac 上运行又能在 intel 架构的 Mac 上运行。但是这样做要对很多代码进行修改以及为 app 重新设置一些环境变量(比如 intel 的内存的 pagesize 是 4k,arm 内存的 pagesize 是 16k)。另外,还有一件非常麻烦的事情,如果我们的应用中用到了一些第三方的库,并且这些库没有提供 arm 的版本,那么我们就没有办法成功编译我们的应用,解决方案是:1. 要么采用仿真的形式;2. 要么等待开发者对库进行更新。

iOS 应用和应用安全扫描

在 iOS 上有很多实用和爆款的应用让 iOS 的生态比 macOS 的生态更加成功。当然,苹果也意识到了这一点。因此,arm 架构的 macOS 的一个杀手锏就是可以直接运行 iOS 的应用。虽然官方说需要开发者签署一个新的协议,就可以让 iOS 的应用在 macOS 上上架。但个人推测,只要对 app 进行重签名,也可以运行任意 iOS 应用。对于安全软件来说,不但要处理之前 x86_64 架构的二进制文件和应用,在 arm 架构的 macOS 上,iOS 应用都可以在 macOS 上正常运行。因此,杀毒和文件扫描工具,也要有分析 arm64 架构的二进制文件以及 iOS 应用的能力,不然用户安装了 arm 架构的恶意软件,安全软件却无法对其进行分析,则无法保证用户系统的安全性。

新的安全框架: Endpoint Security

正如上文所提到的,在完全安全模式下,第三方的内核扩展是无法加载的。个人猜测是因为苹果想提供一个无法被第三方打扰的安全内核环境,从而可以安全的运行 AppStore(保证支付安全),iOS App(内购),以及保护安全芯片的数据等。但是现在很多 EDR 的安全软件都是基于内核扩展做的,如果不能使用内核扩展,则很多功能都不能正常运行。

为了解决这个问题,苹果提供了一个新的安全框架叫 Endpoint Security(简称 ES)。现在已经支持超过 100 种系统事件的处理(随后会增加更多)。ES 的框架如图所示:

ES 采用系统扩展(system extension)的形式,本身运行在用户态,然后监听内核传递过来的信息,因此就算 ES 客户端 crash 了,系统也不会 panic 和重启;苹果提供了 early load(早期加载)模式,因此可以在系统启动的时候加载扩展,从而可以获取所有的事件;另外,因为是 ES 客户端是系统权限,进程会被保护的很好,不会轻易被 root 权限卸载掉。

虽然 macOS 10.15 上就已经开始支持 ES 框架了,但由于是比较新的框架,API 的参数和功能也经常改变,还出现过一些 bug。但随着这两年的开发,ES 框架已经越来越稳定了,并且功能一直在增强,比如最新的版本已经可以支持监控 FCNTL,PIPE,签名验证失败等相关的操作了。

不出意外,2 年内随着内核扩展的淘汰,绝大多数 EDR 产品都会基于 ES 框架进行开发。

总结

可以说基于 Apple Silicon 的 Mac 电脑对于安全行业来说又带来了一个新的机遇。想要比较好的支持新的 arm64 架构的系统和新的 ES 安全框架,需要很多安全从业者的研究和工作才能完成。未来 2 年更是 Intel 架构到 Apple Silicon 架构过渡的时期,如何保证安全软件的兼容性也是安全从业者需要面临的问题。再加上最近爆出的硬件特性的安全漏洞越来越多(比如 Meltdown & Spectre),安全从业者还要同时关注和防御多个架构的硬件级漏洞,这更是一项非常严峻的挑战。

参考资料:

WWDC 2020: https://developer.apple.com/wwdc20/

作者简介:蒸米,阿里巴巴高级移动安全专家,香港中文大学博士。OverSky、蓝莲花和 Insight-labs 成员。发现并命名了 XcodeGhost 和 WormHole。曾在腾讯、百度和 FireEye 实习工作。BlackHat USA,RSA,DEFCON,HITB 演讲者。

欢迎微博关注@蒸米spark:https://weibo.com/zhengmin1989

欢迎“分享”、“点赞”、“在看”三连走起!

也许你还喜欢

AirPods免费送!苹果开启返校季大促

7月9日讯,高考刚刚落下帷幕,苹果立即公布了今年的「返校季」大促销活动,符合教育优惠条件

都是5G高端旗舰,一加8pro和华为P40p

华为和一加都是不错的手机品牌,两个品牌都在海外有极高的知名度,都可以算得上国际手机厂

“社交距离安全摄像头”、“浴袍口

【环球网综合讯】据日本J-CAST报道,2020年上半年,全球所有行业都被新冠病毒打了个措手不

惠普ENVY x360 13评测:锐龙芯、10小

凭借着全新的7nm锐龙处理器,AMD今年以来在笔记本市场可谓风生水起——无论是在春季热销

华为怎么办?台积电这次与苹果合作,到

台积电这次与苹果合作,到底是对是错呢? 库克说他要生产2000万到3000万台苹果手机,张忠谋

坐拥OLED电视市场半壁江山的创维,

[钉科技述评]55英寸液晶电视不到1300元,65英寸液晶电视不到1800元,75英寸液晶电视不到

Mini-LED屏14英寸MBP将于明年初量

>>>2020 苹果教育优惠来袭,购买就送 AirPods!点击进入苹果教育商店 据台湾研究公司 TrendFo

iPhone 12可信度最高爆料总结!所有

iPhone 12如无意外将会在两个月后,也就是9月发布,至今已经有许多可靠的爆料消息流传出来

直播带货这碗饭虽香,但明星可能真的

文/东方亦落 最近,一些厂商感觉自己被明星带货坑惨了。一家白酒企业请小沈阳直播卖白酒

5G、高刷、续航、性价比应有尽有,iQ

作者:龚进辉 当时间的车轮来到下半年,手机圈依然热闹非凡,新品一款接一款而至。这不,在上