4 équipes différentes avaient identifié les failles • Perçue comme une catastrophe majeure • Certains OSs étaient déjà patchés ou des patchs disponibles 3 https://meltdownattack.com/
le temps que la donnée arrive depuis la mémoire (15ns ~ 50 - 100 instructions) • Si instructions conditionnelles (sauts, boucles) • Branch prediction: hypothèse basée sur des statistiques • Si OK => continue (gain de performance) • Si KO => on jette et on recommence (gain non réalisé) 12
~ 1 VM • Accès à toute la mémoire virtuelle (~adressable) • Pagination/caching: • mémoire virtuelle utilisée est lue depuis swap vers mémoire physique • Sauvegardée sur disque pour faire de la place • Système de droits pour gérer l’accès 14
la réussite (x < array1_size) • On fixe l’état du cache • On injecte le x désiré • On analyse l’état du cache • ˰ permet de contourner la sandbox Javascript (ou la JVM par exemple) 23
un saut indirect • On injecte l’adresse de la portion de programme désirée • On exploite les résultats de la pré exécution via analyse du cache • ˰ Généralisation de la stratégie. Plus compliqué, mais possible 24