KASAN por dentro: cómo el kernel de Linux detecta accesos inválidos a memoria

Poison, redzones and shadows: inside KASAN

KASAN por dentro: cómo el kernel de Linux detecta accesos inválidos a memoria

KASAN (Kernel Address Sanitizer) es un verificador en tiempo de ejecución que detecta accesos fuera de límites y use-after-free en el kernel de Linux. Este artículo explora sus internals: la instrumentación del compilador, la memoria sombra que rastrea el estado de la memoria, y cómo se actualiza durante la asignación y liberación. Incluye un ejemplo práctico de configuración con virtme-ng y un análisis detallado de un reporte de KASAN.

La memoria sombra permite rastrear con granularidad de byte el final de una región de memoria asignada, pero no su inicio, porque la memoria devuelta por los asignadores del kernel tiene una alineación mínima que coincide con el tamaño de la granja (8 bytes).

Más de este día

2026-07-08