LKRG, модуль, призначений для виявлення та блокування атак та порушень в ядрі Linux

Проект Openwall випустив випуск модуля ядра LKRG 0.8 (Захист виконання ядра Linux), призначений для виявлення та блокування атак y порушення цілісності основних конструкцій.

Модуль він підходить як для організації захисту від уже відомих подвигів для ядра Linux (наприклад, у ситуаціях, коли оновлення ядра в системі є проблематичним), що стосується протидії подвигам щодо невідомих вразливостей.

Що нового LKRG 0.8?

У цій новій версії позиціонування проекту LKRG було змінено, що робитигодина не поділяється на окремі підсистеми для перевірки цілісності та визначення використання подвигів, але він представлений як цілісний продукт виявляти напади та різні порушення цілісності;

Щодо сумісності цієї нової версії, ми можемо виявити, що він сумісний з ядрами Linux з 5.3 по 5.7а також ядра, скомпільовані з агресивною оптимізацією GCC, без опцій CONFIG_USB та CONFIG_STACKTRACE або з опцією CONFIG_UNWINDER_ORCа також з ядрами, де немає функцій, перехоплених LKRG, якщо ви можете обійтися без них.

На додаток до додавання експериментальна підтримка 32-розрядних ARM-платформ (протестовано на Raspberry Pi 3 Model B), тоді як для попередньої доступної підтримки AArch64 (ARM64) доповнюється сумісністю з Raspberry Pi 4.

Крім того, додано нові гачки, які включають обробник викликів "hook ()" для кращого виявлення вразливостей, якими маніпулюють "можливості", а не ідентифікатори процесів.

У системах x86-64 біт SMAP перевіряється та застосовується (Запобігання доступу в режимі нагляду), dпризначений для блокування доступу до даних у просторі користувача з привілейованого коду, що виконується на рівні ядра. Захист SMEP (Supervisor Mode Execution Prevention) був впроваджений раніше.

Це було підвищена масштабованість бази даних відстеження процесів: замість одного дерева RB, захищеного спінклоком, задіяна хеш-таблиця з 512 дерев RB, захищена 512 блокуванням читання та запису відповідно;

Введено та ввімкнено режим за замовчуванням, у котрому перевірка цілісності ідентифікаторів Обробка часто виконується лише для поточного завдання, а також необов’язково для запущених завдань (пробудження). Для інших завдань, які перебувають у призупиненому стані або функціонують без LKRG-контрольованого виклику API ядра, перевірка виконується рідше.

На додаток до Файл systemd unit перероблений завантажувати модуль LKRG на ранній стадії завантаження (опція командного рядка ядра може бути використана для відключення модуля);

Під час компіляції було перевірено деякі обов’язкові налаштування ядра CONFIG_ *, щоб генерувати значущі повідомлення про помилки, а не неясні помилки.

З інших змін, які виділяються в цій новій версії:

  • Додана підтримка режимів очікування (ACPI S3, призупинення до оперативної пам'яті) та призупинення (S4, призупинення до диска).
  • Додана підтримка DKMS у Makefile.
  • Пропонується нова логіка для визначення спроб вийти з обмежень простору імен (наприклад, з контейнерів Docker).
  • У процесі конфігурація LKRG розміщується на сторінці пам'яті, як правило, лише для читання.
  • Вихід до журналів інформації, яка може бути найбільш корисною для атак (наприклад, інформація про адресу в ядрі), обмежений режимом налагодження (log_level = 4 і вище), який за замовчуванням вимкнено.
  • Для налаштування LKRG були додані нові параметри sysctl та модуля, а також два sysctl для спрощеної конфігурації, вибираючи з профілів, підготовлених розробниками.
  • Налаштування за замовчуванням змінюються для досягнення більш збалансованого балансу між швидкістю виявлення порушень та ефективністю реакції, з одного боку, та впливом на продуктивність та ризиком помилкових спрацьовувань з іншого.
  • Відповідно до оптимізацій, запропонованих у новій версії, зниження продуктивності при застосуванні LKRG 0.8 оцінюється у 2.5% у режимі за замовчуванням ("важкий") та 2% у легкому режимі ("легкий").

Якщо ви хочете дізнатися більше про це, ви можете проконсультуватися деталі тут. 


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.