来源:EETOP
事件:
十年前,苹果发布的iPhone7手机中破天荒地使用了一颗FPGA芯片(Lattice ICE40),当时苹果从未公开解释其用途,在后续iPhone型号中也未再使用FPGA,成为FPGA业界的一个“未解之谜”。凑巧的是,三星在当时发布的Galaxy S4/S5两款手机中也使用了同一颗FPGA芯片,功能不详。
2023年底,MPI-SP / 波鸿鲁尔大学团队在 ACM CCS 2024 发表论文,完整逆向 iPhone 7 主板上 Lattice FPGA(苹果代号 Maggie)的 IP 逻辑,还原出 Taptic Engine 闭环控制算法,至此解开了Maggie的秘密。
· · ·
一、论文基本信息
项目 | 内容 |
|---|---|
标题 | Stealing Maggie's Secrets — On the Challenges of IP Theft Through FPGA Reverse Engineering |
会议 | ACM CCS 2024(计算机安全顶会),2024.10,Salt Lake City,pp. 3391–3405 |
预印本 | arXiv:2312.06195(2023.12 首发,2024.9 定稿 v3) |
团队 | 马普安全与隐私研究所(MPI-SP)+ 波鸿鲁尔大学(Horst Görtz 研究所)+ 德国联邦刑事调查局(BKA)+ UMass Amherst,署名 12 人 |
领军人物 | Christof Paar(硬件安全领域权威, 博鸿"红色团队"背景) |
团队前科 | 2020 年 StarBleed 攻击——打穿 Xilinx 7 系列 FPGA bitstream 加密(USENIX Security 2020),业界称为"无法修补的硅" |
开源 | 网表逆向工具以 HAL 框架插件形式开源(github.com/emsec/hal);bitstream 转换工具因负责任披露未公开 |
二、Maggie 是什么
• 芯片型号:Lattice iCE5LP4K-SWG36(iCE40 家族),iPhone 7 / 7 Plus 主板各一颗
• 规格:352 逻辑单元、18 块 BRAM、4 个 DSP——30 元级别的小片子
• 代号来源:苹果固件和泄露的 PCB 原理图中称其为 "Maggie"
• 2016 年以来的谜:iFixit 拆机拍到过、PCB 原理图泄露过,苹果从未官方解释用途
• 谜底:它是 Taptic Engine 的闭环运动控制器
◦ 接收 A10 SoC 指令
◦ 处理 LRA(线性谐振执行器)的反馈信号
◦ 生成驱动信号,产生 Home 键"咔嗒"触感
◦ Home 键本身是死的,手感完全由这颗芯片实时算出来
三、攻击路径(核心卖点:零硬件接触)
1. 拿 bitstream:SRAM 型 FPGA 每次上电从外部加载配置。Maggie 的 bitstream 明文打包在 iOS 固件的文件系统里(2016.9 初版固件即存在,iOS 10.2 后未变)。从苹果官网下载固件即可,iCE40 根本没有 bitstream 加密功能。
2. bitstream → 门级网表:基于开源 Project IceStorm(通过 fuzzing Lattice 官方 EDA 工具逆向出 iCE40 bitstream 格式数据库)。作者做了两点扩展:提高 fuzzing 覆盖率、补上 SWG36 封装引脚映射。之后自定义转换工具可全自动把任意 iCE40 bitstream 转成网表。
3. 网表分析:综合时层次结构被拍平("整栋楼拆成零件平铺在地上"),需重建字级结构(见下)。
4. 算法级理解:虚拟探测 + 动态仿真,追踪 4 个 DSP 输入来源,还原控制方程。
得到的网表规模:5046 个门 = 3241 LUT + 422 进位门 + 1342 触发器 + 18 BRAM + 4 DSP(另有 36 个 net 缺源/宿,手动修复)。
四、网表逆向的技术细节(论文方法论)
1. LUT 分解 / 预处理:简单 LUT 直接替换为与/或/异或门,复杂 LUT 分解为 MUX + 原语门,删缓冲器。产出:1619 个 MUX、1161 个原语门——可读性大增。
2. 算术结构识别:扫描进位链组装候选结构,按拓扑推导操作数和位序,用 SMT 求解器验证(如确认是 A±B)。从网表中找出 35 个算术结构(加法器/计数器,共 692 门)。
3. 时序数据路径(DANA 工具):基于结构度量恢复字级寄存器,并扩展 DANA 整合已知接口/FSM 寄存器信息 → 恢复 118 个寄存器(覆盖全部 1342 个 FF)。
4. 组合数据路径:按共享 select 信号把 MUX 分组成字级 MUX → 160 个字级 MUX 结构(1217 门)。
5. 位序恢复:从已知位序结构(加法器、BRAM、DSP)沿数据路径传播,共识算法标注 LSB/MSB → 843 个 pin group 中 605 个(71%)获得位序标注。
6. 虚拟探测(virtual probing):真实实验中在 Maggie 与 PCB 之间插 breakout board 抓 IO 信号 trace,在 HAL 中对网表做仿真观察状态。
7. 引导式符号执行:把仿真得到的控制值代入,回溯时序门至端点(输入/常量/寄存器),产出字级布尔方程——把原本数周的手动 DSP 输入追踪压缩到数天。
五、还原出的算法(苹果真正的 IP)
Maggie 是一个 LRA 闭环运动控制器,定点运算,三大阶段:
1. 输入信号调节与校准
2. 状态观测器(state observer) 追踪执行器动态
3. 闭环控制器最小化误差
具体 DSP 技术点:
• 双二阶滤波器(biquad,direct form I,属 IIR 类) 做滤波
• 子采样 + 采样保持 做采样率转换
• 移位/截断做定点算术,饱和(saturation) 防溢出,分数保存(fraction saving) 保精度
• 4 个 DSP 均配置为 MAC2 单元(16 位乘、32 位累加),承担主运算
• BRAM 存参考信号 + 滤波器/控制环系数 + 初始化参数
• 识别出 5 个通信接口(SPI、UART、I2S 等,共 615 门);FSM 因逻辑交织严重无法静态分离,靠动态仿真绕过
• 论文没提"PWM 生成/波形表"
关键观察:算法本身不神秘,神秘的是参数调校——波形设计、延迟优化、手感调校,这才是苹果花 R&D 费的地方。
六、成本与时间数据
场景 | 耗时 |
|---|---|
黑盒逆向(iPhone 7 实案) | 网表恢复较易;网表分析+工具开发耗时数月,12 人团队 |
手动追踪 DSP 输入 | 原本需数周,引导式符号执行后数天 |
白盒对照验证(hilbert 设计) | 用通用工具链后数天完成高层描述恢复(黑盒原本需数月) |
ASIC 纳米级芯片逆向 | 需 FIB/SEM 等昂贵设备、数周到数月、易出错——"只有国家级机构玩得起" |
论文原话(大意):FPGA 的攻击者可以是资源有限的爱好者、大学研究者,而 ASIC 的攻击者只能是国家级机构。更简单的网表提取 + 现成工具 = FPGA 上的 IP 面临更紧迫的危险。
七、通用化验证
在 Xilinx 7 系和 Lattice iCE40 上合成 6 个设计:ibex、icicle、simple_risc_v、canny_edge_detector、fft64、sha256:
• 算术识别:平均验证 94% 进位链
• 寄存器恢复:扩展 DANA 后 NMI 最高 +0.14,部分设计达 0.98
• 位序恢复:平均重建 86% 的 pin group 位序,97% 正确
→ 结论:工具链跨架构通用,任何 iCE40/Xilinx 设计都适用同一套打法。
八、杀伤范围
iCE40 至今仍在大量设备中:Apple Vision Pro、Apple TV 4K、HTC Vive Pro、Samsung Galaxy S5、Pebble Time。所有 iCE40 bitstream 格式相同,工具链直接适用;且低成本型号普遍无加密选项——这些设备里的 FPGA IP 同样裸奔。
九、防御启示(论文观点)
1. 有加密的 FPGA 要主动开启 bitstream 加密(很多厂商提供了但默认不开)
2. 低成本 FPGA(iCE40 级别)根本没有加密选项,选型即风险
3. 加密也会被攻破(StarBleed 打穿 Xilinx 7 系;JustSTART 攻破 UltraScale+ RSA 认证),不能只靠加密
4. 网表混淆应作为额外防线——类似软件代码混淆;FPGA 可重配置特性天然适合做动态混淆(同一功能不同时刻呈现为不同电路)
5. 论文开源工具的目的之一就是让社区能做真实威胁评估、验证防御有效性
附:关键参考链接
• 论文:https://arxiv.org/abs/2312.06195
• DOI:https://doi.org/10.1145/3658644.3690235
• HAL 框架:https://github.com/emsec/hal
• Project IceStorm:https://github.com/YosysHQ/icestorm
• StarBleed(USENIX Security 2020):The Unpatchable Silicon
特别声明:以上内容仅代表作者本人的观点或立场,不代表Hehson财经头条的观点或立场。如因作品内容、版权或其他问题需要与Hehson财经头条联系的,请于上述内容发布后的30天内进行。