informacion në lidhje me një klasë të re sulmesh (Injektimi i vlerës së ngarkesës, ) mbi mekanizmin spekulativ të ekzekutimit në CPU-të e Intel, i cili mund të përdoret për të zbuluar çelësa dhe të dhëna sekrete nga enklavat Intel SGX dhe procese të tjera.
Klasa e re e sulmeve bazohet në manipulime me të njëjtat struktura mikroarkitekturore si në sulme. (Mostra e të Dhënave Mikroarkitekturore), Megjithatë, këto sulme të reja nuk bllokohen nga metodat ekzistuese të mbrojtjes kundër Meltdown, Spectre, MDS dhe sulmeve të tjera të ngjashme. Mbrojtja efektive kundër LVI kërkon modifikime harduerike në CPU. Zbatimi i mbrojtjes së bazuar në softuer, duke i kërkuar kompiluesit të shtojë një udhëzim LFENCE pas çdo ngarkimi nga memoria dhe të zëvendësojë udhëzimin RET me POP, LFENCE dhe JMP, shkakton mbingarkesë të tepërt - studiuesit vlerësojnë se mbrojtja e plotë e bazuar në softuer do të zvogëlonte performancën me një faktor prej 2-19.
NjĂ« pjesĂ« e vĂ«shtirĂ«sisĂ« sĂ« bllokimit tĂ« problemit kompensohet nga fakti se sulmi aktualisht Ă«shtĂ« mĂ« shumĂ« teorik sesa praktik (sulmi Ă«shtĂ« teorikisht i mundur, por shumĂ« i vĂ«shtirĂ« pĂ«r tâu zbatuar dhe Ă«shtĂ« i riprodhueshĂ«m vetĂ«m nĂ« testet sintetike).
Intel problemi ka një nivel të moderuar rreziku (5.6 nga 10) dhe Një përditësim i firmware-it dhe SDK për mjedisin SGX u përpoqën ta bllokonin sulmin me një qasje të tërthortë. Metodat e propozuara të sulmit aktualisht janë të zbatueshme vetëm për procesorët Intel, por nuk përjashtohet mundësia e përshtatjes së LVI në procesorë të tjerë të ndjeshëm ndaj sulmeve të klasës Meltdown.
Problemi u zbulua në prill të vitit të kaluar nga studiuesja Jo Van Bulck nga Universiteti i Leuvenit, pas së cilës, me pjesëmarrjen e nëntë studiuesve nga universitete të tjera, u zhvilluan pesë metoda themelore sulmi, secila prej të cilave lejon ekzistencën e metodave më specifike. Në mënyrë të pavarur, në shkurt të këtij viti, studiuesit nga Bitdefender gjithashtu Një variant i sulmit LVI iu raportua Intel-it. Variantet e sulmit ndryshojnë në përdorimin e strukturave të ndryshme mikroarkitekturore, të tilla si Store Buffer (SB), Line Fill Buffer (LFB), FPU context switch buffer dhe Level 1 cache (L1D), të përdorura më parë në sulme të tilla si , , , , О .
Kryesorja LVI kundër sulmeve MDS është se MDS manipulon përkufizimin e përmbajtjes së strukturave mikroarkitekturore që mbeten në memorjen e përkohshme pas trajtimit spekulativ të gabimeve ose operacioneve të ngarkimit dhe ruajtjes, ndërsa
Sulmet LVI i lejojnë sulmuesit të fusë të dhëna në strukturat mikroarkitekturore për të ndikuar në ekzekutimin spekulativ të mëvonshëm të kodit të viktimës. Duke përdorur këto manipulime, sulmuesi mund të nxjerrë përmbajtjen e strukturave të të dhënave private në procese të tjera, ndërsa ekzekuton kod specifik në bërthamën e CPU-së së synuar.
Për në kodin e procesit të viktimës Sekuencat e kodit special (pajisjet) që ngarkojnë një vlerë të kontrolluar nga sulmuesi rezultojnë në përjashtime (gabim, ndërprerje ose ndihmë) që e hedhin poshtë rezultatin dhe e riekzekutojnë udhëzimin. Gjatë trajtimit të përjashtimit, krijohet një dritare spekulative gjatë së cilës të dhënat që përpunohen në pajisje rrjedhin. Konkretisht, procesori fillon të ekzekutojë një pjesë kodi (pajisje) në mënyrë spekulative, pastaj përcakton se parashikimi ishte i pasaktë dhe i rikthen operacionet në gjendjen e tyre origjinale. Megjithatë, të dhënat e përpunuara gjatë ekzekutimit spekulativ mbeten në memorjen e përkohshme L1D dhe në buffer-at mikroarkitekturorë dhe janë të disponueshme për rikuperim duke përdorur metoda të njohura për përcaktimin e të dhënave të mbetura nëpërmjet kanaleve anësore.
Një përjashtim "ndihmës", ndryshe nga një "gabim", trajtohet në mënyrë të brendshme nga procesori pa thirrur trajtuesit e softuerit. Një përjashtim ndihme mund të ndodhë, për shembull, kur biti A (i aksesuar) ose D (i ndyrë) në tabelën e faqes së memories duhet të përditësohet. Vështirësia kryesore në sulmimin e proceseve të tjera është se si të shkaktohet një përjashtim ndihme duke manipuluar procesin viktimë. Aktualisht, nuk ka metoda të besueshme për ta bërë këtë, por ato mund të zbulohen në të ardhmen. Mundësia e sulmit është konfirmuar vetëm për enklavat Intel SGX; skenarë të tjerë janë teorikë ose të riprodhueshëm në kushte sintetike (që kërkojnë shtimin e pajisjeve të caktuara në kod).
Vektorët e mundshëm të sulmit:
- Rrjedhja e të dhënave nga strukturat e kernelit në proceset në nivel përdoruesi. Ekzistuese në kernel Linux Mbrojtja kundër sulmeve të klasit 1 të Spectre, si dhe mekanizmi mbrojtës SMAP (Mbikëqyrësi i Modalitetit të Qasjes Parandalimi), zvogëlojnë ndjeshëm gjasat e sulmeve LVI. Mbrojtje shtesë e bërthamës mund të jetë e nevojshme nëse në të ardhmen identifikohen metoda më të thjeshta të sulmit LVI.
- Rrjedhje të dhënash midis proceseve të ndryshme. Sulmi kërkon praninë e fragmenteve specifike të kodit në aplikacion dhe identifikimin e metodës së hedhjes së përjashtimeve në procesin e synuar.
- Rrjedhje të dhënash nga mjedisi pritës në sistemin mysafir. Sulmi klasifikohet si shumë kompleks, që kërkon hapa të ndryshëm të vështirë për t'u zbatuar dhe parashikon aktivitetin e sistemit.
- Rrjedhje të dhënash midis proceseve në sisteme të ndryshme mysafire. Ky vektor sulmi është i ngjashëm me rrjedhjen e të dhënave midis proceseve të ndryshme, por përveç kësaj kërkon manipulime komplekse për të anashkaluar izolimin midis sistemeve mysafire.
Studiuesit publikuan me një demonstrim të parimeve të sulmit, por ato ende nuk janë të përshtatshme për kryerjen e sulmeve reale. Shembulli i parë lejon ridrejtimin e ekzekutimit spekulativ të kodit në procesin e viktimës, ngjashëm me programimin e orientuar drejt kthimit ((Programim i Orientuar drejt Kthimit). Në këtë shembull, viktima është një proces i krijuar posaçërisht që përmban pajisjet e nevojshme (zbatimi i sulmit në procese reale të palëve të treta është i vështirë). Shembulli i dytë lejon që të ndërhyhen llogaritjet e enkriptimit AES brenda enklavës Intel SGX dhe të shkaktohet një rrjedhje e të dhënave gjatë ekzekutimit spekulativ të udhëzimeve për të rikuperuar vlerën e çelësit të enkriptimit.

Burimi: opennet.ru
