Карта Безопасности Ядра Linux

Безопасность ядра Linux — очень сложная предметная область.

Он включает в себя большое количество сложных взаимосвязанных понятий, и было бы полезно иметь его графическое представление.

Поэтому я разработал Карта безопасности ядра Linux .

Вот легенда:

Карта безопасности ядра Linux

Итак, на карте присутствуют следующие объекты:

  • классы уязвимости;
  • методы их использования для проведения атак;
  • механизмы обнаружения ошибок;
  • технологии защиты.

В свою очередь, основные технологии защиты неоднородны.

Некоторые из них включены в стандартное ядро Linux, другие по разным причинам поставляются отдельно (например, существуют коммерческие инструменты безопасности).

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

Таким образом, тема безопасности ядра Linux достаточно обширна, и разработанная карта помогает в ее изучении и анализе.

Каждая линия, соединяющая объекты на карте, указывает на их взаимное влияние, суть которого следует уточнить в документации.

Этот принцип можно проиллюстрировать на фрагменте общей карты.

На рисунке 1 показаны свойства безопасности технологии STACKLEAK.

Карта безопасности ядра Linux

Диаграмма 1. Защитные свойства технологии STACKLEAK PAX_MEMORY_STACKLEAK — это коммерческая технология безопасности ядра Linux, которая предотвращает эксплуатацию следующих типов уязвимостей: переполнение глубины стека, использование неинициализированных переменных и утечку информации в пользовательском пространстве.

Карта содержит идентификаторы этих классов уязвимостей (CWE, Common Weakness Enumeration).

Технологии СТЕКЛИК был введен в ядро ванильного Linux, что отражено на диаграмме.

Также имеется механизм отладки KMSAN, позволяющий обнаружить использование неинициализированных переменных и утечку информации в пользовательское пространство при тестировании ядра.

Стоит отметить, что данная карта не решает вопрос уменьшения периметра атаки ядра.

По сути, отключение практически любого функционала, уменьшающего размер исполняемого файла, также уменьшает периметр атаки.

И в этом проекте основное внимание уделяется функциям безопасности, обеспечивающим самозащиту ядра Linux от эксплуатации уязвимостей.

На диаграмме 2 показана полная карта для ядра версии 5.1 (нажмите на изображение, чтобы открыть его в полном размере).



Карта безопасности ядра Linux

Диаграмма 2. Карта безопасности ядра Linux v5.1 Карта постоянно развивается и требует обновления как минимум в каждом выпуске ядра.

Поэтому удобно иметь исходный код в текстовом виде и хранить его в системе контроля версий.

Кроме того, чтобы избежать необходимости вручную расставлять объекты с минимальным количеством пересечений, для создания карты был выбран язык DOT, а диаграмма автоматически генерируется пакетом GraphViz с помощью следующей команды:

   

dot -Tsvg linux-kernel-defence-map.dot -o linux-kernel-defence-map.svg

Карта безопасности ядра Linux — это проект с открытым исходным кодом, лицензированный по лицензии GPL v3.0. Репозиторий находится на GitHub .

Этот проект чрезвычайно полезен для:

  • мониторинг текущего состояния безопасности ядра,
  • разработка моделей IP-угроз на базе GNU/Linux,
  • выбор соответствующих средств защиты.

Кроме того, Карта безопасности ядра Linux призвана помочь вам изучить исходный код, документацию и другие источники информации по этой теме: А для автоматизации проверки параметров безопасности в файле конфигурации ядра Linux я создал проект kconfig-hardened-check , который активно развивается за счет открытой командной работы.

Утилита поддерживает архитектуры x86_64, Arm64, x86_32 и Arm. Приглашаю вас принять участие в разработке Карты безопасности ядра Linux и коммунальные услуги kconfig-hardened-check .

Теги: #информационная безопасность #разработка Linux #безопасность #ядро Linux #Системное программирование #ядро Linux #взлом

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.