paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Prober

Prober:面向生产环境的堆溢出检测与预防
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 3/10 · 该论文是静态分析+页保护结合的内存安全系统,属于传统程序分析与运行时防护方向,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户的核心交叉方向(PL↔AI)基本无关;仅在“静态分析的工业级工程实现与低开销落地”这一点上与部分兴趣间接重合。引用 3 inbox
Hongyu Liu, Ruiqin Tian, Bin Ren, Tongping Liu
crossref: 2026-09-12

AI 速览

一句话:提出 Prober,通过静态分析标记数组相关调用栈并结合页保护,在生产环境低开销检测和阻止堆溢出。

堆溢出问题历经数十年研究仍未完全解决。论文提出 Prober,一个面向生产环境的堆溢出检测与预防系统。其关键观察是:分析数十个真实缺陷后发现,堆溢出均与数组有关;因此 Prober 只关注数组相关的堆对象,而非全部堆对象。它在编译期利用静态分析标记所有易受影响的调用栈,在运行期借助页保护检测非法访问,并集成多种已有方法来保证检测效率。评估显示其平均性能开销仅约 1.5%,几乎可忽略;Prober 既能及时阻止潜在攻击,又能报告可指导修复的故障指令,具备生产部署条件。

问题
堆溢出在数十年研究后仍未完全解决,生产环境中的检测与预防需要同时兼顾有效性和低开销。
方法
基于堆溢出均与数组相关的观察,Prober 只关注数组相关堆对象;编译期用静态分析标记易受影响的调用栈,运行期用页保护检测非法访问,并整合现有方法提升效率。
评估
评估显示 Prober 的平均性能开销约为 1.5%,可及时阻止攻击并报告可指导修复的故障指令,适合生产部署。
原文摘要(Abstract)

Heap-based overflows are still not completely solved even after decades of research. This paper proposes Prober, a novel system aiming to detect and prevent heap overflows in the production environment. Prober leverages a key observation based on the analysis of dozens of real bugs: all heap overflows are related to arrays. Based on this observation, Prober only focuses on array-related heap objects, instead of all heap objects. Prober utilizes static analysis to label all susceptible call-stacks during the compilation, and then employs the page protection to detect any invalid accesses during the runtime. In addition to this, Prober integrates multiple existing methods together to ensure the efficiency of its detection. Overall, Prober introduces almost negligible performance overhead, with 1.5% on average. Prober not only stops possible attacks on time, but also reports the faulty instructions that could guide bug fixes. Prober is ready for deployment due to its effectiveness and low overhead.

链接与引用

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

BibTeX
@inproceedings{paperbot5994,
  title = {Prober},
  author = {Hongyu Liu and Ruiqin Tian and Bin Ren and Tongping Liu},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416533}
}