Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Исследователи из Швейцарской высшей технической школы Цюриха (ETH Zurich) выявили новый тип атаки на механизм спекулятивного выполнения команд в процессорах, позволяющий извлекать данные из памяти ядра. С помощью обнаруженного метода, получившего название Retbleed, можно украсть пароли и другие конфиденциальные данные. Исследователи доказали эффективность Retbleed против современных чипов Intel и AMD, включая Kaby Lake, Coffee Lake, Zen 1, Zen 1+ и Zen 2.
Отличие Retbleed (уязвимости CVE-2022-29900 и CVE-2022-29901) от Spectre-v2 сводится к организации спекулятивного выполнения произвольного кода при обработке инструкции «ret» (return), которая извлекает адрес для перехода из стека, вместо косвенного перехода при помощи инструкции «jmp» с загрузкой адреса из памяти или регистра процессора. Злоумышленник может создать условия для неверного предсказания перехода и организовать целенаправленный спекулятивный переход на блок кода, не предусмотренный логикой выполнения программы.
В итоге процессор определит, что предсказание ветвления не оправдалось и откатит операцию в исходное состояние, но обработанные при спекулятивном выполнении данные останутся в кеше и микроархитектурных буферах. Если же ошибочно выполненный блок обращается к памяти, то его спекулятивное выполнение приведёт к переносу в кеш прочитанных из памяти данных. Для определения данных из кеша атакующий может задействовать методы выявления остаточных данных по сторонним каналам, например, анализ изменения времени доступа к кешированным и не кешированным данным.
Для защиты от атак класса Spectre с использованием инструкций условного и косвенного перехода во многих операционных системах используется техника «retpoline», предполагающая замену операций косвенного перехода на инструкцию «ret», для которой в процессорах применяется отдельный блок предсказания состояния стека, не использующий блок предсказания переходов. Авторы метода атаки Retbleed продемонстрировали возможность организации микроархитектурных условий для инициирования спекулятивного перехода с помощью инструкции «ret» и опубликовали инструмент выявления в ядре Linux подходящих для эксплуатации уязвимости последовательностей инструкций, в которых появляются подобные условия.
В рамках проделанной работы исследователи подготовили эксплойт, позволяющий на системах с процессорами Intel из непривилегированного процесса в пространстве пользователя извлекать произвольные данные из памяти ядра со скоростью 219 байт/с и точностью 98 %. На процессорах AMD скорость утечки может достигать 3,9 Кбайт/с. Это кажется небольшой скоростью, но для кражи конфиденциальных данных её вполне хватит. В качестве примера исследователи показали, как с помощью эксплойта определить содержимое файла /etc/shadow. На системах с процессорами Intel атака для определения хеша пароля пользователя root заняла 28 минут, а на системах с процессорами AMD — 6 минут.
Согласно имеющимся данным, схема атаки Retbleed может использоваться на системах с процессорами Intel с шестого по восьмое поколение, которые выпускались до третьего квартала 2019 года, а также с процессорами AMD на базе архитектур Zen 1, Zen 1+ и Zen 2, которые выпускались до второго квартала 2021 года. В более новых процессорах такая атака блокируется имеющимися механизмами защиты.
Intel и AMD выпустили официальные рекомендации, следуя которым можно минимизировать риски, связанные с эксплуатацией упомянутых уязвимостей. Отмечается, что защита от атак по схеме Retbleed потребует от 12 до 28 % дополнительных вычислительных затрат. Иными словами, «заплатки» для обнаруженных уязвимостей могут очень сильно снизить производительность затронутых процессоров.
Intel подтвердила актуальность уязвимости для процессоров на архитектуре Skylake и родственных ей, которые не имеют защиты eIRBS. В сообщении сказано, что компания готовит подробные рекомендации для минимизации рисков. Отмечается, что системы Windows не затронуты, поскольку в них по умолчанию используется технология IBRS, позволяющая регулировать спекулятивное исполнение инструкций процессором. Intel неизвестно о случаях эксплуатации данной уязвимости. AMD также опубликовала соответствующие рекомендации, для защиты систем от атак Retbleed.
Источник: