Projekt Openwall wydanie modułu jądra (Linux Kernel Runtime Guard), zapewniającego wykrywanie nieautoryzowanych zmian w działającym jądrze (sprawdzanie integralności) lub prób zmiany uprawnień procesów użytkowników (określenie wykorzystania exploitów). Moduł nadaje się zarówno do ochrony przed już znanymi exploitami dla jądra Linux (na przykład w sytuacjach, gdy w systemie trudno jest zaktualizować jądro), jak i do przeciwdziałania exploitom dla jeszcze nieznanych luk. O cechach LKRG można przeczytać w .
Wśród zmian w nowej wersji:
- Przeprowadzono refaktoryzację kodu w celu zapewnienia wsparcia dla różnych architektur CPU. Dodano początkowe wsparcie dla architektury ARM64;
- Zapewniono zgodność z jądrami Linux 5.1 i 5.2 oraz z jądrami skompilowanymi bez włączania opcji CONFIG_DYNAMIC_DEBUG przy kompilacji jądra,
CONFIG_ACPI i CONFIG_STACKTRACE, oraz z jądrami skompilowanymi z opcją CONFIG_STATIC_USERMODEHELPER. Dodano eksperymentalne wsparcie dla jąder z projektu grsecurity; - Znacznie zmieniono logikę inicjalizacji;
- W podsystemie weryfikacji integralności ponownie włączono samohaszowanie (self-hashing) i usunięto stan wyścigu w silniku etykiet przejściowych (*_JUMP_LABEL), co prowadziło do wzajemnego blokowania podczas inicjalizacji jednocześnie z wydarzeniami ładowania lub wyładowania innych modułów;
- W kodzie definiującym wykorzystanie exploitów dodano nowe sysctl lkrg.smep_panic (domyślnie włączony) oraz lkrg.umh_lock (domyślnie wyłączony), dodano dodatkowe kontrole bitu SMEP/WP, zmieniono logikę śledzenia nowych zadań w systemie, przemyślano wewnętrzną logikę synchronizacji z zasobami zadań, dodano wsparcie dla OverlayFS, umieszczono w białej liście Ubuntu Apport.
Źródło: opennet.ru
