paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Locating vulnerabilities in binaries via memory layout recovering

基于内存布局恢复的二进制漏洞定位
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 该论文研究二进制漏洞定位与内存布局恢复,属于程序分析与安全领域,但未涉及 LLM/Agent、静态分析、形式化验证、浮点程序分析或贝叶斯程序分析等用户核心方向。引用 17 inbox
Haijun Wang, Xiaofei Xie, Shang-Wei Lin, Yun Lin, Yuekang Li, Shengchao Qin, Yang Liu, Ting Liu
crossref: 2026-09-12

AI 速览

一句话:通过恢复细粒度内存布局并比较通过/失败执行,定位二进制漏洞。

二进制代码在编译后丢失数组边界等程序语义,导致难以判断内存访问是否越界,给漏洞定位带来挑战。本文提出基于内存布局恢复的漏洞定位方法。首先收集若干通过执行和一次失败执行;然后依据内存寻址模型,为这些执行恢复细粒度的内存布局,以重建程序语义。以通过执行中恢复的内存布局为参照,在失败执行中进行内存布局识别与比较,从而定位漏洞。实验表明,该方法能在25个DARPA CGC程序中定位24个(96%),并可将5个Linux程序中的453次崩溃按其根因有效分为19组。

问题
二进制程序在编译后丢失数组边界等语义,难以判定内存访问是否越界,因此定位二进制漏洞困难。
方法
收集通过和失败执行,基于内存寻址模型恢复细粒度内存布局,并以通过执行布局为参考,通过布局识别与比较定位失败执行中的漏洞。
评估
在25个DARPA CGC程序上定位24个(96%),并将5个Linux程序的453次崩溃按根因聚类为19组。
原文摘要(Abstract)

Locating vulnerabilities is an important task for security auditing, exploit writing, and code hardening. However, it is challenging to locate vulnerabilities in binary code, because most program semantics (e.g., boundaries of an array) is missing after compilation. Without program semantics, it is difficult to determine whether a memory access exceeds its valid boundaries in binary code. In this work, we propose an approach to locate vulnerabilities based on memory layout recovery. First, we collect a set of passed executions and one failed execution. Then, for passed and failed executions, we restore their program semantics by recovering fine-grained memory layouts based on the memory addressing model. With the memory layouts recovered in passed executions as reference, we can locate vulnerabilities in failed execution by memory layout identification and comparison. Our experiments show that the proposed approach is effective to locate vulnerabilities on 24 out of 25 DARPA’s CGC programs (96%), and can effectively classifies 453 program crashes (in 5 Linux programs) into 19 groups based on their root causes.

链接与引用

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

BibTeX
@inproceedings{paperbot5154,
  title = {Locating vulnerabilities in binaries via memory layout recovering},
  author = {Haijun Wang and Xiaofei Xie and Shang-Wei Lin and Yun Lin and Yuekang Li and Shengchao Qin and Yang Liu and Ting Liu},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338966}
}