FineIBT:使用间接分支跟踪的精细控制流执行

摘要:FineIBT:一种提高硬件辅助CFI解决方案(如Intel IBT)精度的CFI执行机制的设计、实现和评估。通过对程序代码进行插装,缩减间接前向边跳转的有效/允许目标,我们研究了FineIBT在x86-64架构上的设计,并在Linux和LLVM工具链上实施和评估。我们设计了FineIBT的插装方式,使其紧凑、运行时和内存开销低,并且通用性强,支持不同的CFI策略。我们的原型实现几乎没有运行时减速(SPEC CPU2017约为0%-1.94%,实际应用约为0%-1.92%),优于Clang-CFI。最后,我们使用ConFIRM CFI基准套件研究了FineIBT的有效性/安全性和兼容性,证明我们的插装在现代软件特性存在的情况下提供了完整的覆盖,并支持一系列具有相同可预测性能的CFI策略。

作者:Alexander J. Gaidis and Joao Moreira and Ke Sun and Alyssa Milburn and Vaggelis Atlidakis and Vasileios P. Kemerlis

论文ID:2303.16353

分类:Cryptography and Security

分类简称:cs.CR

提交时间:2023-07-21

PDF 下载: 英文版 中文版pdf翻译中