CyberGlossary

Vulnérabilités

Spectre

Aussi appelé: Attaque par exécution spéculative

Définition

Famille d'attaques microarchitecturales abusant de l'exécution spéculative du CPU pour fuiter des données à travers les frontières de sécurité via des canaux auxiliaires fondés sur le cache.

Divulguée en janvier 2018, Spectre (CVE-2017-5753 v1, CVE-2017-5715 v2 et plusieurs variantes ultérieures) exploite l'exécution spéculative des CPU modernes hors-ordre après des prédictions erronées de branche ou de saut indirect. Les instructions transitoires touchent les caches, laissant des effets observables que l'attaquant peut lire avec des mesures temporelles précises, même si le résultat spéculatif n'a jamais été validé architecturalement. Spectre touche Intel, AMD, ARM et d'autres, casse l'isolation entre processus et entre VMs et reste difficile à corriger totalement. Mitigations : barrières du compilateur (retpoline, LFENCE, speculative load hardening), microcode (IBRS, IBPB, STIBP, eIBRS), isolation des processus, isolation des sites côté navigateur et refonte architecturale dans les CPU récents.

Exemples

  • Spectre v1 (Bounds Check Bypass) : fuite de mémoire du noyau depuis des processus utilisateur.
  • Spectre v2 (Branch Target Injection) : franchissement des frontières VM dans le cloud.

Termes liés