#llvm

共收录 2 条相关安全情报。

← 返回所有主题
👥 作者: Eli Davis, Eric Lahtinen, Michael Gordon

本文提出 PTSan,一种基于 LLVM 的内存安全 sanitizer,旨在为 C/C++ 提供实用的指针对象(pointer-object)权威性检查。传统位置型 sanitizer(如 ASan)检测能力有限,而指针型 sanitizer 虽然能提供更强保证,但因过高的开销和兼容性问题难以在生产环境部署。PTSan 通过在每个指针的高位比特中存储对象标识符(object ID),并在固定大小的运行时表中保存对象的边界信息,从而实现了低开销、对优化器友好且兼容通用硬件的设计。该方案牺牲了有限的活动对象数量预算,换取了性能提升。由于标识符随指针值传播,LLVM 的常规数据流分析即可传递元数据,无需显式的每条指针元数据指令。元数据查找与检查执行分离后,两者均以 LLVM IR 形式暴露,从而支持检查提升、消除、合并,以及兼容性标签剥离(用于解决高位比特被用于其他目的的指针)的全函数最小割放置。在支持 Intel Linear Address Masking (LAM) 的硬件上,剩余的标签剥离操作可被完全消除。在 SPEC CPU 2017 上,PTSan 在 x86-64 上的几何平均开销为 57.2%(启用 LAM 后降至 46.4%),在 ARM64 上为 54.7%,在更接近应用的 LLVM MultiSource 套件上为 31.5%。这约为先前具有类似指针对象权威性保证的系统发布开销的三分之一,同时保持了独立内存安全测试套件所测量的跨对象、非对象和时间性检测覆盖率。其物理内存开销几乎与原生无异,这对内存成本成为首要限制的生产部署至关重要。文章还通过真实服务器和安全工作负载展示了实际开销。结果表明,PTSan 将实用的指针型内存安全纳入仅需重新编译的 sanitizer 部署模型,在不引入兼容性问题的情况下大幅降低了性能开销。

💡 推荐理由: 内存安全漏洞是C/C++最主要的漏洞来源。PTSan在保持强检测能力的同时将开销降至与现有生产级sanitizer相当,有望推动指针型内存安全机制的广泛采纳。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
推荐 9.5
Conf: 50%
👥 作者: Johannes Blaser, Floris Gorter, Klaus von Gleissenthall, Herbert Bos

该研究提出了一种名为QuickSafe的针对性加固技术,旨在防御内存损坏漏洞。传统的内存安全方案(如ASLR、堆栈保护)往往存在性能开销大或覆盖范围有限的问题。QuickSafe的核心思路是通过静态分析和运行时监控,仅对关键内存操作进行加固,从而在安全性和性能之间取得平衡。方法包括:首先识别程序中易受攻击的内存访问模式,然后插入轻量级的检查机制,仅在必要时激活保护。实验在常见基准测试和真实应用上进行,结果表明QuickSafe能够有效防止多种内存损坏攻击(如缓冲区溢出、use-after-free),且平均性能开销低于5%,显著优于现有全量加固方案。该工作为内存安全提供了一种实用的折中方案,特别适合对性能敏感的系统。

💡 推荐理由: 内存损坏仍是安全领域的重要威胁,而现有加固方案性能开销大。QuickSafe提供了低开销的针对性加固思路,有助于推动内存安全防护的现实应用。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)