Plundervolt — uus Intel'i protsessorite rĂŒnnaku meetod, mis mĂ”jutab SGX tehnoloogiat

Intel Corporation vabastas mikrokoodi vĂ€rskendus, mis kĂ”rvaldab haavatavus (CVE-2019-14607), mis vĂ”imaldab manipuleerimise kaudu CPU dĂŒnaamilise pinge ja sageduse juhtimise mehhanismiga algatada andmealaga rakkude sisu kahjustamist, sealhulgas piirkondades, mida kasutatakse Intel SGX isoleeritud anklavites arvutamisel. RĂŒnnakut nimetatakse Plundervolt'iks ning see vĂ”imaldab potentsiaalselt kohalikul kasutajal saada sĂŒsteemis kĂ”rgemaid Ă”igusi, pĂ”hjustada teenusekatkestusi ja pÀÀseda ligi lukustatud andmetele.

RĂŒnnak kujutab ohtu ainult SGX anklavites toimuva arvutamise manipuleerimise kontekstis, kuna selleks on vajalik root-Ă”iguste olemasolu sĂŒsteemis. Lihtsaimal juhul vĂ”ib rĂŒndaja saavutada vÀÀrinfo sisestamise, mis töödeldakse anklaavis, kuid keerukamate stsenaariumite korral ei vĂ€listata vĂ”imalust rekonstrueerida anklavis talletatud sulgemisvĂ”tmeid, mida kasutatakse RSA-CRT ja AES-NI krĂŒpteerimise algoritmide abil. Tehnikat saab kasutada ka algselt korrektsete algoritmide vigade genereerimiseks, et pĂ”hjustada mĂ€luga seotud haavatavuste tekkimist, nĂ€iteks et korraldada juurdepÀÀs mĂ€lu piire ĂŒletavale alale.
RĂŒnnaku kodeerimise prototĂŒĂŒp avaldati GitHubis

Meetodi olemus seisneb asjaolu loomises, et ilmnevad ettenĂ€gematud andmete moonutused SGX arvutuste kĂ€igus, mille eest ei kaitse mĂ€lu krĂŒpteerimise ja autentimise rakendamine anklavis. Moonutuste tekitamiseks on vĂ”imalik kasutada tavalisi liideseid, mis kontrollivad sagedust ja pinget, mida tavaliselt rakendatakse sĂŒsteemi energiatarbimise vĂ€hendamiseks ootereĆŸiimis ja maksimaalse jĂ”udluse aktiveerimiseks intensiivsete tööde ajal. Sageduse ja pinge omadused katab kogu kiibi, sealhulgas mĂ”jutavad arvutuste tegemist isoleeritud anklavis.

Pinge muutmisega saab luua tingimusi, kus koormus ei ole piisav CPU sees oleva mĂ€luraku taastamiseks, mis muudab selle vÀÀrtust. Peamine erinevus rĂŒnnakust RowHammer on RowHammer vĂ”imaldab muuta DRAMi mĂ€lu individuaalsete bittide sisu, lugedes andmeid naaberlahtritest tsĂŒkliliselt, samas kui Plundervolt vĂ”imaldab bitsi muutmist CPU sees, kui andmed on juba mĂ€lust loetud arvutuste teostamiseks. Selline omadus vĂ”imaldab ringi hiilida SGX-i rakendatud andmete terviklikkuse ja krĂŒpteerimise kontrollmehhanismidest, kuna mĂ€lus olevad vÀÀrtused jÀÀvad Ă”igeks, kuid vĂ”ivad operatsioonide kĂ€igus olla moonutatud enne, kui tulemus salvestatakse mĂ€llu.

Kui seda muudetud vÀÀrtust kasutatakse korrutamise kĂ€igus krĂŒpteerimise protsessis, siis tagatakse vĂ€ljundina vale krĂŒpteeritud tekst. Omades ligipÀÀsu SGX-i töötlejale oma andmete krĂŒpteerimiseks, saab rĂŒndaja, pĂ”hjustades tĂ”rkeid, koguda statistikat vĂ€ljundkrĂŒpteeritud teksti muutuste kohta ja mĂ”ne minutiga taastada anklaavi salvestatud vĂ”tme vÀÀrtuse. Sisendtekst ja Ă”ige krĂŒpteeritud tekst vĂ€ljundis on teada, vĂ”tmega ei muudeta, ja vale krĂŒpteeritud teksti vĂ€ljund nĂ€itab, et mingi bitt on moonutatud vastupidiseks vÀÀrtuseks.

AnalĂŒĂŒsides erinevate tĂ”rkede ajal kogutud korrektsete ja moonutatud krĂŒpteeritud tekstide vÀÀrtuste paare, on vĂ”imalik kasutada tĂ”rgete differentiaalanalĂŒĂŒsi (DFA) meetodeid, Differential Fault Analysis) et ennustada tĂ”enĂ€olisi vĂ”tmeid, mida kasutatakse AES-i sĂŒmmeetrilises krĂŒpteerimises, ning seejĂ€rel, analĂŒĂŒsides vĂ”tmete ĂŒhisusi erinevates komplektides, tuvastada otsitav vĂ”tme.

MĂ€ngi videot

Probleem on seotud erinevate Intel'i protsessorite mudelitega, sealhulgas 6. kuni 10. pÔlvkonna Intel Core CPU-dega, samuti 5. ja 6. pÔlvkonna Xeon E3, 1. ja 2. pÔlvkonna Intel Xeon Scalable, Xeon D,
Xeon W ja Xeon E.
Tuletame meelde, et SGX tehnoloogia (

Software Guard Extensions) ilmus Intel Core'i protsessorites 6. pĂ”lvkonna (Skylake) juures ja) ilmus Intel Core kuute pĂ”lvkonda (Skylake) ja pakub juhiseid, mis vĂ”imaldavad rakenduste kasutajatasemel eraldada suletud mĂ€lualasid - enklaave, mille sisu ei saa lugeda ega muuta isegi kernel ja kood, mis töötab ring0, SMM ja VMM reĆŸiimides. Juhtimise edastamine koodi enklaavis pole vĂ”imalik traditsiooniliste hĂŒpetefunktsioonide ja registrite ning stack'i manipuleerimise kaudu - juhtimise edastamiseks enklaavi kasutatakse spetsiaalselt loodud uut kĂ€sku, mis teostab Ă”iguste kontrolli. Samal ajal saab enklaavis olev kood kasutada klassikalisi kutsumeetodeid funktsioonide kĂ”nelemiseks ning spetsiaalset kĂ€sku, et kutsuda vĂ€liseid funktsioone. Riistvaraliste rĂŒnnakute, nĂ€iteks DRAM mooduliga ĂŒhenduse loomise kaitsmiseks kasutatakse enklaavi mĂ€lukodeerimist.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster