Actualités

Platypus : deux nouvelles attaques par canal auxiliaire visant l’interface RAPL ! (dangereusement sous haute-tension et consommation…)

Attendues ou redoutées avant la fin d’année 2020, les vulnérabilités Intel continuent de se dévoiler : toujours par canal auxiliaire, il s’agit de deux failles dont le vecteur, cette fois, prend son sein dans le Running Average Power Limite (RAPL) d’Intel. Dénommées Platypus (Power Leakage Attacks : Targeting Your Protected User Secrets) par les chercheurs des Universités de Technologie de Graz, de Birmingham et de la CISPA (Center for Information Security à Helmholtz, en Allemagne), les vulnérabilités permettraient, également, d’obtenir une élévation de privilèges depuis l’enclave sécurisé Intel SGX…

 

 

“Nous exploitons un accès non privilégié à l’interface Intel Running Average Power Limit (RAPL) qui expose des valeurs directement corrélées à la consommation d’énergie, formant un canal latéral à faible résolution.Nous montrons qu’avec une évaluation statistique suffisante, nous pouvons observer des variations de consommation d’énergie, qui distinguent différentes instructions et différents Hamming poids des opérandes et des charges de mémoire. Cela nous permet non seulement de surveiller le flux de contrôle des applications, mais également d’inférer des données et d’extraire des clés cryptographiques. Nous démontrons comment un attaquant non privilégié peut divulguer des clés AES-NI d’Intel SGX et du noyau Linux, interrompre la randomisation de la disposition de l’espace d’adressage du noyau (KASLR), inférer les flux d’instructions secrets et établir un canal secret indépendant du temps. Nous présentons également une attaque privilégiée sur mbedTLS, utilisant un contrôle d’exécution précis pour récupérer des clés RSA à partir d’une enclave SGX“, est-il confirmé, en guise d’introduction, dans le rapport de l’équipe de chercheurs composée de Moritz Lipp, Andreas Kogler, David Oswald, Michael Schwarz, Catherine Easdon, Claudio Canella et Daniel Gruss.

 

Ces derniers ont éprouvés les micro-puces – dont la liste complète est fournie par Intel dans le bulletin sécuritaire dédié – sur des solutions bureau, mobile et serveur : “dans le contexte mobile, nous avons testé sur un Lenovo Thinkpad T480 et T495, tous deux utilisant des Core i7-8650UCPU, sur un Lenovo Thinkpad T460 avec un Core i7-6600U et un Intel NUC7I3BNH utilisant un Core i3-7100U. Pour la configuration de bureau, nous avons évalué un système utilisant un Core i5-3230M, un Corei7-6700K et un Core i9-9900K. Enfin, pour la configuration des serveurs cloud, nous avons évalué 3 systèmes, avec les processeurs Xeon E3-1240 v5, XeonE3-1275 v5 et Xeon Silver 4214. Tous les appareils testés exécutent Ubuntu Linux, avec des versions d’Ubuntu 16.04 à Ubuntu20.04 et des noyaux 4.15.0 à 5.4.0“.

 

Comme expliqué en détail, l’avènement du RAPL d’Intel est survenu à partir de la micro-architecture Sandy Bridge (Zen originel, concernant AMD) mais ce n’est que sous Haswell que l’interface s’émancipe via “trois contrôles distincts” : pour maintenir un équilibre de la micro-puce entre performances et puissance (alimentation), Intel a opéré des changement sur la tension et la consommation d’énergie. Pour éviter les bugs ou bévues techniques, ces trois contrôles fonctionnent comme une boucle pour veiller à avoir une alimentation ou un courant régulier. Quatre “domaines” ont ainsi été conçus pour optimiser cette vérification (cf. tableau ci-dessus) : l’équipe universitaire évoque notamment PSys sous Skylake qui fait référence au SoC.

La lecture détournée de cette consommation d’énergie peut se faire depuis Linux via sans forcément avoir, au préalable, effectué une élévation de privilèges ou court-circuiter un compte avec des droits étendus : “sous Linux, le framework powercap de limitation de la puissance autorise un accès non privilégié à IntelRAPL en exposant les MSR via l’interface système. Cela permet à un attaquant non privilégié de lire directement la valeur des packages individuels à partir d’un fichier situé dans / sys / devices / virtual / powercaptree“. Les finalités sont nombreuses : appel ou communication avec d’autres interfaces ou modification de ces dernières en provoquant des ralentissements au niveau des processus.

L’attaque peut, également, se faire depuis Intel SGX en chargeant un module (AES-NI) afin de mettre en lecture les MSRs. Cela permet, en finalité, d’observer précisément les constantes évoquées un peu plus en haut (puissance, performance, tension) et gérées par le RAPL. Les chercheurs ont ainsi démontrés qu’entre la consommation-coeur et la tension-coeur d’un micro-processeur, les valeurs respectives de 50 μs et 150 μ ont été observées. Il est, également, évoqué, “un contrôle total” sur l’OS ciblé avec, ici aussi, une prise de contrôle sur les accès-mémoire des applications ou ressources actives du système. Après plusieurs tests centrée autour de la récupération d’une clé de chiffrement depuis un serveur Xeon E3-1275 v5, “509 bits de clé” ont été récupérés “sans aucune erreur”, en 211 minutes ; 100 minutes pour la récupération entière des clés RSA (TLS), en 512 bits.

 

L’interface d’alimentation incriminée n’est pas du seul fait d’Intel : AMD serait également concerné mais l’ensemble reste flou du fait d’un manque de documentation, côté fabricant. Les chercheurs partent du principe que même en l’absence d’interface dédiée, les familles 15 et 16 AMD avait tout de même des constantes similaires qui influaient sur les micro-puces. Ainsi, lorsque le pilote (powerdriver) est chargé, cela peut potentiellement être détourné en vue d’une lecture malveillante, comme démontré pour Intel. ARM, Nvidia, Ampere, IBMPOWER, Hygon ou encore Marvell seraient concernés. L’ensemble de l’exploit a été annoncé le 6 Juin 2020 à AMD voire bien avant pour Intel : le 16 Novembre 2019.

Assignées CVE-2020-8694 et CVE-2020-8695, Intel à fournit une mise à jour de son micro-code pour limiter l’accès (privilège) sous Linux. Concernant SGX, il s’agit d’une rustine qui atténue mais n’élimine pas, pour l’heure, le problème : “Intel a publié des mises à jour de microcode qui modifient la façon dont la consommation d’énergie est signalée si Intel SGX est activé sur le système. Au lieu de mesures d’énergie réelles, il revient à une approche basée sur un modèle, de sorte que les mêmes instructions avec des données ou des opérandes différents ne peuvent pas être distinguées. Ainsi, si l’enclave suit les lignes directrices d’Intel et utilise des implémentations cryptographiques à temps constant, un adversaire ne devrait pas être en mesure de récupérer les secrets de l’enclave“. Si Intel Power Gadget est installé sur le système, la faille peut s’étendre sous Windows et macOS, en plus de Linux… A veiller !

 

Source : Platypus (site officiel) – PoC (PDF, anglais).

 

 




  • 50% J'apprécieVS
    50% Je n'apprécie pas
    Pas de commentaire

    Laisser un commentaire

    ;) :zzz: :youpi: :yes: :xmas: :wink: :whistle: :warning: :twisted: :sw: :sleep: :sg1: :schwarzy: :sarko: :sante: :rollol: :roll: :rip: :pt1cable: :popcorn: :pff: :patapai: :paf: :p :ouch: :oops: :o :non: :na: :mrgreen: :mdr: :macron: :love: :lol: :kissou: :kaola: :jesuisdehors: :jap: :ilovesos: :idea: :houra: :hello: :heink: :grumpy: :fume: :frenchy: :fouet: :fouet2: :first: :fessee: :evil: :dispute: :demon: :cryy: :cry: :cpignon: :cool: :cassepc: :capello: :calin: :bug: :boxe: :bounce: :bluesbro: :bisou: :babyyoda: :assassin: :arrow: :annif: :ange: :amen: :D :??: :?: :/ :-| :-x :-o :-P :-D :-? :-1: :+1: :) :( 8-O 8)

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

    Copyright © Association SOSOrdi.net 1998-2021 - v1.10.0