Компанията 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) за определяне на съдържанието на буфера за запълване след fuite на данни от кеша L1D.
Втората уязвимост VRS (Vector Register Sampling) с fuite в буфера за съхранение (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
