一句话:提出基于指针分析的静态分析工具 CRed,通过时空上下文归约高效检测 C 程序中的 Use-After-Free 漏洞。
零日 Use-After-Free(UAF)漏洞日益常见且危害严重,但现有缓解手段很少。本文提出新的基于指针分析的静态分析工具 CRed,用于在多 MLOC 级 C 源码中高效且有效地发现 UAF 缺陷。其核心贡献包括三点:一是时空上下文归约技术,对 free 与 use 点对之间本应考虑的指数级上下文进行可靠且精确的缩减;二是多阶段分析,用于高效过滤误报;三是路径敏感的需求驱动方法,用于按需获取所需的指向信息。作者在多 MLOC 级 C 源程序上开展评估,以验证该方法在 UAF 缺陷检测中的效率与有效性。
Zero-day Use-After-Free (UAF) vulnerabilities are increasingly popular and highly dangerous, but few mitigations exist. We introduce a new pointer-analysis-based static analysis, CRed, for finding UAF bugs in multi-MLOC C source code efficiently and effectively. CRed achieves this by making three advances: (i) a spatio-temporal context reduction technique for scaling down soundly and precisely the exponential number of contexts that would otherwise be considered at a pair of free and use sites, (ii) a multi-stage analysis for filtering out false alarms efficiently, and (iii) a path-sensitive demand-driven approach for finding the points-to information required.
DOI 原文 ·
@inproceedings{paperbot4543,
title = {Spatio-temporal context reduction},
author = {Hua Yan and Yulei Sui and Shiping Chen and Jingling Xue},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180178}
}