192,49
Рейтинг
Дата-центр «Миран»
Решения для аренды и размещения ИТ-инфраструктуры

Новые патчи Linux защищают процессоры Intel от последних уязвимостей, так что Hyper-Threading можно не отключать

Блог компании Дата-центр «Миран»Информационная безопасностьOpen sourceРазработка под LinuxПроцессоры

Уязвимости семейства MDS

Инженер Google Джоэл Фернандес (Joel Fernandes) прислал девятую версию патчей “core scheduling” для ядра Linux. Этот код позволяет одновременно запускать на одном ядре процессора только доверенные задачи — в тех случаях, когда используется Hyper Threading — для защиты системы от возможных эксплоитов.

Тема защиты CPU стала популярной с тех пор, как в процессорах Intel обнаружили два новых семейства уязвимостей — MDS (Microarchitectural Data Sampling) и L1TF (L1 Terminal Fault), основанные на технологии спекулятивного исполнения команд. Виной всему — реализация Hyper-Threading (многопоточности) в чипах Intel. Если вкратце, в MDS злоумышленник может получить доступ к приватной информации даже через браузер пользователя, запустив в нем вредоносный код. Процессору даётся команда перенести важные данные в буферы, а уже оттуда их можно извлечь.

Патчи Core Scheduling должны сделать технологию Hyper-Threading более безопасной, позволяя только доверенным задачам совместно использовать CPU. Это разумная защита, которая позволяет оставить Hyper-Threading активным на серверах, а не отключать её ради безопасности, что кардинально снижает производительность.

Поэтому эти патчи от Фернандеса так важны для DigitalOcean, Oracle, Google и других крупных игроков в области серверов x86_64, которые заинтересованы в работе над различными решениями, чтобы оставить HT/SMT. В частности, отключение HT/SMT стало бы серьёзным ударом для крупных поставщиков облачных решений.

В этом году Core Scheduling добился значительного прогресса. Похоже, инженеры Google надеются, что их решение станет основным для «победы» над уязвимостями Hyper-Threading. Девятая версия, опубликованная 17 ноября 2020 года, основана на предыдущем коде и решает ранее поднятые проблемы/недостатки.


Список изменений в девятой версии Core Scheduling

В сопровождающем тексте сейчас указана «надежда, что девятая версия приемлема для слияния», если не будет поднято никаких новых вопросов.

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

Вне контекста безопасности защищённый Core Scheduling может быть полезен для задач реального времени и других приложений, чувствительных к производительности, где требуется лучший контроль над использованием SMT. Джоэл написал: «Тестирование ChromeOS показывает трёхкратное уменьшение задержки при нажатии клавиш в Google Docs с помощью теста Google Hangout (максимальная задержка нажатий клавиш падает со 150 мс до 50 мс)». В зависимости от конфигурации и рабочей нагрузки по-прежнему есть вероятность, что Core Scheduling снизит общую производительность системы. Но в целом это снижение не должно быть таким сильным, как при полном отключении SMT/HT.

Основная реализация Core Scheduling в нынешнем виде составляет чуть более 4000 строк нового кода.
Теги:Мирандата-центр "Миран"Linuxядро LinuxCore SchedulingMDSL1TFHyper-Threadingгиперпоточность
Хабы: Блог компании Дата-центр «Миран» Информационная безопасность Open source Разработка под Linux Процессоры
+9
6,6k 4
Комментарии 14

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Россия
Сайт
miran.ru
Численность
51–100 человек
Дата регистрации

Блог на Хабре