LVI is in nije klasse fan oanfallen op it spekulative útfieringsmeganisme yn 'e CPU

Publisearre ynformaasje oer in nije klasse fan oanfallen LVI (Laadwearde-ynjeksje, CVE-2020-0551) op it spekulative útfieringsmeganisme yn Intel CPU's, dat kin wurde brûkt om kaaien en geheime gegevens fan Intel SGX-enklaves en oare prosessen te lekken.

In nije klasse fan oanfallen is basearre op manipulaasje fan deselde mikroarsjitektoanyske struktueren brûkt yn oanfallen MDS (Sampling mikroarsjitektuerlike gegevens), Spectre en Meltdown. Tagelyk wurde nije oanfallen net blokkearre troch besteande metoaden fan beskerming tsjin Meltdown, Spectre, MDS en oare ferlykbere oanfallen. Effektive LVI beskerming fereasket hardware feroarings oan de CPU. By it organisearjen fan beskerming programmatysk, troch it tafoegjen fan de LFENCE-ynstruksje troch de kompilator nei elke laden operaasje út it ûnthâld en it ferfangen fan de RET-ynstruksje mei POP, LFENCE en JMP, wurdt tefolle overhead opnommen - neffens ûndersikers sil folsleine softwarebeskerming liede ta in fermindering fan prestaasje troch 2-19 kear.

In diel fan 'e swierrichheid by it blokkearjen fan it probleem wurdt kompensearre troch it feit dat de oanfal op it stuit mear teoretysk is as praktysk (de oanfal is teoretysk mooglik, mar heul lestich om te realisearjen en allinich reprodusearjen yn syntetyske tests).
Intel taeigene it probleem hat in matige nivo fan gefaar (5.6 fan 10) en frijlitten it bywurkjen fan de firmware en SDK foar de SGX-omjouwing, wêryn it besocht de oanfal te blokkearjen mei in oplossing. De foarstelde oanfalmetoaden binne op it stuit allinich fan tapassing op Intel-processors, mar de mooglikheid om LVI oan te passen foar oare processors wêrop Meltdown-klasse oanfallen fan tapassing binne net útsletten.

It probleem waard yn april ferline jier identifisearre troch ûndersiker Jo Van Bulck fan de Universiteit Leuven, wêrnei't, mei de dielname fan 9 ûndersikers fan oare universiteiten, fiif basis oanfalmetoaden ûntwikkele binne, wêrfan elk it bestean fan mear spesifike mooglik makket. opsjes. Unôfhinklik, yn febrewaris fan dit jier, ûndersikers fan Bitdefender ek ûntdutsen ien fan de LVI oanfal farianten en rapportearre it oan Intel. De oanfalsfarianten wurde ûnderskieden troch it brûken fan ferskate mikroarsjitektoanyske struktueren, lykas de opslachbuffer (SB, Store Buffer), fill buffer (LFB, Line Fill Buffer), FPU kontekst switch buffer en earste-nivo cache (L1D), earder brûkt yn oanfallen lykas ZombieLoad, RIDL, Útfalle, LazyFP, Foreshadow и Meltdown.

LVI is in nije klasse fan oanfallen op it spekulative útfieringsmeganisme yn 'e CPU

It wichtichst eare De LVI tsjin MDS-oanfallen is dat MDS de bepaling manipulearret fan 'e ynhâld fan mikro-arsjitektoanyske struktueren dy't yn' e cache bliuwe nei spekulative foutôfhanneling of laden en opslaan operaasjes, wylst
LVI-oanfallen kinne de gegevens fan 'e oanfaller ynfoege wurde yn mikro-arsjitektoanyske struktueren om de folgjende spekulative útfiering fan' e koade fan it slachtoffer te beynfloedzjen. Mei dizze manipulaasjes kin in oanfaller de ynhâld fan partikuliere gegevensstruktueren ekstrahearje yn oare prosessen by it útfieren fan bepaalde koade op 'e doel CPU-kearn.

LVI is in nije klasse fan oanfallen op it spekulative útfieringsmeganisme yn 'e CPU

foar eksploitaasje probleem yn 'e koade fan it slachtofferproses moetsje moatte spesjale sekwinsjes fan koade (gadgets) dêr't in oanfaller-kontrolearre wearde wurdt laden, en it laden fan dizze wearde feroarsaket útsûnderings (fout, ôfbrekke of assist) wurde smiten, it resultaat ôfwize en de ynstruksje opnij útfiere. As in útsûndering wurdt ferwurke, ferskynt in spekulatyf finster wêryn de gegevens ferwurke yn 'e gadget lekken. Benammen de prosessor begjint in stik koade (gadget) út te fieren yn spekulative modus, dan bepaalt dat de foarsizzing net rjochtfeardige wie en rôlet de operaasjes werom nei har oarspronklike steat, mar de gegevens ferwurke tidens spekulative útfiering wurde dellein yn 'e L1D-cache en microarchitectural buffers en is beskikber foar opheljen fan harren mei it brûken fan bekende metoaden foar it bepalen fan oerbleaune gegevens fia tredden kanalen.

De "assistearje" útsûndering, yn tsjinstelling ta de "fout" útsûndering, wurdt yntern behannele troch de prosessor sûnder oproppen software handlers. Assist kin foarkomme, bygelyks, as de A (Accessed) of D (Dirty) bit yn it ûnthâld side tabel moat wurde fernijd. De wichtichste muoite by it útfieren fan in oanfal op oare prosessen is hoe't jo it foarkommen fan assistinsje kinne begjinne troch it slachtofferproses te manipulearjen. D'r binne op dit stuit gjin betroubere manieren om dit te dwaan, mar it is mooglik dat se yn 'e takomst fûn wurde. De mooglikheid om in oanfal út te fieren is oant no ta allinich befêstige foar Intel SGX-enklaves, oare senario's binne teoretysk as reprodusearber yn syntetyske omstannichheden (fereasket it tafoegjen fan bepaalde gadgets oan 'e koade)

LVI is in nije klasse fan oanfallen op it spekulative útfieringsmeganisme yn 'e CPU

LVI is in nije klasse fan oanfallen op it spekulative útfieringsmeganisme yn 'e CPU

Mooglike oanfalsvektoren:

  • Gegevenslekkage fan kernelstruktueren nei proses op brûkersnivo. De beskerming fan 'e Linux-kernel tsjin Specter 1-oanfallen, lykas ek it SMAP (Supervisor Mode Access Prevention) beskermingsmeganisme, ferminderje de kâns op in LVI-oanfal signifikant. It tafoegjen fan ekstra beskerming oan 'e kernel kin nedich wêze as ienfâldiger LVI-oanfalmetoaden yn' e takomst identifisearre wurde.
  • Gegevenslekkage tusken ferskate prosessen. De oanfal fereasket de oanwêzigens fan bepaalde stikken koade yn 'e applikaasje en de definysje fan in metoade foar it smiten fan in útsûndering yn it doelproses.
  • Gegevenslekkage fan 'e hostomjouwing nei it gastsysteem. De oanfal wurdt klassifisearre as te kompleks, wêrtroch't ferskate dreech te ymplementearjen stappen en foarsizzingen fan aktiviteit yn it systeem nedich binne.
  • Gegevenslekkage tusken prosessen yn ferskate gastsystemen. De oanfalsvektor is tichtby it organisearjen fan gegevenslekkage tusken ferskate prosessen, mar fereasket ek komplekse manipulaasjes om isolaasje tusken gastsystemen te omgean.

Publisearre troch ûndersikers ferskate prototypes mei in demonstraasje fan de begjinsels fan it útfieren fan in oanfal, mar se binne noch net geskikt foar it útfieren fan echte oanfallen. It earste foarbyld lit jo de útfiering fan spekulative koade trochferwize yn it slachtofferproses, fergelykber mei werom-rjochte programmearring (ROP,Returnrjochte programmearring). Yn dit foarbyld is it slachtoffer in spesjaal taret proses dat de nedige gadgets befettet (in oanfal tapasse op echte prosessen fan tredden is dreech). It twadde foarbyld lit ús bemuoie mei de berekkeningen tidens AES-fersifering binnen de Intel SGX-enklave en in gegevenslek organisearje tidens de spekulative útfiering fan ynstruksjes om de wearde fan 'e kaai te herstellen dy't brûkt wurdt foar fersifering.


Boarne: opennet.ru

Add a comment