URL:     https://linuxfr.org/users/patrick_g/journaux/nouvelle-vulnerabilite-pour-les-processeurs-intel-l-attaque-cacheout
Title:   Nouvelle vulnérabilité pour les processeurs Intel : l’attaque CacheOut
Authors: patrick_g
Date:    2020-01-28T10:01:58+01:00
License: CC By-SA
Tags:    meltdown et spectre
Score:   72


Dans la lignée des attaques de type [_Spectre_](https://fr.wikipedia.org/wiki/Spectre_(vuln%C3%A9rabilit%C3%A9)) ou [_Meltdown_](https://fr.wikipedia.org/wiki/Meltdown_(vuln%C3%A9rabilit%C3%A9)), les chercheurs en sécurité s’en donnent à cœur joie et n’en finissent plus de trouver de nouvelles failles. Un site Web a été mis en place pour décrire la toute nouvelle attaque _CacheOut_ (avec un beau logo, comme c’est devenu l’habitude) : <https://cacheoutattack.com/>.

En résumé, voici comment ça marche : suite aux précédentes attaques, il avait été constaté que différents tampons internes des processeurs Intel pouvaient laisser fuir leurs données. Ces attaques, nommées « _Microarchitectural Data Sampling_ » (MDS), avaient été jugées très graves car elles permettaient de siphonner des données indépendamment de toutes les barrières de sécurité inter‑processus.
Pour corriger cette faille, les ingénieurs Intel avaient poussé un correctif du microcode du processeur. Ce correctif réutilisait l’instruction VERW afin de vider les tampons lors de chaque changement de domaine de sécurité.
Tampons vides, donc attaque impossible, donc problème des attaques MDS résolu… Du moins, c’est ce qu’on croyait !

Avec la nouvelle attaque _CacheOut_, les chercheurs mettent en évidence la possibilité de retrouver les données qui ont été effacées des tampons. En effet, ces données sont toujours dans le cache L1 et il est possible d’obliger le processeur à recopier ces données dans les tampons même après le passage de l’instruction VERW.

Citation du PDF :

> _For CacheOut, we build on the observation that on Intel CPUs, dirty lines from the L1 cache are evicted to the L2 cache via the line fill buffers, where their content remains until overwritten. Thus we can use a faulting or assisting load to recover it.
This behavior has two implications. First, using VERW to flush the CPU buffers on security domain changes does not mitigate CacheOut, because L1 eviction of victim’s dirty lines into the fill buffer can occur well after the context switch and the associated verw instruction._

Non seulement le correctif basé sur VERW ne corrige pas la faille, mais en plus la nouvelle attaque permet de _choisir_ ce qu’on veut extraire, alors qu’avant on récupérait plein de données au hasard.

C’est donc une faille de sécurité très grave et Intel (qui a été mis au courant en octobre 2019 par les chercheurs) va proposer rapidement un nouveau correctif du microcode. Mais il y aura sans doute un impact sur les performances s’il faut vider le cache L1 régulièrement…

En ce qui concerne les autres fabricants de processeurs, voici ce qu’écrivent les chercheurs dans leur FAQ :

> _AMD is not affected by CacheOut, as AMD does not offer any feature akin to Intel TSX on their current offering of CPUs.
ARM and IBM do have a feature similar to Intel TSX, but we are currently unaware of whether any of their products are affected. We are also unaware of any other attack vectors to exploit CacheOut._
