Команда учёных из четырёх университетов США обнаружила новый вариант атаки по сторонним каналам (side-channel attack), которая использует особенности спекулятивного исполнения в современных процессорах для извлечения важных данных из процессоров пользователей. По сути речь идёт об ещё одном варианте Meltdown- и Spectre-подобных атак, о которых общественность узнала в самом начале года.
Впрочем, специалисты в своём исследовании отмечают, что в отличие от предыдущих уязвимостей, их метод атакует новую секцию процесса спекулятивного исполнения команд. Уязвимость получила имя BranchScope, потому что наиболее сходна со Spectre CVE-2017-5715 (branch target injection — целевое внедрение в ветвь).
BranchScope позволяет злоумышленникам направить конвейер спекулятивных расчётов по нужному им пути для получения доступа к определённым областям памяти процессора и извлечения данных, доступа к которым в нормальных условиях у них нет. Уязвимость в целом работают похоже с CVE-2017-5715, но последняя нацелена на атаку буфера адресов ветвлений (Branch Target Buffer), который является компонентом кеша для операций прогнозирования ветвлений. В свою очередь BranchScope атакует предсказатель направленного ответвления (directional branch predictor) — процесс, который решает, какие спекулятивные операции выполняются.
Учёные отмечают, что BranchScope — первая атака по сторонним каналам, которая нацелена непосредственно на предсказатель ветвлений, и что она может использоваться в том числе для извлечения содержимого, хранящегося в анклавах SGX, наиболее защищённых областях процессоров Intel. Исследовательская группа уже успешно проверила свой метод и доказала, успешное извлечение данных из последних чипов Intel, включая Sandy Bridge, Haswell и Skylake. Команда заявила, что атака может быть запущена из пользовательского пространства (без прав администратора) и имеет коэффициент ошибок менее 1 %.
Специалисты также заявили, что поскольку речь идёт о новой атаке, в настоящее время нет никаких заплаток против BranchScope, а исправления против Spectre неэффективны. Впрочем, по их словам, закрыть уязвимость можно как аппаратными, так и программными средствами. Но в своём заявлении Intel утверждает обратное:
«Мы работаем с этими исследователями и определили, что метод, который они описывают, аналогичен ранее известным вариантам атак по сторонним каналам. Мы ожидаем, что существующие программные исправления для известных уязвимостей такого рода, такие как использование криптографии с защитой от стороннего канала, будут также эффективны против метода, описанного в этом документе. Мы считаем, что тесное партнёрство с исследовательским сообществом является одним из лучших способов для защиты клиентов и их данных, и высоко ценим работу этих исследователей».
Помимо Meltdown, Spectre и теперь BranchScope, недавно были обнаружены и другие варианты атак по сторонним каналам: SgxSpectre, MeltdownPrime и SpectrePrime.