CacheOut : deux nouvelles failles pour Intel dont une qui définit la teneur de l'attaque MDS ! (l’exécution non-plus spéculative...)

Un peu plus de deux ans après, Intel continue tristement de maintenir un fossé abyme sécuritaire concernant ses micro-puces : dernière brèche en date, CacheOut, une vulnérabilité - CVE-2020-0549 - reprenant les attaques de type MDS (Micro-architectural Data Sampling) mais en pire via la possibilité de cibler les données au sein du fameux cache...

 

 

Comme détaillé au sein du rapport élaboré par les chercheurs-universitaires du Michigan (Stephan van Schaik, Marina Minkin, Andrew Kwong et Daniel Genkin) et d'Adelaide / data61 (Yuval Yarom), à la manière d'un recyclage, la technique malveillante exploite le buffer line fill (zone de transition entre les caches L1(D) et L2) pour récupérer à la sauvette se qui sera écrasé en terme de réécriture pour mieux analyser la donnée et, donc, cibler ou identifier du moins sa teneur. Une dérobade de données ou du cache-mémoire qui s'assimile à un mouvement financier (cash) ; d'où le nom : CacheOut.

 

En vert, l'activité-utilisateur, en rouge, l'activité-attaquant et,
en orange (flèches) les conséquences de l'action initiale.

 

En Mai 2019, la faille assignée CVE-2019-12127 (RIDL) exécutait un tel schéma mais, toutefois, sans aller - du moins selon les communiqués officiels - jusqu'à exploiter le line fill buffer à ce point : "l'attaquant attend d'abord que le victime effectue une opération d'écriture sur une ligne de cache (étape 1). L'attaquant accède ensuite à l'ensemble d'expulsion correspondant, forçant les données nouvellement écrites à sortir du cache L1-D et à descendre la hiérarchie de la mémoire (étape 2). En route vers la mémoire, les données de la victime passent par les LFB. Ainsi, à l'étape 3, les échantillons de l'attaquant utilisent TAA pour échantillonner le tampon et utilisent ensuite FLUSH + RELOAD pour récupérer la valeur (étape 4)", selon les explications schématisées ci-dessus.

 

Intel confirme, pour l'heure, que les puces suivantes sont impactées par CacheOut :

  • 1ière et 2ième Gen Xeon Skylake - Cascade Lake,
  • 6ième Gen Xeon E3-1500 v5, E3-1200 v5,
  • 7ième et 8ième Gen Kaby Lake et Coffee Lake,
  • 8ième Gen Whiskey Lake (originelle, refresh et bureau),
  • 10ième Gen Amber Lake (Y).

Ironiquement, il a été observé en toute logique que l'instruction VERW qui colmatait la faille (TAA : Transactional Asynchronous Abort) CVE-2019-11135 - mise en lumière (publiquement) le 12 Novembre 2019 - était efficace mais devenait inutile face à CacheOut. Pour l'heure, une mise à jour prochaine du microcode sera bientôt disponible. AMD et IBM ne seraient pas affectés pas cette vulnérabilité, quand bien même chacun possèdent une solution similaire à Intel (TSX) et affirment, selon le site dédié à CacheOut, qu'aucune exploit du genre n'aurait été observé.

 

Enfin, une seconde vulnérabilité (CVE-2020-0548), permettrait une déduction partielle de valeurs avec le même dessein que CacheOut : la subtilisation de données mais, ici, depuis l'exploitation vectorielle des données : "dans certaines conditions microarchitecturales impliquant une opération vectorielle s'exécutant après une période où aucune opération vectorielle n'a été exécutée, des valeurs de données partielles lues au préalable à partir d'un registre vectoriel sur un noyau physique peuvent être propagées dans des parties inutilisées du tampon de stockage. Sur les processeurs affectés par Microarchitectural Data Samping (MDS) ou Transactional Asynchronous Abort (TAA), les données d'une entrée de mémoire tampon de stockage peuvent être déduites à l'aide de l'une de ces méthodes de canal latéral de sampling de données. En utilisant les méthodes MDS ou TAA, il peut être possible pour des acteurs malveillants d'inférer des valeurs de données à partir de registres vectoriels précédemment lus. On ne croit pas que la méthode de sampling du registre vectoriel affecte les processeurs qui ne sont pas affectés par MDS ou TAA", explique Intel dans le bulletin sécuritaire publié depuis le 27 Janvier dernier. La faille, pourtant en relation étroite avec CashOut, est qualifiée "basse" en terme de dangerosité ; contre "moyenne" pour CashOut... A suivre !

 

Source : CashOut, site officiel - rapport détaillé (PDF, Anglais).