KPTI — Kernel Page Table Isolation

Kernel Protection

Origine & rôle

KPTI (Kernel Page Table Isolation) a été introduit pour contrer Meltdown : il sépare les tables de pages noyau et utilisateur, de sorte que la mémoire kernel n'est plus mappée pendant l'exécution userland. Cela complique le retour propre après une exploitation kernel.

Impact sur l'exploit

# Après avoir élevé les privilèges en kernel, revenir en
# userland nécessite de restaurer le bon CR3 (table de pages user)
# via le trampoline de sortie du kernel :
swapgs_restore_regs_and_return_to_usermode
# Sauter au milieu de ce trampoline gère KPTI + swapgs + iretq

En pratique

Les exploits kernel modernes réutilisent le trampoline KPTI du noyau pour le retour propre (sinon crash), ou exécutent un signal handler/execve directement depuis le contexte kernel avant de revenir. KPTI rend le retour plus délicat mais ne bloque pas l'élévation elle-même.