Выпуск модуля LKRG 0.6 для защиты от эксплуатации уязвимостей в ядре Linux

20 февраля 2019 года

Проект Openwall опубликовал выпуск модуля ядра LKRG 0.6 (Linux Kernel Runtime Guard), обеспечивающего выявление несанкционированного внесения изменений в работающее ядро (проверка целостности) или попыток изменения полномочий пользовательских процессов (определение применения эксплоитов). Модуль подходит как для организации защиты от уже известных эксплоитов для ядра Linux (например, в ситуациях когда в системе проблематично обновить ядро), так и для противостояния эксплоитам для ещё неизвестных уязвимостей. Об особенностях LKRG можно прочитать в первом анонсе проекта.

В новой версии для systemd подготовлен unit-файл для инициализации LKRG на начальной стадии загрузки, а также предложены сборочные опции для его установки и удаления. В подсистеме проверки целостности переработана поддержка меток перехода ( *_JUMP_LABEL) и обеспечена защита битов SMEP (Supervisor Mode Execution Prevention, 20 бит в регистре CR4) и WP (Write Protect, 16 бит в регистре CR0) для систем с архитектурой x86.

В коде определения применения эксплоитов при помощи pCFI (вариант Control Flow Integrity) реализована защита против эксплуатации через непреднамеренный вызов функций ядра в качестве ROP-гаджетов. Интерфейс usermodehelper ограничен запуском приложений из белого списка. pCFI позволил блокировать оба ранее опубликованных метода обхода LKRG из специально модифицированных эксплойтов, тогда как ограничение usermodehelper само по себе также блокировало бы один из них.

Для исключения ложных срабатываний обеспечено замораживание всех пользовательских процессов во время инициализации LKRG. Решены проблемы со сборкой в ядрах Linux 4.17+ при выключении опции CONFIG_ARCH_HAS_SYSCALL_WRAPPER.

Источники

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

Комментарии

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