Уязвимость ЦП с временным выполнением


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Уязвимости ЦП с временным выполнением — это уязвимости в компьютерной системе, в которых оптимизация спекулятивного выполнения, реализованная в микропроцессоре , используется для утечки секретных данных неавторизованной стороне. Классический пример — Spectre , давший название этому типу атак по сторонним каналам , но с января 2018 года было выявлено множество различных уязвимостей.

Обзор

Современные компьютеры представляют собой высокопараллельные устройства, состоящие из компонентов с очень разными характеристиками производительности. Если операция (например, ветвь) еще не может быть выполнена, потому что какая-то более ранняя медленная операция (например, чтение памяти) еще не завершена, микропроцессор может попытаться предсказать результат более ранней операции и спекулятивно выполнить более позднюю операцию., действуя так, как если бы предсказание было верным. Прогноз может быть основан на недавнем поведении системы. Когда предыдущая, более медленная операция завершается, микропроцессор определяет, был ли прогноз правильным или неправильным. Если это было правильно, то выполнение продолжается непрерывно; если она была неверной, то микропроцессор откатывает спекулятивно выполненные операции и повторяет исходную инструкцию с реальным результатом медленной операции. В частности, переходная инструкция [1] относится к инструкции, обработанной процессором по ошибке (обличающей предсказатель ветвления в случае Spectre ), которая может повлиять на микроархитектурное состояние процессора, оставив архитектурное состояние без каких-либо следов его исполнение.

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

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

Начиная с 2017 года было выявлено несколько примеров таких уязвимостей, публикация которых началась в начале 2018 года.

В марте 2021 года исследователи безопасности AMD обнаружили, что алгоритм Predictive Store Forwarding в процессорах Zen 3 может использоваться вредоносными приложениями для доступа к данным, к которым им не следует обращаться. [2] Согласно Phoronix, отключение этой функции мало что дает. [3]

В июне 2021 года были обнаружены две новые уязвимости, Speculative Code Store Bypass (SCSB, CVE-2021-0086 ) и Injection Floating Point Value Injection (FPVI, CVE-2021-0089 ), затрагивающие все современные процессоры x86-64 как Intel, так и AMD . . [4] Чтобы уменьшить их, программное обеспечение должно быть переписано и перекомпилировано. SCSB не влияет на процессоры ARM, но на некоторые определенные архитектуры ARM влияет FPVI. [5]

В августе 2021 года не была раскрыта уязвимость под названием «Временное выполнение неканонических доступов», затрагивающая некоторые процессоры AMD. [6] [7] [8] Требуются те же меры по снижению риска, что и для уязвимости MDS, затрагивающей некоторые процессоры Intel. [9] Ему присвоен код CVE-2020-12965 . Поскольку большая часть программного обеспечения x86 уже защищена от MDS и для этой уязвимости предусмотрены точно такие же средства устранения, поставщикам программного обеспечения не нужно устранять эту уязвимость.

В октябре 2021 года впервые была обнаружена уязвимость, аналогичная Meltdown [10] [11] , затрагивающая все процессоры AMD, однако компания не считает, что необходимо применять какие-либо новые меры по снижению риска, а существующих уже достаточно. [12]

В марте 2022 года был раскрыт новый вариант уязвимости Spectre под названием Branch History Injection. [13] [14] Это затрагивает некоторые процессоры ARM64 [15] и следующие семейства процессоров Intel: Cascade Lake , Ice Lake , Tiger Lake и Alder Lake . По словам разработчиков ядра Linux, процессоры AMD также затронуты. [16]

В марте 2022 года под кодом CVE-2021-26341 была раскрыта уязвимость, затрагивающая широкий спектр процессоров AMD . [17] [18]

В июне 2022 года было объявлено о нескольких уязвимостях процессоров Intel MMIO , связанных с выполнением в виртуальных средах . [19] Были обозначены следующие CVE: CVE-2022-21123 , CVE-2022-21125 , CVE-2022-21166 .

В июле 2022 года была обнаружена уязвимость Retbleed, затрагивающая процессоры Intel Core 6–8-го поколения и процессоры AMD Zen 1, 1+ и 2 поколения. Новые микроархитектуры Intel, а также AMD, начиная с Zen 3, не затрагиваются. Устранение уязвимости снижает производительность уязвимых процессоров Intel до 39%, а процессоров AMD — до 14%.

Будущее

Уязвимости класса Spectre останутся неисправленными, потому что в противном случае разработчикам ЦП придется отключать OoOE , что повлечет за собой массовую потерю производительности. [ нужна ссылка ]

Сводка уязвимостей и способов их устранения

Аппаратные меры по снижению риска требуют изменения конструкции ЦП и, следовательно, новой версии оборудования, но приводят к почти нулевой потере производительности. Обновления микрокода изменяют программное обеспечение, на котором работает ЦП, требуя выпуска и интеграции исправлений в каждую операционную систему и для каждого ЦП. Меры по снижению риска для ОС/VMM применяются на уровне операционной системы или виртуальной машины и (в зависимости от рабочей нагрузки) часто приводят к значительному снижению производительности. Перекомпиляция программного обеспечения требует перекомпиляции каждой части программного обеспечения и обычно приводит к серьезному снижению производительности.

Архитектура Coffee Lake 8-го поколения в этой таблице также применима к широкому спектру ранее выпущенных процессоров Intel, не ограничиваясь архитектурами на базе Intel Core , Pentium 4 и Intel Atom , начиная с Silvermont . [66] [67] Различные микроархитектуры ЦП, не включенные выше, также затронуты, среди них IBM Power , ARM , MIPS и другие. [68] [69] [70] [71]

Процессоры Intel, выпущенные ранее Ice Lake, например Rocket Lake и Tiger Lake , не подвержены влиянию Fallout/MSBDS.

Заметки

1. ^ Шаг 5 масштабируемых процессоров Intel® Xeon® 2-го поколения на основе микроархитектуры Cascade Lake подвержен влиянию как MSBDS, так и MLPDS.

использованная литература

  1. ^ Кохер, Пол; Хорн, Янн; Фог, Андерс; Генкин, Даниэль; Грусс, Дэниел. «Призрачные атаки: использование спекулятивного исполнения» (PDF) . Проверено 16 апреля 2020 г. .
  2. ^ Катресс, доктор Ян. «AMD выпускает обновленный статус Speculative Spectre Security: Predictive Store Forwarding» . www.anandtech.com . Проверено 08 апреля 2021 г. .
  3. ^ «Сравнительный анализ AMD Zen 3 с отключенной переадресацией магазина с прогнозированием - Phoronix» . www.phoronix.com . Проверено 08 апреля 2021 г. .
  4. ^ "Ярость против машины ясно" . ВУСек . Проверено 29 июня 2021 г. .
  5. ^ ООО, Арм. «Спекулятивная уязвимость процессора | Часто задаваемые вопросы» . Разработчик рук . Проверено 29 июня 2021 г. .
  6. ^ «Временное выполнение неканонических доступов» .{{cite web}}: CS1 maint: URL-статус ( ссылка )
  7. ^ Мусаев, Саидгани; Фетцер, Кристоф (2021). «Временное выполнение неканонических доступов». архив : 2108.10771 .
  8. ^ Франциско, Томас Клаберн в Сан. «Боффины обнаруживают, что если вы достаточно пытаете процессоры AMD Zen +, Zen 2, они уязвимы для атаки, подобной Meltdown» . www.theregister.com . Проверено 05 сентября 2021 г. .
  9. ^ https://developer.amd.com/wp-content/resources/90343-D_SoftwareTechniquesforManagingSpeculation_WP_9-20Update_R2.pdf [ голый URL PDF ]
  10. ^ Липп, Мориц; Грусс, Дэниел; Шварц, Майкл (19 октября 2021 г.). «Атаки AMD Prefetch с помощью мощности и времени» . Симпозиум по безопасности USENIX .
  11. ^ «Атаки AMD Prefetch с помощью мощности и времени» (PDF) . {{cite web}}: CS1 maint: URL-статус ( ссылка )
  12. ^ «Побочные каналы, связанные с инструкцией PREFETCH x86» .{{cite web}}: CS1 maint: URL-статус ( ссылка )
  13. ^ "Инъекция истории филиалов" . ВУСек . Проверено 08 марта 2022 г. .
  14. ^ «BHI: новейшая уязвимость Spectre, затрагивающая процессоры Intel и Arm» . www.phoronix.com . Проверено 08 марта 2022 г. .
  15. ^ ООО, Арм. «Спекулятивная уязвимость процессора | Spectre-BHB» . Разработчик рук . Проверено 11 марта 2022 г. .
  16. ^ «Linux Lands Mitigations для Spectre-BHB / BHI на Intel и Arm, а также изменение AMD» . www.phoronix.com . Проверено 08 марта 2022 г. .
  17. ^ «grsecurity - предиктор AMD Branch (Mis), часть 2: где раньше не было процессора (CVE-2021-26341)» . grsecurity.net . Проверено 11 марта 2022 г. .
  18. ^ «ЦП AMD могут временно выполняться за пределами безусловного прямого перехода» .
  19. ^ "oss-security - Совет по безопасности Xen 404 v2 (CVE-2022-21123, CVE-2022-21125, CVE-2022-21166) - x86: уязвимости устаревших данных MMIO" . www.openwall.com . Проверено 19 июня 2022 г. .
  20. ^ «Затронутые процессоры: атаки временного выполнения и связанная с этим безопасность ...» Intel . Проверено 29 июня 2021 г. .
  21. ^ a b «Безопасность продуктов AMD | AMD» . 2019-08-10 . Проверено 10 августа 2019 г. .
  22. ^ Катресс, доктор Ян. «Предварительный обзор тестов Ice Lake: внутри 10-нанометрового техпроцесса Intel» . www.anandtech.com . Проверено 1 августа 2019 г. .
  23. ^ онлайн, хейз. «Intel Core i9-9900K с 8 ядрами и 5 ГГц для геймеров» . heise онлайн (на немецком языке) . Проверено 9 октября 2018 г. .
  24. ^ Катресс, Ян. «Анализ микроархитектуры AMD Zen 2: Ryzen 3000 и EPYC Rome» . www.anandtech.com . Проверено 11 июня 2019 г. .
  25. ^ https://developer.amd.com/wp-content/resources/90343-B_SoftwareTechniquesforManagingSpeculation_WP_7-18Update_FNL.pdf [ голый URL PDF ]
  26. ^ «Призрак возвращается! Спекулятивные атаки с использованием буфера стека возврата» (PDF) . www.usenix.org . Проверено 17 августа 2019 г. .
  27. ^ Майсурадзе, Георгий; Россов, Кристиан (2018). «ret2spec: спекулятивное выполнение с использованием буферов стека возврата». Материалы конференции ACM SIGSAC 2018 года по компьютерной и коммуникационной безопасности . стр. 2109–2122. архив : 1807.10364 . Бибкод : 2018arXiv180710364M . дои : 10.1145/3243734.3243761 . ISBN 9781450356930. S2CID  51804116 .
  28. ^ «Kernel/Git/Torvalds/Linux.git — дерево исходного кода ядра Linux» .
  29. ^ a b «Внедрение новых средств защиты в оборудование» . Интел . Проверено 28 апреля 2019 г. .
  30. ^ "INTEL-SA-00145" . Интел .
  31. ^ «Уязвимость хранилища обхода проверки границ (BCBS) (INTEL-OSS-10002)» . Интел .
  32. ^ «Перечисление Intel Deep Dive CPUID и архитектурные MSR» . Интел . Проверено 02 января 2020 г. .
  33. ^ "INTEL-SA-00233" . Интел . Проверено 15 июля 2020 г. .
  34. ↑ danielmgmi (15 июля 2020 г.), danielmgmi/icebreak , получено 15 июля 2020 г.
  35. ^ «Решения Bitdefender SWAPGS по смягчению последствий атак» . www.bitdefender.com . Проверено 7 августа 2019 г. .
  36. ^ "Документация/руководство администратора/hw-vuln/spectre.rst - chromiumos/ Third_Party/kernel - Git в Google" . chrome.googlesource.com . Архивировано из оригинала 07.08.2019 . Проверено 7 августа 2019 г. .
  37. Уиндер, Дэйви (6 августа 2019 г.). «Microsoft подтверждает новую уязвимость к атаке на ЦП Windows и рекомендует всем пользователям выполнить обновление сейчас» . Форбс . Проверено 7 августа 2019 г. .
  38. ^ «Технология Cyberus: асинхронное прерывание TSX» . www.cyberus-technology.de . Проверено 12 ноября 2019 г. .
  39. в 18:02, Шон Николс в Сан-Франциско, 12 ноября 2019 г. «В соответствии со своим названием, ZombieLoad, связанный с недостатком ЦП Intel, возвращается с новым вариантом» . www.theregister.co.uk . Проверено 12 ноября 2019 г. .
  40. ^ Чимпану, Каталин. «ЦП Intel Cascade Lake пострадали от новой атаки Zombieload v2» . ЗДНет . Проверено 12 ноября 2019 г. .
  41. ^ «Асинхронное прерывание Intel Deep Dive TSX» . Интел . Проверено 02 января 2020 г. .
  42. ^ a b «Атаки MDS: микроархитектурная выборка данных» . mdsattacks.com . Проверено 27 января 2020 г. .
  43. ^ а б "IPAS: INTEL-SA-00329" . Технология@Интел . 2020-01-27 . Проверено 28 января 2020 г. .
  44. Викискладе есть медиафайлы по теме кэшаута . cacheoutattack.com . Проверено 29 января 2020 г. .
  45. ^ в 17:00, Томас Клаберн в Сан-Франциско, 10 марта 2020 г. «Вы только дважды LVI: Meltdown The Sequel поражает чипы Intel - и полное устранение уязвимости, связанной с вмешательством в данные, будет стоить вам 50%+ производительности» . www.theregister.co.uk . Проверено 10 марта 2020 г. .
  46. ^ «LVI: перехват выполнения переходного процесса с помощью инъекции значения загрузки» . lviattack.eu . Проверено 10 марта 2020 г. .
  47. ^ "INTEL-SA-00334" . Интел . Проверено 10 марта 2020 г. .
  48. ^ «Глубокое погружение: вставка значения загрузки» . software.intel.com . Проверено 10 марта 2020 г. .
  49. ^ «Возьми путь: изучение последствий для безопасности предсказателей AMD Cache Way» (PDF) . {{cite web}}: CS1 maint: URL-статус ( ссылка )
  50. Март 2020 г., Пол Алкорн 07. «Обнаружены новые атаки по побочным каналам AMD, влияющие на архитектуру Zen» . Оборудование Тома . Проверено 07 марта 2020 г. .
  51. ^ Алкорн, Пол (9 марта 2020 г.). «Обнаружены новые атаки по сторонним каналам AMD, влияющие на архитектуру Zen (ответы AMD)» . Оборудование Тома . Проверено 10 июня 2020 г. .{{cite web}}: CS1 maint: URL-статус ( ссылка )
  52. ^ Чимпану, Каталин. «Процессоры AMD с 2011 по 2019 год уязвимы для двух новых атак» . ЗДНет . Проверено 11 сентября 2020 г. .
  53. Викискладе есть медиафайлы по теме перекрестного разговора . ВУСек . Проверено 9 июня 2020 г. .
  54. ^ «Глубокое погружение: выборка данных буфера специального регистра» . software.intel.com . Проверено 9 июня 2020 г. .
  55. ^ "INTEL-SA-00320" . Интел . Проверено 9 июня 2020 г. .
  56. ^ "Слепая сторона" . ВУСек . Проверено 11 сентября 2020 г. .
  57. ^ Франциско, Томас Клаберн в Сан. «Не оставайтесь вслепую: наблюдайте, как спекулятивное сканирование памяти обходит защиту ядра, дает вредоносным программам корневой доступ» . www.theregister.com . Проверено 22 марта 2021 г. .
  58. ^ "INTEL-SA-00698" . Интел . Проверено 14 июня 2022 г. .
  59. ^ "Атака Hertzbleed" . www.hertzbleed.com . Проверено 14 июня 2022 г. .
  60. Гудин, Дэн (14 июня 2022 г.). «Новая уязвимость в процессорах Intel и AMD позволяет хакерам украсть ключи шифрования» . Арс Техника . Проверено 14 июня 2022 г. .
  61. ^ «Retbleed: произвольное спекулятивное выполнение кода с инструкциями по возврату - Группа компьютерной безопасности» . Проверено 12 июля 2022 г. .
  62. ^ «AMD, чипы Intel уязвимы для варианта Spectre« Retbleed »» . www.theregister.com . Проверено 12 июля 2022 г. .
  63. Гудин, Дэн (12 июля 2022 г.). «Новая рабочая атака со спекулятивным выполнением заставляет Intel и AMD скремблироваться» . Арс Техника . Проверено 12 июля 2022 г. .
  64. ^ «Путаница с типами ветвей ЦП AMD» .
  65. ^ "INTEL-SA-00702" . Интел . Проверено 13 июля 2022 г. .
  66. ^ "INTEL-SA-00088" . Интел . Проверено 1 сентября 2018 г. .
  67. ^ "INTEL-SA-00115" . Интел . Проверено 1 сентября 2018 г. .
  68. ^ "Страница состояния Meltdown и Spectre" . wiki.netbsd.org . Проверено 29 сентября 2019 г. .
  69. ^ ООО, Арм. «Спекулятивная уязвимость процессора | Обновление проблем со спекуляцией кэша» . Разработчик АРМ . Проверено 29 сентября 2019 г. .
  70. ^ «Об уязвимостях спекулятивного выполнения в процессорах на базе ARM и Intel» . Поддержка Apple . Проверено 29 сентября 2019 г. .
  71. ^ «Потенциальное влияние на процессоры семейства POWER» . Блог IBM PSIRT . 2019-05-14 . Проверено 29 сентября 2019 г. .

внешние ссылки

  1. Уязвимости, связанные со спекулятивным исполнением ЦП
  2. Систематическая оценка кратковременных атак и защит
  3. Динамическое дерево уязвимостей временного исполнения для процессоров Intel, AMD и ARM
  4. Временные атаки исполнения, Дэниел Грусс, 20 июня 2019 г.
  5. Ошибки процессора
  6. Intel: уточненная терминология спекулятивного выполнения
Получено с https://en.wikipedia.org/w/index.php?title=Transient_execution_CPU_vulnerability&oldid=1099384798 "