[Настройка Linux, Информационная безопасность] Linux. Как работает hardening
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Статья расскажет о том, как с помощью kconfig hardened check можно проверить настройку механизмов защиты ядра ОС Linux, которые используются для противодействия эксплойтам. На сегодняшний день данный инструмент, пожалуй, является одним из самых опасных инструментов нарушения разграничения доступа и функционирования ОС. Рассмотрим, какие основные параметры компиляции ядра и модули безопасности есть в официальном репозитории, а также попробуем выяснить, какие наборы механизмов применяются в различных дистрибутивах.Инструменты и источники для проведения исследованияИсследование ОС Linux будем традиционно проводить на базе исходного кода, который доступен в официальном репозитории. В качестве инструментов исследования будем использовать:
- Visual Studio Code;
- Python 3;
Python в этом случае необходим для построение иерархии директорий, которые содержат исходный код. Именно этот метод верхнеуровневого представления будет использован как основной для исследования.Подсистемы защитыГоловная боль любой ОС — разграничение доступа и уязвимости, которые приводят к повреждению памяти. Исторически сложилось так, что для создания ОС используются языки программирования, которые имеют определенные проблемы при неверной обработке памяти.В ОС Linux с точки зрения защиты от различных атак на разграничение доступа и эксплуатацию уязвимостей используют следующие механизмы:
- LSM фреймворк — механизм перехвата системных функций для обработки расширениями ядра Linux;
- KASLR — рандомизация адресного пространства ядра;
- HW-Vuln — митигации и патчи, которые используются против Hardware уязвимостей (Meltdown, Spectre, и т.д.);
- Параметризация сборки и запуска ядра. Большое количество работающих алгоритмов в ядре — это потенциальный вектор для атаки, поэтому здесь исходят из минимально необходимого функционала, который можно оставить и при этом максимально уменьшить возможности проведения атак.
Большая часть механизмов противодействия атакам на разграничение доступа и эксплуатации уязвимостей находится в разделе linux/security:
Здесь в явном виде представлены модули ядра, которые можно использовать для улучшения механизмов защиты. Есть только маленькая неприятность — некоторые модули из этой директории не могут быть совместимы. На сегодняшний день, к сожалению, нет метода использования сразу несколько модулей LSM. Поэтому предполагается, что тот, кто хочет собрать себе ядро для своей ОС, должен самостоятельно решить, что за модуль ему подойдет больше. Всего их 11 штук:
Например, модуль toyomo нельзя использовать с другими модулями. В директории "security" есть описания для защит от различных техник, которые позволяют проводить эксплуатацию уязвимостей. Например — min_addr. Этот механизм защиты, который резервирует адреса в оперативной памяти, которые находятся рядом с нулевым адресом. Сделано это для того, чтобы нельзя было использовать начальные страницы в оперативной памяти для хранения данных эксплойта. Часть остальных «противодействий» в ядре запускается только с использованием дополнительных опций запуска ядра и компиляции. Обнаружить эти данные можно в hardening конфиге. Вся информация предоставляется только как описание отдельных параметров.Выходит, что механизмы есть, но на выбор нужно собирать себе обойму самостоятельно. Это не удивительно, так как ядро Linux предоставляется для большого количества дистрибутивов, и поэтому разработчики отдельных дистрибутивов должны заниматься более тонкой настройкой. Давайте попытаемся выяснить, а что работает в конкретных дистрибутивах.Ubuntu и его механизмы защитыПопулярный дистрибутив, который используется и как сервер, и для десктопов. Проверять будем с помощью вот этого инструмента — kconfig hardened check. Инструмент проверяет текущую настройку ядра с точки зрения безопасности и демонстрирует, какие параметры были установлены при установке системы. Репозиторий постоянно обновляется, поэтому список подсистем защит и параметров компиляции ядра намного больше того, что мы смогли обнаружить при исследовании исходного кода. Репозиторий предоставляет скрипт на Python для проверки опций в уже собранном дистрибутиве. Стоит отметить, что без использования эталонного конфига, инструмент показывает информацию по дистрибутиву, не указывая, что есть. Он показывает, что желательно бы иметь в качестве установленных параметров. Запускать проверку можно так:kconfig-hardened-check -p X86_64 -c kspp-recommendations-x86-64.configВообще в репозитории есть 2 вида конфигов — обычный, который создан для конкретного дистрибутива, и рекомендуемый с точки зрения наибольшего количества безопасных опций. Ресурс kernsec характеризует KSSP конфиг как наиболее параноидальный с точки зрения колиества применяемых параметоров. Результат для Ubuntu Server 20.04:
29 опций, которые не используются или не найдены из 111. Не такой уж плохой результат. Особенно если учесть, что конфиг эталона — параноидальный.Debian и его механизмы защитыДля исследования Debian был выбран неофициальный дистрибутив Debian, а его модифкация — Kali Linux. Этот дистрибутив, который используют для тестирования на проникновение, посмотрим что у него у самого с параметрами безопасности:
Дистрибутив несмотря на то, что используется для узкого спектра задач все же содержит в себе достаточное количество опций и параметров ядра для противодействия атакам.Таким образом можно выяснять, как настроен тот дистрибутив, которым вы пользуетесь на базе ядра ОС Linux.
Прямо сейчас в OTUS открыт набор на новый поток курса "Administrator Linux. Basic", Приглашаем всех желающих на бесплатный вебинар, в рамках которого наши эксперты подробно расскажут о курсе, процессе обучения, а также карьерных перспективах в данной сфере.Записаться на вебинар.
===========
Источник:
habr.com
===========
Похожие новости:
- [Настройка Linux, Разработка под Android, Julia, Разработка под Linux, Смартфоны] Cosmo Communicator — возможно еще один Linux телефон
- [Информационная безопасность, CRM-системы, Управление персоналом, Софт] Контроль сотрудников: не сходите с ума
- [Информационная безопасность] Технические средства мониторинга ИБ
- [Информационная безопасность, Разработка под iOS, Гаджеты, Смартфоны] Apple закрыла активно используемую уязвимость нулевого дня в iPhone, iPad и Watch
- [Настройка Linux, *nix] Ставим Ubuntu из другого Linux/LiveCD
- [Информационная безопасность, Assembler, Реверс-инжиниринг, Хранение данных, CTF] Ломаем зашифрованный диск для собеседования от RedBalloonSecurity. Part 1
- [Open source, *nix] FOSS News №62 – дайджест материалов о свободном и открытом ПО за 22-28 марта 2021 года
- Выпуск дистрибутива 4MLinux 36.0
- [Настройка Linux, Работа с видео, IPTV, Видеотехника, DIY или Сделай сам] KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV
- Обновление Debian 10.9
Теги для поиска: #_nastrojka_linux (Настройка Linux), #_informatsionnaja_bezopasnost (Информационная безопасность), #_linux, #_ubuntu, #_debian, #_bezopasnost_linux (безопасность linux), #_blog_kompanii_otus (
Блог компании OTUS
), #_nastrojka_linux (
Настройка Linux
), #_informatsionnaja_bezopasnost (
Информационная безопасность
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 11:50
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Статья расскажет о том, как с помощью kconfig hardened check можно проверить настройку механизмов защиты ядра ОС Linux, которые используются для противодействия эксплойтам. На сегодняшний день данный инструмент, пожалуй, является одним из самых опасных инструментов нарушения разграничения доступа и функционирования ОС. Рассмотрим, какие основные параметры компиляции ядра и модули безопасности есть в официальном репозитории, а также попробуем выяснить, какие наборы механизмов применяются в различных дистрибутивах.Инструменты и источники для проведения исследованияИсследование ОС Linux будем традиционно проводить на базе исходного кода, который доступен в официальном репозитории. В качестве инструментов исследования будем использовать:
Здесь в явном виде представлены модули ядра, которые можно использовать для улучшения механизмов защиты. Есть только маленькая неприятность — некоторые модули из этой директории не могут быть совместимы. На сегодняшний день, к сожалению, нет метода использования сразу несколько модулей LSM. Поэтому предполагается, что тот, кто хочет собрать себе ядро для своей ОС, должен самостоятельно решить, что за модуль ему подойдет больше. Всего их 11 штук: Например, модуль toyomo нельзя использовать с другими модулями. В директории "security" есть описания для защит от различных техник, которые позволяют проводить эксплуатацию уязвимостей. Например — min_addr. Этот механизм защиты, который резервирует адреса в оперативной памяти, которые находятся рядом с нулевым адресом. Сделано это для того, чтобы нельзя было использовать начальные страницы в оперативной памяти для хранения данных эксплойта. Часть остальных «противодействий» в ядре запускается только с использованием дополнительных опций запуска ядра и компиляции. Обнаружить эти данные можно в hardening конфиге. Вся информация предоставляется только как описание отдельных параметров.Выходит, что механизмы есть, но на выбор нужно собирать себе обойму самостоятельно. Это не удивительно, так как ядро Linux предоставляется для большого количества дистрибутивов, и поэтому разработчики отдельных дистрибутивов должны заниматься более тонкой настройкой. Давайте попытаемся выяснить, а что работает в конкретных дистрибутивах.Ubuntu и его механизмы защитыПопулярный дистрибутив, который используется и как сервер, и для десктопов. Проверять будем с помощью вот этого инструмента — kconfig hardened check. Инструмент проверяет текущую настройку ядра с точки зрения безопасности и демонстрирует, какие параметры были установлены при установке системы. Репозиторий постоянно обновляется, поэтому список подсистем защит и параметров компиляции ядра намного больше того, что мы смогли обнаружить при исследовании исходного кода. Репозиторий предоставляет скрипт на Python для проверки опций в уже собранном дистрибутиве. Стоит отметить, что без использования эталонного конфига, инструмент показывает информацию по дистрибутиву, не указывая, что есть. Он показывает, что желательно бы иметь в качестве установленных параметров. Запускать проверку можно так:kconfig-hardened-check -p X86_64 -c kspp-recommendations-x86-64.configВообще в репозитории есть 2 вида конфигов — обычный, который создан для конкретного дистрибутива, и рекомендуемый с точки зрения наибольшего количества безопасных опций. Ресурс kernsec характеризует KSSP конфиг как наиболее параноидальный с точки зрения колиества применяемых параметоров. Результат для Ubuntu Server 20.04: 29 опций, которые не используются или не найдены из 111. Не такой уж плохой результат. Особенно если учесть, что конфиг эталона — параноидальный.Debian и его механизмы защитыДля исследования Debian был выбран неофициальный дистрибутив Debian, а его модифкация — Kali Linux. Этот дистрибутив, который используют для тестирования на проникновение, посмотрим что у него у самого с параметрами безопасности: Дистрибутив несмотря на то, что используется для узкого спектра задач все же содержит в себе достаточное количество опций и параметров ядра для противодействия атакам.Таким образом можно выяснять, как настроен тот дистрибутив, которым вы пользуетесь на базе ядра ОС Linux. Прямо сейчас в OTUS открыт набор на новый поток курса "Administrator Linux. Basic", Приглашаем всех желающих на бесплатный вебинар, в рамках которого наши эксперты подробно расскажут о курсе, процессе обучения, а также карьерных перспективах в данной сфере.Записаться на вебинар.
=========== Источник: habr.com =========== Похожие новости:
Блог компании OTUS ), #_nastrojka_linux ( Настройка Linux ), #_informatsionnaja_bezopasnost ( Информационная безопасность ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 11:50
Часовой пояс: UTC + 5