Исследователи из Швейцарской высшей технической школы Цюриха (ETH Zurich) рассказали о новой side-channel атаке Retbleed, которая затрагивает процессоры Intel, выпущенные от 3 до 6 лет назад, а также процессоры AMD возрастом от 1 до 11 лет. Ожидается, что устранение этой проблемы негативно отразится на производительности.
Эксперты пишут, что проблема Retbleed состоит из двух уязвимостей (CVE-2022-29900 для AMD и CVE-2022-29901 для Intel) и относится к классу спекулятивных атак Spectre-BTI (вариант 2).
Название Retbleed отсылает к защитному решению Retpoline, которое было разработано специалистами Google в 2018 году для борьбы с «процессорными» уязвимостями Meltdown и Spectre. Напомню, что эти баги не только крайне опасны, но также доставили пользователям и компаниям множество проблем, ведь патчи для них могли значительно снижать производительность уязвимых процессоров (особенно старых). Создав альтернативу в виде Retpoline, инженеры Google попытались, в частности, решить и эту проблему, заявив, что их подход позволил снизить производительность серверов Google Cloud лишь на 1,5%.
Как теперь пишут исследователи, в сущности, Retbleed похож на другие подобные атаки и его отличает лишь организации спекулятивного выполнения кода: в данном случае учитывается работа механизма Retpoline, который заменяет jump и call инструкции на return (ret), что ранее считалось весьма удобным и безопасным вариантом борьбы с Meltdown и Spectre. По сути, эксперты отчитались об успешном проведении side-channel атаки с учетом ret-инструкциий, добавившись утечки памяти ядра, содержащей хэши паролей.
Отчет исследователей гласит, что они проверили атаку Retbleed на процессорах AMD Zen 1, Zen 1+, Zen 2, а также теоретически проблема затрагивает и другие процессоры, включая Intel Core поколений 6-8.
Нужно отметить, что скорость атаки, как это часто бывает с side-channel проблемами, оставляет желать лучшего. Так на процессорах Intel определение хэша пароля для пользователя root займет около 28 минут, а на процессорах AMD — около 6 минут.
К счастью, теперь на исправление подобных уязвимостей уходит куда меньше времени, чем некогда понадобилось на разработку защиты от Meltdown и Spectre. Intel и AMD уже детально рассказали о вариантах смягчения новых проблем в своих блогах (1, 2, 3).
Однако борьба с такими уязвимостями по-прежнему может плохо сказываться на производительности. Исследователи ETH Zurich отмечают, что эти исправления влияют на производительность ЦП, снижая ее 14-39%. Кроме того, исправление для еще одной проблемы, которую эксперты обнаружили в процессорах AMD и так же включили в этот отчет (Phantom JMP: CVE-2022-23825), и вовсе может увеличивать потребление ресурсов на рекордные 209%.