Memory Safety: Further Readings
Memory Errors and Their Exploitation
- Szekeres et al., SoK: Eternal War in Memory. Must read, everything you need to know about memory safety as of 2013.
- Aleph One, Smashing the Stack for Fun and Profit. Seminal paper on the stack smashing attack.
- Akritidis, Cling: A Memory Allocator to Mitigate Dangling Pointers. Good presentation of attacks leveraging use after free (+ propose a solution).
- Shacham, The Geometry of Innocent Flesh on the Bone: Return-into-libc without Function Calls (on the x86). Seminal paper about return oriented programming.
- (Book) Erickson, Hacking: The Art of Exploitation. See chapter 3, “Exploitation”.
Secure Coding in C/C++
- Carnegie Mellon’s Software Engineering Institute, CERT C Coding Standard.
- (Book) Seacord, Secure coding in C and C++.
- ISO/IEC, TS 17961 C Secure Coding Rules.
- NASA JPL, C Coding Standard.
- Fedora’s Defensive Coding Guide.
Detecting Bugs Offline
- Clang static analyser’s website.
- Song et al, SoK: Sanitizing for Security. Everything you need to know about sanitisers.
- Nethercote and Seward, Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation. Valgrind’s paper.