Chaidh clas ùr de chugallachd ann am pròiseasairean Intel a thoirt a-steach

Intel foillsichte fiosrachadh mu dheidhinn ùr clas so-leòntachd anns na pròiseasan aca - MDS (Samplachadh Dàta Microarchitectural). Coltach ri ionnsaighean Specter roimhe, faodaidh duilgheadasan ùra leantainn gu aodion dàta prìobhaideach bhon t-siostam obrachaidh, innealan brìgheil agus pròiseasan eile. Thathas ag agairt gun deach na duilgheadasan a chomharrachadh an toiseach le luchd-obrach Intel agus com-pàirtichean rè sgrùdadh taobh a-staigh, às deidh sin thug luchd-rannsachaidh neo-eisimeileach seachad fiosrachadh mu dhuilgheadasan coltach ri Intel. Chan eil an duilgheadas a’ toirt buaidh air pròiseasairean AMD agus ARM.

Stèidhichte air duilgheadasan comharraichte le luchd-rannsachaidh bho Oilthigh Teicnigeach Graz (An Ostair) leasaichte Cuid de ionnsaighean seanail taobh practaigeach:

  • ZombieLoad (PDF) - a’ leigeil leat fiosrachadh dìomhair a thoirt a-mach à pròiseasan eile, an siostam obrachaidh, innealan brìgheil agus enclaves dìonta (TEE, Àrainneachd Gnìomhachaidh earbsach). Mar eisimpleir, chaidh an comas faighinn a-mach eachdraidh duilleagan fosglaidh ann am brabhsair Tor a tha a ’ruith ann an inneal brìgheil eile, a bharrachd air a bhith a’ dearbhadh na h-iuchraichean ruigsinneachd agus na faclan-faire a thathas a ’cleachdadh ann an tagraidhean;


  • RIDL (PDF) - a’ ceadachadh aodion fiosrachaidh eadar diofar raointean iomallach ann am pròiseasairean Intel, leithid bufairean lìonaidh, bufairean stòraidh agus puirt luchdan. Tha eisimpleirean de dh’ ionnsaighean air an sealltainn gus aoidion bho phròiseasan eile, an siostam obrachaidh, innealan brìgheil agus enclaves dìonta a chuir air dòigh. Mar eisimpleir, tha e a’ sealltainn mar a gheibh thu a-mach susbaint an hash facal-faire freumh bho /etc/shadow rè oidhirpean dearbhaidh bho àm gu àm (thug an ionnsaigh 24 uairean);

    A bharrachd air an sin, tha eisimpleir de ionnsaigh a’ cleachdadh JavaScript agus WebAssembly air a shealltainn nuair a dh’ fhosglas tu duilleag droch-rùnach anns an einnsean SpiderMonkey (ann am brobhsairean làn-chuimseach an latha an-diugh, chan eil coltas ann gun tèid ionnsaigh mar sin air sgàth neo-mhearachdachd timer cuibhrichte agus ceumannan dìon an aghaidh Specter);

  • Rach a throd (PDF) - ga dhèanamh comasach dàta a chaidh a sgrìobhadh o chionn ghoirid leis an t-siostam obrachaidh a leughadh agus cruth cuimhne an OS a dhearbhadh gus ionnsaighean eile a dhèanamh nas sìmplidhe;
  • Cur air adhart Store-To-Leak - a ’gabhail brath air optimizations CPU airson a bhith ag obair leis a’ bhufair stòraidh agus faodar a chleachdadh gus faighinn seachad air an uidheamachd air thuaiream àite seòladh kernel (KASLR), gus sùil a chumail air staid an t-siostam obrachaidh, no airson eagrachadh aoidion ann an co-bhonn ri innealan stèidhichte air dòighean Specter.

Aithnichte so-leòntachd:

  • CVE-2018-12126 - MSBDS (Samplachadh Dàta Bufair Bùth Microarchitectural), faighinn air ais susbaint bufairean stòraidh. Air a chleachdadh ann an ionnsaigh Fallout. Tha an ìre de chunnart air a dhearbhadh gu bhith 6.5 puingean (CVSS);
  • CVE-2018-12127 - MLPDS (Samplachadh Dàta Port Luchdaidh Microarchitectural), faighinn air ais susbaint port luchdan. Air a chleachdadh ann an ionnsaigh RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Samplachadh Dàta Bufair Fill Microarchitectural), faighinn air ais susbaint bufair lìonaidh. Air a chleachdadh ann an ionnsaighean ZombieLoad agus RIDL. CVSS 6.5;
  • CVE-2019-11091 - MDSUM (Samplachadh Dàta Microarchitectural Cuimhne Neo-ruigsinneach), faighinn air ais susbaint cuimhne nach gabh a shàbhaladh. Air a chleachdadh ann an ionnsaigh RIDL. CVSS 3.8.

Sèist duilgheadasan comharraichte ann an comas dòighean sgrùdaidh taobh-seanail a chuir an sàs ann an dàta ann an structaran microarchitectural far nach eil cothrom dìreach aig tagraidhean. Tha sinn a’ bruidhinn mu dheidhinn structaran ìre ìosal leithid bufairean lìonaidh (Line Fill Buffer), bufairean stòraidh (Buffer Stòr) agus puirt luchdaidh (Load Port), a tha nam blocaichean togail nas lugha na an tasgadan ciad ìre (L1D), tasgadan luchdan dàta ( RDCL ) no L1TF (L1 Terminal Fault), agus mar sin a’ toirt a-steach nas lugha de dh’ fhiosrachadh agus gan ùrachadh nas dian.

Chaidh clas ùr de chugallachd ann am pròiseasairean Intel a thoirt a-steach

Tha e mòran nas duilghe ionnsaighean taobh-seanail air structaran microarchitectural a dhèanamh an taca ri dòighean airson susbaint tasgadan ath-nuadhachadh agus feumar lorg agus sgrùdadh air tomhas mòr de dhàta gus faighinn a-mach an ceangal aca ri seòlaidhean sònraichte mar chuimhneachan (gu dearbh, chan urrainn dha neach-ionnsaigh casg a chuir air dàta sònraichte a dh’aona ghnothach. , ach dh’ fhaodadh ùine a bhith ann airson aoidion a chruinneachadh agus dòighean staitistigeil a chuir an sàs gus seòrsachan sònraichte de dhàta ath-chruthachadh). A bharrachd air an sin, chan eil an ionnsaigh a’ toirt buaidh ach air dàta air an aon chridhe corporra CPU ri còd an neach-ionnsaigh.

Tha na dòighean a thathar a’ moladh airson a bhith a’ dearbhadh susbaint structaran microarchitectural stèidhichte air gu bheil na structaran sin air an cleachdadh nuair a thathar a’ làimhseachadh eisgeachdan (sgàinidhean) no obair luchdaidh is stòraidh.
Rè coileanadh tuairmeasach, thèid susbaint nan structaran a-staigh ath-stiùireadh gu clàran no caches airson an giullachd. Cha bhith gnìomhachd tuairmeasach a’ tighinn gu crìch agus tha an toradh air a thilgeil air falbh, ach faodar an susbaint ath-stiùiridh a dhearbhadh le bhith a’ cleachdadh dòighean sgrùdaidh tasgadan taobh-seanail.

Bidh am pròiseasar a’ cleachdadh puirt luchdaidh gus dàta fhaighinn bhon chuimhne no bhon fho-shiostam I/O agus gus am fiosrachadh a fhuaireadh a thoirt do chlàran an CPU. Mar thoradh air an fheart gnìomhachaidh, bidh dàta bho sheann ghnìomhachdan luchdachadh sìos fhathast anns na puirt gus an tèid an sgrìobhadh thairis le dàta ùr, a tha ga dhèanamh comasach suidheachadh an dàta anns a’ phort luchdaich sìos a dhearbhadh gu neo-dhìreach le bhith a’ làimhseachadh eisgeachdan (sgàinidhean) agus SSE/AVX/ Stiùireadh AVX-512 a bhios a’ luchdachadh barrachd air dàta 64 bit. Fo chumhachan mar sin, bidh gnìomhachd luchdan gu tuairmeasach a’ nochdadh luachan dàta sean bho structaran a-staigh gu gnìomhachd eisimeileach. San aon dòigh, tha aodion air a chuir air dòigh tron ​​​​bufair stòraidh, a thathas a’ cleachdadh gus sgrìobhadh gu tasgadan CPU a luathachadh agus a ’toirt a-steach clàr de sheòlaidhean, luachan agus brataichean, a bharrachd air tron ​​​​bufair lìonaidh, anns a bheil dàta anns a bheil chan eil e fhathast san tasgadan L1 (cache-miss), an-dràsta ga luchdachadh bho caches ìrean eile.

Chaidh clas ùr de chugallachd ann am pròiseasairean Intel a thoirt a-steach

duilgheadas buaidh Modalan pròiseasar Intel air an toirt a-mach bho 2011 (a ’tòiseachadh bhon 6mh ginealach). Anns a ’chùis seo, tha so-leòntachd bathar-cruaidh air a bhacadh a’ tòiseachadh bho chuid de mhodalan de na ginealaichean 8th agus 9th de Intel Core agus 2na ginealach de Intel Xeon Scalable (faodaidh tu sgrùdadh a dhèanamh le bhith a ’cleachdadh am pìos ARCH_CAP_MDS_NO ann an IA32_ARCH_CAPABILITIES MSR). Tha so-leòntachd mar-thà cuideachd air a chuir às aig ìre firmware, microcode agus siostaman obrachaidh. Tha Intel a’ dèanamh tuairmse air call dèanadais às deidh dha am paiste a chuir an gnìomh airson a’ mhòr-chuid de luchd-cleachdaidh nas lugha na 3%. Nuair a tha teicneòlas Hyper-Threading à comas, faodaidh ìsleachadh dèanadais ruighinn suas ri 9% anns an deuchainn SPECint_rate_base, suas ri 11% ann an àireamhachadh iomlanachd gnìomhach, agus suas ri 19% nuair a bhios tu a’ ruith iarrtasan Java taobh an fhrithealaiche (le HT air a chomasachadh, tha cha mhòr ann. gun ìsleachadh coileanaidh). Chan eil mòran buaidh aig na pìosan air coileanadh I/O.

Bidh kernel Linux a’ dìon an aghaidh MDS air a chur ris anns an latha an-diugh ùrachaidhean 5.1.2, 5.0.16,
4.19.43, 4.14.119 agus 4.9.176. Modh dìon ga thogail air susbaint bufairean microarchitectural a ghlanadh aig àm tilleadh bhon kernel gu àite luchd-cleachdaidh no nuair a thèid smachd a ghluasad chun t-siostam aoighean, airson a bheil an stiùireadh VERW air a chleachdadh. Gus an obraich an dìon, feumaidh e taic airson modh MD_CLEAR, air a chuir an gnìomh san ùrachadh microcode as ùire. Airson dìon iomlan, thathas cuideachd a’ moladh Hyper Threading a dhì-cheadachadh. Gus sgrùdadh a dhèanamh air mar a tha an siostam fosgailte do so-leòntachd ann an kernel Linux air a chur ris inneal-làimhseachaidh "/ sys / innealan / siostam / cpu / so-leòntachd / mds". Gus smachd a chumail air a bhith a’ toirt a-steach diofar mhodhan bacaidh so-leòntachd, chaidh am paramadair “mds =” a chur ris an kernel, a dh’ fhaodas na luachan “làn”, “làn, nosmt” (a’ cur à comas Hyper-Threads), “vmwerv” agus “dheth”.

Chaidh ùrachaidhean pacaid fhoillseachadh mu thràth airson RHEL и Ubuntu, ach chan eil e ri fhaighinn an-dràsta Debian, Fedora и SUSE.
Ceartachadh gus casg a chuir air aodion dàta bho innealan brìgheil cuideachd air a chruthachadh Airson an Xen hypervisor. Gus siostaman virtualization a dhìon a bheir a-mach an àithne L1D_FLUSH mus gluais iad smachd gu inneal brìgheil eile, agus gus cuairteachadh Intel SGX a dhìon, tha ùrachadh microcode gu leòr.

Source: fosgailtenet.ru

Cuir beachd ann