Випуск LKRG 0.7 для захисту від експлуатації вразливостей в ядрі Linux

Проект Openwall опублікував випуск модуля ядра LKRG 0.7 (Linux Kernel Runtime Guard), що забезпечує виявлення несанкціонованого внесення змін до працюючого ядра (перевірка цілісності) або спроб зміни повноважень процесів користувача (визначення застосування експлоїтів). Модуль підходить як для організації захисту від вже відомих експлоїтів для ядра Linux (наприклад, у ситуаціях, коли в системі проблематично оновити ядро), так і для протистояння експлоїтам для ще невідомих уразливостей. Про особливості LKRG можна прочитати в першому анонсі проекту.

Серед змін у новій версії:

  • Проведено рефакторинг коду для забезпечення підтримки різних архітектур CPU. Додано початкову підтримку архітектури ARM64;
  • Забезпечено сумісність з ядрами Linux 5.1 та 5.2, а також ядрами, зібраними без включення під час складання ядра опцій CONFIG_DYNAMIC_DEBUG,
    CONFIG_ACPI та CONFIG_STACKTRACE, та з ядрами зібраними з опцією CONFIG_STATIC_USERMODEHELPER. Додано експериментальну підтримку ядер від проекту grsecurity;

  • Значно змінено логіку ініціалізації;
  • У підсистемі перевірки цілісності повторно включено самохешування (self-hashing) та усунено стан гонки в движку міток переходу (*_JUMP_LABEL), що призводить до взаємного блокування при ініціалізації одночасно з подіями завантаження або вивантаження інших модулів;
  • У коді визначення застосування експлоїтів додано нові sysctl lkrg.smep_panic (за замовчуванням увімкнено) та lkrg.umh_lock (за замовчуванням вимкнено), додано додаткові перевірки біта SMEP/WP, змінено логіку відстеження нових завдань у системі, перероблено внутрішню логіку синхронізації. додано підтримку OverlayFS, поміщений у білий список Ubuntu Apport.

Джерело: opennet.ru

Додати коментар або відгук