Изследователи от Техническия университет в Грац (Австрия) информация за нов метод на атака чрез странични канали (), позволяваща извличането на конфиденциална информация от други процеси, операционната система, виртуални машини и защитени енклави (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
