Новая уязвимость CPU Intel: утечка данных через кольцевую шину

CPU IntelГруппа исследователей из Университета Иллинойса опубликовала статью, в которой описываются новые способы атаки на процессоры Intel. Техника атаки заключается в использовании сторонних каналов и манипуляции утечкой информации через кольцевую шину (Ring Interconnect) процессоров Intel.

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

Всего было предложено три эксплоита, которые позволяют:

  • Восстановить отдельные биты ключей шифрования при использовании реализации RSA и EdDSA, уязвимых к атакам по сторонним каналам (если задержки при вычислении зависят от обрабатываемых данных). К примеру, утечки отдельных битов с информацией о векторе инициализации (nonce) EdDSA достаточно для применения атак по последовательному восстановлению всего закрытого ключа. Данная атака является труднореализуемой на практике и требует наличия целого ряда условий. Например, отключение SMT (Hyper-threading) и сегментирование LLC-кэша между ядрами CPU;
  • Определить параметры о задержках между нажатием клавиш. Задержки зависят от положения клавиш и скорости набора текста конкретным пользователем. Таким образом, используя статистический анализ, можно попытаться восстановить набираемый пользователем текст;
  • Организовать скрытый канал связи для передачи данных между процессами со скоростью около 4 Мбит/с, в котором не используются разделяемая память, кэш процессора и специфичные для его ядер ресурсы и структуры. Такой метод создания скрытого канала связи очень трудно блокировать текущими методами защиты от атак по сторонним каналам.

Следует заметить, что предложенные выше эксплоиты не требуют повышения привилегий в системе и могут быть использованы обычными пользователями. Такие атаки потенциально могут быть адаптированы для организации утечки данных между виртуальными машинами, но вышеуказанная группа исследователей не изучала данный вопрос, посчитав, что он выходит за рамки исследования. Предложенный код опробован на CPU Intel i7-9700 в окружении Ubuntu 16.04. В общем виде метод атаки протестирован на настольных процессорах семейства Intel Coffee Lake и Skylake, а также потенциально применим к серверным процессорам Xeon семейства Broadwell.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован.