UFO: Predictive Concurrency Use-After-Free Detection

被引:26
|
作者
Huang, Jeff [1 ]
机构
[1] Texas A&M Univ, Parasol Lab, College Stn, TX 77843 USA
基金
美国国家科学基金会;
关键词
UAF; Concurrency; Vulnerabilities; UFO;
D O I
10.1145/3180155.3180225
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Use-After-Free (UAF) vulnerabilities are caused by the program operating on a dangling pointer and can be exploited to compromise critical software systems. While there have been many tools to mitigate UAF vulnerabilities, UAF remains one of the most common attack vectors. UAF is particularly difficult to detect in concurrent programs, in which a UAF may only occur with rare thread schedules. In this paper, we present a novel technique, UFO, that can precisely predict UAFs based on a single observed execution trace with a provably higher detection capability than existing techniques with no false positives. The key technical advancement of UFO is an extended maximal thread causality model that captures the largest possible set of feasible traces that can be inferred from a given multithreaded execution trace. By formulating UAF detection as a constraint solving problem atop this model, we can explore a much larger thread scheduling space than classical happens-before based techniques. We have evaluated UFO on several real-world large complex C/C++ programs including Chromium and FireFox. UFO scales to real-world systems with hundreds of millions of events in their execution and has detected a large number of real concurrency UAFs.
引用
收藏
页码:609 / 619
页数:11
相关论文
共 50 条
  • [1] Dynamic Detection of Use-After-Free Bugs
    S. A. Asryan
    S. S. Gaissaryan
    Sh. F. Kurmangaleev
    A. M. Aghabalyan
    N. G. Hovsepyan
    S. S. Sargsyan
    [J]. Programming and Computer Software, 2019, 45 : 365 - 371
  • [2] Dynamic Detection of Use-After-Free Bugs
    Asryan, S. A.
    Gaissaryan, S. S.
    Kurmangaleev, Sh F.
    Aghabalyan, A. M.
    Hovsepyan, N. G.
    Sargsyan, S. S.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2019, 45 (07) : 365 - 371
  • [3] DangSan: Scalable Use-after-free Detection
    van der Kouwe, Erik
    Nigade, Vinod
    Giuffrida, Cristiano
    [J]. PROCEEDINGS OF THE TWELFTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS 2017), 2017, : 405 - 419
  • [4] Effective Static Analysis of Concurrency Use-After-Free Bugs in Linux Device Drivers
    Bai, Jia-Ju
    Lawall, Julia
    Chen, Qiu-Liang
    Hu, Shi-Min
    [J]. PROCEEDINGS OF THE 2019 USENIX ANNUAL TECHNICAL CONFERENCE, 2019, : 255 - 268
  • [5] RTT: Reuse Time Tracking for Use-After-Free Detection
    Du, Yubo
    Guo, Yanan
    Zhang, Youtao
    Yang, Jun
    [J]. PROCEEDINGS OF THE 38TH ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, ACM ICS 2024, 2024, : 376 - 387
  • [6] A Survey of Detection Methods for Software Use-After-Free Vulnerability
    Lu, Faming
    Tang, Mengfan
    Bao, Yunxia
    Wang, Xiaoyu
    [J]. DATA SCIENCE (ICPCSEE 2022), PT II, 2022, 1629 : 272 - 297
  • [7] Scalable Static Detection of Use-After-Free Vulnerabilities in Binary Code
    Zhu, Kailong
    Lu, Yuliang
    Huang, Hui
    [J]. IEEE ACCESS, 2020, 8 : 78713 - 78725
  • [8] POSTER: UAFChecker: Scalable Static Detection of Use-After-Free Vulnerabilities
    Ye, Jiayi
    Zhang, Chao
    Han, Xinhui
    [J]. CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, : 1529 - 1531
  • [9] Detect use-after-free vulnerabilities in binaries
    Han, Xinhui
    Wei, Shuang
    Ye, Jiayi
    Zhang, Chao
    Ye, Zhiyuan
    [J]. Qinghua Daxue Xuebao/Journal of Tsinghua University, 2017, 57 (10): : 1022 - 1029
  • [10] An Efficient Metric-Based Approach for Static Use-After-Free Detection
    Wei, Haolai
    Chen, Liwei
    Nie, Xiaofan
    Zhang, Zhijie
    Zhang, Yuantong
    Shi, Gang
    [J]. 2022 IEEE INTL CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, BIG DATA & CLOUD COMPUTING, SUSTAINABLE COMPUTING & COMMUNICATIONS, SOCIAL COMPUTING & NETWORKING, ISPA/BDCLOUD/SOCIALCOM/SUSTAINCOM, 2022, : 58 - 65