Новая атака на микроархитектурные структуры процессоров Intel и AMD
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Группа исследователей из Виргинского и Калифронийского университетов представила новый вид атаки на микроархитектурные структуры процессоров Intel и AMD, выявленный в ходе обратного инжиниринга недокументированных возможностей CPU. Предложенный метод атаки связан с применением в процессорах промежуточного кэша микроопераций (micro-op cache), который может использоваться для извлечения сведений, освевших в ходе спекулятивного выполнения инструкций.
В целях оптимизации процессор начинает выполнять некоторые инструкции в спекулятивном режиме, не дожидаясь выполнения предыдущих вычислений, и если потом определяет, что предсказание не оправдалось, откатывает операцию в исходное состояние, но обработанные в процессе спекулятивного выполнения данные оседают в кэше, содержимое которого можно определить.
Отмечается, что новый метод заметно опережает по производительности атаку Spectre v1, затрудняет обнаружение атаки и не блокируется существующими методами защиты от атак по сторонним каналам, разработанным для блокирования уязвимостей, вызванных спекулятивным выполнением инструкций (например, применение инструкции LFENCE блокирует утечку на последних стадиях спекулятивного выполнения, но не защищает от утечки через микроархитектерные структуры).
Метод затрагивает модели процессоров Intel и AMD, выпускаемые с 2011 года, включая серии Intel Skylake и AMD Zen. Современные CPU разбивают сложные процессорные инструкции на более простые RISC-подобные микрооперации, которые кэшируются в отдельном кэше. Данный кеш кардинально отличается от кэшей более высокого уровня, недоступен напрямую и выступает в роли потокового буфера для быстрого доступа к результатам декодирования CISC-инструкций в RISC-микроинструкции. Тем не менее, исследователи нашли способ для создания условий, возникающих при конфликте доступа к кэшу и позволяющих судить о содержимом кэша микроопераций путём анализа отличий во времени выполнения тех или иных действий.
оригинал
Кэш микроопераций в процессорах Intel сегментирован в привязке к потокам CPU (Hyper-Threading), в то время как в процессорах AMD Zen применяется общий кэш, что создаёт условия для утечки данных не только в рамках одного потока выполнения, но и между разными потоками в SMT (возможна утечка данных между кодом, выполняемым на разных логических ядрах CPU).
Исследователями предложен базовый метод для определения изменений в кэше микроопераций и несколько сценариев атак, позволяющих создавать скрытые каналы передачи данных и использовать уязвимый код для организации утечки конфиденциальных данных, как в рамках одного процесса (например, для организации утечки данных процесса при выполнении стороннего кода в движках с JIT и в виртуальных машинах), так и между ядром и процессами в пространстве пользователя.
При организации варианта атаки Spectre с использованием кэша микроопераций исследователям удалось добиться производительности в 965.59 Kbps при уровне ошибок 0.22% и 785.56 Kbps при использовании коррекции ошибок, в случвае организации утечки в рамках одного адресного пространства и уровня привилегий. При утечке, охватывающей разные уровни привилегий (между ядром и пространством пользователя), производительность составила 85.2 Kbps при добавлении коррекции ошибок и 110.96 Kbps при уровне ошибок в 4%. При атаке на процессоры AMD Zen, создающей утечку между разными логическими ядрами CPU, производительность составила 250 Kbps при уровне ошибок 5.59% и 168.58 Kbps при коррекции ошибок. По сравнению с классическим методом Spectre v1 новая атака оказалась быстрее в 2.6 раза.
Предполагается, что для защиты от атаки на кэш микроопераций потребуется внесение изменений, снижающих производительность сильнее, чем при включении защиты от атак Spectre. В качестве оптимального компромисса предлагается блокировать подобные атаки не путём отключения кэширования, а на уровне мониторинга аномалий и определения состояний кэша, типичных для атак.
Как и в атаках Spectre для организации утечки из ядра или других процессов требуется выполнение на стороне процессов-жертв определённой последовательности команд (гаджетов), приводящей к спекулятивному выполнению инструкций. В ядре Linux найдено около 100 подобных гаджетов, которые будут удалены, но периодически находят обходные методы для их генерации, например, связанные с запуском в ядре специально оформленных BPF-программ.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://engineering.virginia.e...)
- OpenNews: Компания AMD подтвердила потенциальную подверженность CPU AMD Zen 3 атаке Spectre-STL
- OpenNews: Google продемонстрировал эксплуатацию уязвимостей Spectre через выполнение JavaScript в браузере
- OpenNews: Новый вариант атаки Foreshadow, затрагивающий процессоры Intel, AMD, ARM и IBM
- OpenNews: CROSSTalk - уязвимость в CPU Intel, приводящая к утечке данных между ядрами
- OpenNews: LVI - новый класс атак на механизм спекулятивного выполнения в CPU
Похожие новости:
- [Информационная безопасность] Разбираемся в источниках Threat Intelligence
- [] Как построить современное аналитическое хранилище данных на базе Cloudera Hadoop
- [Высокая производительность, Обработка изображений, Искусственный интеллект] Повышение производительности инференса глубоких моделей с DL Workbench. Часть 2 — квантизация и Throughput mode
- [Разработка мобильных приложений, Машинное обучение, Софт, Искусственный интеллект, Flutter] Flitter Your Business With AI Integrated Flutter App Development
- [Data Mining, Big Data, Бизнес-модели] Бизнес-аналитика в управлении рисками: Некоторые последние достижения (2014 год) (перевод)
- [История IT, Старое железо, Ноутбуки] It`s a Sony! Again. Впечатления от ультрапортативного флагмана 10 лет спустя
- [Профессиональная литература, Карьера в IT-индустрии, Читальный зал, Лайфхаки для гиков] Как понять, что пришел «переломный» момент в бизнесе или карьере
- [Python, Алгоритмы, Big Data, Машинное обучение, Искусственный интеллект] Data Science Digest — 21.04.21
- [Информационная безопасность] Threat Intelligence по полочкам: разбираемся в стандартах обмена данными
- [IT-инфраструктура, Серверное администрирование, Хранение данных] Большая битва серверов: 'Made in Russia' vs. 'Made in Taiwan'
Теги для поиска: #_spectre, #_cpu, #_intel, #_amd
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:47
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Группа исследователей из Виргинского и Калифронийского университетов представила новый вид атаки на микроархитектурные структуры процессоров Intel и AMD, выявленный в ходе обратного инжиниринга недокументированных возможностей CPU. Предложенный метод атаки связан с применением в процессорах промежуточного кэша микроопераций (micro-op cache), который может использоваться для извлечения сведений, освевших в ходе спекулятивного выполнения инструкций. В целях оптимизации процессор начинает выполнять некоторые инструкции в спекулятивном режиме, не дожидаясь выполнения предыдущих вычислений, и если потом определяет, что предсказание не оправдалось, откатывает операцию в исходное состояние, но обработанные в процессе спекулятивного выполнения данные оседают в кэше, содержимое которого можно определить. Отмечается, что новый метод заметно опережает по производительности атаку Spectre v1, затрудняет обнаружение атаки и не блокируется существующими методами защиты от атак по сторонним каналам, разработанным для блокирования уязвимостей, вызванных спекулятивным выполнением инструкций (например, применение инструкции LFENCE блокирует утечку на последних стадиях спекулятивного выполнения, но не защищает от утечки через микроархитектерные структуры). Метод затрагивает модели процессоров Intel и AMD, выпускаемые с 2011 года, включая серии Intel Skylake и AMD Zen. Современные CPU разбивают сложные процессорные инструкции на более простые RISC-подобные микрооперации, которые кэшируются в отдельном кэше. Данный кеш кардинально отличается от кэшей более высокого уровня, недоступен напрямую и выступает в роли потокового буфера для быстрого доступа к результатам декодирования CISC-инструкций в RISC-микроинструкции. Тем не менее, исследователи нашли способ для создания условий, возникающих при конфликте доступа к кэшу и позволяющих судить о содержимом кэша микроопераций путём анализа отличий во времени выполнения тех или иных действий. оригинал Кэш микроопераций в процессорах Intel сегментирован в привязке к потокам CPU (Hyper-Threading), в то время как в процессорах AMD Zen применяется общий кэш, что создаёт условия для утечки данных не только в рамках одного потока выполнения, но и между разными потоками в SMT (возможна утечка данных между кодом, выполняемым на разных логических ядрах CPU). Исследователями предложен базовый метод для определения изменений в кэше микроопераций и несколько сценариев атак, позволяющих создавать скрытые каналы передачи данных и использовать уязвимый код для организации утечки конфиденциальных данных, как в рамках одного процесса (например, для организации утечки данных процесса при выполнении стороннего кода в движках с JIT и в виртуальных машинах), так и между ядром и процессами в пространстве пользователя. При организации варианта атаки Spectre с использованием кэша микроопераций исследователям удалось добиться производительности в 965.59 Kbps при уровне ошибок 0.22% и 785.56 Kbps при использовании коррекции ошибок, в случвае организации утечки в рамках одного адресного пространства и уровня привилегий. При утечке, охватывающей разные уровни привилегий (между ядром и пространством пользователя), производительность составила 85.2 Kbps при добавлении коррекции ошибок и 110.96 Kbps при уровне ошибок в 4%. При атаке на процессоры AMD Zen, создающей утечку между разными логическими ядрами CPU, производительность составила 250 Kbps при уровне ошибок 5.59% и 168.58 Kbps при коррекции ошибок. По сравнению с классическим методом Spectre v1 новая атака оказалась быстрее в 2.6 раза. Предполагается, что для защиты от атаки на кэш микроопераций потребуется внесение изменений, снижающих производительность сильнее, чем при включении защиты от атак Spectre. В качестве оптимального компромисса предлагается блокировать подобные атаки не путём отключения кэширования, а на уровне мониторинга аномалий и определения состояний кэша, типичных для атак. Как и в атаках Spectre для организации утечки из ядра или других процессов требуется выполнение на стороне процессов-жертв определённой последовательности команд (гаджетов), приводящей к спекулятивному выполнению инструкций. В ядре Linux найдено около 100 подобных гаджетов, которые будут удалены, но периодически находят обходные методы для их генерации, например, связанные с запуском в ядре специально оформленных BPF-программ. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:47
Часовой пояс: UTC + 5