Чем мощнее ваш геймерский AMD, тем легче хакерам похитить ваши пароли

Производители случайно создали архитектуру, которая шпионит за собственными владельцами.


9j97vbwfjp21ow1ho5t3ph8vvxet6x9d.jpg


Компания AMD сообщила о выявлении нового класса уязвимостей в своих процессорах, получивших название Transient Scheduler Attacks (TSA). Эти атаки связаны со спекулятивными побочными каналами, возникающими при определённых микроархитектурных условиях, и могут привести к утечке конфиденциальной информации. Проблема затрагивает широкий спектр чипсетов, включая серверные, настольные и мобильные процессоры.

Уязвимости были обнаружены в рамках совместного исследования специалистов Microsoft и Цюрихского высшего технического училища, направленного на проверку устойчивости современных CPU к спекулятивному выполнению инструкций. Тестирование проводилось с фокусом на изоляцию между доменами безопасности — операционной системой, виртуальными машинами и пользовательскими процессами. В результате были зарегистрированы четыре уязвимости, которым присвоены следующие идентификаторы:

  • CVE-2024-36350 (оценка по CVSS: 5.6): может позволить атакующему извлекать данные из предыдущих операций записи, что приводит к утечке привилегированной информации;
  • CVE-2024-36357 (CVSS: 5.6): позволяет получить доступ к данным в кэше L1D, пересекающим границы привилегий;
  • CVE-2024-36348 (CVSS: 3.8): позволяет обойти ограничения UMIP и получить доступ к управляющим регистраторам;
  • CVE-2024-36349 (CVSS: 3.8): позволяет определить значение регистра TSC_AUX даже при его отключении.
Компания классифицировала TSA как новый тип спекулятивных побочных каналов, при этом уточнив, что атаки TSA не связаны с привычными механизмами, такими как Predictive Store Forwarding (PSF). Основной вектор уязвимости заключается в ложном завершении операций загрузки данных. В этом состоянии процессор ошибочно считает, что команда загрузки завершилась, и разрешает выполнение зависимых операций. Несмотря на то, что данные в этот момент ещё недоступны, они всё же могут быть использованы, влияя на тайминг следующих инструкций — именно по этим временным сдвигам злоумышленник способен извлечь информацию.

AMD выделила два варианта атаки TSA — TSA-L1 и TSA-SQ. Первый базируется на ошибке в использовании микрометок кэша L1 при поиске данных. Второй связан с тем, что операция загрузки преждевременно использует данные из очереди записи процессора, хотя эти данные ещё не были сформированы. В обоих случаях уязвимость позволяет считывать информацию, к которой текущий процесс не должен иметь доступ — будь то кэш ядра операционной системы, гипервизора или другой пользовательский процесс.

В сценарии наихудшего развития событий, такие атаки способны нарушить границы между различными уровнями привилегий: приложение может получить доступ к ядру ОС, гостевая виртуальная машина — к гипервизору, а один пользовательский процесс — к другому. Однако успешная эксплуатация TSA требует выполнения вредоносного кода на уязвимом устройстве, что делает атаки невозможными через веб-браузеры или обычный интернет-контент.

В число затронутых устройств входят процессоры третьего и четвёртого поколений AMD EPYC, чип AMD Instinct MI300A, а также десктопные и мобильные модели Ryzen серий 5000, 6000, 7000, 7035, 7040, 8000 и 8040. Кроме того, уязвимости касаются процессоров Ryzen Threadripper PRO 7000 WX и встроенных решений EPYC и Ryzen Embedded.

AMD подчёркивает, что для успешной эксплуатации TSA злоумышленнику необходимо многократное выполнение кода жертвы, чтобы стабильно создать условия ложного завершения инструкций. Это возможно лишь при наличии уже установленного канала взаимодействия между двумя сторонами, например, между приложением и ядром операционной системы.