LVI estas nova klaso de atakoj sur la konjekta ekzekutmekanismo en la CPU

Eldonita informoj pri nova klaso de atakoj LVI (Ŝargi Valorinjekton, CVE-2020-0551) pri la konjekta ekzekutmekanismo en Intel-CPUoj, kiuj povas esti uzataj por liki ŝlosilojn kaj sekretajn datumojn de Intel SGX-enklavoj kaj aliaj procezoj.

Nova klaso de atakoj baziĝas sur manipulado de la samaj mikroarkitekturaj strukturoj uzataj en atakoj MDS (Mikroarkitektura Datuma Sampling), Spectre kaj Meltdown. Samtempe, novaj atakoj ne estas blokitaj per ekzistantaj metodoj de protekto kontraŭ Meltdown, Spectre, MDS kaj aliaj similaj atakoj. Efika LVI-protekto postulas hardvarŝanĝojn al la CPU. Kiam oni organizas protekton programe, aldonante la LFENCE-instrukcion de la kompililo post ĉiu ŝarĝa operacio el memoro kaj anstataŭigante la RET-instrukcion per POP, LFENCE kaj JMP, tro multe da superkompetoj estas registritaj - laŭ esploristoj, kompleta programara protekto kondukos al malpliigo de agado de 2-19 fojojn.

Parto de la malfacileco en blokado de la problemo estas kompensita de tio, ke la atako estas nuntempe pli teoria ol praktika (la atako estas teorie ebla, sed tre malfacile efektivigebla kaj nur reproduktebla en sintezaj testoj).
Intel alproprigis la problemo havas moderan danĝernivelon (5.6 el 10) kaj liberigita ĝisdatigante la firmware kaj SDK por la SGX-medio, en kiu ĝi provis bloki la atakon uzante solvon. La proponitaj atakmetodoj nuntempe nur aplikeblas al Intel-procesoroj, sed la ebleco adapti LVI por aliaj procesoroj al kiuj Meltdown-klasaj atakoj estas aplikeblaj ne povas esti ekskludita.

La problemon identigis la pasintan aprilon la esploristo Jo Van Bulck de la Universitato de Loveno, post kiu kun la partopreno de 9 esploristoj el aliaj universitatoj estis ellaboritaj kvin bazaj atakmetodoj, ĉiu el kiuj ebligas la ekziston de pli specifaj. ebloj. Sendepende, en februaro de ĉi tiu jaro, ankaŭ esploristoj de Bitdefender malkovrita unu el la LVI atakvariaĵoj kaj raportis ĝin al Intel. La atakvariaĵoj estas distingitaj per la uzo de malsamaj mikroarkitekturaj strukturoj, kiel ekzemple la stoka bufro (SB, Store Buffer), pleniga bufro (LFB, Line Fill Buffer), FPU-kunteksta ŝaltilo bufro kaj unuanivela kaŝmemoro (L1D), antaŭe uzata. en atakoj kiel ekz ZombieLoad, RIDL, Elfali, LazyFP, Antaŭsigno и Disfalo.

LVI estas nova klaso de atakoj sur la konjekta ekzekutmekanismo en la CPU

La ĉefa honoroj La LVI kontraŭ MDS-atakoj estas ke MDS manipulas la persistemon de la enhavo de mikroarkitekturaj strukturoj restantaj en la kaŝmemoro post konjekta mistraktado aŭ ŝarĝo kaj stokoperacioj, dum
LVI-atakoj permesas al la datenoj de la atakanto esti enigitaj en mikroarkitekturajn strukturojn por influi postan konjektan plenumon de la kodo de la viktimo. Uzante ĉi tiujn manipuladojn, atakanto povas ĉerpi la enhavon de privataj datumstrukturoj en aliaj procezoj dum plenumado de certa kodo sur la cela CPU-kerno.

LVI estas nova klaso de atakoj sur la konjekta ekzekutmekanismo en la CPU

Por ekspluata problemo en la kodo de la viktimprocezo devus renkontiĝi specialaj sekvencoj de kodo (gadgets) en kiuj atakanto-kontrolita valoro estas ŝarĝita, kaj ŝarĝi ĉi tiun valoron igas esceptojn (faŭlto, abortigo aŭ asistado) esti ĵetitaj, forĵetante la rezulton kaj reefektigante la instrukcion. Kiam escepto estas prilaborita, konjekta fenestro aperas dum kiu la datumoj prilaboritaj en la aparato likas. Aparte, la procesoro komencas efektivigi pecon de kodo (gadget) en konjekta reĝimo, tiam determinas ke la prognozo ne estis pravigita kaj ruliĝas reen la operaciojn al sia origina stato, sed la datenoj prilaboritaj dum konjekta ekzekuto estas deponitaj en la L1D-kaŝmemoro. kaj mikroarkitekturaj bufroj kaj estas havebla por rehavigo de ili kun uzado de konataj metodoj por determinado de restaj datenoj tra triapartaj kanaloj.

La "helpo-" escepto, male al la "faŭlto-" escepto, estas pritraktita interne fare de la procesoro sen vokado de softvartraktiloj. Helpo povas okazi, ekzemple, kiam la bito A (Alirita) aŭ D (Malpura) en la memorpaĝa tabelo devas esti ĝisdatigita. La ĉefa malfacilaĵo por fari atakon kontraŭ aliaj procezoj estas kiel komenci la okazon de helpo manipulante la viktimprocezon. Nuntempe ne ekzistas fidindaj manieroj fari tion, sed eblas, ke ili estos trovitaj en la estonteco. La ebleco fari atakon ĝis nun estis konfirmita nur por Intel SGX-enklavoj, aliaj scenaroj estas teoriaj aŭ reprodukteblaj en sintezaj kondiĉoj (postulas aldoni iujn aparatojn al la kodo)

LVI estas nova klaso de atakoj sur la konjekta ekzekutmekanismo en la CPU

LVI estas nova klaso de atakoj sur la konjekta ekzekutmekanismo en la CPU

Eblaj atakvektoroj:

  • Datenfluado de kernaj strukturoj en uzantnivelan procezon. La protekto de la Linukso-kerno kontraŭ atakoj de Spectre 1, same kiel la protekta mekanismo SMAP (Supervisor Mode Access Prevention), signife reduktas la verŝajnecon de LVI-atako. Aldoni kroman protekton al la kerno povas esti necesa se pli simplaj LVI-atakaj metodoj estas identigitaj estonte.
  • Elfluado de datumoj inter malsamaj procezoj. La atako postulas la ĉeeston de certaj pecoj de kodo en la aplikaĵo kaj la difino de metodo por ĵeti escepton en la celprocezo.
  • Elfluado de datumoj de la gastiga medio al la gastsistemo. La atako estas klasifikita kiel tro kompleksa, postulante diversajn malfacile efektivigeblajn paŝojn kaj antaŭdirojn de agado en la sistemo.
  • Elfluado de datumoj inter procezoj en malsamaj gastsistemoj. La atakvektoro estas proksima al organizado de datumfluado inter malsamaj procezoj, sed aldone postulas kompleksajn manipuladojn por preteriri izolitecon inter gastsistemoj.

Eldonita de esploristoj pluraj prototipoj kun pruvo de la principoj fari atakon, sed ili ankoraŭ ne taŭgas por fari verajn atakojn. La unua ekzemplo permesas al vi redirekti konjektan kodon en la viktimprocezo, simile al reven-orientita programado (ROP,Reven-Orientita Programado). En ĉi tiu ekzemplo, la viktimo estas speciale preparita procezo enhavanta la necesajn aparatojn (apliki atakon al realaj triapartaj procezoj estas malfacila). La dua ekzemplo permesas al ni kojni nin en la kalkulojn dum AES-ĉifrado ene de la Intel SGX-enklavo kaj organizi datuman likon dum la konjekta plenumo de instrukcioj por restarigi la valoron de la ŝlosilo uzata por ĉifrado.


fonto: opennet.ru

Aldoni komenton