Lobsters | 📄 原文链接 | 2026-08-12 收录

清理的成本:评估 OpenBSD 的 -fret-clean 缓解措施

来源:briancallahan.net — 2026-08-11

📋 概述

作者的研究中心独立评估了 OpenBSD 从 7.6 起引入的 -fret-clean 编译缓解措施,该措施在每次 call 后插入一条 movq 指令清零返回地址槽,意在移除陈旧的返回地址指针以打击 ROP 攻击。他们把该标志移植到 FreeBSD 上做对照,测得内核与 libc 等 .text 体积增加约 8%,运行时开销从可忽略到病理基准下 27% 不等。虽然它确实完美完成了使命——把扫描到的 libc 指针减少约 16%(返回地址减少 90%),但作者质疑其全局价值:残留的 24 个唯一页仍足以映射出 libc。他指出这已是同一思路的第三次独立重发明(最早可溯到 2000 年 IBM 专利),并担忧 OpenBSD 几乎从不发布对缓解措施的实证评估。

🔑 核心要点

💡 金句

直觉型安全缓解恰恰最需要严格的实证评估,在它们证明自己有用之前,我们或许不该全盘接受。
← 返回 Lobsters 首页