Хакер - AEPIC Leak. Изучаем нашумевшую уязвимость в процессорах Intel

Хакер - AEPIC Leak. Изучаем нашумевшую уязвимость в процессорах Intel

hacker_frei

https://t.me/hacker_frei

Валентин Холмогоров Юрий Язев

Содержание статьи

  • Что такое Intel SGX?
  • Брешь Aepic Leak
  • Выявление уязвимости
  • Цели атаки
  • Немного теории
  • Архитектура Intel SGX
  • Эксплуатация
  • Насколько это опасно?
  • Как обезопасить свои данные?

Прог­рам­мно экс­плу­ати­руемая аппа­рат­ная уяз­вимость — явле­ние ред­кое. Обна­ружить такую неп­росто, а пофик­сить — еще слож­нее: если проб­лема скры­вает­ся в архи­тек­туре про­цес­сора, она впол­не может ока­зать­ся и вов­се неус­тра­нимой. Тех­нология Intel SGX уже неод­нократ­но под­верга­лась ата­кам, и вот недав­но объ­еди­нен­ная груп­па иссле­дова­телей обна­ружи­ла в про­цес­сорах Intel еще один архи­тек­турный баг, поз­воля­ющий орга­низо­вать утеч­ку клю­чей шиф­рования и дру­гой кри­тич­ной информа­ции.

Баг получил наиме­нова­ние AEPIC Leak. Давай раз­берем­ся в его устрой­стве и пос­мотрим, так ли он опа­сен, как об этом говорят.

ЧТО ТАКОЕ INTEL SGX?

Тех­нологию SGX (Software Guard Extensions) называ­ют кра­еуголь­ным кам­нем сис­темы безопас­ности про­цес­соров Intel. По боль­шому сче­ту SGX пред­став­ляет собой набор инс­трук­ций, поз­воля­ющих прог­раммам, в час­тнос­ти опе­раци­онным сис­темам и вир­туаль­ным машинам, соз­давать так называ­емые анкла­вы — защищен­ные учас­тки памяти для хра­нения клю­чей шиф­рования и про­чих кри­тич­ных дан­ных.

Глав­ная осо­бен­ность анкла­вов зак­люча­ется в том, что, кро­ме про­цес­са‑вла­дель­ца, ни один дру­гой про­цесс, вклю­чая ядро ОС, гипер­визоры вир­туаль­ных машин, перифе­рий­ные устрой­ства, обра­щающиеся к памяти с пря­мыми зап­росами DMA, не име­ют прав на чте­ние из защищен­ной области памяти и запись в нее. Это гаран­тиру­ет целос­тность хра­нящих­ся там дан­ных.

Те­оре­тичес­ки нет никакой воз­можнос­ти изме­нить содер­жимое анкла­вов SGX, даже если сама опе­раци­онная сис­тема ском­про­мети­рова­на или в ней работа­ет вре­донос­ное ПО с высоки­ми при­виле­гиями. С исполь­зовани­ем это­го инс­тру­мен­та мож­но орга­низо­вать надеж­ное шиф­рование дан­ных (нап­ример, для соз­дания защищен­ных дис­ковых раз­делов), выпол­нять безопас­ные уда­лен­ные вычис­ления, хра­нить циф­ровые сер­тифика­ты или реали­зовать сис­темы защиты от копиро­вания — так, SGX активно исполь­зовал­ся в тех­нологии записи дан­ных Blu-ray. Изна­чаль­но SGX соз­давал­ся имен­но для вычис­лений на уда­лен­ных машинах в обо­соб­ленном и пол­ностью защищен­ном окру­жении.

SGX появи­лась в 2015 году в про­цес­сорах Intel шес­того поколе­ния Skylake. Имен­но в эти чипы был встро­ен аппа­рат­ный модуль Memory Encryption Engine, обес­печива­ющий шиф­рование дан­ных, которые переда­ются от про­цес­сора в анкла­вы памяти SGX. Пос­коль­ку шиф­рование выпол­нялось ком­понен­том CPU, периметр безопас­ности огра­ничи­вал­ся толь­ко про­цес­сором, без обме­на незашиф­рован­ными дан­ными с опе­ратив­ной памятью, всег­да счи­тав­шей­ся ненадеж­ной в пла­не информа­цион­ной безопас­ности.

БРЕШЬ AEPIC LEAK

AEPIC Leak — пер­вый архи­тек­турный баг CPU, поз­воля­ющий ата­кующе­му сли­вать дан­ные из про­цес­сора без исполь­зования сто­рон­него канала. Такие уяз­вимос­ти, как Meltdown или Spectre, не явля­ются пол­ностью аппа­рат­ными багами. Они пред­став­ляют собой аппа­рат­ные уяз­вимос­ти, которые экс­плу­ати­руют­ся из прог­рам­мно­го обес­печения. Сле­дова­тель­но, сто­рон­ний канал — это внеш­нее ПО. Дру­гими сло­вами, брешь AEPIC Leak поз­воля­ет уво­дить дан­ные нап­рямую, без исполь­зования спе­циаль­ных прог­рамм. Тем не менее, что­бы соз­дать эти дан­ные, при­меня­ются спе­циаль­ные архи­тек­турно зависи­мые биб­лиоте­ки Intel IPP и SGX. Ата­ки на уяз­вимос­ти Meltdown и Spectre называ­ются ата­ками переход­ного исполне­ния из‑за необ­ходимос­ти исполь­зования такого спе­циаль­ного соф­та.

К чис­то архи­тек­турным багам так­же отно­сят­ся широко извес­тные уяз­вимос­ти FDIV и F00F. Пер­вый из них был обна­ружен в ори­гиналь­ных про­цес­сорах Pentium и при­водил к невер­ным резуль­татам при делении чисел с пла­вающей запятой с помощью инс­трук­ции FDIV. Вто­рой же при­сутс­тво­вал в боль­шем чис­ле моделей про­цес­соров, вклю­чая всю линей­ку мик­роар­хитек­турно­го ряда P5. Ошиб­ка мог­ла при­вес­ти к оста­нову про­цес­сора еще при заг­рузке опе­раци­онной сис­темы, а «лечили» это, обновляя ОС.

Меж­ду тем в девянос­тые годы прош­лого века, ког­да были выяв­лены две эти уяз­вимос­ти, диапа­зон вычис­лений не рас­простра­нял­ся даль­ше локаль­ного компь­юте­ра. Поэто­му, хотя выяв­ление этих багов надела­ло мно­го шума, умыш­ленная их экс­плу­ата­ция не соз­давала для поль­зовате­лей серь­езных проб­лем, осо­бен­но пос­ле выхода зап­латок. В наше вре­мя кар­тина выг­лядит ина­че. Мир зависит от вычис­лений в обла­ках, а так как SGX — глав­ный защит­ный механизм уда­лен­ных вычис­лений, экс­плу­ата­ция хакера­ми его уяз­вимос­ти наносит сок­рушитель­ный удар по кон­фиден­циаль­нос­ти дан­ных.

Выявление уязвимости

Ис­сле­дова­тели прос­каниро­вали адресное прос­транс­тво вво­да/вывода про­цес­соров, базиру­ющих­ся на мик­роар­хитек­туре Intel Sunny Cove. В резуль­тате уда­лось обна­ружить, что не все регис­тры локаль­ного APIC про­ини­циали­зиро­ваны дол­жным обра­зом. Дру­гими сло­вами, пос­ле выпол­нения опе­рации чте­ния/записи эти регис­тры не очи­щают­ся и про­дол­жают хра­нить ста­рые зна­чения, которые исполь­зовались в пре­дыду­щем вычис­лении.

Пос­редс­твом AEPIC Leak мож­но про­честь зарезер­вирован­ную часть APIC-регис­тров. APIC исполь­зует суперо­чередь меж­ду L2 и LLC для переда­чи дан­ных ядру про­цес­сора. Зарезер­вирован­ная часть не переза­писы­вает­ся, что поз­воля­ет хакеру про­честь уста­рев­шие дан­ные дру­гого при­ложе­ния.

На­ибо­лее уяз­вимым учас­тком переда­чи дан­ных внут­ри CPU, отку­да мож­но утя­нуть цен­ную информа­цию, явля­ется суперо­чередь — буфер для переда­чи дан­ных из кеша L2 в LLC и обратно. При наличии адми­нис­тра­тив­ных при­виле­гий в сис­теме это поз­воля­ет похитить хра­нящи­еся в анкла­ве SGX дан­ные без исполь­зования слож­ных схем.

Цели атаки

Уяз­вимос­ти AEPIC Leak под­верже­ны все про­цес­соры Intel на базе архи­тек­туры Sunny Cove (такие как Ice Lake и Alder Lake), то есть кли­ент­ские мик­ропро­цес­соры 10, 11 и 12-го поколе­ний, а так­же сер­верные про­цес­соры Xeon треть­его поколе­ния.

При этом сама Intel выкати­ла более широкий спи­сок про­цес­соров, под­вержен­ных уяз­вимос­ти AEPIC Leak, вклю­чающий Ice Lake Xeon-SP, Ice Lake D, Gemini Lake, Ice Lake U, Y и Rocket Lake.

Све­дения о том, под­верже­ны ли ата­кам на эту брешь про­цес­соры фир­мы AMD, раз­нятся. Кто‑то сооб­щает, что такие про­цес­соры не име­ют этой уяз­вимос­ти, дру­гие утвер­жда­ют, буд­то ата­кам под­верже­ны про­цес­соры на архи­тек­турах Zen 1–3.

Да­ниель Грусс (иссле­дова­тель из груп­пы Грац­ско­го тех­ничес­кого уни­вер­ситета, опуб­ликовав­шей отчет об уяз­вимос­ти) утвер­жда­ет, что, пос­коль­ку Apple M1 (и, воз­можно, M2) пос­тро­ены на осно­ве того же дизай­на, что и Sunny Cove, они тоже под­верже­ны ата­кам на уяз­вимость AEPIC Leak.

Хо­тя уста­нов­лено, что наиболь­шую опас­ность AEPIC Leak пред­став­ляет для локаль­ных сис­тем, это не зна­чит, что хакер не может на сво­ем компь­юте­ре под­готовить экс­плу­ати­рующую уяз­вимость мал­варь и под­сунуть ее поль­зовате­лю, работа­юще­му на целевой сис­теме. Оста­нет­ся зас­тавить поль­зовате­ля запус­тить вре­донос­ную прог­рамму, а даль­ше уже дело тех­ники.

Как все‑таки работа­ет уяз­вимость AEPIC Leak? Сей­час раз­берем­ся.

НЕМНОГО ТЕОРИИ

Сов­ремен­ные про­цес­соры — край­не слож­ные устрой­ства, сос­тоящие из набора логичес­ких эле­мен­тов, управля­емых собс­твен­ным набором мик­ропрог­рамм. Один из них — рас­ширен­ный прог­рамми­руемый кон­трол­лер пре­рыва­ний (APIC), управля­ющий, как сле­дует из его наз­вания, пре­рыва­ниями. Он сос­тоит из локаль­ного APIC, интегри­рован­ного в каж­дое логичес­кое ядро и ответс­твен­ного за обра­бот­ку меж­про­цес­сорных пре­рыва­ний, и внеш­него APIC, управля­юще­го пре­рыва­ниями вво­да/вывода.

В свою оче­редь, локаль­ный APIC содер­жит так называ­емые регис­тры, пред­назна­чен­ные для управле­ния его фун­кци­ональ­ностью или отоб­ражения сос­тояния пре­рыва­ний в сис­теме. По умол­чанию сов­ремен­ные кон­трол­леры APIC фун­кци­они­руют в режиме xAPIC, в котором каж­дый регистр пред­став­ляет собой область раз­мером 4 Кбайт в физичес­ком адресном прос­транс­тве памяти. Раз­ные модели про­цес­соров име­ют раз­ное количес­тво APIC-регис­тров: от 32 до 256.

Про­цес­соры Intel исполь­зуют иерар­хичес­кую сис­тему памяти для кеширо­вания дан­ных на нес­коль­ких уров­нях. Кеш самого низ­кого уров­ня — наибо­лее близ­кого к ядру про­цес­сора (L1) — пре­дос­тавля­ет более быс­трую память, чем кеши вер­хних уров­ней. Но этот кеш име­ет неболь­шой объ­ем и исполь­зует­ся для хра­нения дан­ных, которые готовят­ся для обра­бот­ки про­цес­сором на сле­дующем шаге. Так­же в нем хра­нят­ся дан­ные, попут­но выб­ранные из кеша вер­хних уров­ней.

Ке­ши более высоких уров­ней име­ют боль­ший объ­ем, но отли­чают­ся мень­шим быс­тро­дей­стви­ем. В архи­тек­туре Intel на самом низ­ком уров­не рас­полага­ется кеш инс­трук­ций (L1I) и дан­ных (L1D), на вто­ром уров­не — локаль­ный объ­еди­нен­ный кеш (L2). Кеш‑память пос­ледне­го уров­ня (Last Level Cache, LLC или L3) обыч­но общая для всех физичес­ких ядер. В докумен­тации Intel пос­ледний уро­вень кеша име­нует­ся LLC, пос­коль­ку раз­ные устрой­ства име­ют раз­ное количес­тво кешей. Так, если у вычис­литель­ных ядер цен­траль­ного про­цес­сора по три уров­ня кеша, то виде­ояд­ро име­ет четыре уров­ня.

Ког­да про­цес­сору нуж­ны дан­ные, он пыта­ется их най­ти сна­чала на бли­жай­шем уров­не. Таким обра­зом, в пер­вую оче­редь он ищет их в собс­твен­ных регис­трах. Если там их нет, поиск про­дол­жает­ся на уров­не L1. Если на этом уров­не нуж­ных дан­ных тоже нет, про­цес­сор соз­дает буфер, с помощью которо­го обра­щает­ся на уро­вень L2, попут­но записы­вая в этот буфер най­ден­ные дан­ные или све­дения о неуда­че. Дан­ные, изъ­ятые из вер­хне­го уров­ня, через буфер записы­вают­ся на ниж­ний и в ито­ге переда­ются про­цес­сору.

Ес­ли на уров­не L2 тоже нет иско­мых дан­ных, про­цес­сор соз­дает суперо­чередь (superqueue) и через нее обра­щает­ся на уро­вень L3, пов­торяя опе­рации записи и логиро­вания выпол­ненных опе­раций. Если же дан­ных нет и на уров­не L3, про­цес­сор обра­щает­ся к кон­трол­леру памяти, что­бы тот попытал­ся най­ти их в опе­ратив­ной памяти.

Этот кру­гово­рот дан­ных меж­ду уров­нями памяти получил наз­вание «коль­цевое соеди­нение». Как мы уже зна­ем, дан­ные в анкла­ве переда­ются толь­ко по уров­ням про­цес­сорно­го кеша. Имен­но на него нацеле­ны ата­ки, нап­равлен­ные на экс­плу­ата­цию уяз­вимос­ти AEPIC Leak.

АРХИТЕКТУРА INTEL SGX

Тех­нология Intel SGX в той или иной мере исполь­зует все эти архи­тек­турные эле­мен­ты. Intel Software Guard Extension обес­печива­ет доверен­ную сре­ду исполне­ния (Trusted Execution Environment) на про­цес­сорах с архи­тек­турой x86-64. Что­бы прог­рам­мное обес­печение мог­ло доверять анкла­ву или анклав был уве­рен, что его пыта­ется про­честь или записать про­цесс‑вла­делец, в архи­тек­туре SGX пре­дус­мотре­на про­цеду­ра аттеста­ции — крип­тогра­фичес­кой про­вер­ки под­линнос­ти анкла­ва. Раз­лича­ют локаль­ную и уда­лен­ную аттеста­цию: пер­вая при­меня­ется для про­вер­ки анкла­вов на одной плат­форме, вто­рая — при уда­лен­ных вычис­лени­ях.

Во вре­мя соз­дания анкла­ва CPU собира­ет крип­тогра­фичес­кие изме­рения для запус­ка анкла­ва и его сиг­натуры в два изме­ритель­ных регис­тра: MRSIGNER и MRENCLAVE. Анклав генери­рует под­твержден­ный локаль­ный аттестат для целево­го анкла­ва, исполь­зуя инс­трук­цию ereport. Этот аттестат может быть крип­тогра­фичес­ки про­верен целевым анкла­вом с помощью клю­ча, получен­ного инс­трук­цией egetkey.

В свою оче­редь, SGX осно­ван на более ран­ней тех­нологии от Intel EPID. Алго­ритм Enhanced privacy ID был раз­работан в 2008 году и до сих пор исполь­зует­ся как часть механиз­ма аттеста­ции в доверен­ных сис­темах, таких как SGX.

Ан­кла­вы SGX находят­ся в вир­туаль­ном адресном прос­транс­тве, но их физичес­кая память под­держи­вает­ся защищен­ным кешем стра­ниц анкла­ва (Enclave Page Cache, EPC). Записи в EPC авто­мати­чес­ки шиф­руют­ся и при необ­ходимос­ти рас­шифро­выва­ются механиз­мом шиф­рования памяти. Информа­ция из анкла­ва недос­тупна для зло­умыш­ленни­ков или вре­донос­ных прог­рамм, так как находит­ся в зашиф­рован­ном сос­тоянии. Если во вре­мя работы анкла­ва про­исхо­дит сбой или пре­рыва­ние, про­цес­сор ини­циирует асин­хрон­ный выход из анкла­ва (AEX), надеж­но сох­раняя и очи­щая все регис­тры про­цес­сора, где выпол­няет­ся анклав, на момент пре­рыва­ния в области сох­ранения его сос­тояния (SSA) внут­ри EPC.

Из‑за огра­ничен­ного раз­мера EPC зашиф­рован­ные стра­ницы могут переме­щать­ся в основную память и обратно без рас­кры­тия их содер­жимого. Ког­да стра­ница анкла­ва переме­щает­ся из основной памяти обратно в EPC, ее рас­шифро­выва­ют и крип­тогра­фичес­ки про­веря­ют, что­бы убе­дить­ся, что ее содер­жимое не было под­делано или изме­нено. Одна­ко при этом дан­ные в откры­том виде попада­ют в кеш про­цес­сора. Выпол­нение анкла­вов может быть начато толь­ко из пред­варитель­но под­готов­ленной точ­ки вхо­да с помощью инс­трук­ции eenter. Завер­шение выпол­нения — с исполь­зовани­ем инс­трук­ции eexit. Спе­циаль­ная инс­трук­ция eresume вос­ста­нав­лива­ет выпол­нение анкла­ва из фрей­ма SSA.

Сис­темное ПО исполь­зует инс­трук­цию EWBдля переме­щения зашиф­рован­ных стра­ниц EPC из кеша в опе­ратив­ную память. Ког­да стра­ница анкла­ва переме­щает­ся из опе­ратив­ной памяти в кеш, исполь­зует­ся инс­трук­ция ELDU. Она рас­шифро­выва­ет и крип­тогра­фичес­ки про­веря­ет содер­жимое, что­бы гаран­тировать, что оно не было под­делано.

Как ты уже зна­ешь, для обра­бот­ки зап­росов к кешам про­цес­сора раз­ных уров­ней слу­жат буферы. Иссле­дова­тели уста­нови­ли, что в про­цес­сорах Intel суперо­чередь исполь­зует­ся как вре­мен­ный буфер для хра­нения зап­росов APIC. Изу­чение механиз­ма работы APIC показа­ло, что при ини­циали­зации буфера APIC переза­писы­вает нулями толь­ко архи­тек­турно опре­делен­ные час­ти регис­тра и оставля­ет неак­туаль­ные зна­чения в зарезер­вирован­ной его час­ти. Ины­ми сло­вами, при чте­нии неоп­ределен­ного диапа­зона регис­тров APIC из буфера воз­вра­щают­ся уста­рев­шие дан­ные, помещен­ные туда дру­гим про­цес­сом, при этом чте­ние мож­но выпол­нить из Ring 0, то есть из опе­раци­онной сис­темы.

Утеч­ка бай­тов в 64-бай­товой стро­ке кеша

Нас­тало вре­мя вспом­нить о том, что буфер APIC хра­нит­ся в суперо­чере­ди, а сама суперо­чередь отве­чает за кеширо­вание информа­ции. Таким обра­зом, через эти регис­тры могут быть про­чита­ны любые дан­ные, переда­ваемые меж­ду L2 и кешем пос­ледне­го уров­ня. В том чис­ле и попав­шие в кеш дан­ные из стра­ниц анкла­ва, хра­нящи­еся там в откры­том виде.

ЭКСПЛУАТАЦИЯ

Для экс­плу­ата­ции уяз­вимос­ти AEPIC Leak иссле­дова­тели пред­ложили две тех­ники: Cache Line Freezing и Enclave Shaking. Обе тех­ники нацеле­ны на получе­ние из суперо­чере­ди зна­чений регис­тров, сос­тояния заг­рузки памяти, а так­же кеширо­ван­ных стра­ниц дан­ных SGX-анкла­ва. Уяз­вимость поз­воля­ет получить дан­ные, исполь­зуемые в про­цес­се шиф­рования дан­ных и уда­лен­ной аттеста­ции, клю­чи AES-NI и RSA из биб­лиотек Intel IPP и Intel SGX в течение нес­коль­ких секунд. Ата­ка c исполь­зовани­ем сочета­ния этих двух методов при­водит к утеч­ке дан­ных из анкла­вов со ско­ростью 334,8 байт/с и коэф­фици­ентом успешнос­ти 92,2%.

Пер­вый метод стро­ится на получе­нии строк сос­тояния анкла­ва (SSA) внут­ри EPC, ког­да работа анкла­ва пре­рыва­ется и зашиф­рован­ные стра­ницы EPC переме­щают­ся в основную память и обратно через буфер. Cache Line Freezing поз­воля­ет зло­умыш­ленни­ку точ­но выбирать получа­емые из буфера номера строк кеш‑памяти и, таким обра­зом, кон­тро­лиро­вать выбор­ку строк. Без исполь­зования это­го метода пот­ребова­лись бы допол­нитель­ные инс­тру­мен­ты, что­бы вос­ста­новить исходный порядок строк.

Ме­тод Enclave Shaking исполь­зует воз­можнос­ти опе­раци­онной сис­темы безопас­но менять мес­тами стра­ницы анкла­ва. Попере­мен­но меняя мес­тами эти стра­ницы, ата­кующий переме­щает по иерар­хии кеша хра­нящи­еся в них дан­ные, что при­водит к утеч­ке зна­чений даже без про­дол­жения выпол­нения анкла­ва. Ины­ми сло­вами, зло­умыш­ленник может сос­редото­чить­ся либо на области SSA для утеч­ки дан­ных, исполь­зуемых в регис­трах, либо на области сек­ретных дан­ных анкла­ва в сос­тоянии покоя. Пов­торяя ата­ку для каж­дой стра­ницы анкла­ва, мож­но пол­ностью вос­ста­новить дамп памяти анкла­ва и получить дос­туп к хра­нящим­ся в нем сек­ретным дан­ным.

Луч­ший резуль­тат дос­тига­ется, если ком­биниро­вать обе ата­ки.

НАСКОЛЬКО ЭТО ОПАСНО?

Ком­пания Intel прек­ратила под­держи­вать SGX в про­цес­сорах Core 11-го и 12-го поколе­ний. Не впол­не ясна ситу­ация с про­цес­сорами от дру­гих вен­доров: AMD и Apple. Тем не менее уже выпущен­ные про­цес­соры, работа­ющие под управле­нием ПО без над­лежаще­го обновле­ния, по‑преж­нему уяз­вимы. Так­же до сих пор уяз­вимость содер­жится в сер­верных про­цес­сорах Xeon треть­его поколе­ния, в них Intel пока не отклю­чила SGX.

Для работы экс­плу­ати­рующей AEPIC Leak мал­вари тре­буют­ся адми­нис­тра­тив­ные при­виле­гии. Поэто­му, если опе­раци­онная сис­тема нас­тро­ена пра­виль­но и зло­умыш­ленник не име­ет дос­тупа к учет­ной записи адми­нис­тра­тора, он не смо­жет вос­поль­зовать­ся уяз­вимостью. Одна­ко, как было ска­зано выше, если под­сунуть при­виле­гиро­ван­ному юзе­ру экс­плу­ати­рующую эту уяз­вимость прог­рамму, то ата­ка может быть успешна.

Что же каса­ется гипер­визоров, то про­цес­соры Intel не рас­кры­вают локаль­ные регис­тры APIC для вир­туаль­ных машин, что устра­няет угро­зу гос­тевым сис­темам. Тем не менее экс­плу­ата­ция AEPIC Leak на «реаль­ном железе» может при­вес­ти к утеч­ке дан­ных из анкла­вов SGX, работа­ющих на физичес­ком ядре про­цес­сора. Это, в свою оче­редь, откры­вает зло­умыш­ленни­кам дос­туп к сек­ретам DRM, клю­чам аттеста­ции SGX, рас­кры­вает AES-шиф­ры и ста­вит под угро­зу безопас­ность уда­лен­ных вычис­лений.

По боль­шому сче­ту уяз­вимость AEPIC Leak пол­ностью раз­руша­ет гаран­тии безопас­ности, дек­лариро­ван­ные Intel для SGX, делая эту тех­нологию прак­тичес­ки бес­полез­ной. Недаром Intel прек­ратила ее раз­витие и даль­нейшую реали­зацию в новых про­цес­сорах.

КАК ОБЕЗОПАСИТЬ СВОИ ДАННЫЕ?

Не­зави­симые экспер­ты, а так­же сама кор­порация Intel пред­лага­ют ряд решений, которые поз­воля­ют обе­зопа­сить дан­ные от уяз­вимос­ти AEPIC Leak.

  1. От­клю­чить SGX. Без нее отсутс­тву­ют воз­можнос­ти экс­плу­ата­ции уяз­вимос­ти. Но это не вари­ант для сис­тем, где SGX активно исполь­зует­ся.
  2. В опе­раци­онной сис­теме вклю­чить режим x2APIC. Это поз­волит непос­редс­твен­ным обра­зом отклю­чить уста­рев­ший режим xAPIC. Глав­ное отли­чие меж­ду xAPIC и x2APIC сос­тоит в том, что пос­ледний не отоб­ража­ет на память регис­тры вво­да/вывода, в пер­вую оче­редь в целях повыше­ния про­изво­дитель­нос­ти. Пос­коль­ку x2APIC ничего не про­еци­рует в память, украсть дан­ные ста­новит­ся невоз­можно.
  3. Ис­поль­зовать обновлен­ный SGX SDK.По завере­ниям пред­ста­вите­лей Intel, исполь­зование нового SDK сни­жает риск атак на брешь AEPIC Leak до миниму­ма.
  4. Дож­дать­ся обновле­ния мик­рокода. Intel может обно­вить мик­рокод в драй­верах к сво­им устрой­ствам или добавить его в качес­тве модулей опе­раци­онной сис­темы.
  5. Дож­дать­ся выхода новых про­цес­соров, в которых аппа­рат­ная ошиб­ка будет устра­нена.

Пос­ледние два вари­анта рас­тянуты во вре­мени на неоп­ределен­ный срок. Тем не менее сво­евре­мен­ное обновле­ние ПО и аппа­рат­ной кон­фигура­ции поз­воля­ет повысить безопас­ность сис­темы и избе­жать утеч­ки кри­тичес­ки важ­ных дан­ных.

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei



Report Page