PUMM: Preventing Use-After-Free Using Execution Unit Partitioning

被引:0
|
作者
Yagemann, Carter [1 ]
Chung, Simon P. [2 ]
Saltaformaggio, Brendan [2 ]
Lee, Wenke [2 ]
机构
[1] Ohio State Univ, Columbus, OH 43210 USA
[2] Georgia Inst Technol, Atlanta, GA USA
关键词
SAFETY;
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Critical software is written in memory unsafe languages that are vulnerable to use-after-free and double free bugs. This has led to proposals to secure memory allocators by strategically deferring memory reallocations long enough to make such bugs unexploitable. Unfortunately, existing solutions suffer from high runtime and memory overheads. Seeking a better solution, we propose to profile programs to identify units of code that correspond to the handling of individual tasks. With the intuition that little to no data should flow between separate tasks at runtime, reallocation of memory freed by the currently executing unit is deferred until after its completion; just long enough to prevent use-after-free exploitation. To demonstrate the efficacy of our design, we implement a prototype for Linux, PUMM, which consists of an offline profiler and an online enforcer that transparently wraps standard libraries to protect C/C++ binaries. In our evaluation of 40 real-world and 3,000 synthetic vulnerabilities across 26 programs, including complex multi-threaded cases like the Chakra JavaScript engine, PUMM successfully thwarts all real-world exploits, and only allows 4 synthetic exploits, while reducing memory overhead by 52.0% over prior work and incurring an average runtime overhead of 2.04%.
引用
收藏
页码:823 / 840
页数:18
相关论文
共 50 条
  • [21] POSTER: UAFChecker: Scalable Static Detection of Use-After-Free Vulnerabilities
    Ye, Jiayi
    Zhang, Chao
    Han, Xinhui
    CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, : 1529 - 1531
  • [22] MineSweeper: A "Clean Sweep" for Drop-In Use-after-Free Prevention
    Erdos, Marton
    Ainsworth, Sam
    Jones, Timothy M.
    ASPLOS '22: PROCEEDINGS OF THE 27TH ACM INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2022, : 212 - 225
  • [23] FreeSentry: Protecting Against Use-After-Free Vulnerabilities Due to Dangling Pointers
    Younan, Yves
    22ND ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2015), 2015,
  • [24] Refining Use-after-free Defense: Eliminating Dangling Pointers in Registers and Memory
    An, Xun
    Zhou, Qihang
    Du, HaiChao
    Song, ZhenYu
    Jia, Xiaoqi
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 493 - 502
  • [25] From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel
    Xu, Wen
    Li, Juanru
    Shu, Junliang
    Yang, Wenbo
    Xie, Tianyi
    Zhang, Yuanyuan
    Gu, Dawu
    CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 414 - 425
  • [26] FUZE: Towards Facilitating Exploit Generation for Kernel Use-After-Free Vulnerabilities
    Wu, Wei
    Chen, Yueqi
    Xu, Jun
    Xing, Xinyu
    Gong, Xiaorui
    Zou, Wei
    PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM, 2018, : 781 - 797
  • [27] Multi-level Directed Fuzzing for Detecting Use-after-Free Vulnerabilities
    Zhang, Yuntao
    Wang, Zhongru
    Yu, Weiqiang
    Fang, Binxing
    2021 IEEE 20TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2021), 2021, : 569 - 576
  • [28] An Efficient Metric-Based Approach for Static Use-After-Free Detection
    Wei, Haolai
    Chen, Liwei
    Nie, Xiaofan
    Zhang, Zhijie
    Zhang, Yuantong
    Shi, Gang
    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
  • [29] MarkUs: Drop-in use-after-free prevention for low-level languages
    Ainsworth, Sam
    Jones, Timothy M.
    2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2020), 2020, : 578 - 591
  • [30] Mpchecker: Use-After-Free Vulnerabilities Protection Based on Multi-Level Pointers
    Qiang, Weizhong
    Li, Weifeng
    Jin, Hai
    Surbiryala, Jayachander
    IEEE ACCESS, 2019, 7 : 45961 - 45977