Проект по продвижению в ядро Linux новых технологий активной защиты

6 ноября 2015 года

Кес Кук (Kees Cook), бывший главный сисадмин kernel.org и лидер Ubuntu Security Team, ныне работающий в компании Google над обеспечением защиты ChromeOS, объявил о создании проекта Kernel Self Protection Project, в рамках которого планируется сформировать сообщество для развития и продвижения в основное ядро Linux технологий активной защиты, большинство из которых уже подготовлены в рамках проектов PaX и Grsecurity. Финансирование и ресурсы для проведения работ будут предоставлены организацией Linux Foundation и участниками программы Core Infrastructure Initiative.

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

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

Более того, жизненный цикл уязвимостей в ядре достаточно велик и проблемы могут всплывать лишь спустя годы после своего появления. Используя методы статического анализа и fuzzing-тестирования злоумышленники имеют возможность выявлять проблемы до их обнаружения и исправления разработчиками ядра.

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

Среди возможностей активной защиты, которые рассматриваются для добавления в первую очередь, отмечаются использование gcc-плагинов и патчей PAX_SIZE_OVERFLOW, PAX_REFCOUNT, PAX_USERCOPY, GRKERNSEC_KSTACKOVERFLOW, PAX_MEMORY_STACKLEA, PAX_CONSTIFY_PLUGIN, GRKERNSEC_HIDESYM, PAX_KERNEXEC и PAX_MEMORY_UDEREF. Из желательных для блокирования методов эксплуатации выделяются определение размещения ядра в памяти, перезапись текста, перезапись указателей на функции, вклинивание в цепочку выполнения, инициирование из ядра выполнения кода в пространстве пользователя и доступа к данным в пространстве пользователя.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Проект по продвижению в ядро Linux новых технологий активной защиты», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.