Plundervolt Intel prozesadoreen aurkako eraso metodo berria da, SGX teknologiari eragiten diona

Intel kaleratu konpontzen duen mikrokodearen eguneratzea zaurgarritasuna (CVE-2019-14607) ahalbidetuz PUZaren tentsio dinamikoaren eta maiztasunaren kontrol-mekanismoaren manipulazioaren bidez, datu-zelulen edukiei kalteak eragin, Intel SGX enklabe isolatuetan kalkuluak egiteko erabiltzen diren eremuetan barne. Erasoari Plundervolt deitzen zaio, eta tokiko erabiltzaile bati sistemaren pribilegioak areagotzea, zerbitzua ukatzea eta datu sentikorretara sarbidea izatea ahalbidetzen dio.

Erasoa arriskutsua da soilik SGX enklabeetan kalkuluekin egindako manipulazioen testuinguruan, sisteman erro-eskubideak behar baititu gauzatzeko. Kasurik errazenean, erasotzaileak enklabean prozesatutako informazioa desitxuratzea lor dezake, baina agertoki konplexuagoetan, RSA-CRT eta AES-NI algoritmoak erabiliz zifratzeko erabiltzen den enklabean gordetako gako pribatuak birsortzeko aukera ez da. baztertuta. Teknika ere erabil daiteke hasieran zuzeneko algoritmoetan akatsak sortzeko, memoriarekin lan egitean ahultasunak eragiteko, adibidez, esleitutako buffer-aren mugatik kanpoko eremu baterako sarbidea antolatzeko.
Eraso bat egiteko kode prototipoa argitaratuko GitHub-en

Metodoaren funtsa da SGX-n kalkuluetan ustekabeko datuen ustelkeriak gertatzeko baldintzak sortzea, eta horietatik babesten ez duten enklabean enkriptatzea eta memoria autentifikatzea. Distortsioa sartzeko, maiztasuna eta tentsioa kontrolatzeko software-interfaze estandarrak erabiltzea posible izan zen, normalean sistema inaktiboetan energia-kontsumoa murrizteko eta lan intentsiboetan errendimendu maximoa aktibatzeko erabiltzen direnak. Frekuentzia- eta tentsio-ezaugarriek txip osoa hartzen dute barne, enklabe isolatu batean informatikaren eragina barne.

Tentsioa aldatuz gero, karga nahikoa ez den PUZaren barneko memoria-zelula bat birsortzeko baldintzak sor ditzakezu, eta haren balioa aldatzen da. Erasoarekiko aldea funtsezkoa RowHammer hau da, RowHammer-ek DRAM memoriako bit indibidualen edukia aldatzeko aukera ematen du aldameneko zeluletako datuak ziklikoki irakurriz, eta Plundervolt-ek, berriz, CPU barruko bitak aldatzeko aukera ematen du datuak memoriatik konputaziorako dagoeneko kargatuta daudenean. Ezaugarri honek memoriako datuetarako SGX-n erabiltzen diren osotasun-kontrol eta enkriptazio-mekanismoak saihesteko aukera ematen du, memoriako balioak zuzenak izaten jarraitzen baitute, baina horiekin eragiketetan desitxuratu egin daitezke emaitza memorian idatzi aurretik.

Aldatutako balio hori enkriptazio-prozesuaren biderkatze-prozesuan erabiltzen bada, irteera testu zifratu oker batekin baztertzen da. Bere datuak enkriptatzeko SGX-ko kudeatzaile batekin harremanetan jartzeko gaitasuna izanda, erasotzaileak, hutsegiteen ondorioz, irteerako zifra-testuaren aldaketei buruzko estatistikak pila ditzake eta, minutu gutxitan, enklabean gordetako gakoaren balioa berreskuratu. Jatorrizko sarrerako testua eta irteerako testu zifratua zuzena ezagutzen dira, gakoa ez da aldatzen eta zifratze testu oker baten irteerak bit batzuk kontrako baliora desitxuratu direla adierazten du.

Hainbat hutsegitetan pilatutako testu zifratu zuzenen eta hondatuen balio bikoteak aztertuta, hutsegite diferentzialak aztertzeko metodoak erabiliz (DFA, Matxuren analisi diferentziala) Ahal igarri AES enkriptazio simetrikorako erabiltzen diren gako probableak, eta, ondoren, multzo ezberdinetako gakoen elkarguneak aztertuz, nahi den gakoa zehaztu.

Intel prozesadoreen hainbat modelok eragiten dute arazoa, besteak beste, 6 Intel Core CPUak
10. belaunaldia, baita Xeon E3-ren bosgarren eta seigarren belaunaldiak ere, Intel Xeon Scalable-ren lehen eta bigarren belaunaldiak, Xeon D,
Xeon W eta Xeon E.

Gogora dezagun SGX teknologia (Software Guardia Luzapenak) seigarren belaunaldiko Intel Core prozesadoreetan (Skylake) agertu zen eta eskaintza Erabiltzaile-mailako aplikazioek memoria-eremu itxiak esleitzea ahalbidetzen duten argibide sorta bat - enklabeak, zeinen edukia ezin baita irakurri edo aldatu ring0, SMM eta VMM moduetan exekutatzen diren nukleoak eta kodeak ere. Ezinezkoa da enklabeko kodeari kontrola transferitzea ohiko jauzi funtzioak eta erregistroekin eta pilarekin egindako manipulazioak erabiliz; kontrola enklabera transferitzeko, autoritate egiaztapena egiten duen bereziki sortutako instrukzio berri bat erabiltzen da. Kasu honetan, enklabean kokatutako kodeak dei-metodo klasikoak erabil ditzake enklabe barruko funtzioetara sartzeko eta argibide bereziak kanpoko funtzioak deitzeko. Enclave memoria enkriptatzea hardware-erasoetatik babesteko erabiltzen da, hala nola DRAM modulu batera konektatzea.

Iturria: opennet.ru

Gehitu iruzkin berria