Средства защиты ядра linux

Карта средств защиты ядра Linux

Защита ядра Linux — очень сложная предметная область. Она включает большое количество сложно взаимосвязанных понятий, и было бы полезным иметь ее графическое представление. Поэтому я разработал карту средств защиты ядра Linux. Вот легенда:

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

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

Таким образом, тема безопасности ядра Linux достаточно обширна, и разработанная карта помогает в ее изучении и анализе. Каждая линия, соединяющая объекты на карте, обозначает их взаимное влияние, суть которого следует выяснять в документации. Данный принцип может быть проиллюстрирован на фрагменте общей карты. На схеме 1 представлены свойства безопасности технологии STACKLEAK.

Схема 1. Свойства безопасности технологии STACKLEAK

PAX_MEMORY_STACKLEAK — это коммерческая технология защиты ядра Linux, противодействующая эксплуатации следующих типов уязвимостей: переполнение стека в глубину, использование неинициализированных переменных и утечка информации в пользовательское пространство. Карта содержит идентификаторы данных классов уязвимостей (CWE, Common Weakness Enumeration).

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

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

На схеме 2 представлена полная карта для ядра версии 5.1 (по клику изображение откроется в полном размере).

Схема 2. Карта средств защиты ядра Linux v5.1

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

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

Карта средств защиты ядра Linux — это открытый проект, лицензированный согласно GPL v3.0. Репозиторий расположен на GitHub. Данный проект крайне полезен для:

  • отслеживания актуального состояния безопасности ядра,
  • разработки моделей угроз ИС на базе GNU/Linux,
  • выбора соответствующих средств защиты.
Читайте также:  Доступ через ssh linux

Источник

Карта средств защиты ядра Linux

Защита ядра Linux — очень сложная предметная область. Она включает большое количество сложно взаимосвязанных понятий, и было бы полезным иметь ее графическое представление. Поэтому я разработал карту средств защиты ядра Linux . Вот легенда:

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

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

Таким образом, тема безопасности ядра Linux достаточно обширна, и разработанная карта помогает в ее изучении и анализе. Каждая линия, соединяющая объекты на карте, обозначает их взаимное влияние, суть которого следует выяснять в документации. Данный принцип может быть проиллюстрирован на фрагменте общей карты. На схеме 1 представлены свойства безопасности технологии STACKLEAK.

Схема 1. Свойства безопасности технологии STACKLEAK

PAX_MEMORY_STACKLEAK — это коммерческая технология защиты ядра Linux, противодействующая эксплуатации следующих типов уязвимостей: переполнение стека в глубину, использование неинициализированных переменных и утечка информации в пользовательское пространство. Карта содержит идентификаторы данных классов уязвимостей (CWE, Common Weakness Enumeration).

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

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

На схеме 2 представлена полная карта для ядра версии 5.1 (по клику изображение откроется в полном размере).

Схема 2. Карта средств защиты ядра Linux v5.1

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

dot -Tpng linux-kernel-defence-map.dot -o linux-kernel-defence-map.png

Карта средств защиты ядра Linux — это открытый проект, лицензированный согласно GPL v3.0. Репозиторий расположен на GitHub . Данный проект крайне полезен для:

  • отслеживания актуального состояния безопасности ядра,
  • разработки моделей угроз ИС на базе GNU/Linux,
  • выбора соответствующих средств защиты.
Читайте также:  Ntfs filesystem check linux

Как обезопасить свой смартфон от СЛЕДЯЩИХ ПРИЛОЖЕНИЙ ? Присоединяйтесь к нашему ТГ каналу и ваш смартфон станет вашим оружием.

Источник

Оцените статью
Adblock
detector