Разширена информация за нова атака срещу процесорите Intel — AEPIC Leak (CVE-2022-21233), водеща до изтичане на конфиденциални данни от изолирани анклави Intel SGX (Software Guard eXtensions). Проблемът засяга 10, 11 и 12 поколение CPU Intel (включително новите серии Ice Lake и Alder Lake) и е предизвикан от архитектурен недостатък, който позволява достъп до неинициализирани данни, останали в регистрите на APIC (Advanced Programmable Interrupt Controller) след извършване на предишни операции.
За разлика от атаките от клас Spectre, изтичането в AEPIC Leak се извършва без използване на методи за възстановяване през странични канали — информацията за конфиденциалните данни се предава директно чрез получаване на съдържанието на регистрите, отразени в страницата на паметта MMIO (memory-mapped I/O). В общи линии атаката позволява да се определят данните, предавани между кешовете на второ и последно ниво, включително съдържанието на регистрите и резултатите от операции по четене от паметта, които преди това са били обработвани на същото ядро на CPU.
Тъй като за извършване на атаката е необходимо наличие на достъп до физическите страници на APIC MMIO, т.е. изискват се права на администратор, методът е ограничен до атаката на анклави SGX, до които администраторът няма пряк достъп. Изследователите са разработили инструментариум, който позволява в рамките на няколко секунди да се определи съхраняваните в SGX ключове AES-NI и RSA, както и атестационните ключове на Intel SGX и параметрите на генерирането на псевдослучайни числа. Кодът за провеждане на атаката е публикуван в GitHub.
Компанията Intel обяви, че подготвя корекция под формата на актуализация на микрокода, в която е реализирана поддръжка за изчистване на буферите и са добавени допълнителни мерки за защита на данните в анклавете. Също така е подготвен ново издание на SDK за Intel SGX с промени, предотвратяващи изтичането на данни. На разработчиците на операционни системи и хипервизори е препоръчано да преминат от остарелия режим xAPIC към режима x2APIC, при който за достъп до регистрите на APIC вместо MMIO се използват MSR-регистри.
Източник: opennet.ru
