Линус Торвальдс поднял вопрос целесообразности расширенной защиты от Spectre v2

20 ноября 2018 года

Линус Торвальдс предложил пересмотреть механизм активации патчей STIBP (Single Thread Indirect Branch Predictors), предлагающих дополнительную защиту от проявления уязвимостей класса Spectre v2. Данные патчи недавно были включены в находящуюся в разработке ветку 4.20 и бэкпортированы в стабильный выпуск 4.19.2. При применении STIBP в текущем виде пользователи отметили существенное снижение производительности выполнения некоторых приложений при применении технологии одновременной многопоточности (SMT или Hyper-Threading).

Так как падение производительности достигает 50%, по мнению Линуса, применение STIBP в текущем виде лишено смысла, так как проще и надёжнее вообще отключить SMT/Hyper-Threading, что обычно и делают люди, озабоченные безопасностью. Возникает вопрос, нужно ли включать STIBP по умолчанию, когда у тех, кому действительно важна безопасность, SMT/Hyper-Threading уже отключен. Для обычных пользователей потеря производительности в 50% является существенным фактором и возникает сомнение, стоят ли данные потери блокирования теоретической уязвимости.

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

Арьян ван де Вен (Arjan van de Ven) из компании Intel рассказал, что Intel и AMD не рекомендуют применять STIBP по умолчанию, так как данную функциональность можно сравнить с очень тяжёлым молотком, который не используется в повседневной работе, но необходим при определённых обстоятельствах. Предложенный в обновлении микрокода механизм STIBP позволяет через установку специального бита в регистре CR0 управлять отключением кэшей процессора, что следует делать не повсеместно, а только в особо критичных ситуациях. Тим Чен (Tim Chen) из Intel предложил для выборочного блокирования атак на sandbox включать STIBP только при явном запросе через prctl или для процессов, запрещающих создание core-дампов памяти (PR_SET_DUMPABLE), таких как sshd.

Что касается падения производительности при применении STIBP-патчей в ядре 4.20, то результат очень сильно зависит от вида нагрузки. Например, тестирование в пакете SpecInt Rate 2006 показывает уменьшение пропускной способности на 21%, а тесты Phoronix демонстрируют снижение производительности от 3 до 20%. Инго Молнар (Ingo Molnar), известный разработчик Linux ядра и автор планировщика задач CFS, комментируя ситуацию, предложил сделать обязательным отражение в списках изменений сведений о тестировании производительности при добавлении любых механизмов обхода проблем.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Линус Торвальдс поднял вопрос целесообразности расширенной защиты от Spectre v2», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.