DangSan: Scalable Use-after-free Detection

被引:50
|
作者
van der Kouwe, Erik [1 ]
Nigade, Vinod [1 ]
Giuffrida, Cristiano [1 ]
机构
[1] Vrije Univ Amsterdam, Amsterdam, Netherlands
基金
欧盟地平线“2020”;
关键词
Dangling pointers; use-after-free; LLVM;
D O I
10.1145/3064176.3064211
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Use-after-free vulnerabilities due to dangling pointers are an important and growing threat to systems security. While various solutions exist to address this problem, none of them is sufficiently practical for real-world adoption. Some can be bypassed by attackers, others cannot support complex multithreaded applications prone to dangling pointers, and the remainder have prohibitively high overhead. One major source of overhead is the need to synchronize threads on every pointer write due to pointer tracking. In this paper, we present DangSan, a use-after-free detection system that scales efficiently to large numbers of pointer writes as well as to many concurrent threads. To significantly reduce the overhead of existing solutions, we observe that pointer tracking is write-intensive but requires very few reads. Moreover, there is no need for strong consistency guarantees as inconsistencies can be reconciled at read (i.e., object deallocation) time. Building on these intuitions, DangSan's design mimics that of log-structured file systems, which are ideally suited for similar workloads. Our results show that DangSan can run heavily multithreaded applications, while introducing only half the overhead of previous multithreaded use-after-free detectors.
引用
收藏
页码:405 / 419
页数:15
相关论文
共 50 条
  • [1] Scalable Static Detection of Use-After-Free Vulnerabilities in Binary Code
    Zhu, Kailong
    Lu, Yuliang
    Huang, Hui
    [J]. IEEE ACCESS, 2020, 8 : 78713 - 78725
  • [2] 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
  • [3] 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
  • [4] 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
  • [5] UFO: Predictive Concurrency Use-After-Free Detection
    Huang, Jeff
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 609 - 619
  • [6] 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
  • [7] 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
  • [8] 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
  • [9] 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
  • [10] Preventing Use-after-free with Dangling Pointers Nullification
    Lee, Byoungyoung
    Song, Chengyu
    Jang, Yeongjin
    Wang, Tielei
    Kim, Taesoo
    Lu, Long
    Lee, Wenke
    [J]. 22ND ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2015), 2015,