-
Sanitizers: AddressSanitizer, ThreadSanitizer, MemorySanitizer
-
Compilers
-
Adding Clang Sanitizers to a CMake Build
-
Creating an LLVM Sanitizer from Hopes and Dreams
-
GWP-ASan: Sampling heap memory error detection in-the-wild
-
Kernel Concurrency Sanitizer (KCSAN)
-
Kernel Thread Sanitizer (KTSAN)
Research
- A Preliminary Study on Open-Source Memory Vulnerability Detectors
- International Conference on Software Analysis, Evolution, and Reengineering (SANER), ERA track, 2020
- Yu Nong and Haipeng Cai
- http://chapering.github.io/pubs/saner20-a.pdf
- AddressSanitizer, CBMC, DrMemory, MemorySanitizer, Valgrind
- Research questions:
- RQ1: How effective are these detectors in terms of precision, recall, and accuracy?
- RQ2: How efficient are the detectors in terms of their cost for detecting vulnerabilities?
- RQ3: How do these detectors compare in terms of their detection accuracy?
- AddressSanitizer: A Fast Address Sanity Checker
- CastSan: Efficient Detection of Polymorphic C++ Object Type Confusions with LLVM
- CUP: Comprehensive User-Space Protection for C/C++
- DangSan: Scalable Use-after-free Detection
- EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
- HexType: Efficient Detection of Type Confusion Errors for C++
- HexVASAN: Venerable Variadic Vulnerabilities Vanquished
- MemorySanitizer: fast detector of uninitialized memory use in C++
- PartiSan: Fast and Flexible Sanitization via Run-time Partitioning
- Research in Attacks, Intrusions and Defenses (RAID) 2018
- Julian Lettner, Dokyung Song, Taemin Park, Stijn Volckaert, Per Larsen, Michael Franz
- https://arxiv.org/abs/1711.08108
- TypeSanitizer: Practical Type Confusion Detection
- Computer and Communications Security (CCS) 2016
- Istvan Haller, Yuseok Jeon, Hui Peng, Mathias Payer, Herbert Bos, Cristiano Giuffrida, Erik van der Kouwe
- https://nebelwelt.net/publications/files/16CCS2.pdf
- TypeSan checks casts in C++ code - code released for CCS 2016
Projects
- QASan: QEMU-AddressSanitizer
- sanitizers-cmake: CMake modules to help use sanitizers
- TypeART: LLVM-based type and memory allocation tracking sanitizer
Talks
- AddressSanitizer, ThreadSanitizer and MemorySanitizer -- Dynamic Testing Tools for C++
- Address and Thread Sanitizer in GCC: State of the Onion
- C++ Sanitizers
- Debugging with LLVM: A quick introduction to LLDB and LLVM sanitizers
- Finding races and memory errors with LLVM instrumentation
- Finding races and memory errors with compiler instrumentation: AddressSanitizer, ThreadSanitizer
- MemorySanitizer, ThreadSanitizer: Scalable run-time detection of uninitialized memory reads and data races with LLVM instrumentation
- News from Sanitizers
- The Type Sanitizer: Free Yourself from -fno-strict-aliasing
- ThreadSanitizer APIs for external libraries
Tags:
reading
language
tool
library
native
llvm
Last modified 07 October 2024