AEPIC Leak, атака, която изпуска Intel SGX ключове и засяга 10-то, 11-то и 12-то поколение

наскоро беше публикувана информация за нова атака срещу процесорите на Intel, т.нар „Изтичане на AEPIC“ (вече каталогизиран под CVE-2022-21233), тази нова атака води до изтичане на чувствителни данни от изолирани анклави на intel sgx (Разширения на софтуера Guard).

За разлика от атаките от клас Spectre, теч в AEPIC Leak възниква без използването на методи за възстановяване на трети страни, тъй като информацията за чувствителните данни се предава директно чрез получаване на съдържанието на регистрите, отразено в страницата с памет MMIO (картографиран I/O в паметта).

Като цяло, атаката позволява да се определят данните, прехвърляни между кешовете на второто и последното ниво, включително съдържанието на регистрите и резултатите от операциите за четене на паметта, които преди това са били обработени на същото ядро ​​на процесора.

Сканиране на I/O адреси на процесори Intel, базирани на микроархитектурата Sunny Cove разкри, че възложените записиs in-memory Advanced Programmable Interrupt Local Controller (APIC) те не са
правилно инициализирано. В резултат на това архитектурното четене на тези регистри връща остарели данни от микроархитектурата, така че никакви данни, прехвърлени между L2 и кеша на последното ниво, не могат да бъдат прочетени през тези регистри.

Като адресно пространство на I/O е достъпен само за привилегировани потребители, Изтичането на ÆPIC е насочено към TEE на Intel, SGX. ÆPIC може да изтече данни от SGX анклави, работещи на едно и също физическо ядро. Докато ÆPIC Leak би представлявало огромна заплаха във виртуализирани среди, хипервайзорите обикновено ги карат да не излагат локални APIC регистрационни файлове на виртуални машини, елиминирайки заплахата в сценарии, базирани на облак.

Подобно на предишната атака за преходно изпълнение, насочена към SGX, ÆPIC Leak е най-ефективен, когато се изпълнява паралелно на анклава на сродния хиперпроцес. Изтичането на ÆPIC обаче не изисква хипернишковост и може също да изтече анклавни данни, ако хипернишковостта не е налична или е забранена.

Въвеждаме две нови техники за филтриране на използвани данни, т.е. стойности на регистри на анклав и данни в покой, т.е. данни, съхранявани в паметта на анклав. С Cache Line Freezing въвеждаме техника, която оказва целенасочен натиск върху йерархията на кеша, без да презаписва остарели данни...
Тези редове на кеша все още изглежда, че пътуват през йерархията на кеша, но не презаписват остарели данни. За тази цел регистрираме течове на стойности на кеш линия в зоната за безопасно състояние (SSA).

Втората техника, Enclave Shaking, използва способността на операционната система да разменя сигурно анклавните страници. Чрез редуващо се разместване на страниците на анклава навън и навътре, кешираните страници принуждават данните през йерархията на кеша, позволявайки на ÆPIC да филтрира стойности, без дори да продължава изпълнението на анклава. Ние използваме ÆPIC Leak в комбинация с
Cache Line Freezing и Enclave Shaking за извличане на AES-NI ключове и RSA ключове от Intel IPP библиотеката и Intel SGX. Нашата атака пропуска анклавна памет при 334,8 B/s и 92,2% процент на попадение.

имайки предвид, че атаката изисква достъп до физическите страници на APIC MMIO, т.е. изискват се администраторски права, методът е ограничен до атакуване на SGX анклави, до които администраторът няма пряк достъп.

Изследователите са разработили набор от инструменти, които позволяват за няколко секунди да се определят AES-NI и RSA ключовете, съхранени в SGX, както и атестационните ключове на Intel SGX и параметрите на генератора на псевдослучайни числа. Кодът на атаката е публикуван в GitHub.

Intel обяви, че подготвя корекция под формата на актуализация на микрокод, който добавя поддръжка за промиване на буфера и добавя допълнителни мерки за защита на анклавни данни.

Подготвена е и нова версия на SDK за Intel SGX с промени за предотвратяване на изтичане на данни. Разработчиците на операционни системи и хипервайзори се насърчават да използват режим x2APIC вместо наследения режим xAPIC, който използва MSR регистри вместо MMIO за достъп до APIC регистри.

Проблемът засяга процесорите на Intel от 10-то, 11-то и 12-то поколение (включително новите серии Ice Lake и Alder Lake) и е причинен от архитектурен дефект, който позволява достъп до неинициализирани данни, останали на процесорите. APIC (Advanced Programmable Interrupt Controller) записва от предишни операции.

най-накрая, ако сте се интересувам да научим повече за това, можете да проверите подробностите в следната връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.