Memory Tagging and how it improves C/C++ memory safety
Kostya Serebryany
Abstract:
Memory safety in C and C++ remains largely unresolved. A technique usually called "memory tagging" may dramatically improve the situation if implemented in hardware with reasonable overhead. In this talk we will describe two existing implementations of memory tagging: one is the full hardware implementation - SPARC ADI, the other is a partially hardware-assisted compiler-based tool for AArch64 - HWASAN. We describe the basic idea, evaluate the two implementations, and explain how they improve memory safety. We'll pay extra attention to memory tagging as a security mitigation. See also: https://arxiv.org/pdf/1802.09517.pdf
Bio:
Konstantin (Kostya) Serebryany is a Software Engineer at Google. His team develops and deploys dynamic testing tools, such as AddressSanitizer, MemorySanitizer, ThreadSanitizer, and libFuzzer. Prior to joining Google in 2007, Konstantin spent 4 years at Elbrus/MCST working for Sun compiler lab and then 3 years at Intel Compiler Lab. Konstantin holds a PhD from mesi.ru and a M.S. from msu.ru.