Plundervolt is 'n nuwe aanvalsmetode op Intel-verwerkers wat SGX-tegnologie beïnvloed

Intel vrygelaat mikrokode-opdatering wat regmaak kwesbaarheid (CVE-2019-14607) toelaat deur manipulasie van die dinamiese spanning en frekwensie beheer meganisme in die SVE, inisieer skade aan die inhoud van data selle, insluitend in gebiede wat gebruik word vir berekeninge in geïsoleerde Intel SGX enklawes. Die aanval word Plundervolt genoem, en stel moontlik 'n plaaslike gebruiker in staat om hul voorregte op die stelsel te eskaleer, 'n ontkenning van diens te veroorsaak en toegang tot sensitiewe data te verkry.

Die aanval is slegs gevaarlik in die konteks van manipulasies met berekeninge in SGX-enklaves, aangesien dit wortelregte in die stelsel vereis om uit te voer. In die eenvoudigste geval kan 'n aanvaller verdraaiing van die inligting wat in die enklawe verwerk word, verkry, maar in meer komplekse scenario's is die moontlikheid om die private sleutels wat in die enklawe wat vir enkripsie gebruik word, te herskep, nie met die RSA-CRT en AES-NI algoritmes te herskep nie. uitgesluit. Die tegniek kan ook gebruik word om foute in aanvanklik korrekte algoritmes te genereer om kwesbaarhede uit te lok wanneer daar met geheue gewerk word, byvoorbeeld om toegang tot 'n area buite die grens van die toegekende buffer te organiseer.
Prototipe kode vir die uitvoering van 'n aanval gepubliseer op GitHub

Die essensie van die metode is om toestande te skep vir die voorkoms van onverwagte data-korrupsies tydens berekeninge in SGX, waarteen die gebruik van enkripsie en geheue-verifikasie in die enklawe nie beskerm nie. Om vervorming in te voer, het dit geblyk dat dit moontlik was om standaardsagteware-koppelvlakke te gebruik vir die beheer van frekwensie en spanning, wat gewoonlik gebruik word om kragverbruik te verminder tydens die stelsel se ledige tyd en maksimum werkverrigting tydens intensiewe werk te aktiveer. Frekwensie- en spanningseienskappe strek oor die hele skyfie, insluitend die impak van rekenaars in 'n geïsoleerde enklawe.

Deur die spanning te verander, kan jy toestande skep waaronder die lading nie genoeg is om 'n geheuesel binne die SVE te regenereer nie, en die waarde daarvan verander. Sleutel verskil van aanval RyHammer is dat RowHammer jou toelaat om die inhoud van individuele bisse in DRAM-geheue te verander deur data van naburige selle siklies te lees, terwyl Plundervolt jou toelaat om bisse binne die SVE te verander wanneer die data reeds uit die geheue gelaai is vir berekening. Hierdie kenmerk laat jou toe om die integriteitbeheer- en enkripsiemeganismes wat in SGX gebruik word vir data in die geheue te omseil, aangesien die waardes in die geheue korrek bly, maar kan verwring word tydens bewerkings daarmee voordat die resultaat na die geheue geskryf word.

As hierdie gewysigde waarde in die vermenigvuldigingsproses van die enkripsieproses gebruik word, word die uitvoer met verkeerde syferteks verwerp. Met die vermoë om 'n hanteerder in SGX te kontak om sy data te enkripteer, kan 'n aanvaller, wat mislukkings veroorsaak, statistieke versamel oor veranderinge in die uitsetsyferteks en binne 'n paar minute die waarde van die sleutel wat in die enklawe gestoor is, herstel. Die oorspronklike invoerteks en die korrekte uitvoersyferteks is bekend, die sleutel verander nie, en die uitvoer van 'n verkeerde syferteks dui aan dat die een of ander bis tot die teenoorgestelde waarde vervorm is.

Nadat die waardepare van korrekte en korrupte syfertekste wat tydens verskeie mislukkings opgehoop is, ontleed is, met behulp van metodes van differensiële mislukkingsanalise (DFA, Differensiële Foutanalise) kan voorspel waarskynlike sleutels wat gebruik word vir AES-simmetriese enkripsie, en dan, deur die kruisings van sleutels in verskillende stelle te ontleed, die verlangde sleutel te bepaal.

Verskeie modelle van Intel-verwerkers word deur die probleem geraak, insluitend Intel Core CPU's met 6
10de generasie, sowel as die vyfde en sesde generasies van Xeon E3, die eerste en tweede generasies van Intel Xeon Scalable, Xeon D,
Xeon W en Xeon E.

Laat ons jou daaraan herinner dat SGX-tegnologie (Sagteware wag uitbreidings) verskyn in die sesde generasie Intel Core verwerkers (Skylake) en bied 'n reeks instruksies wat gebruikersvlaktoepassings toelaat om geslote geheue-areas toe te ken - enklawes, waarvan die inhoud nie gelees of gewysig kan word nie, selfs deur die kern en kode wat in ring0-, SMM- en VMM-modusse loop. Dit is onmoontlik om beheer na die kode in die enklawe oor te dra deur gebruik te maak van tradisionele springfunksies en manipulasies met registers en die stapel; om beheer na die enklawe oor te dra, word 'n spesiaal geskepte nuwe instruksie gebruik wat 'n gesagskontrole uitvoer. In hierdie geval kan die kode wat in die enklawe geplaas word, klassieke oproepmetodes gebruik om toegang tot funksies binne die enklawe te verkry en spesiale instruksies om eksterne funksies te roep. Enklavegeheue-enkripsie word gebruik om teen hardeware-aanvalle te beskerm, soos om aan 'n DRAM-module te koppel.

Bron: opennet.ru

Voeg 'n opmerking