Баги безопасности процессоров AMD и Intel приводят к выпуску патчей для Linux

Баги безопасности процессоров AMD и Intel вызывают выпуск патчей для Linux

На самом деле это не проблема Linux, но, как это часто бывает, разработчикам ядра Linux приходится устранять проблемы, вызванные AMD и Intel. Это произошло снова с последними уязвимостями процессоров: AMD Inception и Intel Downfall. Для исправления этих проблем создатель Linux Линус Торвальдс выпустил новый набор патчей.

Странно, но оба являются спекулятивными атаками через боковые каналы, которые могут привести к утечке привилегированных данных в непривилегированные процессы. Торвальдс описал их как “еще одну проблему, когда пользовательское пространство портит микроархитектурную структуру, которая затем может быть использована для утечки привилегированной информации через боковой канал”.

Также: Как выбрать подходящий дистрибутив Linux для настольного компьютера

Звучит знакомо? Линуксовым экспертам по безопасности это будет знакомо. Да, это еще один пример типа уязвимостей в безопасности, которые сделали известными в кругах Linux Intel Meltdown и Spectre. К счастью, в отличие от этих двух предыдущих случаев, разработчики на этот раз заранее знали о проблемах с микросхемой, поэтому патчи были выпущены до публикации новых уязвимостей.

В этом недавнем слиянии Торвальдс и его команда внедрили меры на уровне ядра, которые противодействуют уязвимости переполнения стека Speculative Return Address (RAS) у архитектур Zen 3 и Zen 4 от AMD. Эта уязвимость позволяет загрязнить микроархитектурную структуру пользовательским пространством, которая затем может быть использована для вытягивания привилегированной информации через боковой канал.

AMD скажет вам, что это не такая большая проблема: компания считает, что эта уязвимость потенциально может быть использована только локально, например, через загруженное вредоносное ПО. Тем не менее, AMD “рекомендует клиентам использовать рекомендации по безопасности, включая использование обновленного программного обеспечения и инструментов обнаружения вредоносного ПО”.

Однако исследователи по безопасности из ETH Zurich, которые обнаружили эту уязвимость, не так оптимистичны. Они считают, что Inception может быть использован злоумышленником в облачных вычислениях, где клиенты обычно используют общие аппаратные ресурсы.

Исследователи говорят, что Inception является новым классом атак через мимолетное выполнение, который использует обучение в мимолетном выполнении (TTE). Вместо попытки утечки данных в мимолетном окне, атаки TTE злоупотребляют мимолетным окном для вставки новых прогнозов в предиктор ветвления. В сочетании с Phantom, который является способом вызова мимолетных окон из произвольных инструкций, Inception может быть неприятным способом вытягивания частной информации.

Также: Если вы хотите повысить безопасность настольного компьютера, Linux может быть лучшим выбором

Иронично, что ветеран разработчик ядра Linux Питер Зейлстра, который связан с Intel, усовершенствовал патчи от AMD. Забавно наблюдать, как инженер Intel возглавляет улучшение кода смягчения AMD в ядре. Добро пожаловать в дух сообщества открытого исходного кода!

Разработчики ядра Linux также устранили уязвимость Intel Gather Data Sampling (GDS), известную как Downfall. Эта уязвимость затрагивает процессоры Intel Core от поколения Skylake до Tiger Lake 11-го поколения. Короче говоря, ваши компьютеры, серверы и обработчики облаков, вероятно, все уязвимы.

По словам Даниэля Могими, старшего научного сотрудника Google, который обнаружил Downfall, “уязвимость вызвана функциями оптимизации памяти в процессорах Intel, которые непреднамеренно раскрывают внутренние регистры оборудования для программного обеспечения. Это позволяет ненадежному программному обеспечению получать доступ к данным, хранящимся другими программами, к которым обычно не должен быть доступ”.

Так насколько это серьезно? Могими показал, что эксплойт может быть использован для кражи ключей безопасности и паролей другого пользователя. Что еще хуже, такие атаки “высоко практичны”, отмечает Могими. “Мне понадобилось две недели, чтобы разработать атаку, позволяющую воровать ключи шифрования из OpenSSL. Для этого нужно, чтобы атакующий и жертва использовали одно и то же физическое ядро процессора, что часто бывает на современных компьютерах с предварительным многозадачным и одновременным многопоточным выполнением”.

Также: AMD против Intel: Какой настольный процессор подходит вам?

Intel Software Guard Extensions (SGX), функция безопасности аппаратного обеспечения Intel, доступная на процессорах Intel для защиты данных пользователей от вредоносного программного обеспечения, также бессильна против этой уязвимости.

Для некоторых пользователей исправление может показаться более проблематичным, чем сама проблема. По словам Intel, некоторые рабочие нагрузки могут замедлиться на 50%. Это значительное замедление! Однако Могими предупреждает: “Это плохая идея. Даже если ваша рабочая нагрузка не использует векторные инструкции, современные ЦПУ опираются на векторные регистры для оптимизации обычных операций, таких как копирование памяти и переключение содержимого регистров”.

Однако для Linux замедление может быть не таким страшным. Михаэль Ларабел, инженер-разработчик Linux и главный редактор специализированного сайта Phoronix, протестировал патчи Downfall. Ларабел обнаружил, что они влияют только на программное обеспечение, работающее в пользовательском пространстве, и не замедляют I/O или взаимодействие ядра и пользовательского пространства, как это делали исправления для Meltdown, Spectre и связанных с ними уязвимостей. Он также отметил, что хотя снижение производительности обычно оказывается не таким страшным, как прогнозировал Intel, все же есть значительные замедления.

Патчи для безопасности Linux были включены в Linux Git для предстоящего ядра Linux 6.5. Последние стабильные релизы, включающие эти патчи, включают версии Linux 6.4.9, 6.1.44, 5.15.125, 5.10.189, 4.19.290 и 4.14.321. Эти релизы охватывают текущую стабильную серию Linux 6.4 и серию ядер с долгосрочной поддержкой (LTS).

Кроме того: Сравнение лучших компьютеров “все-в-одном”: Mac, Lenovo и другие

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

Итак, что вам следует делать? Будьте готовы установить новый микрокод сразу, как только он станет доступен. Затем следуйте инструкциям, чтобы установить патчи на ваши системы Linux по мере их появления. Для пользователей Linux на рабочих станциях это не будет большой проблемой, но для тех из вас, кто использует Linux на серверах и в облаках, это может быть серьезным делом.