Випуск Linux Kernel Runtime Guard 1.0: новини та огляд
Випуск версії 1.0 Linux Kernel Runtime Guard
Linux Kernel Runtime Guard (LKRG), який підтримується в рамках проекту Openwall, офіційно досяг версії 1.0, більше ніж через сім років після свого першого публічного релізу у 2018 році.
Що таке LKRG?
Якщо ви не знайомі з LKRG, це модуль ядра, який діє як шар безпеки для ядра Linux. Його головне завдання – моніторити ядро під час роботи та виявляти будь-які підозрілі чи небезпечні дії.
Захист від атак на ядро
Наприклад, якщо зловмисник намагається використати уразливість ядра, переписуючи облікові дані ядра або змінюючи пам’ять ядра, LKRG може виявити таку поведінку. Коли система знаходить аномалії, вона може записати їх, завершити порушуючий процес або вжити інші захисні заходи, залежно від конфігурації.
Основні зміни в новій версії LKRG
Від версії 0.9.9 до 1.0 було внесено кілька суттєвих змін. LKRG тепер підтримує останні основні версії ядер Linux, протестовані до 6.17-rc4. Були внесені зміни для Linux 6.13 та новіших, включаючи відмову від хуки для override_creds()
і revert_creds()
, а також розширення перевірок на переписування вказівників облікових даних для старіших ядер.
Покращення продуктивності та безпеки
Сумісність OverlayFS також була покращена, зокрема, для уникнення помилкових спрацьовувань під час роботи контейнерів на версіях 6.10 до 6.12. Крім того, кодова база тепер стала легшою, з приблизно на 2,400 рядків меншою, ніж раніше.
У контексті продуктивності, запити на тіньові дані для кожного процесу тепер виконуються без блокувань, а блокування тіньових даних було переглянуто з використанням тонших блокувань. Багато хуків були переключені з kretprobes на kprobes, що покращило надійність і швидкість, одночасно зменшивши повторюваний код. Перевірки порушень цілісності обгорнуті в unlikely()
, щоб зберегти гарячі маршрути чистими від непотрібного скидання кешу.
Більше того, LKRG 1.0 виправляє кілька умов гонки, включаючи ті, що стосуються фільтрів SECCOMP, валідації простору імен та змін sysctl. Також були вирішені помилкові спрацьовування, пов’язані з корупцією режиму seccomp на новіших ядрах. Додатково, LKRG покращив сумісність з Intel CET IBT та KCFI Clang на x86_64, хоча GCC залишається офіційно підтримуваним компілятором.
Оновлення та доступність
Інші помітні оновлення включають посилення збірок інструментів логування користувацького простору LKRG, кращу звітність про помилки та коригування тестування CI. Згідно з розробниками, тести тепер охоплюють Fedora з останніми основними ядрами, Ubuntu 24.04 LTS до 25.10 та спадковий CentOS 7, незважаючи на закінчення його життєвого циклу.
Оновлені пакети вже доступні через репозиторій Rocky Linux SIG/Security, а збірки для Rocky Linux 9.6 та 8.10 незабаром будуть випущені. Ці пакети також сумісні з іншими дистрибутивами Enterprise Linux, включаючи AlmaLinux та RHEL 8/9.
Більше інформації ви можете знайти на офіційному сайті LKRG та в офіційному оголошенні.