Home » Логика ядра Linux позволила Spectre атаковать крупное облако • –

Логика ядра Linux позволила Spectre атаковать крупное облако • –

Уязвимость Spectre, преследующая производителей аппаратного и программного обеспечения с 2018 года, по-прежнему не поддается попыткам ее похоронить.

В четверг Эдуардо (sirdarckcat) Вела Нава из группы реагирования на безопасность продуктов Google раскрыт недостаток, связанный со Spectre, в версии 6.2 ядра Linux.

Об ошибке средней степени серьезности первоначально было сообщено поставщикам облачных услуг — тем, кто, скорее всего, будет затронут — 31 декабря 2022 г. исправлено в Linux 27 февраля 2023 г..

«Ядро не смогло защитить приложения, которые пытались защититься от Spectre v2, оставив их открытыми для атак со стороны других процессов, работающих на том же физическом ядре в другом гиперпотоке», — поясняется раскрытие уязвимости. Следствием этой атаки является потенциальное раскрытие информации (например, утечка закрытых ключей) через эту пагубную проблему.

прозвище Призрак [PDF] описывает набор уязвимостей, которые злоупотребляют спекулятивным выполнением, оптимизацией производительности процессора, при которой потенциальные инструкции выполняются заранее для экономии времени.

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

Вскоре после Регистр впервые сообщил в борьбе за исправление ошибок Meltdown и Spectre Intel опубликовала подробности о Indirect Branch Restricted Speculation (МСКО), механизм для ограничения спекуляции непрямыми ветвями, которые сообщают процессорам о необходимости начать выполнение инструкций в новом месте.

предложения МККО защита от Spectre v2, который Intel называет Branch Target Injection. Внедрение целевых ветвлений — это метод обучения предсказателей ветвлений спекулятивному выполнению определенных инструкций для вывода данных в кэш-памяти процессора с использованием побочного канала синхронизации.

IBRS поставляется в двух вариантах: базовом (устаревшем) и расширенном. И это основной вариант, который оказался неприятным с точки зрения безопасности.

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

Read more:  Трамп заявил, что позволит России атаковать страны НАТО, которые недостаточно платят

Как описано в раскрытии информации, в соответствии с базовыми МСКО В ядре 6.2 была логика который отказался от STIBP (Single Thread Indirect Branch Predictors), защиты от совместного использования предсказания переходов между логическими процессорами на ядре.

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

Регистр понимает, что проблема возникла из-за неправильного понимания расширенного IBRS, которому не требуется STIBP для защиты от другого потока (одновременных многопоточных атак).

Это исправление удалило базовую IBRS из spectre_v2_in_ibrs_mode() отметьте, чтобы оставить STIBP включенным по умолчанию.

Призрачную уязвимость обнаружили Родриго Рубира Бранко (BSDaemon), когда он работал в Google, и Хосе Луис. KP Singh, член команды ядра Google, который работал над исправлением и координировал свои действия с сопровождающими Linux для решения проблемы.

®

2023-04-14 15:28:07


1681571084
#Логика #ядра #Linux #позволила #Spectre #атаковать #крупное #облако #Register

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.