Litcius/Paper detail

Implicit Memory Tagging: No-Overhead Memory Safety Using Alias-Free Tagged ECC

Michael B. Sullivan, Mohamed Tarek Ibn Ziad, Aamer Jaleel, Stephen W. Keckler

202312 citationsDOIOpen Access PDF

Abstract

Memory safety is a major security concern for unsafe programming languages, including C/C++ and CUDA/OpenACC. Hardware-accelerated memory tagging is an effective mechanism for detecting memory safety violations; however, its adoption is challenged by significant meta-data storage and memory traffic overheads. This paper proposes Implicit Memory Tagging (IMT), a novel approach that provides no-overhead hardware-accelerated memory tagging by leveraging the system error correcting code (ECC) to check for the equivalence of a memory tag in addition to its regular duties of detecting and correcting data errors. Implicit Memory Tagging relies on a new class of ECC codes called Alias-Free Tagged ECC (AFT-ECC) that can unambiguously identify tag mismatches in the absence of data errors, while maintaining the efficacy of ECC when data errors are present. When applied to GPUs, IMT addresses the increasing importance of GPU memory safety and the costs of adding meta-data to GPU memory. Ultimately, IMT detects memory safety violations without meta-data storage or memory access overheads. In practice, IMT can provide larger tag sizes than existing industry memory tagging implementations, enhancing security.

Topics & Concepts

Computer scienceMemory safetyAliasMemory protectionMemory errorsMemory managementRegistered memoryMemory mapInterleaved memoryError detection and correctionParallel computingComputer hardwareEmbedded systemEncoding (memory)Flat memory modelOperating systemSemiconductor memoryDatabaseRecallCompilerAlgorithmLinguisticsArtificial intelligencePhilosophyRadiation Effects in ElectronicsSecurity and Verification in ComputingCloud Data Security Solutions
Implicit Memory Tagging: No-Overhead Memory Safety Using Alias-Free Tagged ECC | Litcius