C/C++ Bounds Checking with Low-Fat Pointers
School of Computing, National University of Singapore
Memory errors are still one of the main causes of software vulnerabilities
Low-Fat bounds checking is a new approach for detecting spatial memory errors
(bounds errors) using a novel pointer representation, low-fat pointers.
The main advantages of Low-Fat bounds checking are:
- Compatibility: low-fat pointers look like ordinary pointers which
helps to achieve high binary compatibility.
- Speed: it is fast relative to many bounds-checking systems
- Low Memory Usage: the memory overheads are low as very little meta-data is required.
More details and a prototype release of the Low-Fat bounds checker are
Stack Bounds Protection with Low Fat Pointers [pdf]
Heap Bounds Protection with Low Fat Pointers [pdf]
by Gregory J. Duck and Roland H. C. Yap
International Conference on Compiler Construction (CC'16)
by Gregory J. Duck, Roland H. C. Yap and Lorenzo Cavallaro
The Network and Distributed System Security Symposium (NDSS'17)