Уязвимость Spectre на процессорах Intel и AMD продолжает существовать

Недавно обнаружили, что процессоры Intel и AMD снова под ударом из-за уязвимостей, связанных с механизмом спекулятивного выполнения. Оказалось, что последние поколения чипов Intel, включая Core 12, 13 и 14, а также серверные Xeon 5 и 6 поколений, уязвимы для атак, которые могут обходить защиту от старой уязвимости Spectre. Процессоры AMD на базах Zen 1, Zen 1+ и Zen 2 тоже оказались под угрозой.

Исследователи из ETH Zurich выяснили, что с помощью новой схемы атак можно обойти защитный механизм IBPB, который обычно предотвращает неправомерное использование спекулятивного выполнения. Этот механизм позволяет процессору заранее выполнять инструкции, чтобы ускорить работу, если прогноз правильный. Однако, когда прогноз ошибочен, процессор всё равно может случайно задействовать конфиденциальные данные, которые могут быть украдены.

Швейцарские учёные доказали, что можно перехватывать данные, даже если механизм IBPB уже сработал. В случае Intel IBPB не всегда полностью предотвращает утечку данных при смене контекста. У AMD та же проблема — в ядре Linux механизм IBPB-on-entry работает некорректно, что оставляет уязвимость открытой.

Исследователи сообщили об этом Intel и AMD ещё в июне 2024 года. Intel подтвердила наличие уязвимости под номером CVE-2023-38575, отметив, что они сами уже были в курсе и даже выпустили обновление микрокода. Однако, как оказалось, оно не решило проблему на всех операционных системах, включая Ubuntu. AMD также признала проблему, присвоив ей номер CVE-2022-23824. В отличие от Intel, AMD включила в список уязвимых архитектуру Zen 3, которую швейцарские учёные не упоминали, и заявила, что уязвимость имеет программную, а не аппаратную природу. При этом компания решила не выпускать обновления микрокода для исправления этой проблемы, поскольку она затрагивает старые архитектуры.

В итоге обе компании признали уязвимость, но отметили её как потенциальную. Однако исследования показали, что атака работает даже на Linux 6.5 с активированной защитой IBPB-on-entry. Поскольку AMD отказалась выпускать исправление, швейцарские учёные связались с разработчиками Linux с планами самостоятельно создать патч для процессоров AMD.