DangDone
Citations Over TimeTop 20% of 2018 papers
Abstract
Dangling pointers have become an important class of software bugs that can lead to use-after-free and double-free vulnerabilities. So far, only a few approaches have been proposed to protect against dangling pointers, while most of them suffer from high overhead. In this paper, we propose a lightweight approach, named DangDone, to eliminate dangling pointers at compile time. Built upon the root cause of a dangling pointer, i.e., a pointer and its aliases are not nullified but the memory area they point to is deallocated, DangDone realizes the protection by inserting an intermediate pointer between the pointers (i.e., a pointer and its aliases) and the memory area they point to. Hence, nullifying the intermediate pointer will nullify the pointer and its aliases, which mitigates the vulnerabilities caused by dangling pointers. Experimental results have demonstrated that DangDone can protect target programs (i.e., the SPEC CPU benchmarks and the programs with known CVEs) with negligible runtime overhead (i.e., around 1% on average).
Related Papers
- → Lightweight Shape Analysis Based on Physical Types(2022)8 cited
- → Exploiting Pointer Analysis in Memory Models for Deductive Verification(2018)1 cited
- → Function Pointer Eliminator for C Programs(2021)
- → MetaTableLite: An Efficient Metadata Management Scheme for Tagged-Pointer-Based Spatial Safety(2021)