Что нового в системе безопасности Ubuntu 21.10?

Мы рассмотрим те функции и улучшения, которые повышают общую безопасность системы Ubuntu и помогают реализовать вашу стратегию кибербезопасности Linux.

Ubuntu 21.10 — этот выпуск является последним промежуточным выпуском перед предстоящим выпуском 22.04 LTS, который должен выйти в апреле 2022 года. Поскольку промежуточные выпуски часто служат основанием для появления новых функций в выпусках LTS, это дает хорошую возможность подвести итог и посмотреть на некоторые из последних функций безопасности, представленных в этом выпуске.

Linux ядро 5.13

Ядро Linux является основой всех систем Ubuntu. Ubuntu 21.10 использует исходное ядро 5.13 в качестве базового и поэтому использует ряд улучшений по сравнению с ядром 5.11, которое используется в Ubuntu 21.04. К ним относятся следующие новые функции:

Обнаружение активных попыток эксплуатации с помощью детектора ошибок памяти KFENCE

Уязвимости, связанные с повреждением памяти, по-прежнему остаются одним из самых проблемных типов проблем безопасности для ядра Linux. Их можно обнаружить как во время компиляции с помощью статического анализа, так и во время выполнения с помощью инструментов различных процедур распределения памяти. Традиционно инструментальные операции с памятью для обнаружения ошибок во время выполнения были слишком ресурсоёмкими для использования в производственных системах и поэтому были ограничены для использования в средах CI и т.п. Kernel Electric Fence (KFENCE) — это новый детектор ошибок памяти с низкими накладными расходами, который разработан для использования в производственных средах. Вместо того чтобы анализировать все подпрограммы памяти, KFENCE использует метод выборки, так что измеряется только подмножество операций, сохраняя низкие накладные расходы, в то же время, позволяя, обнаруживать наиболее распространенные ошибки памяти, которые могут возникнуть в течение достаточно длительного периода выборки. Это включено по умолчанию, что должно позволить обнаруживать различные ошибки памяти во время выполнения, которые, в свою очередь, могут указывать на наличие активных попыток эксплуатации этих систем.

[Примечание редактора: во время разработки Ubuntu 21.10 KFENCE был включен по умолчанию, но незадолго до финальной версии был отключен из-за нестабильности в определенных сценариях — все еще продолжается расследование, чтобы попытаться повторно включить эту функцию в рамках обновления стабильной версии. процесс].

Препятствуйте эксплуатации ядра с помощью рандомизации смещения стека ядра

Использование ядра Linux часто связано с тем, что локальный пользователь выполняет несколько системных вызовов, чтобы сначала получить утечку адреса памяти ядра, а затем перезаписать эту память при следующем вызове. Один из способов противодействовать этому методу эксплуатации — убедиться, что стек ядра расположен в другой области памяти от одного системного вызова к другому, так что адрес памяти стека, который может быть утечка из одного системного вызова, становится недействительным при использовании в последующем звонке. Ядро 5.13 предоставляет возможность рандомизировать расположение стека ядра при каждой записи системного вызова ядра как для архитектуры amd64, так и для архитектуры arm64. Эта работа была вдохновлена проектом PaX RANDKSTACK и, таким образом, привносит в основное ядро Linux и, следовательно, в Ubuntu 21.10 желаемую функцию усиления безопасности. Влияние этой новой функции на производительность минимально, поэтому она включена по умолчанию для Ubuntu 21.10 и, таким образом, делает всех пользователей Ubuntu более безопасными, расстраивая потенциальных злоумышленников, закрывая другую технику атаки.

Поэкспериментируйте с песочницей приложений с помощью модуля безопасности Landlock

Уязвимости в системе безопасности могут присутствовать в наиболее надежных приложениях. Чтобы попытаться ограничить влияние, которое они могут иметь, системы обязательного контроля доступа (MAC) были использованы для приложений-песочниц, чтобы они могли получить доступ только к определенным необходимым ресурсам. AppArmor и SELinux являются примерами систем MAC, и оба они реализованы как модули безопасности Linux в ядре Linux. Каждый из них позволяет системному администратору определять политику о том, к каким приложениям должен быть разрешен доступ. В последние годы наблюдается тенденция к тому, чтобы приложения могли помещаться в песочницу сами по себе, с введением фильтров seccomp, а теперь и Landlock LSM. Landlock похож на AppArmor в том, что он позволяет создавать политику, которая ограничивает приложение в доступе к файлам, но в отличие от AppAmor, который предназначен для настройки системным администратором, Landlock позволяет приложениям определять свою собственную политику безопасности. Использование стекирования LSM позволяет использовать Landlock вместе с AppArmor, и поэтому он был включен в Ubuntu 21.10 в качестве предварительной версии этой новой технологии, чтобы разработчики приложений могли начать изучение использования Landlock в дополнение к AppArmor для улучшенной изоляции приложений.

Уменьшите поверхность атаки ядра, отключив непривилегированный BPF

Использование виртуальной машины Berkeley Packet Filter (BPF) в ядре расширилось с момента ее первоначального использования в сетевой подсистеме ядра. Теперь он используется группами управления для фильтрации доступа к устройствам, отслеживания и профилирования для сбора информации о производительности, а также для наблюдения и мониторинга системы, и это лишь несколько примеров использования, в которых эта технология была применена. По мере роста количества вариантов использования BPF растет и желание сделать эту повсеместную систему доступной для всех пользователей. Начиная с ядра 4.4, непривилегированные пользователи могут загружать программы BPF в ядро, полагая, что встроенный в ядро верификатор BPF гарантирует, что в результате не будут выполнены нежелательные действия. К сожалению, из-за ряда проблем безопасности, которые были (и продолжают обнаруживаться) в верификаторе BPF, это привело к ряду высокоприоритетных уязвимостей в ядре, которые позволяют непривилегированному пользователю повысить свои привилегии до root, путем загрузки программ BPF, которые обходят различные проверки в верификаторе BPF. В результате для Ubuntu 21.10 это значение по умолчанию было изменено, так что только привилегированные пользователи могут загружать программы BPF, но доверяющие системные администраторы могут разрешить непривилегированным пользователям также загружать программы BPF, изменив соответствующий параметр sysctl. Это изменение направлено на достижение баланса между повышенным удобством использования универсального BPF, а также с защитой системы от злоумышленников, которые стремятся использовать эту функцию для собственной выгоды, что в целом делает Ubuntu 21.10 более защищенным от атак этого типа.

Улучшенный статический анализ с GCC 11

Ubuntu широко признан самым популярным дистрибутивом Linux для разработчиков и используется командами разработчиков в более чем 100 странах в самых разных отраслях для создания ведущих в мире приложений и сервисов. Разработчики выбирают Ubuntu по многим причинам, включая беспрецедентную поддержку аппаратного и программного обеспечения, знакомство с общей платформой между средами разработки и производства и долгосрочную поддержку, предлагаемую Canonical. Однако еще одно дополнительное преимущество включает возможность для разработчиков поставлять более безопасный код, используя Ubuntu в качестве платформы разработки. Ubuntu 21.10 включает последнюю версию GCC, почтенного и де-факто компилятора C/C ++. В GCC 10 появилась возможность выполнять более интенсивные проверки статического анализа во время компиляции с помощью параметра командной строки -fanalyzer. В GCC 11 были добавлены дополнительные проверки для обнаружения дефектов, таких как попытка изменения строковых литералов или попытка сдвинуть тип на значение больше, чем оно может представлять, и, следовательно, вызвать переполнение. Разрабатывая Ubuntu 21.10 и разрешая использование этих функций, разработчики могут обнаруживать и, следовательно, поставлять более безопасный код, используя Ubuntu в качестве платформы разработки по своему выбору.

В целом, набор функций безопасности и дополнительные меры защиты, реализованные в Ubuntu 21.10, делают его самой безопасной версией Ubuntu на сегодняшний день. Они также участвуют в разработке Ubuntu 22.04 LTS, следующего долгосрочного поддерживаемого выпуска Ubuntu. Обновления безопасности и livepatching ядра для 22.04 LTS будут предоставляться в течение десяти лет через подписку Ubuntu Advantage, продолжая тестирование выпусков Ubuntu LTS, служащих наиболее безопасной основой для разработки и развертывания приложений и сервисов Linux.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x