Plundervolt është një metodë e re sulmi ndaj procesorëve Intel që ndikon në teknologjinë SGX

Intel lëshuar Përditësimi i mikrokodit që rregullon cenueshmëria (CVE-2019-14607) duke lejuar përmes manipulimit të mekanizmit dinamik të kontrollit të tensionit dhe frekuencës në CPU, fillon dëmtimi i përmbajtjes së qelizave të të dhënave, duke përfshirë zonat e përdorura për llogaritjet në enklavat e izoluara Intel SGX. Sulmi quhet Plundervolt dhe potencialisht lejon një përdorues lokal të përshkallëzojë privilegjet e tij në sistem, të shkaktojë një mohim të shërbimit dhe të fitojë akses në të dhëna të ndjeshme.

Sulmi është i rrezikshëm vetëm në kontekstin e manipulimeve me llogaritjet në enklavat SGX, pasi kërkon të drejta rrënjësore në sistem për t'u kryer. Në rastin më të thjeshtë, një sulmues mund të arrijë shtrembërimin e informacionit të përpunuar në enklavë, por në skenarë më komplekse, mundësia e rikrijimit të çelësave privatë të ruajtur në enklavën e përdorur për kriptim duke përdorur algoritmet RSA-CRT dhe AES-NI nuk është. përjashtuar. Teknika mund të përdoret gjithashtu për të gjeneruar gabime në algoritmet fillimisht të sakta për të provokuar dobësi kur punoni me memorie, për shembull, për të organizuar aksesin në një zonë jashtë kufirit të tamponit të caktuar.
Kodi prototip për kryerjen e një sulmi botuar në GitHub

Thelbi i metodës është krijimi i kushteve për shfaqjen e prishjeve të papritura të të dhënave gjatë llogaritjeve në SGX, nga të cilat përdorimi i kriptimit dhe vërtetimit të kujtesës në enklavë nuk mbron. Për të futur shtrembërimin, rezultoi se ishte e mundur të përdoreshin ndërfaqe standarde softuerike për kontrollin e frekuencës dhe tensionit, të përdorura zakonisht për të zvogëluar konsumin e energjisë gjatë kohës së punës së sistemit dhe për të aktivizuar performancën maksimale gjatë punës intensive. Karakteristikat e frekuencës dhe të tensionit përfshijnë të gjithë çipin, duke përfshirë ndikimin e llogaritjes në një enklavë të izoluar.

Duke ndryshuar tensionin, mund të krijoni kushte në të cilat ngarkesa nuk është e mjaftueshme për të rigjeneruar një qelizë memorie brenda CPU-së dhe vlera e saj ndryshon. Dallimi kryesor nga sulmi RowHammer është se RowHammer ju lejon të ndryshoni përmbajtjen e biteve individuale në memorien DRAM duke lexuar në mënyrë ciklike të dhëna nga qelizat fqinje, ndërsa Plundervolt ju lejon të ndryshoni bit brenda CPU-së kur të dhënat tashmë janë ngarkuar nga memoria për llogaritje. Ky funksion ju lejon të anashkaloni mekanizmat e kontrollit të integritetit dhe të enkriptimit të përdorur në SGX për të dhënat në memorie, pasi vlerat në memorie mbeten të sakta, por mund të shtrembërohen gjatë operacioneve me to përpara se rezultati të shkruhet në memorie.

Nëse kjo vlerë e modifikuar përdoret në procesin e shumëzimit të procesit të kriptimit, dalja refuzohet me tekst të pasaktë të shifrimit. Duke pasur aftësinë për të kontaktuar një mbajtës në SGX për të enkriptuar të dhënat e tij, një sulmues mundet, duke shkaktuar dështime, të grumbullojë statistika rreth ndryshimeve në tekstin e shifruar të daljes dhe, në pak minuta, të rivendosë vlerën e çelësit të ruajtur në enklavë. Teksti origjinal i hyrjes dhe teksti shifror i saktë i daljes janë të njohur, çelësi nuk ndryshon dhe dalja e një teksti shifror të pasaktë tregon se një pjesë e bitit është shtrembëruar në vlerën e kundërt.

Duke analizuar çiftet e vlerave të teksteve të koduara të sakta dhe të korruptuara të grumbulluara gjatë dështimeve të ndryshme, duke përdorur metoda të analizës së dështimit diferencial (DFA, Analiza e gabimeve diferenciale) Mund parashikojnë çelësat e mundshëm të përdorur për enkriptimin simetrik AES, dhe më pas, duke analizuar kryqëzimet e çelësave në grupe të ndryshme, përcaktoni çelësin e dëshiruar.

Modele të ndryshme të procesorëve Intel janë prekur nga problemi, duke përfshirë CPU-të Intel Core me 6
Gjenerata e 10-të, si dhe gjenerata e pestë dhe e gjashtë e Xeon E3, gjenerata e parë dhe e dytë e Intel Xeon Scalable, Xeon D,
Xeon W dhe Xeon E.

Le t'ju kujtojmë se teknologjia SGX (Zgjatjet e Gardës së Softuerit) u shfaq në procesorët e gjeneratës së gjashtë Intel Core (Skylake) dhe ofertat një seri udhëzimesh që lejojnë aplikacionet e nivelit të përdoruesit të ndajnë zona të mbyllura të memories - enklava, përmbajtja e të cilave nuk mund të lexohet ose modifikohet as nga kerneli dhe kodi që funksionon në modalitetet ring0, SMM dhe VMM. Është e pamundur të transferosh kontrollin në kodin në enklavë duke përdorur funksionet tradicionale të kërcimit dhe manipulimet me regjistrat dhe pirgun; për të transferuar kontrollin në enklavë, përdoret një udhëzim i ri i krijuar posaçërisht që kryen një kontroll autoriteti. Në këtë rast, kodi i vendosur në enklavë mund të përdorë metoda klasike të thirrjes për të aksesuar funksionet brenda enklavës dhe udhëzime speciale për të thirrur funksione të jashtme. Kriptimi i memories së enklave përdoret për të mbrojtur kundër sulmeve harduerike, si p.sh. lidhja me një modul DRAM.

Burimi: opennet.ru

Shto një koment