Nuglaanta fasalka Meltdown ayaa laga helay soo-saareyaal AMD oo ku saleysan Zen+ iyo Zen 2 microarchitectures

Koox cilmi-baarayaal ah oo ka socda Jaamacadda Farsamada ee Dresden ayaa aqoonsaday nuglaanta (CVE-2020-12965) ee soo-saareyaasha AMD ee ku saleysan Zen + iyo Zen 2 microarchitectures, kaasoo u oggolaanaya weerarka fasalka Meltdown. Markii hore waxaa loo qaatay in AMD Zen + iyo soo-saareyaasha Zen 2 aysan u nugleynin nuglaanta Meltdown, laakiin cilmi-baarayaashu waxay aqoonsadeen muuqaal u horseedaya marin u helitaan mala-awaal ah meelaha xusuusta ee la ilaaliyo marka la isticmaalayo cinwaanno aan toos ahayn.

Nashqada AMD64 waxay isticmaashaa oo kaliya 48-bit ee ugu horreeya ee ciwaanka farsamada ah oo iska indhatira 16-bit ee soo haray. Waxaa la caddeeyey in 48 ilaa 63 ay tahay inay had iyo jeer koobiyeeyaan qiimaha bit 47 (calaamad kordhinta waxoogaa yar). Haddii xaaladdan la jebiyo oo la isku dayo in la galo ciwaan leh qiyamka qayaxan ee sare, processor-ku wuxuu abuuraa ka reeban. Ku celcelinta buuxinta qaybaha sare waxay sababtaa in booska ciwaanka ee jira loo qaybiyo laba baloog - mid hoose (laga bilaabo 0 ilaa 00007FFFFFFFFFFFFFF), kaas oo qaybaha sare loo dejiyay 800000000000, iyo ka sare (laga bilaabo FFFF1 ilaa FFFFFFFFFFFFFFFF), kaas oo ay ku jiraan. dhammaan qaybaha sare waxa loo dejiyay XNUMX.

Cinwaannada ku dhex dhaca baloogyada la cayimay waxaa loo yaqaannaa canonical, iyo ciwaannada aan saxda ahayn ee ay ku jiraan waxyaabaha aan sharciga ahayn ee qaybaha sare waxaa loo yaqaannaa kuwa aan sharci ahayn. Kala duwanaanshaha hoose ee ciwaanada canonical ayaa caadi ahaan loo qoondeeyay xogta habka, iyo kala duwanaanta sare waxa loo isticmaalaa xogta kernel (helitaanka ciwaanadan ee booska isticmaalaha waa la xannibay heerka kala goynta mudnaanta).

Nuglaanta caadiga ah ee Meltdown waxay ku saleysan tahay xaqiiqda in inta lagu jiro fulinta malo-awaalka ah ee tilmaamaha, processor-ku wuxuu geli karaa aag xog gaar ah ka dibna wuu tuuri karaa natiijada sababtoo ah mudnaanta la dejiyay waxay mamnuucday gelitaanka noocaas ah habka adeegsadaha. Barnaamijka, block si mala-awaal ah loo fuliyay ayaa laga soocaa koodhka muhiimka ah iyadoo la raacayo laan shuruudo ah, taas oo xaaladaha dhabta ah had iyo jeer gubato, laakiin sababtoo ah xaqiiqda ah in bayaanka shuruuda ah uu isticmaalo qiime la xisaabiyay oo processor-ku aanu garanayn inta lagu jiro fulinta preemptive koodka, dhammaan xulashooyinka laanta waxaa loo fuliyaa si mala-awaal ah.

Maaddaama hawlgallada mala-awaalku ay adeegsadaan khasnado la mid ah tilmaamaha sida caadiga ah loo fuliyo, waxaa suurtogal ah inta lagu jiro fulinta malo-awaalka ah in lagu dhejiyo calaamado ku jira kaydka kuwaas oo ka tarjumaya waxyaabaha ku jira qaniinyada shakhsi ahaaneed ee aagga xusuusta gaarka ah, ka dibna si caadi ah loo fuliyo code si loo go'aamiyo qiimahooda iyada oo loo marayo waqti. falanqayntu waxay gasho xogta kaydsan iyo kuwa aan kaydsanayn.

Muuqaal ka mid ah dayacanka cusub ee saameeya AMD Zen + iyo soo-saareyaasha Zen 2 ayaa ah in CPU-yadu ay oggolaadaan akhrinta iyo qorista mala-awaalka ah ee gelaya xusuusta iyadoo la adeegsanayo cinwaanno aan sax ahayn, iyagoo iska indhatiraya 16-bit ee sare. Markaa, inta lagu guda jiro fulinta koodhka mala-awaalka ah, processor-ku had iyo jeer wuxuu isticmaalaa kaliya 48-bits hoose, iyo ansaxnimada ciwaanka si gaar ah ayaa loo eegaa. Haddii, marka loo turjumayo ciwaan aan toos ahayn ciwaanka jireed ee ku jira associative translation buffer (TLB), isbarbar laga helay qaybta canonical ee ciwaanka, markaas hawlgalka culayska mala awaalku wuxuu soo celin doonaa qiimaha iyada oo aan xisaabta lagu darin waxa ku jira. ee 16-bits ee sare, kaas oo u oggolaanaya in la dhaafo wadaagga xusuusta ee dunta dhexdooda. Ka dib, qalliinka waxaa loo aqoonsan doonaa mid aan sax ahayn oo la tuuray, laakiin gelitaanka xusuusta ayaa la dhammaystiri doonaa oo xogtu waxay ku dambayn doontaa kaydka.

Intii lagu guda jiray tijaabada, iyadoo la adeegsanayo farsamada lagu go'aaminayo waxa ku jira FLUSH+ RELOAD cache, cilmi-baarayaashu waxay awoodeen inay abaabulaan kanaalka wareejinta xogta qarsoon ee xawaaraha 125 bytes halkii labaad. Marka lagu daro chips-yada AMD, dhibaatadu waxay sidoo kale saamaysaa dhammaan soo-saareyaasha Intel, kuwaas oo u nugul nuglaanta caadiga ah ee Meltdown. Farsamooyinka isku midka ah ee caawiya xannibaadda weerarrada Meltdown, sida isticmaalka tilmaamaha LFENCE, ayaa loo isticmaali karaa si looga ilaaliyo weerarkan cusub. Tusaale ahaan, haddii processor-ka Intel uu ku jiro ka-hortagga hardware-ka-hortagga Meltdown ama nidaamka uu leeyahay ilaalinta software-ka oo karti leh, markaa qaabeynta noocan oo kale ah uma nugulna kala duwanaanshaha weerarka cusub.

Isla mar ahaantaana, cilmi-baarayaashu waxay xuseen in, marka la barbar dhigo processor-yada Intel, naqshadeynta processor-yada AMD waxay xaddidaysaa suurtagalnimada fulinta weerarrada dhabta ah, laakiin kama saarayso isticmaalka hab cusub oo lagu daro weerarrada kale ee microarchitectural si kor loogu qaado waxtarkooda. Gaar ahaan, weerarka la soo jeediyay ma ogola in mid ka mid ah si loo go'aamiyo waxa ku jira meelaha xusuusta ee kernel iyo hababka kale, laakiin waxay ku xaddidan tahay awoodda si ay u helaan marinnada kale ee mawduucyada kale ee barnaamijka la mid ah ka shaqeeya meel xusuusta dalwaddii la mid ah.

Maadaama barnaamijka aan nuglaanta lahayn uu awood u leeyahay in uu galo marinkiisa, marka laga eego aragtida dhabta ah, habka ayaa ah mid daneynaya in laga gudbo go'doominta sanduuqa sandbox iyo abaabulida faragelinta shaqada mawduucyada kale ee barnaamijyada u oggolaanaya fulinta cid saddexaad. code, sida daalacashada webka iyo matoorada JIT . Cilmi-baarayaashu waxay baareen u nuglaanshaha matoorka SpiderMonkey JavaScript iyo kernel-ka Linux si ay u weeraraan, laakiin ma aysan helin taxane codeed oo nugul oo loo isticmaali karo in lagu qaado weerar. Marka laga soo tago codsiyada weerarka, habka ayaa sidoo kale loo isticmaali karaa in lagu qasbo xogta aan la aqbali karin ee u dhexeysa walxaha yaryar ee processor-ka iyadoo laga faa'iidaysanayo dayacanka kale ee yar yar.

Source: opennet.ru

Add a comment