苹果芯片,又出大问题了
作者:微信文章靠着M系列芯片,苹果这几年风生水起。同时,M系列常常因其卓越的性能而备受称赞。不过,光辉的背后也时常被曝出漏洞和隐患。尤其这几年,诞生了许多诡谲的攻击方式,让人防不胜防。
这几日,Apple Silicon就被曝存在新的安全漏洞。这个漏洞非常可怕,根本不需要安装什么恶意软件,只是打开Safari或者Chrome浏览器就有可能泄漏机密信息。同时,这些漏洞机制非常类似当初震惊世界的Meltdown(熔断)和幽灵(Spectre)漏洞,而且还针对苹果硬件进行了设计。
甚至不需要物理访问
上周,佐治亚理工学院和波鸿鲁尔大学的安全研究人员团队发表了两篇论文,介绍了针对 Apple芯片的两种侧信道推理执行攻击——SLAP和FLOP。
此论文一经发布,就引发了轩然大波,因为这两个漏洞的影响面太大了,也太可怕了。它们对现代和广泛使用的硬件有影响,而且可以远程执行,并且不需要物理访问。
据演示网站的演示,通过使用脚本执行一系列内存加载,就可以获取到一些私密的信息。也就是说,不需要感染恶意软件,只要现代浏览器允许高级计算,就能有效地充当攻击工具。
受害者只需要访问恶意网站就可能会泄露机密,绕过浏览器沙盒、ASLR和传统的内存保护。同时,这项漏洞获取数据的范围包括位置历史记录到信用卡信息。
受影响的 Apple 设备如下:
2022年至今的所有Mac笔记本电脑(MacBook Air、MacBook Pro)2023年至今的所有 Mac台式机(Mac Mini、iMac、Mac Studio、Mac Pro)2021年9月至今的所有iPad Pro、Air和Mini 型号(Pro第6代和第7代、Air第6代、Mini第6代)
2021年9月至今的所有 iPhone(所有13、14、15和16型号,SE第3代)
虽说迄今为止,没有任何证据表明SLAP或FLOP已被用于“野生”,但仍然是很大的隐患。
值得一提的是,这两个漏洞研究人员早就向苹果反应,但苹果觉得没什么大不了,就一直没有修复。据称,研究人员于2024年3月24日 (SLAP) 和2024年9月3日(FLOP) 向 Apple披露了这些漏洞。Apple承认存在这样的漏洞,并表示计划解决这些问题。然而,在撰写本文时,这些缺陷仍未得到缓解。
苹果向知名IT媒体bleepingcomputer的回应则是:“我们要感谢研究人员的合作,因为这个概念验证促进了我们对这些类型威胁的理解,根据我们的分析,我们认为这个问题不会对我们的用户构成直接风险。”
在Apple提供安全更新之前,一种可能的缓解措施是关闭Safari和Chrome中的 JavaScript,尽管这预计会破坏许多网站。
注:JavaScript和WebAssembly是构成交互式网页的主干,例如在线游戏和视频流服务业。JavaScript可以直接更新网站的内容,而WebAssembly用于高性能Web应用程序。最终 WebAssembly与JavaScript交互,以向用户提供动态内容。由于两者都在浏览器环境中沙盒化,因此侧信道攻击是 在这些语言中实现明显更难。浏览器会自动执行这两种类型的代码,并且不要求用户下载恶意程序。
又是侧信道攻击,原理很有意思
为什么这两个漏洞这么强大,只要从浏览器就能获得信息?因为这两个漏洞是一种“侧信道攻击”。
所谓侧信道攻击(Side Channel Attack,SCA)指的是通过收集分析加密软件或硬件在工作时附带产生的各类侧信道物理量来破解密钥的方法。比如,密码算法的功耗分析攻击、电磁分析攻击、计时攻击、故障注入攻击等。
而SLAP和FLOP的信道,都来自CPU的微架构。每当攻击者和目标在物理CPU上运行时,它们都会共享CPU的内部资源,例如内核、缓存和内部缓冲区。共享资源会导致争用,而争用可以间接衡量通过几个变量,如timing或power consumption等。这些测量会在CPU 上目标的行为上留下“指纹”。因此,攻击者可以滥用此漏洞来推断目标的密钥,即使它们在进程级别或虚拟机管理程序级别被隔离。
两个漏洞的攻击原理也都非常有意思。
SLAP的工作原理
攻击者可以“训练”CPU 预测特定的内存访问模式,然后通过突然改变内存布局来操纵其访问秘密数据,导致后续的预测指向该秘密数据。
CPU在信任其预测的情况下,会在意识到并纠正错误之前读取并处理敏感数据,从而使攻击者能够利用缓存计时或其他侧信道来推断泄露的数据。
通过反复实施SLAP攻击,攻击者能够重构被盗取的信息,比如获取Gmail收件箱数据、亚马逊订单及浏览数据,还有Reddit用户活动信息。
根据研究人员的说明,他们对Apple实现的加载地址预测(LAP)进行了逆向工程,如果在步进内存地址上训练LAP,LAP将访问步进模式中的下一个序列地址,并使用该地址中的数据执行计算,即使程序从未实际访问过该地址。需要注意的是,这与硬件预取不同。虽然预取器可能会将预测地址中的数据带入缓存,但它们不会基于预测推测性地执行后续指令。
FLOP的工作原理
研究人员通过一个执行循环对苹果 M3 CPU 进行训练,该循环先加载一个特定常量值,然后触发预测错误,诱使M3 CPU做出错误猜测,以此展示了FLOP攻击。
当CPU处于这种错误状态时,它会通过缓存时序攻击泄露数据。这种数据泄露持续的时间足够长,使得研究人员能够在CPU自我纠正之前测量内存访问时间并推断出秘密数据的值。
通过 FLOP,研究人员演示了如何逃离Safari的沙盒、从Proton Mail收件箱中检索发件人和主题信息、窃取Google地图位置历史记录以及从iCloud日历中恢复私人事件。
与SLAP类似,研究人员对苹果CPU中的加载值预测(LVP)机制进行了逆向工程,并发现,如果LVP观察到相同的内存子系统为相同的加载指令反复返回相同的数据值,LVP将尝试在下一次执行该加载指令时猜测加载结果,即使该加载指令访问的内存现在包含完全不同的值。因此,利用LVP,可以诱使CPU对错误的数据值进行计算。
SLAP和FLOP有啥区别?
从原理来看,好像两个漏洞基本一致,都是通过测量内存访问时间,来推测数据的值。
不同的是,SLAP利用了Safari中的一个现象,即属于不同网页的字符串可以在彼此接近的内存区域中分配,从而泄露与攻击者自身字符串相邻的跨源字符串;而FLOP是一种推测性类型混淆攻击,它导致CPU绕过对数据结构的完整性检查,从而在Safari和Chrome中实现从任意地址读取内存的原数据。
此外,SLAP和FLOP利用的底层CPU微架构也有所不同。SLAP使用加载地址预测器(LAP),而FLOP使用加载值预测器(LVP)。顾名思义,LAP预测地址,而LVP预测值。
诡谲的攻击,现实的科幻片
侧信道攻击,堪称是“现实的科幻片 ”。黑客并不需要直接侵入目标系统,而是通过分析系统周围环境中的各种信息,包括能量消耗、电磁辐射、声音、时间计算以及热量等来发动攻击。早在2016年,熔断(Meltdown)和幽灵(Spectre)将“侧信道”概念引入了更广泛的公共意识中。
迄今为止,几乎所有现代 CPU 都采用了性能优化技术——分支预测,即当结果不易获取时,对CPU应采用的控制流(如分支和返回指令)进行预测。一旦完成预测,CPU 便会按照预测结果执行指令,这一过程被称为推测执行。倘若CPU意识到预测错误,就必须恢复到预测前的状态。几乎所有台式机和移动设备的CPU,无论其制造商是苹果、AMD 还是英特尔,都存在这种行为。
不过,攻击者正是可以利用推测执行过程中产生的诸如缓存访问模式、执行时间等侧信道信息,来推断出敏感数据。尽管CPU会在预测错误时尝试恢复,但这些短暂的执行状态变化所泄露的信息,足以被攻击者利用,从而突破系统原本的安全防护。
事实上,CPU“推测执行”(Speculativeexecution)本身并不是一件坏事,你可以把它看作是一种性能优化,让CPU“推测”它下一步需要执行什么。但除非它受到严格控制,否则它很容易出现安全漏洞,而且这些漏洞几乎不可能在不降低性能的情况下修复。比如,自从幽灵、熔断爆发以来,Intel、Arm一直致力于“预测执行”类侧信道攻击的缓解,而迄今为止的25个相关变种缓解技术中,一般都伴有较大的性能开销。
“预测执行”+“侧信道”组合对芯片来说,冲击是巨大的,为攻击者的攻击又指明了一个方向。因此,这几年引发了许多芯片行业者的关注。
在这一领域,荷兰Riscure公司的Inspector和FI系统、法国Secure-IC的Smart-SIC Analyzer以及日本RCIS研究中心的SASEBO开发板等工具均被视为领先的侧信道分析产品。防护方法也是现如今研究热点,包括设计特殊逻辑电路、构造抗泄漏安全性密码方案、消除侧信息泄漏、使用随机对数算法流程中易受攻击的点进行掩码处理。
苹果的苦恼,漏洞频发
事实上,这并非苹果芯片第一次被曝漏洞,自从面世以来,M系列芯片就在经受着诸多考验。
2018年,CPU芯片超级漏洞——Meltdown(熔断)和Spectre(幽灵)被发现,不仅影响了自1997年以来生产的几乎所有x86设备,也波及到彼时所有Mac和iOS设备。这些安全漏洞依赖于“推测性执行”,即芯片可以通过同时处理多条指令,甚至无序处理来提高速度。
2020年,腾讯安全玄武实验室对外公布了一个苹果M1芯片的安全漏洞。攻击者在打开所有系统保护的情况下,在一秒之内获取到了系统的最高权限(root身份),从而可以任意读写设备中存储的通讯录、照片、文件等用户隐私。
2022年,GoFetch研究团队在M1和iPhone A14仿生芯片中发现了一个以前未知的“指针追逐 DMP”。这项研究来自不同的学者群体,引发了名为Augury的攻击,这是一种识别并利用泄漏指针的内存侧通道的攻击。最终,当使用常量时间编程后,Augury无法将数据信息和数据地址混合在一起。
2022年,麻省理工学院(MIT)发现,M1芯片的“指针身份验证”(PAC)是广泛存在于Arm处理器当中的一项硬件安全机制,而黑客则可通过指针身份验证,不留痕迹地攻破M1发的最后一道防线,并且由于是硬件安全机制,苹果无法通过更新M1芯片软件补丁来修复它。那时候,苹果表示,这不足为惧。
2023年,美国佐治亚理工学院公布一种针对苹果M/A系列芯片侧信道攻击的方法iLeakage,利用该攻击方法可以从 Safari 网页浏览器中提取敏感信息。
2024年,苹果最新的M系列芯片中,安全专家意外发现一个可被用于提取加密操作中使用的秘密密钥的安全缺陷。 这一安全漏洞被正式命名为“GoFetch”,与数据内存依赖预取器(Data Memory-Dependent Prefetcher, DMP)功能有关,该功能通过微结构侧信道攻击,针对频繁时间同步的加密处理过程,进而在CPU缓存中截取敏感信息。
可以说,自从M系列芯片问世以来,漏洞便不断袭来,修修补补。而除了M系列芯片本身,苹果GPU也发现过漏洞。
2024年1月,苹果公司确认Apple GPU存在安全漏洞报告,并承认iPhone 12和M2 MacBook Air受影响。该漏洞可能使攻击者窃取由芯片处理的数据,包括与ChatGPT 的对话内容等隐私信息。
总之,黑客的手段越来越高级了,苹果面临的挑战也越来越多了。目前,对于侧信道攻击,唯一的方法的就是自损性能,要么就是自损功能,很难有更高明的修复手段。可能这就需要我们期待,苹果未来如何应对这些漏洞。
参考文献
佐治亚理工学院:https://predictors.fail/
bleepcomputer:https://www.bleepingcomputer.com/news/security/new-apple-cpu-side-channel-attack-steals-data-from-browsers/
appleinsider:https://appleinsider.com/articles/25/01/28/two-apple-silicon-chip-flaws-could-make-your-private-data-vulnerable-to-theft
Tom‘s Hardwarehttps://www.tomshardware.com/tech-industry/cyber-security/apple-silicon-is-vulnerable-to-side-channel-speculative-execution-attacks-flop-and-slap
北京忆芯科技有限公司:https://mp.weixin.qq.com/s/0Uds68oqupNhGZGzjpXCyA
华为安全应急响应中心:https://mp.weixin.qq.com/s/SfyyEXqoW-fA-XE_3U9SAw
来源于电子工程世界,作者付斌
https://mmbiz.qpic.cn/mmbiz_jpg/yv3RxdFmqa0ICfzo9wWpQclUcWLI1d6CKuSbStOUajdEqVEiaSCvbbxEQlqSJcrSZ3MEiaGa7icfXZzQJtnREUa1g/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp
赵工
13488683602
zhaojh@kw.beijing.gov.cn
投稿/推广/入群/ 转载
页:
[1]