Chaidh so-leòntachd clas Meltdown a lorg ann am pròiseasairean AMD stèidhichte air microarchitectures Zen + agus Zen 2

Tha buidheann de luchd-rannsachaidh bho Oilthigh Teicnigeach Dresden air so-leòntachd a chomharrachadh (CVE-2020-12965) ann am pròiseasairean AMD stèidhichte air microarchitectures Zen + agus Zen 2, a leigeas le ionnsaigh clas Meltdown. Chaidh gabhail ris an toiseach nach eil pròiseasairean AMD Zen + agus Zen 2 buailteach do so-leòntachd Meltdown, ach chomharraich luchd-rannsachaidh feart a tha a’ leantainn gu ruigsinneachd tuairmeasach gu raointean cuimhne fo dhìon nuair a bhios iad a ’cleachdadh seòlaidhean brìgheil neo-chananach.

Chan eil ailtireachd AMD64 a’ cleachdadh ach a’ chiad 48 pìosan den t-seòladh brìgheil agus a’ seachnadh na 16 pìosan a tha air fhàgail. Tha e air a shònrachadh gum feum pìosan 48 gu 63 an-còmhnaidh leth-bhreac a dhèanamh de luach bit 47 (soidhnigeadh leudachadh bit). Ma thèid an suidheachadh seo a bhriseadh agus ma thèid oidhirp a dhèanamh faighinn gu seòladh le luachan neo-riaghailteach de na pìosan àrda, bidh am pròiseasar a ’gineadh eisgeachd. Le bhith a’ lìonadh nam pìosan àrda a-rithist bidh an t-àite seòlaidh a tha ri fhaighinn air a roinn ann an dà bhloca - fear nas ìsle (bho 0 gu 00007FFFFFFFFFFFFF), anns a bheil na pìosan àrda air an suidheachadh gu 800000000000, agus an tè gu h-àrd (bho FFFF1 gu FFFFFFFFFFFFFFFF), anns a bheil tha na pìosan àrda uile air an suidheachadh gu XNUMX.

Canar canonical ri seòlaidhean a tha taobh a-staigh nam blocaichean ainmichte, agus canar neo-chananach ri seòlaidhean ceàrr le susbaint neo-riaghailteach nam pìosan àrda. Tha an raon as ìsle de sheòlaidhean canonical mar as trice air a riarachadh airson dàta pròiseas, agus tha an raon àrd air a chleachdadh airson dàta kernel (tha ruigsinneachd air na seòlaidhean sin bho àite luchd-cleachdaidh air a bhacadh aig ìre dealachaidh sochair).

Tha so-leòntachd clasaigeach Meltdown stèidhichte air an fhìrinn gum faod am pròiseasar faighinn gu raon dàta prìobhaideach aig àm cur an gnìomh tuairmeasach agus an toradh a chuir air falbh leis gu bheil na sochairean suidhichte a’ toirmeasg ruigsinneachd mar sin bho phròiseas an neach-cleachdaidh. Anns a ’phrògram, tha am bloc a chaidh a chuir gu bàs gu tuairmeasach air a sgaradh bhon phrìomh chòd le meur cumhach, a bhios ann an suidheachaidhean fìor an-còmhnaidh a’ losgadh, ach air sgàth gu bheil an aithris chumha a ’cleachdadh luach àireamhaichte nach eil fios aig a’ phròiseasar fhad ‘s a tha e a’ coileanadh ro-làimh. an còd, tha a h-uile roghainn meur air a dhèanamh le tuairmeasach.

Leis gu bheil gnìomhachd a thèid a chuir gu bàs gu tuairmeasach a’ cleachdadh an aon tasgadan ri stiùiridhean a thèid a chuir gu bàs gu h-àbhaisteach, tha e comasach rè coileanadh tuairmeasach comharran a shuidheachadh san tasgadan a tha a’ nochdadh susbaint pìosan fa leth ann an raon cuimhne prìobhaideach, agus an uairsin ann an còd a thèid a chuir gu bàs gu h-àbhaisteach gus an luach a dhearbhadh tro àm ruigsinneachd mion-sgrùdadh air dàta taisgte agus neo-thasgadh.

Is e feart den so-leòntachd ùr a bheir buaidh air pròiseasairean AMD Zen + agus Zen 2 gu bheil na CPUan a’ ceadachadh obrachaidhean leughaidh is sgrìobhaidh tuairmeasach a gheibh cothrom air cuimhne a’ cleachdadh seòlaidhean neo-chananach neo-dhligheach, dìreach a’ seachnadh nam pìosan 16 gu h-àrd. Mar sin, rè coileanadh còd tuairmeasach, bidh am pròiseasar an-còmhnaidh a ’cleachdadh dìreach na pìosan 48 as ìsle, agus thathas a’ sgrùdadh dligheachd an t-seòlaidh air leth. Ma lorgar, nuair a bhios tu ag eadar-theangachadh seòladh brìgheil neo-chananach gu seòladh fiosaigeach anns a’ bhufair eadar-theangachaidh ceangail (TLB), ann am pàirt canonical an t-seòlaidh, an uairsin tillidh an gnìomhachd luchd tuairmeasach an luach gun a bhith a’ toirt aire don t-susbaint. de na pìosan 16 gu h-àrd, a leigeas le bhith a’ seachnadh roinneadh cuimhne eadar snàithleanan. Às deidh sin, bithear den bheachd gu bheil an obrachadh neo-dhligheach agus air a thilgeil air falbh, ach thèid an ruigsinneachd cuimhne a chrìochnachadh agus thig an dàta gu crìch san tasgadan.

Rè an deuchainn, a ’cleachdadh an dòigh air susbaint an tasgadan FLUSH + RELOAD a dhearbhadh, bha e comasach don luchd-rannsachaidh sianal a chuir air dòigh airson gluasad dàta falaichte aig astar 125 bytes gach diog. A bharrachd air sgoltagan AMD, tha an duilgheadas cuideachd a’ toirt buaidh air a h-uile pròiseasar Intel, a tha buailteach do chugallachd clasaigeach Meltdown. Faodar na h-aon dhòighean a chuidicheas le bhith a 'bacadh ionnsaighean Meltdown, leithid a bhith a' cleachdadh stiùireadh LFENCE, a chleachdadh gus dìon an aghaidh an seòrsa ionnsaigh ùr seo. Mar eisimpleir, ma tha pròiseasar Intel a’ toirt a-steach dìon bathar-cruaidh an aghaidh Meltdown no ma tha dìon bathar-bog air a chomasachadh aig an t-siostam, chan eil an leithid de rèiteachaidhean buailteach don atharrachadh ionnsaigh ùr.

Aig an aon àm, tha an luchd-rannsachaidh a ’toirt fa-near, an taca ri pròiseasairean Intel, gu bheil ailtireachd pròiseasairean AMD a’ cuingealachadh comasachd fìor ionnsaighean a dhèanamh, ach chan eil e a ’dùnadh a-mach cleachdadh dòigh ùr ann an co-bhonn ri ionnsaighean microarchitectural eile gus an èifeachdas àrdachadh. Gu sònraichte, chan eil an ionnsaigh a thathar a’ moladh a’ leigeil le neach faighinn a-mach dè na tha anns na raointean cuimhne den kernel agus pròiseasan eile, ach tha e cuingealaichte ris a’ chomas faighinn gu snàithleanan eile den aon phrògram a tha a’ ruith san aon àite cuimhne mas-fhìor.

Leis gu bheil comas aig prògram gun so-leòntachd faighinn gu na snàithleanan aige, bho shealladh practaigeach tha an dòigh inntinneach airson a bhith a’ seachnadh aonaranachd bogsa gainmhich agus a’ cur bacadh air obair snàithleanan eile ann am prògraman a leigeas le treas-phàrtaidhean a chur an gnìomh. còd, leithid brobhsairean lìn agus einnseanan JIT . Rinn luchd-rannsachaidh sgrùdadh air so-leòntachd an einnsean SpiderMonkey JavaScript agus an kernel Linux gus ionnsaigh a thoirt, ach cha do lorg iad sreathan còd so-leònte a ghabhadh a chleachdadh airson ionnsaigh a dhèanamh. A bharrachd air a bhith a’ toirt ionnsaigh air tagraidhean, faodar an dòigh a chleachdadh cuideachd gus sruthan dàta neo-iomchaidh a sparradh eadar eileamaidean microarchitectural den phròiseasar fhad ‘s a thathar a’ cleachdadh so-leòntachd microarchitectural eile.

Source: fosgailtenet.ru

Cuir beachd ann