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.

Time and Place

Wednesday, April 25, 4:15pm
Gates 463A