paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Typestate-guided fuzzer for discovering use-after-free vulnerabilities

类型状态引导的模糊测试器:发现 use-after-free 漏洞
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 2/10 · 该论文是传统静态分析(类型状态、信息流)引导的模糊测试,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也不以机器学习系统或 Agentic 程序为分析目标,与用户核心的 AI 与 PL 交叉方向关联很弱。引用 110 inbox
Haijun Wang, Xiaofei Xie, Yi Li, Cheng Wen, Yuekang Li, Yang Liu, Shengchao Qin, Hongxu Chen, Yulei Sui
crossref: 2026-09-12

AI 速览

一句话:提出类型状态引导的模糊测试器 UAFL,用静态类型状态分析与信息流分析引导,高效发现 use-after-free 漏洞。

现有基于覆盖率的模糊测试通常以单个控制流图(CFG)边覆盖为引导,难以发现 use-after-free(UaF)这类需要按特定顺序遍历长边序列才能触发的漏洞。本文将 UaF 漏洞建模为类型状态(typestate)属性,提出类型状态引导的模糊测试器 UAFL。给定类型状态属性后,先进行静态类型状态分析,找出可能违反该属性的操作序列;模糊测试过程则以这些操作序列为引导,逐步生成能够触发属性违反的测试用例;此外还利用信息流分析提升模糊测试效率。作者在 14 个广泛使用的真实程序上进行了充分评估,结果表明 UAFL 在发现漏洞所需时间上显著优于 AFL、AFLFast、FairFuzz、MOpt、Angora 和 QSYM 等先进模糊测试器,共发现 10 个此前未知的漏洞,并获得 5 个新 CVE。

问题
基于 CFG 边覆盖的模糊测试难以发现 use-after-free 漏洞,因为触发此类漏洞不仅需要覆盖单条边,还需要按特定顺序遍历一段较长的边序列。
方法
将 UaF 漏洞建模为类型状态属性,先通过静态类型状态分析找出潜在违反属性的操作序列,再以这些序列引导模糊测试逐步生成触发违规的测试用例,并借助信息流分析提高效率。
评估
在 14 个广泛使用的真实程序上与 AFL、AFLFast、FairFuzz、MOpt、Angora、QSYM 等先进模糊测试器对比发现漏洞所需时间,并报告新发现的漏洞与 CVE 数量。
原文摘要(Abstract)

Existing coverage-based fuzzers usually use the individual control flow graph (CFG) edge coverage to guide the fuzzing process, which has shown great potential in finding vulnerabilities. However, CFG edge coverage is not effective in discovering vulnerabilities such as use-after-free (UaF). This is because, to trigger UaF vulnerabilities, one needs not only to cover individual edges, but also to traverse some (long) sequence of edges in a particular order, which is challenging for existing fuzzers. To this end, we propose to model UaF vulnerabilities as typestate properties, and develop a typestate-guided fuzzer, named UAFL, for discovering vulnerabilities violating typestate properties. Given a typestate property, we first perform a static typestate analysis to find operation sequences potentially violating the property. Our fuzzing process is then guided by the operation sequences in order to progressively generate test cases triggering property violations. In addition, we also employ an information flow analysis to improve the efficiency of the fuzzing process. We have performed a thorough evaluation of UAFL on 14 widely-used real-world programs. The experiment results show that UAFL substantially outperforms the state-of-the-art fuzzers, including AFL, AFLFast, FairFuzz, MOpt, Angora and QSYM, in terms of the time taken to discover vulnerabilities. We have discovered 10 previously unknown vulnerabilities, and received 5 new CVEs.

链接与引用

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

BibTeX
@inproceedings{paperbot5664,
  title = {Typestate-guided fuzzer for discovering use-after-free vulnerabilities},
  author = {Haijun Wang and Xiaofei Xie and Yi Li and Cheng Wen and Yuekang Li and Yang Liu and Shengchao Qin and Hongxu Chen and Yulei Sui},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380386}
}