The latest Google Pixel 8 series are reportedly the first set of Android handsets to support ARM’s Memory Tagging Extension (MTE). This feature, found in Arm v9 CPUs, promises to bolster protection against memory safety bugs by providing in-depth insights into memory violations. It helps aid developers in identifying and resolving memory safety issues more efficiently within their applications.
Notably, the Pixel 8’s Tensor G3 joins the league with MediaTek’s Dimensity 9300, which also boasts MTE support and allows users to toggle it on or off through the bootloader. However, Qualcomm’s Snapdragon 8 Gen 3 does not yet support MTE.
Enabling MTE on compatible devices running Android 14 involves navigating to Settings > System > Developer options > Memory Tagging Extension. Nonetheless, it’s essential to remember that MTE remains deactivated by default due to potential app crashes or performance glitches. However, according to Google’s Mark Brand, who wrote for the Project Zero blog, the impact on performance seems minimal. (Via Mishaal Rahman / X)
For users interested in checking if MTE is enabled in the bootloader, Google’s Sanitizer Test App, available on the Play Store, can be a handy tool.
While MTE can be configured with shell commands (async, sync, asymmetric), it’s crucial to note that certain system processes such as system_server, NFC, SE, and Bluetooth are excluded. Additionally, it’s worth mentioning that Chromium does not yet fully support MTE. However, Mark Brand expects that Chrome will add an easier way to enable MTE support without any security trade-offs soon.
ARM’s MTE has garnered attention for its ability to detect memory corruption exploitation at the first instance of a dangerous access. So the Pixel 8 series has raised the bar for device security. However, it is imperative to exercise caution when making configurations, as improper settings may lead to app crashes or other operational issues. I’d suggest steering clear from enabling MTE if you don’t fully know what you’re getting into.
Overall, the introduction of ARM’s MTE in the Google Pixel 8 series holds promise for improving overall device security, particularly for handling complex C/C++ code. Now it’s left to be seen how developers make use of MTE on to test their apps. To know more about Arm’s Memory Tagging Extension, you can read the official documentation.