Изследователи от Техническия университет в Грац (Австрия) информация за нов метод на атака чрез странични канали (), който позволява извличането на конфиденциална информация от други процеси, операционната система, виртуални машини и защитени енклави (TEE, Trusted Execution Environment). Проблемът засяга само процесори Intel. Компоненти за блокиране на проблема вчерашното .
Проблемът принадлежи на класа MDS (Microarchitectural Data Sampling) и е модернизирана версия на през май атака ZombieLoad. ZombieLoad 2.0, подобно на другите атаки от класа MDS, се основава на прилагането на методи за анализ чрез странични канали към данни в микроархитектурни структури (например, в буфери за запълване (Line Fill Buffer) и съхранение (Store Buffer), в които временно се съхраняват данни, използвани в процеса на изпълнение на операции Load и Store).
Новият вариант на атака Zombieload на изтичането, възникващо при работа на механизма за асинхронно прекъсване на операциите (TAA, TSX Asynchronous Abort), реализиран в разширението TSX (Transactional Synchronization Extensions), предоставящо средства за работа с транзакционна памет, която позволява повишаване на производителността на многопоточни приложения чрез динамично изключване на излишни операции по синхронизация (поддържат се атомни транзакции, които могат да бъдат приети или прекратени). В случай на прекъсване, операциите, извършени с транзакционния регион на паметта, се откатват.
Прекъсването на транзакцията се извършва асинхронно, и в това време другите нишки могат да имат достъп до кеша, който също се използва в отхвърления транзакционен регион на паметта. В момента от началото до фактическото завършване на асинхронното прекъсване на транзакцията не е изключено появата на ситуации, при които процесорът в хода на спекулативното изпълнение на операция може да прочете данни от вътрешните микроархитектурни буфери и да ги предаде в спекулативно изпълняваната операция. След това конфликтът ще бъде установен, а спекулативната операция отхвърлена, но данните ще останат в кеша и могат да бъдат извлечени с помощта на методи за възстановяване на кеша чрез странични канали.
Атаката се свежда до отваряне на транзакции TSX и създаване на условия за асинхронно прекратяване, при което възникват условия за изтичане на съдържанието на вътрешните буфери, спекулативно запълнени с данни от операциите за четене на памет, извършвани на същото ядро на CPU. Изтичането е ограничено до текущото физическо ядро на CPU (на което се изпълнява кода на атакуващия), но тъй като микроархитектурните буфери се използват съвместно от различни потоци в режим Hyper-Threading, може да възникне изтичане на операции с памет, извършвани в други CPU потоци.
Атаката засегнати са някои модели осмото, деветото и десетото поколение процесори Intel Core, както и Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W и второто поколение Intel Xeon Scalable. Включително атаката е уязвима и новите процесори Intel, базирани на представената през април микроархитектура Cascade Lake, която първоначално не бе подложена на атаки RIDL и Fallout. Освен Zombieload 2.0, изследователите също откриха възможността за заобикаляне на предлаганите по-рано методи за защита срещу MDS-атаките, основаващи се на използването на инструкция VERW за почистване на съдържанието на микроархитектурните буфери при връщане от ядрото в пространството на потребителя или при предаване на управлението на гостуваща система.
В доклада на Intel се твърди, че в системи с хетерогенна натовареност възможността за извършване на атака е затруднена, тъй като изтичането от микроархитектурните структури обхваща цялата активност в системата и атакуващият не може да влияе на източника на извлечените данни, т.е. може само да натрупва информация, която изплува в резултат на изтичането и да се опитва да установи полезна информация сред тези данни, без възможност да целенасочено прихване данни, свързани с конкретни адреси на паметта. Независимо от това, изследователите публикуваха , работеща в Linux и Windows, а също така беше демонстрирана възможността за прилагане на атаката за определяне на хеша на паролата на потребителя root.
е провеждането на атака от гостуваща система за натрупване на данни, които фигурират в операциите на други гостуващи системи, хост-окружения, хипервизора и анклавите Intel SGX.

Корекциите за блокиране на уязвимостта в кодовата база на ядрото на Linux вече са включени в изданията . Актуализациите с ядрото и микрокода също вече са издадени за основните дистрибуции (, , , , , ). Проблемата беше установена през април и корекцията беше координирана от Intel с разработчиците на операционни системи.
Най-простият метод за блокиране на Zombieload 2.0 е деактивирането на поддръжката на TSX в CPU. Предложеното за ядрото на Linux решение включва няколко варианта за защита. Първият вариант предлага параметър „tsx=on/off/auto“, който позволява управление на активирането на разширението TSX в CPU (стойността auto деактивира TSX само за уязвими CPU). Вторият вариант за защита се активира с параметъра „tsx_async_abort=off/full/full,nosmt“ и е основан на почистването на микроархитектурните буфери по време на смяна на контекста (флагът nosmt допълнително деактивира SMT/Hyper-Threads). За проверка на уязвимостта на системата в sysfs е предвиден параметърът „/sys/devices/system/cpu/vulnerabilities/tsx_async_abort“.
Освен това, в микрокода още една () в процесорите Intel, която също е блокирана в новото ядро на Linux. Уязвимостта позволява на неправомерен атакуващ да иницира отказ на услуга, водещ до зависване на системата в състояние „Machine Check Error“.
Атаката може също така от гостуваща система.
Източник: opennet.ru
