Abstract | ||
---|---|---|
Security enforcement inlined into user threads often delays the protected programs; inlined resource reclamation may interrupt program execution and defer resource release. We propose software cruising, a novel technique that migrates security enforcement and resource reclamation from user threads to a concurrent monitor thread. The technique leverages the increasingly popular multicore and multiprocessor architectures and uses lock-free data structures to achieve non-blocking and efficient synchronization between the monitor and user threads. As a case study, software cruising is applied to the heap buffer overflow problem. Previous mitigation and detection techniques for this problem suffer from high performance overhead, legacy code compatibility, semantics loyalty, or tedious manual program transformation. We present a concurrent heap buffer overflow detector, Cruiser, in which a concurrent thread is added to the user program to monitor heap integrity, and custom lock-free data structures and algorithms are designed to achieve high efficiency and scalability. The experiments show that our approach is practical: it imposes an average of 5% performance overhead on SPEC CPU2006, and the throughput slowdown on Apache is negligible on average. |
Year | DOI | Venue |
---|---|---|
2011 | 10.1145/1993498.1993541 | PLDI |
Keywords | Field | DocType |
user thread,heap integrity,inlined resource reclamation,protected program,heap buffer overflow problem,concurrent heap buffer overflow,user program,lock-free data structure,program execution,concurrent monitor thread,concurrent thread,concurrency,data structure,buffer overflow,lock free,multicore,languages,verification | Programming language,Program transformation,Concurrency,Computer science,Non-blocking algorithm,Heap overflow,Heap (data structure),Real-time computing,Thread (computing),Operating system,Scalability,Buffer overflow | Conference |
Volume | Issue | ISSN |
46 | 6 | 0362-1340 |
Citations | PageRank | References |
11 | 0.53 | 31 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Qiang Zeng | 1 | 126 | 12.91 |
Dinghao Wu | 2 | 726 | 54.89 |
Peng Liu | 3 | 1701 | 171.49 |