Title
DangSan: Scalable Use-after-free Detection.
Abstract
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.
Year
DOI
Venue
2017
10.1145/3064176.3064211
EuroSys
Keywords
Field
DocType
Dangling pointers, use-after-free, LLVM
Pointer (computer programming),Synchronization,Escape analysis,Computer science,Parallel computing,Thread (computing),Real-time computing,Hazard pointer,Dangling pointer,Smart pointer,Scalability,Distributed computing
Conference
Citations 
PageRank 
References 
16
0.67
29
Authors
3
Name
Order
Citations
PageRank
Erik van der Kouwe1589.55
Vinod Nigade2161.01
Cristiano Giuffrida387649.61