写点什么

针对苹果 M 和 A 系列 CPU 的新型侧信道攻击

作者:Sergio De Simone

  • 2025-03-14
    北京
  • 本文字数:1522 字

    阅读完需:约 5 分钟

针对苹果M和A系列CPU的新型侧信道攻击

来自佐治亚理工学院和波鸿鲁尔大学的研究人员演示了针对苹果近期发布的 M 和 A 系列 CPU 的两种新型侧信道攻击,这些攻击会导致用户在使用 Chrome 和 Safari 浏览器访问热门网站时泄露敏感信息。


这两种攻击分别被称为 FLOP(通过错误的加载输出预测破坏苹果 M3 CPU)和 SLAP(通过苹果芯片的加载地址预测进行数据推测攻击),它们可以在 2021 年及以后发布的 Mac、iPhone 和 iPad 上执行。具体来说,SLAP 影响使用 M2/A15 及更新型号 CPU 的设备,这些 CPU 配备了加载地址预测器(LAP),而 FLOP 影响使用 M3/A17 及更新型号的设备,这些设备配备了加载值预测器(LVP)。


据研究人员称,SLAP 和 FLOP 破坏了浏览器内置的隔离保护机制,允许一个网页读取另一个网页的内容,其中可能包含敏感数据。由于这两种攻击都是基于微架构的,因此不会留下任何痕迹。


这两种漏洞源自苹果芯片 CPU 中使用的两个预测子系统:加载地址预测器(LAP)和加载值预测器(LVP)。这些子系统通过微架构优化来缓解数据危害),并减少 Read-After-Write 依赖导致的减速。


加载地址预测器会根据之前的访问模式猜测 CPU 下一次将访问哪个内存地址:


如果预测的地址被缓存,CPU 将从预测的地址而不是程序原本指定的地址进行推测性加载。一旦从预测地址获取了值,CPU 将使用程序代码中下游的任意指令对该值进行计算。


加载值预测器会在实际值可用之前猜测下一次内存访问将返回的数据值:


LVP 会观察加载操作返回的数据值。如果这些值是固定的,这些 CPU 可以在下一次执行加载时打开一个推测窗口,而不是等待 RAW 依赖解决后才有可用的结果。


研究人员发现,当 LAP 或 LVP 猜测错误时,CPU 可能在推测执行期间对超出范围(SLAP)或错误(FLOP)的数据执行任意计算,从而导致数据泄露。


对于 SLAP,研究人员演示了针对 Safari 的端到端攻击,攻击者可以在未经授权的情况下恢复电子邮件内容和浏览历史记录:


LAP 会监控来自相同加载指令的地址,用以推测性地加载预测地址,该地址可能错误地指向固定的机密信息(即从未被 CPU 读取)。一旦获取了机密信息,LAP 就会获得一个较大的推测窗口,足以让攻击者对机密信息进行计算,例如通过隐蔽通道泄露它。


对于 FLOP,他们演示了攻击者如何利用任意读取原语恢复 Safari 和 Chrome 的位置历史记录、日历事件和信用卡信息。


研究人员已将这两种漏洞告知苹果公司,但苹果公司尚未透露计划何时解决这些问题。虽然这两种漏洞都有可行的缓解措施,但需要苹果公司在其操作系统中发布相关补丁。


FLOP 影响 Chrome 和 Safari,而 SLAP 则是 Safari 独有的。这是因为 Safari 没有在”同一浏览器上下文组“内实现隔离,与 Firefox 和 Chrome 不同:


Firefox 和 Chrome 似乎确实实现了同一浏览器上下文组隔离,并通过 IPC 桥接所需的 API,因此希望 Safari 也能在未来实现这一功能。


正如 Hacker News 用户 adrian_b 所指出的,加载值预测器的有效性 与 ARM 架构有固定长度指令密切相关,这使得无法将数据存储在指令中,因此


作为一种变通方法,在为这类 ISA 编程时,常量被存储在靠近函数代码的常量池中,加载指令使用基于程序计数器的相对寻址来加载常量。


发现 FLOP 和 SLAP 的研究人员并不知道是否有其他 CPU 也可能受到影响,但他们不排除有这种可能性。


随着摩尔定律逐渐失效,出现了更多独特的微架构优化,我们相信 LAP 可能不是苹果独有的,现在或在未来也可能会在其他地方出现。‍


侧信道漏洞是一类源于算法实现方式的漏洞,利用时间信息、功耗、电磁泄露和其他类型的信息来泄露敏感数据。在过去的几年中,许多影响 CPU 并利用推测执行的重大侧信道漏洞引起了广泛关注,包括 Spectre 和 Meltdown。


查看英文原文


https://www.infoq.com/news/2025/02/apple-cpu-side-channel-slap-flop/

2025-03-14 17:158791

评论

发布
暂无评论

华为浏览器上线高考频道,打造一站式智慧助考服务

最新动态

鸿蒙ArkTS | Badge 信息标记组件自学指南

李游Leo

鸿蒙 HarmonyOS

SpringBoot项目的html页面使用axios进行get post请求

刘大猫

人工智能 算法 post GET axios

基于YOLOv8的汽车车牌位置实时检测项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】

申公豹

yolov8

5 分钟搞定 Go 自定义结构体标签

俞凡

golang

详解鸿蒙开发如何上传三方库到ohpm仓库

幽蓝计划

基于YOLOv8的农业虫害检测102 类农业害虫识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

业务流程建模指南

俞凡

架构

需求神器提示词

执于业务

《算法导论(第4版)》阅读笔记:p173-p174

codists

算法

[大厂实践] LLM加速大规模测试迁移

俞凡

人工智能 测试

【HarmonyOS 5】Laya游戏如何鸿蒙构建发布详解

GeorgeGcs

H5 HarmonyOS 小游戏 Laya 构建鸿蒙

【HarmonyOS 5】鸿蒙中的UIAbility详解(二)

GeorgeGcs

高效拆分用户故事

俞凡

敏捷开发

战略实践:7 步改变未来

俞凡

战略

【HarmonyOS 5】鸿蒙中的UIAbility详解(三)

GeorgeGcs

鸿蒙仓颉语言开发教程:自定义弹窗

幽蓝计划

1688商品评论API接口攻略

tbapi

1688商品评论接口 1688评论API 1688评论数据采集

明基专业编程显示屏618优惠,程序员入手就趁现在!

陈老老老板

鸿蒙仓颉语言开发实战教程:实现商品分类页

幽蓝计划

Web端实时通信技术SSE在携程机票业务中的实践应用

JackJiang

网络编程 即时通讯 IM

1688店铺订单接口指南攻略

tbapi

1688订单物流接口 1688店铺订单接口 1688店铺订单详情接口

征程 6EM 常见 QConfig 配置解读与示例

地平线开发者

自动驾驶 算法工具链 地平线征程6

别再堆MCP工具了!好用的AI Agent,始于一个“懂你”的System Prompt

RockBot

全新小艺上车鸿蒙智行尊界S800,启领智慧出行新范式

极客天地

达芬奇20新功能介绍 附DaVinci Resolve Studio中文安装教程

Rose

Macs Fan Control Pro :控制风扇速度来保持 Mac 平稳运行

Rose

【HarmonyOS 5】鸿蒙中的UIAbility详解(一)

GeorgeGcs

Shiro简介及SpringBoot集成Shiro(狂神说视频简易版)

刘大猫

人工智能 算法 数据分析 权限控制 shiro

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能

GeorgeGcs

鸿蒙 文档扫描 表格扫描

华为云MaaS解锁DeepSeek-R1-0528超能推理开箱即用AI力!

YG科技

针对苹果M和A系列CPU的新型侧信道攻击_芯片&算力_InfoQ精选文章