вебисторий

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

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

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

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

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

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

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