Dos atacs al mecanisme de predicció del canal de memòria cau en els processadors AMD

Un grup d'investigadors de la Universitat Tècnica de Graz (Àustria), conegut anteriorment per desenvolupar mètodes d'atac MDS, NetSpectre, Martell de llançament и ZombieLoad, va dur a terme investigacions sobre optimitzacions de maquinari específiques per als processadors AMD i s’ha desenvolupat dos nous mètodes d'atac de canal lateral que manipulen les fuites de dades durant el funcionament del mecanisme de predicció del canal de memòria cau LXNUMX dels processadors AMD. Les tècniques es poden utilitzar per reduir l'eficàcia de la protecció ASLR, recuperar claus en implementacions AES vulnerables i augmentar l'eficàcia de l'atac Spectre.

Es van identificar problemes en la implementació del mecanisme de predicció del canal (predictor de camí) a la memòria cau de dades de primer nivell (L1D) de la CPU, que s'utilitza per predir quin canal de memòria cau conté una determinada adreça de memòria. L'optimització utilitzada en els processadors AMD es basa en comprovar les etiquetes μ (μTag). μTag es calcula aplicant una funció hash específica a l'adreça virtual. Durant el funcionament, el motor de predicció de canals utilitza μTag per determinar el canal de memòria cau a partir de la taula. Així, μTag permet al processador limitar-se a accedir només a un canal específic, sense buscar entre totes les opcions, la qual cosa redueix significativament el consum d'energia de la CPU.

Dos atacs al mecanisme de predicció del canal de memòria cau en els processadors AMD

Durant l'enginyeria inversa de la implementació del sistema de predicció de canals en diverses generacions de processadors AMD llançats entre 2011 i 2019, es van identificar dues noves tècniques d'atac de canal lateral:

  • Collide+Probe: permet a un atacant fer un seguiment de l'accés a la memòria dels processos que s'executen al mateix nucli lògic de la CPU. L'essència del mètode és utilitzar adreces virtuals que causen col·lisions a la funció hash utilitzada per calcular μTag per fer un seguiment de l'accés a la memòria. A diferència dels atacs Flush+Reload i Prime+Probe utilitzats en els processadors Intel, Collide+Probe no utilitza memòria compartida i funciona sense coneixement de les adreces físiques.
  • Load+Reload: us permet determinar amb molta precisió les traces d'accés a la memòria al mateix nucli físic de la CPU. El mètode es basa en el fet que una cel·la de memòria física només pot estar a la memòria cau L1D una vegada. Aquells. accedir a la mateixa cel·la de memòria en una adreça virtual diferent farà que la cel·la sigui desallotjada de la memòria cau L1D, permetent que es faci un seguiment de l'accés a la memòria. Tot i que l'atac es basa en la memòria compartida, no esborra les línies de la memòria cau, la qual cosa permet atacs sigils que no desallotgen les dades de la memòria cau d'últim nivell.

Basant-se en les tècniques Collide+Probe i Load+Reload, els investigadors han demostrat diversos escenaris d'atac de canal lateral:

  • Es mostra la possibilitat d'utilitzar mètodes per organitzar un canal de comunicació indirecte ocult entre dos processos, permetent la transferència de dades a velocitats de fins a 588 kB per segon.
  • Utilitzant col·lisions a μTag, va ser possible reduir l'entropia per a diferents variants d'ASLR (Address Space Layout Randomization) i evitar la protecció ASLR al nucli en un sistema Linux completament actualitzat. Es mostra la possibilitat de dur a terme un atac per reduir l'entropia ASLR tant des d'aplicacions d'usuari com utilitzant codi JavaScript executat en un entorn sandbox i codi que s'executa en un altre entorn convidat.

    Dos atacs al mecanisme de predicció del canal de memòria cau en els processadors AMD

  • Basat en el mètode Collide+Probe, es va implementar un atac per recuperar la clau de xifratge d'una implementació vulnerable (basada en Taula T) Xifratge AES.
  • Mitjançant l'ús del mètode Collide+Probe com a canal d'adquisició de dades, l'atac Spectre va poder extreure dades privades del nucli sense utilitzar memòria compartida.

La vulnerabilitat es produeix en els processadors AMD basats en microarquitectures
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ i Zen2.
AMD va rebre una notificació del problema el 23 d'agost de 2019, però fins ara no va publicar l'informe amb informació sobre el bloqueig de la vulnerabilitat. Segons els investigadors, el problema es pot bloquejar a nivell d'actualització del microcodi proporcionant bits MSR per desactivar selectivament el sistema de predicció del canal, de manera similar al que va fer Intel per controlar la desactivació dels mecanismes de predicció de branques.

Dos atacs al mecanisme de predicció del canal de memòria cau en els processadors AMD

Font: opennet.ru

Afegeix comentari