CAMP: Compiler and Allocator-based Heap Memory Protection
<|reference_start|>CAMP: Compiler and Allocator-based Heap Memory Protection: The heap is a critical and widely used component of many applications. Due to its dynamic nature, combined with the complexity of heap management algorithms, it is also a frequent target for security exploits. To enhance the heap's security, various heap protection techniques have been introduced, but they either introduce significant runtime overhead or have limited protection.   We present CAMP, a new sanitizer for detecting and capturing heap memory corruption. CAMP leverages a compiler and a customized memory allocator. The compiler adds boundary-checking and escape-tracking instructions to the target program, while the memory allocator tracks memory ranges, coordinates with the instrumentation, and neutralizes dangling pointers. With the novel error detection scheme, CAMP enables various compiler optimization strategies and thus eliminates redundant and unnecessary check instrumentation. This design minimizes runtime overhead without sacrificing security guarantees. Our evaluation and comparison of CAMP with existing tools, using both real-world applications and SPEC CPU benchmarks, show that it provides even better heap corruption detection capability with lower runtime overhead.<|reference_end|>
@article{lin2024camp:,
    title={CAMP: Compiler and Allocator-based Heap Memory Protection},
    author={Zhenpeng Lin, Zheng Yu, Ziyi Guo, Simone Campanoni, Peter Dinda, Xinyu
  Xing},
    journal={arXiv preprint arXiv:2406.02737},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.02737},
    primaryClass={cs.CR cs.SE}
}