Практическое применение атаки Retbleed на процессоры AMD

Эксперты Google показали, как можно эффективно эксплуатировать сложные аппаратные уязвимости в процессорах.

Практическое применение Retbleed

Исследователи Маттео Риццо и Энди Нгуен из компании Google опубликовали работу, в которой предложили усовершенствованную атаку Retbleed. Как мы объясняли в одном из предыдущих постов, атака Retbleed эксплуатирует уязвимости в процессорах AMD Zen и Zen 2, а также в процессорах Intel поколений Kaby Lake и Coffee Lake. Аппаратные уязвимости такого рода крайне сложно использовать на практике, из-за чего всевозможные варианты Spectre, а также производные атаки, типа Retbleed, остаются по большому счету теоретическими. Хотя методы борьбы с ними внедряют и создатели процессоров, и разработчики ПО. Суть работы исследователей Google заключается в повышении эффективности атаки Retbleed. Не меняя ничего кардинально в архитектуре атаки, они смоги использовать особенности процессоров AMD Zen 2, чтобы читать произвольные данные из оперативной памяти.

Кратко о Retbleed

Retbleed, как и Spectre, эксплуатирует особенности так называемой системы предсказания ветвлений центрального процессора. Предсказание ветвлений позволяет процессору выполнять инструкции заранее, не дожидаясь результатов предыдущих вычислений. Иногда предсказание оказывается неправильным, но в норме это должно приводить только к небольшому и незаметному для пользователя замедлению работы программы.

Атака Spectre в 2018 году показала, что неправильные предсказания могут быть использованы для кражи секретов. Это возможно благодаря двум ключевым особенностям. Во-первых, систему предсказания ветвлений можно натренировать так, что произойдет обращение к области памяти с секретными данными, и они будут загружены в кэш-память процессора. Во-вторых, был найден способ вытащить эти секретные данные из кэш-памяти по стороннему каналу, измеряя время выполнения определенной инструкции.

Retbleed можно считать развитием атаки Spectre v2: она также использует особенности работы системы предсказания ветвлений, но отличается принципом «инъекции» инструкций. Более того, Retbleed может обходить технологию, применяемую для защиты от Spectre v2, и, соответственно, угрожает системам на базе более современного железа. Retbleed по-прежнему сложен в реализации: так, в демонстрации авторов оригинального исследования при идеальных условиях секрет (в данном случае — пароль пользователя) вытаскивается целых полтора часа.

Что добились исследователи Google

Исследователи из Google смогли серьезно ускорить атаку Retbleed. Главное, что необходимо знать об их усовершенствовании: они показали возможность чтения произвольных участков оперативной памяти со скоростью 13 килобайт в секунду. Для подобных атак также важна точность «вытаскивания» секретных данных из кэш-памяти, и в данном случае она была стопроцентной. Эксперты показали, как можно обойти системы безопасности ядра операционной системы (в данном случае — ядра Linux). Одним из важных усовершенствований также стало применение атаки, известной как Speculative ROP, но с модификациями для обхода тех самых средств защиты от Spectre v2.

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

Стоит ли ожидать атак Retbleed в реальных атаках?

В большинстве подобных атак исследуется сценарий, в котором вредоносный код запускается с низкими привилегиями на обычном компьютере, в результате чего получает доступ к секретным данным. Но то же самое можно сказать и об атаках с помощью традиционных зловредов. Если злоумышленнику удалось запустить произвольный код в системе, ему вовсе не обязательно прибегать к крайне сложным методам повышения привилегий. Можно найти и что-то попроще, например уязвимость в прикладном или системном ПО, которая даст тот же результат.

Наибольшую опасность атаки, подобные Spectre и Retbleed, представляют для облачных систем. Для провайдера таких систем критически важно, чтобы клиенты, виртуальные машины которых используют общее железо, не могли получить доступ к данным других пользователей и к информации гипервизора. И в Google утверждают, что новый вариант атаки Retbleed позволяет сделать именно это. В результате компания Google перестала использовать серверы с процессорами на архитектуре AMD Zen 2 в собственном облачном сервисе для задач, предполагающих выполнение произвольного кода клиентами.

Советы

Пропала собака: какие технологии действительно помогают искать питомца

Потеря питомца — распространенное явление, от которого нельзя полностью застраховаться даже самым ответственным хозяевам. Но можно сделать все, чтобы минимизировать риски. Разбираемся, почему теряются домашние животные и как максимально обезопасить своих любимцев.

Как студенту преодолеть страх нереализованности и при чем тут кибербез?

Студенты вузов порой не понимают практической ценности обучения и не всегда представляют, куда двигаться дальше. Бесплатный курс «Введение в кибербезопасность» от Kaspersky Academy поможет получить востребованные навыки от экспертов «Лаборатории Касперского».

Видишь суслика? Или Правда и вымысел про скрытое имя сети Wi-Fi

Настройка «скрывать имя сети Wi-Fi» кажется хорошей мерой безопасности, но на практике приносит больше вреда, чем пользы. Разбираемся в ее особенностях, побочных эффектах и том, как защищать домашний Wi-Fi правильно.