Компания Intel информация за две нови уязвимости в CPU Intel, причинени от изтичане на данни от кеша L1D (, L1DES — L1D Eviction Sampling) и векторни регистри (, VRS — Vector Register Sampling). Уязвимостите принадлежат към клас (Microarchitectural Data Sampling) и се основават на използването на методи за анализ по странични канали на данни в микроархитектурни структури. AMD, ARM и други процесори не са засегнати от проблемите.
Най-голямата заплаха представлява уязвимостта L1DES, която задържане на блокове кеширани данни (cache line), изхвърляни от кеша на първо ниво (L1D), в буфера на запълване (Fill Buffer), който на този етап трябва да бъде празен. За определяне на задържаните в буфера на запълване данни могат да се приложат методи за анализ по странични канали, предложени в атаките (Microarchitectural Data Sampling) и (Transactional Asynchronous Abort). Същността на предишните защити срещу
MDS и TAA е в почистването на микроархитектурните буфери преди смяната на контекста, но, как се оказа, при определени условия данните спекулативно се записват в буферите след операцията по почистване, затова методите MDS и TAA остават приложими.

В резултат на това атакуващият може да определи изхвърлените от кеша на първо ниво данни, които са били променени по време на изпълнението на приложението, преди това заемащо текущото ядро на CPU, или приложения, изпълняващи се паралелно в други логически потоци (hyperthread) на същото ядро на CPU (изключването на HyperThreading намалява ефективността на атаката). В отличие от атаката , L1DES не позволява избор на конкретни физически адреси за тестване, но дава възможност за пасивно проследяване на активността в други логически потоци, свързана със зареждане или запазване в паметта на стойности.
На базата на L1DES различни екипи от изследователи разработиха няколко варианта на атаки, които потенциално позволяват извличане на конфиденциална информация от други процеси, операционната система, виртуални машини и защитени анклави SGX.
- Екипът VUSec метода на атака RIDL за уязвимостта L1DES. Достъпно е , който в това число заобикаля предложеното от Intel защитно решение срещу MDS, основано на използването на инструкцията VERW за почистване на съдържанието на микроархитектурните буфери в момента на връщане от ядрото в потребителското пространство или при предаване на контрола на гостуващата система (изследователите първоначално настояват, че VERW (почистване на микроархитектурните буфери) не е достатъчно за защита и е нужен пълен сброс на кеша L1 при всяко превключване на контекста).
- Команда актуализира своя с отчет за уязвимостта L1DES.
- Изследователи от Университета на Мичиган разработиха собствен метод на атака (), който позволява извличане на конфиденциална информация от ядрото на операционната система, виртуални машини и защитени анклави SGX. Методът се основава на с механизма за асинхронно прекъсване на операциите (TAA, TSX Asynchronous Abort) за определяне на съдържанието на буфера за запълване след изтичането на данни от кеша L1D.
Втората уязвимост VRS (Vector Register Sampling) с изтичането в буфера за съхранение (Store Buffer) на резултатите от операции по четене от векторни регистри, променени при изпълнение на векторни инструкции (SSE, AVX, AVX-512) на същото ядро на CPU. Изтичането настъпва при доста редки обстоятелства и е причинено от това, че спекулативно изпълняваната операция, която води до отразяване на състоянието на векторните регистри в буфера за съхранение, закъснява и приключва след почистването на буфера, а не преди него. Подобно на уязвимостта L1DES, съдържанието на буфера за съхранение след това може да бъде определено чрез методи на нападения MDS и TAA.
Изследователи от групата VUSec , позволяваща определяне на стойностите на векторните регистри, получени в резултат на изчисления в друг логически поток на същото ядро на CPU. Компанията Intel уязвимостта VRS като твърде сложна за осъществяване на реални атаки и й присвоява минимално ниво на опасност (2.8 CVSS).
Информация за проблемите беше предадена на Intel през май 2019 година от екипа Zombieload от Техническия университет в Грац (Австрия) и групата VUSec от Свободния университет в Амстердам, а по-късно, след анализ на други вектори за атака на MDS, уязвимостите бяха потвърдени от някои други изследователи. В първия доклад MDS информацията за проблемите L1DES и VRS не беше включена поради липса на корекция. Корекцията все още не е налична, но сроковете за неразкритие вече изтекоха.
Като обходни методи за защита се препоръчва деактивиране на HyperThreading. За блокиране на уязвимостта от страна на ядрото се предлага да се изчиства кеша L1 при всяко превключване на контекст (MSR бит MSR_IA32_FLUSH_CMD) и да се деактивира разширението TSX (MSR битове MSR_IA32_TSX_CTRL и MSR_TSX_FORCE_ABORT).
Intel да бъде издадено обновление на микрокода с реализиране на механизми за блокиране на проблемите в най-скоро време. Intel също така отбелязва, че прилагането на предложените през 2018 година методи за защита от атака (L1 Terminal Fault) позволява блокирането на експлоатацията на уязвимостта L1DES от виртуални среди. Атаката процесори Intel Core, започвайки от шесто поколение (Sky, Kaby, Coffee, Whiskey, Amber Lake и др.), както и някои модели Intel Xeon и Xeon Scalable.
Допълнително може да бъде отбелязано , позволяващо прилагането на методи за атака за определяне на съдържанието на хеша на паролата root от /etc/shadow при периодични опити за аутентификация. У初начално предложеното експлоит се определяше хешът на паролата за , а след прилагането на течове при работа на механизма за асинхронно прекъсване на операции (TAA, TSX Asynchronous Abort) се осъществяваше подобна операция за , новият вариант извършва атаката за 4 секунди.

Източник: opennet.ru
