Wydanie modułu LKRG 0.7 zabezpieczającego przed wykorzystaniem luk w jądrze Linuksa

Projekt Openwalla opublikowany wydanie modułu jądra LKRG 0.7 (Linux Kernel Runtime Guard), który zapewnia wykrycie nieautoryzowanych zmian w działającym jądrze (sprawdzanie integralności) lub prób zmiany uprawnień procesów użytkownika (wykrywanie wykorzystania exploitów). Moduł nadaje się zarówno do organizacji ochrony przed znanymi już exploitami dla jądra Linuksa (na przykład w sytuacjach, gdy trudno jest zaktualizować jądro w systemie), jak i do przeciwdziałania exploitom dla jeszcze nieznanych luk. O funkcjach LKRG możesz przeczytać w pierwsze ogłoszenie projektu.

Wśród zmian w nowej wersji:

  • Kod został poddany refaktoryzacji, aby zapewnić obsługę różnych architektur procesorów. Dodano wstępne wsparcie dla architektury ARM64;
  • Zapewniona jest kompatybilność z jądrami Linuksa 5.1 i 5.2, a także jądrami zbudowanymi bez uwzględniania opcji CONFIG_DYNAMIC_DEBUG podczas budowania jądra,
    CONFIG_ACPI i CONFIG_STACKTRACE oraz z jądrami zbudowanymi z opcją CONFIG_STATIC_USERMODEHELPER. Dodano eksperymentalne wsparcie dla jąder z projektu grsecurity;

  • Logika inicjalizacji została znacząco zmieniona;
  • Moduł sprawdzający integralność ponownie włączył funkcję automatycznego mieszania i naprawił sytuację wyścigu w silniku Jump Label (*_JUMP_LABEL), która powoduje zakleszczenie podczas inicjalizacji w tym samym czasie, co zdarzenia ładowania lub rozładowywania innych modułów.
  • W kodzie wykrywania exploitów dodano nowe sysctl lkrg.smep_panic (domyślnie włączone) i lkrg.umh_lock (domyślnie wyłączone), dodano dodatkowe kontrole bitu SMEP/WP, logikę śledzenia nowych zadań w systemie zostało zmienione, przeprojektowano wewnętrzną logikę synchronizacji z zasobami zadań, dodano obsługę OverlayFS, umieszczoną na białej liście Ubuntu Apport.

Źródło: opennet.ru

Dodaj komentarz