Yo te dekouvri yon vilnerabilite klas Meltdown nan processeurs AMD ki baze sou mikrochitekti Zen + ak Zen 2.

Yon gwoup chèchè nan Inivèsite Teknik Dresden te idantifye yon vilnerabilite (CVE-2020-12965) nan processeurs AMD ki baze sou Zen + ak Zen 2 microarchitectures, ki pèmèt yon atak klas Meltdown. Li te okòmansman sipoze ke AMD Zen + ak Zen 2 processeurs yo pa sansib a vilnerabilite Meltdown, men chèchè yo te idantifye yon karakteristik ki mennen nan aksè spéculatif nan zòn memwa pwoteje lè yo itilize adrès vityèl ki pa canonical.

Achitekti AMD64 la itilize sèlman premye 48 bit adrès vityèl la epi li inyore 16 bit ki rete yo. Li espesifye ke Bits 48 a 63 dwe toujou kopye valè a nan ti jan 47 (siy ekstansyon ti jan). Si kondisyon sa a vyole epi yo fè tantativ pou jwenn aksè nan yon adrès ki gen valè abitrè nan bit anwo yo, processeur a jenere yon eksepsyon. Repete ranpli bits anwo yo lakòz espas adrès ki disponib yo dwe divize an de blòk - yon sèl pi ba (ki soti nan 0 a 00007FFFFFFFFFFFFF), nan ki bit anwo yo mete a 800000000000, ak yon sèl anwo (ki soti nan FFFFFF1 a FFFFFFFFFFFFFF), nan ki. tout bit anwo yo mete sou XNUMX.

Adrès ki tonbe nan blòk espesifye yo rele kanonik, ak adrès ki pa kòrèk ak kontni abitrè nan Bits anwo yo rele ki pa kanonik. Se seri ki pi ba nan adrès kanonik anjeneral atribye pou done pwosesis, epi yo itilize seri anwo a pou done nwayo (aksè a adrès sa yo soti nan espas itilizatè yo bloke nan nivo separasyon privilèj).

Klasik Meltdown vilnerabilite a baze sou lefèt ke pandan egzekisyon spéculatif nan enstriksyon, processeur a ka jwenn aksè nan yon zòn done prive ak Lè sa a, jete rezilta a paske privilèj yo mete entèdi aksè sa yo nan pwosesis itilizatè a. Nan pwogram nan, blòk la egzekite speculatively separe de kòd prensipal la pa yon branch kondisyonèl, ki nan kondisyon reyèl toujou dife, men akòz lefèt ke deklarasyon an kondisyonèl sèvi ak yon valè kalkile ke processeur a pa konnen pandan ekzekisyon an prevantif nan. kòd la, tout opsyon branch yo te pote soti spéculatif.

Piske operasyon spéculatif egzekite yo itilize menm kachèt ak enstriksyon nòmalman egzekite, li posib pandan ekzekisyon spéculatif pou mete makè nan kachèt la ki reflete sa ki nan moso endividyèl yo nan yon zòn memwa prive, epi answit nan kòd nòmalman egzekite pou detèmine valè yo atravè distribisyon. analiz aksè nan done kachèt ak done ki pa kachèt.

Yon karakteristik nan nouvo vilnerabilite ki afekte AMD Zen + ak Zen 2 processeurs se ke CPU yo pèmèt operasyon lekti ak ekri spéculatif ki gen aksè memwa lè l sèvi avèk adrès ki pa valab ki pa canonical, tou senpleman inyore 16 Bits anwo yo. Kidonk, pandan ekzekisyon kòd spéculatif, processeur a toujou itilize sèlman 48 bits ki pi ba yo, epi yo tcheke validite adrès la separeman. Si, lè w ap tradui yon adrès vityèl ki pa canonical nan yon adrès fizik nan tanpon tradiksyon asosyasyon (TLB), yo detekte yon match nan pati kanonik adrès la, Lè sa a, operasyon chaj spéculatif la pral retounen valè a san yo pa pran an kont sa ki ladann. nan 16 Bits anwo yo, ki pèmèt kontourne pataje memwa ant fil. Imedyatman, operasyon an pral konsidere kòm valab ak jete, men aksè nan memwa yo pral ranpli epi done yo pral fini nan kachèt la.

Pandan eksperyans la, lè l sèvi avèk teknik pou detèmine sa ki nan kachèt FLUSH + RELOAD, chèchè yo te kapab òganize yon kanal pou transfè done kache nan yon vitès 125 bytes pou chak segonn. Anplis chips AMD, pwoblèm nan tou afekte tout processeurs Intel, ki sansib a vilnerabilite Meltdown klasik la. Menm teknik ki ede bloke atak Meltdown, tankou sèvi ak enstriksyon LFENCE, ka itilize pou pwoteje kont nouvo kalite atak sa a. Pou egzanp, si yon processeur Intel gen ladann pwoteksyon pyès ki nan konpitè kont Meltdown oswa sistèm nan gen pwoteksyon lojisyèl pèmèt, Lè sa a, konfigirasyon sa yo pa sansib a nouvo variant atak la.

An menm tan an, chèchè yo remake ke, konpare ak processeurs Intel, achitekti nan processeurs AMD limite posiblite pou pote soti nan atak reyèl, men li pa eskli itilizasyon yon nouvo metòd nan konbinezon ak lòt atak mikroarchitectural ogmante efikasite yo. An patikilye, atak yo pwopoze a pa pèmèt youn detèmine sa ki nan zòn memwa nan nwayo a ak lòt pwosesis, men li limite a kapasite nan jwenn aksè nan lòt fil nan menm pwogram nan kouri nan menm espas memwa vityèl la.

Depi yon pwogram san yon vilnerabilite gen kapasite pou jwenn aksè nan fil li yo, nan yon pwen de vi pratik metòd la se yon enterè pou kontoune izolasyon sandbox ak òganize entèferans ak travay la nan lòt fil nan pwogram ki pèmèt ekzekisyon twazyèm pati. kòd, tankou navigatè entènèt ak motè JIT . Chèchè yo te egzamine vilnerabilite motè SpiderMonkey JavaScript ak nwayo Linux pou atake, men yo pa t jwenn sekans kòd vilnerab ki kapab itilize pou fè yon atak. Anplis atak aplikasyon yo, metòd la kapab tou itilize pou fòse done ki pa akseptab koule ant eleman mikwo-achitekti nan processeur a pandan y ap eksplwate lòt frajilite mikwo-achitekti.

Sous: opennet.ru

Add nouvo kòmantè