Stack memory errors such as buffer overflows remain a major security challenge for software written in memory unsafe languages like C and C++. Arm Memory Tagging Extension (MTE) offers a promising foundation for detecting spatial violations by associating tags with both pointers and memory objects. However, existing MTE-based runtime defenses do not preserve pointer tag integrity. In particular, pointer tags can be inadvertently corrupted or adversarially altered during pointer arithmetic operations, which are common in system-level code, thereby rendering the security guarantees of current solutions questionable.This paper presents TAGShield, a runtime exploit mitigation mechanism that leverages MTE to provide persistent and deterministic protection against stack spatial memory errors while enforcing pointer tag integrity. TAGShield combines a transparent compile time tagging scheme with lightweight software instrumentation that checks and maintains tag correctness. Evaluation results demonstrate that TAGShield introduces a geometric mean runtime overhead of less than 10% on representative benchmarks, including SPEC CPU2006 and nginx, while effectively mitigating all stack spatial memory vulnerabilities in the Juliet C/C++ test suite.

TAGShield: Persistent Tagging for Robust Stack Memory Error Protection / Grisafi, M., Ramponi, C., Ammar, M., Vlasceanu, S., Crispo, B.. - (2026), pp. 986-999. (21st ACM Asia Conference on Computer and Communications Security, AsiaCCS 2026 Bangalore, India 2026) [10.1145/3779208.3785279].

TAGShield: Persistent Tagging for Robust Stack Memory Error Protection

Michele Grisafi
Primo
;
Carlo Ramponi
Secondo
;
Bruno Crispo
Co-ultimo
2026-01-01

Abstract

Stack memory errors such as buffer overflows remain a major security challenge for software written in memory unsafe languages like C and C++. Arm Memory Tagging Extension (MTE) offers a promising foundation for detecting spatial violations by associating tags with both pointers and memory objects. However, existing MTE-based runtime defenses do not preserve pointer tag integrity. In particular, pointer tags can be inadvertently corrupted or adversarially altered during pointer arithmetic operations, which are common in system-level code, thereby rendering the security guarantees of current solutions questionable.This paper presents TAGShield, a runtime exploit mitigation mechanism that leverages MTE to provide persistent and deterministic protection against stack spatial memory errors while enforcing pointer tag integrity. TAGShield combines a transparent compile time tagging scheme with lightweight software instrumentation that checks and maintains tag correctness. Evaluation results demonstrate that TAGShield introduces a geometric mean runtime overhead of less than 10% on representative benchmarks, including SPEC CPU2006 and nginx, while effectively mitigating all stack spatial memory vulnerabilities in the Juliet C/C++ test suite.
2026
ASIA CCS 2026 - Proceedings of the 21st ACM ASIA Conference on Computer and Communications Security
New York, US
Association for Computing Machinery, Inc
979-8-4007-2356-8
Grisafi, Michele; Ramponi, Carlo; Ammar, Mahmoud; Vlasceanu, Silviu; Crispo, Bruno
TAGShield: Persistent Tagging for Robust Stack Memory Error Protection / Grisafi, M., Ramponi, C., Ammar, M., Vlasceanu, S., Crispo, B.. - (2026), pp. 986-999. (21st ACM Asia Conference on Computer and Communications Security, AsiaCCS 2026 Bangalore, India 2026) [10.1145/3779208.3785279].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/498611
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
  • OpenAlex ND
social impact