How Memory Tagging Extension (MTE) can increase the memory safety of code written in unsafe languages.
The Internet worm of 1988 took offline one tenth of the fledgling network, and severely slowed down the remainder [1]. Over 30 years later, two of the most important classes of security vulnerability in code written in C-like languages are still violations of memory safety. According to a 2019 BlueHat presentation, 70% of all security issues addressed in Microsoft products are caused by violations of memory safety [2]. Similar figures have been reported by Google for Android, where over 75% of vulnerabilities are violations of memory safety [3]. While many of these violations would be impossible in newer languages, the base of in-use code written in C and C++ is vast. Debian Linux alone contains over half a billion lines [4].
This paper introduces the Armv8.5-A Memory Tagging Extension (MTE). MTE aims to increase the memory safety of code written in unsafe languages without requiring source changes, and in some cases, without requiring recompilation. Easily deployable detections of and mitigations against memory safety violations may prevent a large class of security vulnerabilities from being exploitable.
Click here to read more.
Leave a Reply