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

Shadow stack

¿Qué es Shadow stack?

Shadow stackUna shadow stack es una pila protegida y separada que guarda copias de las direcciones de retorno para detectar manipulaciones de la pila normal y bloquear ataques ROP.


Una shadow stack corre en paralelo con la pila de llamadas convencional: cada llamada apila la direccion de retorno en ambas pilas y cada retorno las compara. Si difieren, la CPU genera una excepcion y el proceso aborta antes de usar la direccion corrupta. El mecanismo se popularizo en articulos academicos de CFI y hoy esta disponible en hardware como Intel CET shadow stack y Arm v8.5-A Guarded Control Stack (GCS). Existen versiones puramente software (LLVM SafeStack, clang -fsanitize=safe-stack) con costes en rendimiento y aislamiento. La shadow stack cubre la arista hacia atras de CFI; las llamadas indirectas siguen necesitando CFI/IBT.

Ejemplos

  1. 01

    Windows 11 fuerza shadow stacks en modo usuario en CPUs compatibles con CET.

  2. 02

    Arm GCS detecta un desborde que sobrescribe el LR guardado.

Preguntas frecuentes

¿Qué es Shadow stack?

Una shadow stack es una pila protegida y separada que guarda copias de las direcciones de retorno para detectar manipulaciones de la pila normal y bloquear ataques ROP. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.

¿Qué significa Shadow stack?

Una shadow stack es una pila protegida y separada que guarda copias de las direcciones de retorno para detectar manipulaciones de la pila normal y bloquear ataques ROP.

¿Cómo funciona Shadow stack?

Una shadow stack corre en paralelo con la pila de llamadas convencional: cada llamada apila la direccion de retorno en ambas pilas y cada retorno las compara. Si difieren, la CPU genera una excepcion y el proceso aborta antes de usar la direccion corrupta. El mecanismo se popularizo en articulos academicos de CFI y hoy esta disponible en hardware como Intel CET shadow stack y Arm v8.5-A Guarded Control Stack (GCS). Existen versiones puramente software (LLVM SafeStack, clang -fsanitize=safe-stack) con costes en rendimiento y aislamiento. La shadow stack cubre la arista hacia atras de CFI; las llamadas indirectas siguen necesitando CFI/IBT.

¿Cómo defenderse de Shadow stack?

Las defensas contra Shadow stack combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Shadow stack?

Nombres alternativos comunes: Pila sombra, Safe stack, GCS.

Términos relacionados