Automated Use-After-Free Detection and Exploit Mitigation: How Far Have We Gone?

被引:5
|
作者
Gui, Binfa [1 ]
Song, Wei [1 ]
Xiong, Hailong [1 ]
Huang, Jeff [2 ]
机构
[1] Nanjing Univ Sci & Technol, Sch Comp Sci & Engn, Nanjing 210094, Peoples R China
[2] Texas A&M Univ, Parasol Lab, College Stn, TX 77843 USA
基金
中国国家自然科学基金;
关键词
Instruments; Static analysis; Detectors; Performance analysis; Tools; Runtime; Databases; Use-After-Free; vulnerability detection; exploit mitigation; program analysis; survey; MEMORY MANAGEMENT; SAFE;
D O I
10.1109/TSE.2021.3121994
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
C/C++ programs frequently encounter memory errors, such as Use-After-Free (UAF), buffer overflow, and integer overflow. Among these memory errors, UAF vulnerabilities are increasingly being exploited by attackers to disrupt critical software systems, leading to serious consequences, such as remote code execution and data breaches. Researchers have proposed dozens of approaches to detect UAFs in testing environments and to mitigate UAF exploit in production environments. However, to the best of our knowledge, no comprehensive studies have evaluated and compared these approaches. In this paper, we shed light on the current UAF detection and exploit mitigation approaches and provide a systematic overview, comprehensive comparison, and evaluation. Specifically, we evaluate the effectiveness and efficiency of publicly available UAF detection and exploit mitigation tools. The experimental results show that static UAF detectors are suitable for detecting intra-procedural UAFs but are not sufficient to detect inter-procedural UAFs in real-world programs. Dynamic UAF detectors are still the first choice for detecting inter-procedural UAFs. Our evaluation also demonstrates that the runtime overhead of existing UAF exploit mitigation tools is relatively stable whereas the memory overhead may vary dramatically with respect to different programs. Finally, we envision potential valuable future research directions.
引用
收藏
页码:4569 / 4589
页数:21
相关论文
共 50 条
  • [1] HOW FAR HAVE WE GONE IN GERIATRICS
    BOUCHON, JP
    [J]. REVUE DU PRATICIEN, 1982, 32 (10): : 701 - &
  • [2] Atherosclerosis: How far we have gone?
    Dziekiewicz, Miroslaw
    Wisniewski, Piotr
    [J]. ACTA ANGIOLOGICA, 2007, 13 (04): : 137 - 143
  • [3] RNA Therapeutics: How Far Have We Gone?
    Coutinho, Maria Francisca
    Matos, Liliana
    Santos, Juliana Ines
    Alves, Sandra
    [J]. MRNA METABOLISM IN HUMAN DISEASE, 2019, 1157 : 133 - 177
  • [4] Corruption in medical practice: How far have we gone?
    Gadit, Amin A. Muhammad
    [J]. JOURNAL OF THE PAKISTAN MEDICAL ASSOCIATION, 2011, 61 (01) : 93 - 94
  • [5] Laparoscopic partial nephrectomy: how far have we gone?
    Janetschek, Guenter
    [J]. CURRENT OPINION IN UROLOGY, 2007, 17 (05) : 316 - 321
  • [6] 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
  • [7] Use-After-Free Mitigation via Protected Heap Allocation
    Zhang, Mingbo
    Zonouz, Saman
    [J]. 2018 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), 2018, : 131 - 138
  • [8] 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
  • [9] 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
  • [10] FUZE: Towards Facilitating Exploit Generation for Kernel Use-After-Free Vulnerabilities
    Wu, Wei
    Chen, Yueqi
    Xu, Jun
    Xing, Xinyu
    Gong, Xiaorui
    Zou, Wei
    [J]. PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, 2018, : 781 - 797