CAMP: Compiler and Allocator-based Heap Memory Protection

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Lin, Zhenpeng, Yu, Zheng, Guo, Ziyi, Campanoni, Simone, Dinda, Peter, Xing, Xinyu
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866929374404542464
author Lin, Zhenpeng
Yu, Zheng
Guo, Ziyi
Campanoni, Simone
Dinda, Peter
Xing, Xinyu
author_facet Lin, Zhenpeng
Yu, Zheng
Guo, Ziyi
Campanoni, Simone
Dinda, Peter
Xing, Xinyu
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2406_02737
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CAMP: Compiler and Allocator-based Heap Memory Protection
Lin, Zhenpeng
Yu, Zheng
Guo, Ziyi
Campanoni, Simone
Dinda, Peter
Xing, Xinyu
Cryptography and Security
Software Engineering
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.
title CAMP: Compiler and Allocator-based Heap Memory Protection
topic Cryptography and Security
Software Engineering
url https://arxiv.org/abs/2406.02737