Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1028

Shadow stack

Qu'est-ce que Shadow stack ?

Shadow stackUne shadow stack est une pile separee et protegee qui conserve des copies des adresses de retour afin que le processeur detecte une alteration de la pile normale et bloque les attaques ROP.


La shadow stack fonctionne en parallele de la pile d'appel classique : chaque appel empile l'adresse de retour sur les deux piles et chaque retour les compare. En cas de divergence, le processeur leve une exception et le processus se termine avant d'utiliser l'adresse corrompue. La technique, popularisee par les travaux academiques sur la CFI, est aujourd'hui implementee en materiel par Intel CET shadow stack et Arm v8.5-A Guarded Control Stack (GCS). Des versions logicielles existent (LLVM SafeStack, clang -fsanitize=safe-stack) avec un cout en performance et en isolation. Elle couvre l'arrete arriere de la CFI ; les appels indirects necessitent toujours CFI/IBT.

Exemples

  1. 01

    Windows 11 active les shadow stacks utilisateur sur les CPU compatibles CET.

  2. 02

    Arm GCS detecte un debordement qui ecrase le LR sauvegarde.

Questions fréquentes

Qu'est-ce que Shadow stack ?

Une shadow stack est une pile separee et protegee qui conserve des copies des adresses de retour afin que le processeur detecte une alteration de la pile normale et bloque les attaques ROP. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.

Que signifie Shadow stack ?

Une shadow stack est une pile separee et protegee qui conserve des copies des adresses de retour afin que le processeur detecte une alteration de la pile normale et bloque les attaques ROP.

Comment fonctionne Shadow stack ?

La shadow stack fonctionne en parallele de la pile d'appel classique : chaque appel empile l'adresse de retour sur les deux piles et chaque retour les compare. En cas de divergence, le processeur leve une exception et le processus se termine avant d'utiliser l'adresse corrompue. La technique, popularisee par les travaux academiques sur la CFI, est aujourd'hui implementee en materiel par Intel CET shadow stack et Arm v8.5-A Guarded Control Stack (GCS). Des versions logicielles existent (LLVM SafeStack, clang -fsanitize=safe-stack) avec un cout en performance et en isolation. Elle couvre l'arrete arriere de la CFI ; les appels indirects necessitent toujours CFI/IBT.

Comment se défendre contre Shadow stack ?

Les défenses contre Shadow stack combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Shadow stack ?

Noms alternatifs courants : Pile fantome, Safe stack, GCS.

Termes liés