LVI — njĂ« klasĂ« e re e sulmeve nĂ« mekanizmin spekulativ tĂ« ekzekutimit nĂ« CPU

Janë publikuar informacione mbi një klas të ri sulmesh LVI (Load Value Injection, CVE-2020-0551) në mekanizmin e ekzekutimit spekulativ në CPU-të Intel, të cilat mund të përdoren për të organizuar rrjedhjen e çelësave dhe informacioneve sekrete nga enklavat Intel SGX dhe procese të tjera.

Klasa e re e sulmeve bazohet nĂ« manipulimin e tĂ« njĂ«jtave struktura mikroarkitekturore si nĂ« sulmet MDS (Microarchitectural Data Sampling), Spectre dhe Meltdown.SidoqoftĂ«, sulmet e reja nuk bllokohen nga metodat ekzistuese tĂ« mbrojtjes ndaj Meltdown, Spectre, MDS dhe sulmeve tĂ« tjera tĂ« ngjashme. PĂ«r tĂ« siguruar mbrojtje efektive ndaj LVI-s, kĂ«rkohen ndryshime nĂ« harduerin e CPU-sĂ«. NĂ«se organizohet mbrojtja nĂ« mĂ«nyrĂ« softuerike, pĂ«rmes shtimit tĂ« instruksioneve LFENCE nga kompajluesi pas çdo operacioni ngarkimi nga memoria dhe zĂ«vendĂ«simit tĂ« instruksionit RET me POP, LFENCE dhe JMP, regjistrohen njĂ« ngarkesĂ« tepĂ«r e madhe — sipas vlerĂ«simeve tĂ« hulumtuesve, mbrojtja e plotĂ« softuerike do tĂ« sjellĂ« njĂ« rĂ«nie tĂ« performancĂ«s nga 2-19 herĂ«.

Pjesërisht, vështirësia e bllokimit të problemit kompenzohet nga fakti që për momentin sulmi ka një karakter më tepër teorik sesa praktik (sulmi është teorikisht i mundshëm, por shumë i vështirë për t'u realizuar dhe është përsëritës vetëm në teste sintetike).
Kompania Intel i ka dhënë problemit një nivel të moderuar rreziku (5.6 nga 10) dhe lëshoi një përditësim të firmuerit dhe SDK për mjedisin SGX, në të cilin tentoi të bllokonte realizimin e sulmit me anë të një rruge anashkalimi. Metodat e sugjeruara të sulmit aktualisht janë të aplikueshme vetëm për procesorët Intel, por nuk përjashtohet mundësia e adaptimit të LVI-së dhe për procesorë të tjerë ndaj të cilëve janë të zbatueshme sulmet e klasës Meltdown.

Problemi u zbulua në prill të vitit të kaluar nga hulumtuesi Jo Van Bulck nga Universiteti i Leven, pas së cilës, me pjesëmarrjen e 9 hulumtuesve nga universitetet e tjera, u zhvilluan pesë metoda themelore të realizimit të sulmeve, të cilat lejojnë ekzistencën e varianteve më specifike. varianti. Pavarësisht, në shkurt të këtij viti, hulumtuesit nga kompania Bitdefender gjithashtu u zbuluan një nga variantet e sulmit LVI dhe e raportuan atë në Intel. Variantet e sulmeve ndryshojnë në përdorimin e strukturave të ndryshme mikroarkitekturore, siç janë bufferi i ruajtjes (SB, Store Buffer), bufferi i mbushjes (LFB, Line Fill Buffer), bufferi i switch-it të kontekstit FPU dhe cache-në e nivelit të parë (L1D), të cilat janë përdorur më parë në sulme si ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow. dhe Meltdown.

LVI - një klasë e re sulmesh mbi mekanizmin e ekzekutimit spekullativ në CPU

Dallimi kryesor i LVI-së nga sulmet MDS është se MDS manipulon përcaktimin e përmbajtjes së strukturave mikroarkitekturore që mbeten në cache pas përpunimit spekulativ të përjashtimeve (fault) ose operacioneve ngarkimi dhe ruajtjeje, ndërsa sulmet LVI lejojnë përfshirjen e të dhënave nga sulmuesi në strukturat mikroarkitekturore për të ndikuar në përpunimin e ardhshëm spekulativ të kodit të viktimës. Me anë të këtyre manipulimeve, sulmuesi mund të nxjerrë përmbajtjen e strukturave të dhënash të mbyllura në procese të tjera gjatë ekzekutimit të një kodo të caktuar në bërthamat e CPU-së të synuara.
eksplorimit të problemit

LVI - një klasë e re sulmesh mbi mekanizmin e ekzekutimit spekullativ në CPU

Për në kodin e procesit-viktimë duhet të përmbushen sekuenca të veçanta të kodit (gadget) në të cilat ngarkohet një vlerë e kontrolluar nga sulmuesi, dhe ngarkimi i kësaj vlere sjell në shfaqjen e përjashtimeve (fault, abort ose assist), që refuzojnë rezultatin dhe përsërisin instruksionin. Gjatë përpunimit të përjashtimit, ndodh një dritare spekulative, gjatë së cilës ndodh rrjedhja e të dhënave që po përpunohen në gadget. Në veçanti, procesori fillon të ekzekutojë në mënyrë spekulative një pjesë kodi (gadget), pastaj përcakton se parashikimi nuk u realizua dhe rikthen operacionet në gjendjen fillestare, por të dhënat e përpunuara gjatë përpunimit spekulativ mbesin në cache-në L1D dhe buferat mikroarkitekturore dhe janë të aksesueshme për t'u nxjerrë prej tyre duke përdorur metoda të njohura për përcaktimin e të dhënave mbetëse përmes kanaleve anësore. sekuenca speciale kodi (gadget) në të cilat ngarkohet një vlerë e kontrolluar nga sulmuesi, dhe ngarkimi i kësaj vlere çon në shfaqjen e përjashtimeve (fault, abort ose assist) që hedhin poshtë rezultatin dhe rishkruajnë instrukcionin. Gjatë përpunimit të përjashtimit ndodh një dritare spekulative, gjatë së cilës ndodh rrjedhja e të dhënave të përpunuara në gadget. Në veçanti, procesori fillon të ekzekutojë në mënyrë spekulative një copë kodi (gadget), më pas përcakton se parashikimi nuk është realizuar dhe rikthen operacionet në gjendjen e saj të mëparshme, por të dhënat e përpunuara gjatë ekzekutimit spekulativ qëndrojnë në cache-në L1D dhe tamponët mikroarkitekturalë dhe janë të disponueshme për t'u nxjerrë nga to duke përdorur metoda të njohura të identifikimit të të dhënave mbetëse përmes kanaleve anësore.

Përjashtimi 'assist', ndryshe nga 'fault', përpunojë brenda procesorit pa apelimin e trajtuesve softuerikë. Assist mund të ndodhë, për shembull, kur kërkohet për të përmirësuar bitin A (Accessed) ose D (Dirty) në tabelën e faqeve të memories. Vështirësia kryesore e kryerjes së sulmit ndaj proceseve të tjera është se si të ngacmohet shfaqja e assist, duke manipuluar procesin viktimë. Aktualisht nuk ka mënyra të besueshme për ta bërë këtë, por në të ardhmen nuk përjashtohet që të gjenden. Mundësia e kryerjes së sulmit deri më tani është konfirmuar vetëm për enklavat Intel SGX, skenarët e tjerë janë të teorikshëm ose të riprodhueshëm në kushte sintetike (duhet të shtohet në kod disa gadget të veçanta)

LVI - një klasë e re sulmesh mbi mekanizmin e ekzekutimit spekullativ në CPU

LVI - një klasë e re sulmesh mbi mekanizmin e ekzekutimit spekullativ në CPU

Vektorë të mundshëm sulmesh:

  • Shkalla e tĂ« dhĂ«nave nga strukturat thelbĂ«sore nĂ« procesin nĂ« nivelin e pĂ«rdoruesit. Mbrojtja qĂ« ekziston nĂ« bĂ«rthamĂ«n Linux kundĂ«r sulmeve tĂ« klasĂ«s Spectre 1, si dhe mekanizmi i mbrojtjes SMAP (Mbrojtja e Qasjes nĂ« Modin MbikĂ«qyrĂ«s), ndihmojnĂ« ndjeshĂ«m nĂ« zvogĂ«limin e mundĂ«sisĂ« sĂ« sulmit LVI. NjĂ« mbrojtje shtesĂ« nĂ« bĂ«rthamĂ« mund tĂ« kĂ«rkohet nĂ«se zbulohet nĂ« tĂ« ardhmen metoda mĂ« tĂ« thjeshta pĂ«r kryerjen e sulmit LVI.
  • Shkalla e tĂ« dhĂ«nave ndĂ«rmjet proceseve tĂ« ndryshme. PĂ«r kĂ«tĂ« sulm kĂ«rkohet qĂ« tĂ« ekzistojnĂ« fragmente tĂ« caktuara kodi nĂ« aplikacion dhe tĂ« pĂ«rcaktohet mĂ«nyra e formimit tĂ« pĂ«rjashtimit nĂ« procesin e synuar.
  • Shkalla e tĂ« dhĂ«nave nga mjedisi mikpritĂ«s nĂ« sistemin mysafir. Sulmi Ă«shtĂ« klasifikuar si shumĂ« i komplikuar, i cili kĂ«rkon kryerjen e hapave tĂ« ndryshĂ«m tĂ« vĂ«shtirĂ« dhe parashikimin e aktiviteteve nĂ« sistem.
  • Shkalla e tĂ« dhĂ«nave ndĂ«rmjet proceseve nĂ« sisteme tĂ« ndryshme mysafire. Vektori i sulmit Ă«shtĂ« i ngjashĂ«m me organizimin e shkallĂ«s sĂ« tĂ« dhĂ«nave ndĂ«rmjet proceseve tĂ« ndryshme, por kĂ«rkon gjithashtu kryerjen e manovrave tĂ« komplikuara pĂ«r tĂ« kaluar pĂ«rmes izolimit ndĂ«rmjet sistemeve mysafire.

Kërkuesit kanë publikuar disa prototipe me demostrimin e principeve të kryerjes së sulmit, por ato ende nuk janë të përshtatshme për kryerjen e sulmeve të vërteta. Shembulli i parë lejon të drejtohet ekzekutimi spekullativ i kodit në procesin viktimë, në mënyrë të ngjashme me programimin e orientuar nga kthimi (ROP, Return-Oriented Programming). Në këtë shembull, procesi viktimë është një proces i përgatitur posaçërisht, që përmban gadgets të nevojshme (aplikimi i sulmit ndaj proceseve të jashtme është i vështirësuar). Shembulli i dytë lejon të ndërhyhet në llogaritjet gjatë enkriptimit AES brenda enklavës Intel SGX dhe të organizohet një shkallë të dhënash gjatë ekzekutimit spekullativ të instruksioneve për të rikuperuar vlerën e çelësit të përdorur për enkriptim.


Luaj videon

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster