Специалисты обнаружили в процессорах Intel и AMD критическую уязвимость, которая получила название Retbleed. Более того, было наглядно продемонстрирована возможность ее эксплуатации, что позволяет получить доступ к личной информации владельца ПК. Позднее было принято решение разделить уязвимость на две независимые ошибки – CVE-2022-29901 и CVE-2022-29900.
Эксперты отметили, что алгоритм работы Retbleed очень похож на схему атаки Spectre-v2. Отличается только команда, которая отвечает непосредственно за запуск произвольного кода – в Retbleed используется инструкция return, при атаке Spectre-v2 инициализация осуществляется при помощи jump.
Эта особенность позволяет считать новый тип атаки результатом развития Spectre, защита от которой уже интегрирована в ОС в виде инструмента retpoline. Данный защитный механизм основан на автоматической подмене команд, используемых в процессе атаки Spectre. Данная схема была предложена еще в 2018 году и обеспечивает достаточный уровень защиты от Spectre.
Специалистам также удалось провести демонстрацию, которая доказала возможность реализации атаки Retbleed. На стенде с процессором Intel данные из ядра были извлечены с точностью 98%, однако скорость передачи данных была довольно низкой – порядка 219 байт/сек. При тестировании процессоров AMD скорость извлечения оказалась значительно выше – до 3,9 килобайт/сек.
В видеоролике с демонстрацией атаки видно, что для кражи пароля к аккаунту Root-пользователя с ПК на базе процессора Intel понадобилось 28 минут, с аналогичного компьютера с AMD пакет данных был передан на 6 минут.
В отчете отмечается, что сегодня доступны два надежных способа защиты от атаки Retbleed. Первый способ подразумевает переход на последние версии процессоров, в которых уже встроена защита от данной атаки.
Второй метод подразумевает использование специального патча. Это позволяет сэкономить, но приводит к значительному снижению производительности. Данное решение доступно пока только для гипервизора Xen и ядра Linux. Падение производительности составляет в среднем 28% и различается для разных процессоров.