Исследователи обнаружили ещё одну уязвимость, связанную с атаками по сторонним каналам спекулятивного исполнения команд, позволяющую злоумышленникам получать доступ к конфиденциальным данным на уровне CPU. Новый эксплойт Spectre-класса, получивший название SpectreRSB, был подробно описан исследователями из Калифорнийского университета в Риверсайде в их опубликованной научно-исследовательской работе. Хотя уязвимость затрагивает по-прежнему процесс спекулятивного исполнения команд, в отличие от других вариантов, она нацелена на новую часть процесса, называемую буфером возврата из стека (RSB, Return Stack Buffer).
«В этой статье мы представляем новое направление Spectre-подобных атак, которое не закрывается уже выпущенными заплатками, — сообщил в своей работе исследователь безопасности Наэль Абу-Газале (Nael Abu-Ghazaleh). — В частности, атаки используют буфер возврата из стека (RSB), чтобы вызвать спекулятивное выполнение и получить доступ к конфиденциальной информации».
Принцип работы спекулятивного исполнения команд позволяет производить атаку злоумышленнику с локальным пользовательским уровнем доступа. Со времени обнародования уязвимостей Metldown и Spectre в январе был раскрыт целый ряд альтернативных вариантов, но почти все они были нацелены на блок предсказателя ветвлений или кеш-память CPU.
«RSB можно рассматривать как ещё один предсказатель ветвлений, используемый для инструкций возврата (тогда как основной предсказатель применяется для инструкций ветвления)… Итак, эта атака похожа на Spectre, но с другой отправной точкой, которая имеет некоторые свои особенности», — отметил исследователь.
С помощью вредоносного кода можно «загрязнить» RSB, подставив нужный адрес возврата и хотя затем CPU отбракует неверно выполненные инструкции, злоумышленные получат возможность восстановить данные защищённого потока из кеша. При этом, как отмечают исследователи, этот механизм проще, чем атака на предсказатель ветвлений. SpectreRSB также позволяет извлекать данные в том числе из защищённых областей Intel SGX.
По словам исследователей, об уязвимости были проинформированы Intel, AMD и ARM — все их современные процессоры используют RSB для предсказания адресов возврата. Они также добавили, что новая уязвимость не закрывается ни одной из существующих заплаток или обновлений микрокода и требует дополнительных мер.
Однако Intel утверждает, что это не так. «Атака SpectreRSB связана с манипуляцией целевым кешем адресов ветвлений (CVE-2017-5715, branch target injection), и мы ожидаем, что описанные в этой работе уязвимости будут закрыты тем же образом, — сказал представитель Intel. — Мы уже опубликовали руководство для разработчиков в техническом документе „Борьба с атаками по сторонним каналам спекулятивного исполнения“. Мы благодарны за текущую работу исследовательского сообщества, поскольку мы совместно трудимся, чтобы защитить пользователей».
Помимо других заплаток, исследователи UC-Riverside заявили, что уже существует специальная защита для борьбы с SpectreRSB, получившая название «Перезаполнение RSB» — в настоящее время она доступна для чипов Intel Core i7 (начиная с семейства Skylake). Впрочем, этот метод несколько замедляет работу буфера.
Со времени публикации первоначальной информации о трёх видах уязвимостей CPU, связанных со спекулятивными вычислениями (под общим именем Meltdown и Spectre), был раскрыт целый ряд новых аналогичных вариантов атак — например, CVE-2018-3639, BranchScope, SgxSpectre, MeltdownPrime и SpectrePrime, Spectre 1.1 и 1.2. Исследователи не исключают обнаружения новых видов подобных атак, в том числе нацеленных на RSB.
Источник: 3DNews