Обнаружена новая уязвимость Meltdown в процессорах AMD на базе Zen + и Zen 2

Несколько дней назад группа исследователей из Технического университета Дрездена представила что они определили уязвимость (CVE-2020-12965) который обеспечивает атаку класса Meltdown на процессоры AMD на базе Zen + и Zen 2.

на начальном этапе, Процессоры AMD Zen + и Zen 2 считались невосприимчивыми уязвимости Meltdown, но исследователи определили характерную что приводит к спекулятивному доступу к защищенным областям памяти при использовании неканонических виртуальных адресов.

Следователиs упомянуть, что архитектура AMD64 предполагает использование только первых 48 бит виртуального адреса и игнорируем оставшиеся 16 бит при этом было указано, что биты с 48 по 63 всегда должны копировать значение бита 47.

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

Адреса, которые помещаются в указанные блоки, называются каноническими, а недопустимые адреса с произвольным более высоким битовым содержимым называются неканоническими. Нижний диапазон канонических адресов, как правило, выделяется для данных процесса, а верхний диапазон используется для данных ядра (доступ к указанным адресам из пользовательского пространства блокируется на уровне разделения привилегий).

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

В программе предположительно выполняемый блок отделен от основного кода условной ветвью, которая в реальных условиях всегда срабатывает, но из-за того, что условное объявление использует вычисленное значение, которое процессор не знает во время ожидаемого выполнения кода имеет место спекулятивное выполнение всех вариантов ветвления.

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

Особенность новой уязвимости влияет на процессоры AMD Zen + и Zen 2, заключается в том, что процессоры допускают спекулятивное выполнение операции чтения и записи, которые обращаются к памяти с использованием недопустимых неканонических адресов, просто игнорируя старшие 16 бит.

Следовательно, в процессе выполнения предполагаемого кода процессор всегда использует только младшие 48 бит, а проверка адреса выполняется отдельно. Если при преобразовании неканонического виртуального адреса в физический адрес в буфере ассоциативной трансляции (TLB) каноническая часть адреса совпадает, операция спекулятивной загрузки вернет значение независимо от содержимого верхних 16 бит, что позволяет вы можете обойти разделение памяти между потоками. Позже операция будет аннулирована и отменена, но будет получен доступ к памяти и данные будут кэшированы.

Во время эксперимента с помощью метод обнаружения содержимого кеша FLUSH + RELOAD, исследователи смогли организовать канал для передачи секретных данных скорость 125 байт в секунду.

Те же методы, которые помогают блокировать атаки Meltdown, такие как использование инструкций LFENCE, можно использовать для защиты от новой атаки.

Al mismo tiempo, исследователи отмечают, что, По сравнению с процессорами Intel архитектура процессоров AMD ограничивает возможность реальных атак, но не исключает использования нового метода в сочетании с другими атаками на микроархитектуру для повышения его эффективности.

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

источник: https://www.amd.com, https://arxiv.org/


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.