paperbot · PL 论文追踪

全部论文 待读 收藏

P2 GRIFFIN

GRIFFIN:利用 Intel Processor Trace 的硬件辅助控制流完整性强制执行
ASPLOS Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems2017匹配度 1/10 · 论文属于硬件辅助控制流完整性(CFI)与系统安全方向,虽涉及程序控制流分析,但与用户关注的 PL↔AI、Agentic/LLM 程序分析、浮点程序分析及贝叶斯程序分析均无直接关联。引用 149 inbox
Xinyang Ge, Weidong Cui, Trent Jaeger
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 GRIFFIN,用 Intel PT 日志并行在线强制多种 CFI 策略,在未修改二进制上实现细粒度控制流完整性。

控制流完整性(CFI)通过限制间接控制转移的目标集合来抵御代码复用攻击。现有硬件辅助 CFI 方法要么不完整,要么效率不足。本文利用 Intel Processor Trace 能记录完整控制流轨迹的硬件特性,设计并行化方法,在未修改二进制上在线执行多种 CFI 策略。作者在 Linux 4.2 内核中实现 GRIFFIN 原型,并在 Firefox 及其 JIT 代码等软件上验证完整 CFI。实验表明,GRIFFIN 能以与纯软件插桩相当的性能执行研究者推荐的含影子栈细粒度 CFI 策略;此外,替代日志方案可显著提升轨迹处理性能,为后续硬件辅助设计提供了机会。

问题
现有硬件辅助 CFI 执行不完整或效率较低,如何利用硬件控制流日志高效、灵活地在线强制 CFI 尚待探索。
方法
基于 Intel PT 的完整控制流轨迹,设计并行化在线 CFI 执行方法,在 Linux 4.2 内核中实现 GRIFFIN 原型,支持对未修改二进制执行多种 CFI 策略。
评估
在 Firefox 及其 JIT 代码等软件上验证完整 CFI 执行,比较细粒度含影子栈策略的性能,并评估不同日志方案对轨迹处理性能的影响。
原文摘要(Abstract)

Researchers are actively exploring techniques to enforce control-flow integrity (CFI), which restricts program execution to a predefined set of targets for each indirect control transfer to prevent code-reuse attacks. While hardware-assisted CFI enforcement may have the potential for advantages in performance and flexibility over software instrumentation, current hardware-assisted defenses are either incomplete (i.e., do not enforce all control transfers) or less efficient in comparison. We find that the recent introduction of hardware features to log complete control-flow traces, such as Intel Processor Trace (PT), provides an opportunity to explore how efficient and flexible a hardware-assisted CFI enforcement system may become. While Intel PT was designed to aid in offline debugging and failure diagnosis, we explore its effectiveness for online CFI enforcement over unmodified binaries by designing a parallelized method for enforcing various types of CFI policies. We have implemented a prototype called GRIFFIN in the Linux 4.2 kernel that enables complete CFI enforcement over a variety of software, including the Firefox browser and its jitted code. Our experiments show that GRIFFIN can enforce fine-grained CFI policies with shadow stack as recommended by researchers at a performance that is comparable to software-only instrumentation techniques. In addition, we find that alternative logging approaches yield significant performance improvements for trace processing, identifying opportunities for further hardware assistance.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{GeCJ17,
  title = {GRIFFIN},
  author = {Xinyang Ge and Weidong Cui and Trent Jaeger},
  booktitle = {ASPLOS},
  year = {2017},
  doi = {10.1145/3037697.3037716}
}