Title
Sampler - PMU-Based Sampling to Detect Memory Errors Latent in Production Software.
Abstract
Deployed software is still faced with numerous in-production memory errors. They can significantly affect system reliability and security, causing application crashes, erratic execution behavior, or security attacks. Unfortunately, existing tools cannot be deployed in the production environment, since they either impose significant performance/memory overhead, or can only detect partial errors. This paper presents Sampler, a library that employs the combination of hardware-based SAMPLing and novel heap allocator design to efficiently identify a range of memory ERrors, including buffer overflows, use-after-frees, invalid frees, and double-frees. Due to the stringent Quality of Service (QoS) requirement of production services, Sampler proposes to trade detection effectiveness for performance on each execution. Rather than inspecting every memory access, Sampler proposes the use of the Performance Monitoring Unit (PMU) hardware to sample memory accesses, and only checks the validity of sampled accesses. At the same time, Sampler proposes a novel dynamic allocator supporting fast metadata lookup, and a solution to prevent false alarms potentially caused by sampling. The sampling-based approach, although it may lead to reduced effectiveness on each execution, is suitable for in-production software, since software is generally employed by a large number of individuals, and may be executed many times or over a long period of time. By randomizing the start of the sampling, different executions may sample different sequences of memory accesses, working together to enable effective detection. Experimental results demonstrate that Sampler detects all known memory bugs inside real applications, without any false positive. Sampler only imposes negligible performance overhead (2.4% on average). Sampler is the first work that simultaneously satisfies efficiency, preciseness, completeness, accuracy, and transparency, making it a practical tool for in-production deployment.
Year
DOI
Venue
2018
10.1109/MICRO.2018.00027
MICRO
Keywords
Field
DocType
PMU, sampling, vulnerability detection
Software deployment,Computer science,Quality of service,Heap (data structure),Real-time computing,Software,Sampling (statistics),Allocator,Memory errors,Buffer overflow
Conference
ISBN
Citations 
PageRank 
978-1-5386-6241-0
0
0.34
References 
Authors
32
6
Name
Order
Citations
PageRank
Sam Silvestro1152.61
Hongyu Liu2111.89
Tong Zhang35318.56
Changhee Jung423013.26
dongyoon lee51409.00
Tongping Liu623410.34