Du êrîşên li ser mekanîzmaya pêşbînkirina kanala cache di pêvajoyên AMD de

Komek lêkolînerên ji Zanîngeha Teknîkî ya Graz (Awisturya), ku berê ji bo pêşxistina rêbazên êrîşê dihat zanîn MDS, NetSpectre, Throwhammer и ZombieLoad, lêkolîn li ser xweşbîniyên hardware yên taybetî yên pêvajoyên AMD û pêşketiye du rêbazên nû yên êrîşên kanala alîgir ên ku di dema xebitandina mekanîzmaya pêşbînkirina kanala cache ya L1 ya pêvajoyên AMD-ê de levkirina daneyan manîpule dikin. Teknîkî dikare were bikar anîn da ku bandoriya parastina ASLR kêm bike, bişkojan di pêkanînên AES yên xedar de vegerîne, û bandora êrîşa Specter zêde bike.

Pirsgirêk di pêkanîna mekanîzmaya pêşbînkirina kanalê de (pêşbînkerê rê) di kaşa daneya asta yekem a CPU (L1D) de, ku ji bo pêşbînîkirina ka kîjan kanala cache navnîşek bîranînek diyar dihewîne, tê bikar anîn. Optimîzasyona ku di pêvajoyên AMD de têne bikar anîn li ser kontrolkirina μ-tags (μTag) ve girêdayî ye. μTag bi sepandina fonksiyonek hash a taybetî li navnîşana virtual tê hesibandin. Di dema xebatê de, motora pêşbînkirina kanalê μTag bikar tîne da ku kanala cache ji tabloyê diyar bike. Bi vî rengî, μTag destûrê dide pêvajoyê ku xwe bigihîje tenê kanalek taybetî, bêyî ku li hemî vebijarkan bigere, ku bi girîngî xerckirina enerjiya CPU kêm dike.

Du êrîşên li ser mekanîzmaya pêşbînkirina kanala cache di pêvajoyên AMD de

Di dema endezyariya berevajî ya pêkanîna pergala pêşbîniya kanalê de di nifşên cihêreng ên pêvajoyên AMD-ê de ku ji 2011-an heya 2019-an hatine berdan, du teknîkên êrişa kanala alîkî ya nû hatin nas kirin:

  • Collide + Probe - destûrê dide êrîşkar ku gihandina bîranînê ji bo pêvajoyên ku li ser heman bingeha CPU-ya mentiqî dimeşin bişopîne. Esasê rêbazê ev e ku meriv navnîşanên virtual bikar bîne ku dibe sedema pevçûnan di fonksiyona hash de ku ji bo hesabkirina μTag tê bikar anîn da ku gihîştina bîranînê bişopîne. Berevajî êrîşên Flush+Reload û Prime+Probe ku li ser pêvajoyên Intel têne bikar anîn, Collide+Probe bîranîna hevpar bikar nayîne û bêyî agahdariya navnîşanên laşî dixebite.
  • Load+Reload - destûrê dide te ku hûn şopên gihîştina bîranînê li ser heman bingeha CPU-ya laşî bi pir rast diyar bikin. Rêbaz li ser vê rastiyê ye ku hucreyek bîranîna laşî tenê carekê dikare di cache L1D de be. Ewan. gihîştina heman hucreya bîranînê li navnîşanek virtual ya cihêreng dê bibe sedema ku hucre ji cache L1D were derxistin, ku dihêle gihandina bîranînê were şopandin. Her çend êrîş xwe dispêre bîra hevpar, ew xêzên cache-ê paqij nake, rê dide êrîşên dizî yên ku daneyan ji cache-a asta paşîn dernakeve.

Li ser bingeha teknîkên Collide+Probe û Load+Reload, lêkolîneran çend senaryoyên êrîşa kanala alî nîşan dan:

  • Ihtîmala karanîna rêbazên ji bo organîzekirina kanalek pêwendiya nerasterast a veşartî di navbera du pêvajoyan de, ku destûr dide veguheztina daneyê bi leza 588 kB per second, tê destnîşan kirin.
  • Bi karanîna pevçûnên di μTag de, gengaz bû ku entropy ji bo guhertoyên cihêreng ên ASLR (Randomîzasyona Cihê Navnîşanê) kêm bike û parastina ASLR di kernelê de li ser pergalek Linux-ê bi tevahî nûvekirî derbas bike. Ihtîmala pêkanîna êrîşek ji bo kêmkirina entropiya ASLR hem ji serîlêdanên bikarhêner û hem jî bi karanîna koda JavaScript-ê ku di hawîrdorek sandboxê de hatî darve kirin û koda ku li hawîrdorek mêvanek din tê xebitandin tê destnîşan kirin.

    Du êrîşên li ser mekanîzmaya pêşbînkirina kanala cache di pêvajoyên AMD de

  • Li ser bingeha rêbaza Collide+Probe, êrîşek hate pêkanîn da ku mifteya şîfrekirinê ji pêkanînek xedar (li ser bingeha T-table) Şîfrekirina AES.
  • Bi karanîna rêbaza Collide+Probe wekî kanalek wergirtina daneyê, êrîşa Specter karîbû bêyî karanîna bîranîna hevpar daneyên taybet ji kernelê derxîne.

Zehfbûn li ser pêvajoyên AMD-ê yên li ser bingeha mîkroarchitecturan pêk tê
Buldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen + û Zen2.
AMD di 23-ê Tebaxa 2019-an de ji pirsgirêkê hat agahdar kirin, lê heya nuha rapor eşkere nekir bi agahdariya li ser astengkirina qelsiyê. Li gorî lêkolîneran, pirsgirêk dikare di asta nûvekirina mîkrokodê ​​de bi peydakirina bitên MSR ve were asteng kirin da ku pergala pêşbînkirina kanalê bi bijartî neçalak bike, mîna ya ku Intel kir da ku neçalakkirina mekanîzmayên pêşbîniya şaxê kontrol bike.

Du êrîşên li ser mekanîzmaya pêşbînkirina kanala cache di pêvajoyên AMD de

Source: opennet.ru

Add a comment