Новый модуль «блокировки» ядра Linux, ограничивающий пользователей с высокими привилегиями — даже root — от вмешательства в некоторые функции ядра.
![Linux Смокинг](/f/0f3c6d9e174b15f085b081c676f80d6f.png)
TechRepubli
Шпаргалка: TensorFlow, библиотека программного обеспечения с открытым исходным кодом для машинного обучения.
Прочитай сейчасПосле многих лет бесчисленных обзоров, обсуждений и переписывания кода Линус Торвальдс утвердил в субботу новую функцию безопасности для ядра Linux, названную «блокировка».
Новая функция будет поставляться как LSM (модуль безопасности Linux) в ветке ядра Linux 5.4, которая скоро будет выпущена, где она будет отключена по умолчанию; использование не является обязательным из-за риска поломки существующих систем.
Наложение привязи на root-аккаунт
Основная функция новой функции будет заключаться в усилении разрыва между пользовательскими процессами и кодом ядра путем предотвращение взаимодействия даже учетной записи root с кодом ядра — то, что она могла сделать по замыслу, до настоящего времени.
При включении новая функция «блокировки» ограничивает некоторые функции ядра, даже для пользователя root, что затрудняет компрометацию остальной части ОС скомпрометированным учетным записям root.
«Модуль блокировки предназначен для того, чтобы позволить блокировать ядра на ранних этапах [процесса] загрузки», — сказал Мэтью Гарретт, инженер Google, который предложил эту функцию несколько лет назад.
«При включении различные функции ядра ограничиваются», — сказал Линус Торвальдс, создатель ядра Linux и тот, кто установил последний штамп одобрения на модуле вчера.
Это включает в себя ограничение доступа к функциям ядра, которые могут допускать выполнение произвольного кода с помощью кода, предоставленного процессами пользовательской среды; блокировка процессам записи или чтения памяти /dev/mem и /dev/kmem; заблокировать доступ к открытию /dev/port, чтобы предотвратить доступ к необработанному порту; обеспечение соблюдения подписей модулей ядра; и многие другие, подробно здесь.
Два режима блокировки
Новый модуль будет поддерживать два режима блокировки, а именно «целостность» и «конфиденциальность». Каждый из них уникален и ограничивает доступ к различным функциям ядра.
«Если установлено значение целостности, функции ядра, которые позволяют пользователю изменять работающее ядро, отключаются», — сказал Торвальдс.
«Если установлено значение конфиденциальности, функции ядра, которые позволяют пользователю извлекать конфиденциальную информацию из ядра, также отключаются».
При необходимости сверху можно добавить и дополнительные режимы локдауна, но для этого потребуется внешний патч, поверх локдауна LSM.
Долгое время приближается
Работа над функцией блокировки ядра началась в начале 2010-х годов, и ее возглавил инженер Мэтью Гарретт, ныне работающий в Google.
Идея функции блокировки ядра заключалась в создании механизма безопасности, предотвращающего вмешательство пользователей с повышенными разрешениями (даже хваленой учетной записи «root») в код ядра.
В то время, даже если в системах Linux использовались механизмы безопасной загрузки, все еще существовали способы, с помощью которых вредоносное ПО могло злоупотреблять драйверами, учетными записями root и пользовательскими данными. учетные записи со специальными повышенными привилегиями, позволяющими вмешиваться в код ядра, и тем самым обеспечить постоянство загрузки и постоянную точку опоры на зараженных системы.
Многие эксперты по безопасности на протяжении многих лет спрашивали, поддерживает ли ядро Linux более мощный способ ограничения учетной записи root и повышения безопасности ядра.
основная оппозиция исходила от Торвальдса, который был одним из самых ярых критиков этого фильма, особенно на заре его существования.
В результате многие дистрибутивы Linux, такие как Red Hat, разработали свои собственные патчи ядра Linux, которые добавляли функцию блокировки поверх основного ядра. Однако обе стороны достигли золотой середины. в 2018 году, и в этом году продолжалась работа над функцией блокировки.
«Большинство основных дистрибутивов уже много лет содержат варианты этого набора обновлений, поэтому есть смысл предоставление не отвечает всем требованиям распространения, но приближает нас к тому, чтобы не требовать внешних исправлений», — сказал Торвальдс. вчера.
«Приложения, которые полагаются на низкоуровневый доступ либо к оборудованию, либо к ядру, могут в результате перестать работать, поэтому их не следует включать без предварительной соответствующей оценки».
Новость о том, что модуль блокировки ядра был наконец одобрен, была положительно встречена в сообществах Linux и кибербезопасности.
Windows Vista: давайте заблокируем ядро
— Алекс Ионеску (@aionescu) 29 сентября 2019 г.
Linux 3.x: корень lul - это ядро, чушь
...
Windows 10: Произвольная запись ядра от администратора не является ошибкой, в кольце 0 тусовка, а вышибала не на дежурстве.
Linux 5.x: эй, давайте заблокируем ядро https://t.co/ex8p8tCLmR
Нижестоящие дистрибутивы, такие как Ubuntu, уже некоторое время поставляют предыдущую версию этого (чтобы попытаться гарантировать, что UEFI Secure Boot не может быть нарушен), поэтому приятно видеть, что это, наконец, восходящая версия.
— Алекс Мюррей (@alex_murray) 30 сентября 2019 г.
Linux исполняется 30 лет: самые крупные события в ее истории
Линукс
- Лучшие ноутбуки с Linux для потребителей и разработчиков
- Хотите спасти свой устаревший компьютер? Попробуйте эти 5 дистрибутивов Linux
- Лучшие дистрибутивы для новичков
- Как включить Linux на Chromebook (и почему это следует сделать)