SLAM — une attaque sur les CPU Intel, AMD et ARM, permettant de dĂ©terminer le contenu de la mĂ©moire

Un groupe de chercheurs de l'UniversitĂ© libre d'Amsterdam a prĂ©sentĂ© une nouvelle technique d'attaque SLAM (Spectre Linear Address Masking), qui propose une nouvelle façon d'exploiter les vulnĂ©rabilitĂ©s microarchitecturales de type Spectre, oĂč des fuites de donnĂ©es se produisent lors de la translation d'adresses non canoniques, avec l'utilisation de cas d'extension fournies dans les nouveaux processeurs pour masquer les adresses linĂ©aires. Les chercheurs ont publiĂ© un ensemble d'outils implĂ©mentant la mĂ©thode et ont proposĂ© une dĂ©monstration montrant comment extraire des donnĂ©es de la mĂ©moire du noyau correspondant Ă  un certain masque (illustrĂ© comment, en quelques dizaines de secondes sur Ubuntu, isoler dans la mĂ©moire du noyau une chaĂźne avec le hash du mot de passe de l'utilisateur root).

Lire la vidéo

L'attaque peut ĂȘtre effectuĂ©e sur des systĂšmes avec des processeurs Intel prenant en charge l'extension LAM (Linear Address Masking), des processeurs AMD avec l'extension UAI (Upper Address Ignore) et des processeurs ARM avec l'extension TBI (Top Byte Ignore). Les extensions mentionnĂ©es permettent d'utiliser une partie des bits des pointeurs 64 bits pour stocker des mĂ©tadonnĂ©es non liĂ©es Ă  l'adressage (les programmes ordinaires ne nĂ©cessitent pas autant de mĂ©moire qu'ils peuvent adresser des pointeurs 64 bits, donc les bits supĂ©rieurs peuvent ĂȘtre utilisĂ©s, par exemple, pour des vĂ©rifications liĂ©es Ă  la sĂ©curitĂ©). Fait intĂ©ressant, les processeurs Intel, AMD et ARM prenant en charge LAM, UAI et TBI ont seulement Ă©tĂ© annoncĂ©s mais ne sont pas encore produits en masse, ce qui fait de SLAM la premiĂšre attaque spĂ©culative sur les futurs CPU. L'attaque peut Ă©galement ĂȘtre effectuĂ©e sur les anciens CPU AMD Zen+ et Zen 2, vulnĂ©rables Ă  la faille CVE-2020-12965.

Par analogie avec l'exploitation des vulnĂ©rabilitĂ©s Spectre, l'attaque SLAM nĂ©cessite la prĂ©sence dans le noyau de sĂ©quences d'instructions spĂ©cifiques (gadgets) entraĂźnant une exĂ©cution spĂ©culative des instructions. Ces instructions provoquent une lecture spĂ©culative des donnĂ©es de la mĂ©moire en fonction de conditions externes, pouvant ĂȘtre influencĂ©es par l'attaquant. AprĂšs la dĂ©termination d'une prĂ©vision erronĂ©e, le rĂ©sultat de l'exĂ©cution spĂ©culative est rejetĂ©, mais les donnĂ©es traitĂ©es restent dans le cache et peuvent ensuite ĂȘtre extraites par analyse via des canaux secondaires. Pour extraire les donnĂ©es rĂ©siduelles dans le cache, les chercheurs utilisent la mĂ©thode Evict+Reload, qui consiste Ă  crĂ©er des conditions pour Ă©vacuer les donnĂ©es du cache (par exemple, une activitĂ© est gĂ©nĂ©rĂ©e, remplissant uniformĂ©ment le cache avec un contenu standard) et Ă  effectuer des opĂ©rations dont le temps d'exĂ©cution permet de juger de la prĂ©sence de donnĂ©es dans le cache du processeur.

Pour rĂ©aliser l'attaque SLAM, des gadgets basĂ©s sur du code sont utilisĂ©s, oĂč les donnĂ©es contrĂŽlĂ©es par l'attaquant (la variable « secret » ci-dessous) sont utilisĂ©es comme un pointeur. Par exemple: void unmasked_gadget(long **secret) { **secret; }

Il est notĂ© que de tels modĂšles de code sont souvent utilisĂ©s dans des programmes, par exemple, dans le noyau Linux des dizaines de milliers de tels gadgets ont Ă©tĂ© identifiĂ©s, dont au moins plusieurs centaines sont exploitables dans des exploits. La fuite peut ĂȘtre bloquĂ©e en ajoutant des instructions supplĂ©mentaires Ă  ces gadgets, empĂȘchant l'exĂ©cution spĂ©culative. Intel prĂ©voit de fournir une mĂ©thode logicielle pour bloquer les fuites avant de commencer la livraison de processeurs prenant en charge LAM. AMD a recommandĂ© d'utiliser les mĂ©thodes existantes pour bloquer les attaques de type Spectre v2. Les dĂ©veloppeurs du noyau Linux ont dĂ©cidĂ© de dĂ©sactiver par dĂ©faut le support de LAM jusqu'Ă  la publication des recommandations d'Intel pour le blocage de la vulnĂ©rabilitĂ©.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster