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

Projekt Openwall opublikował wydanie modułu jądra LKRG 0.9.0 (Linux Kernel Runtime Guard), przeznaczonego do wykrywania i blokowania ataków oraz naruszeń integralności struktur jądra. Moduł może na przykład chronić przed nieautoryzowanymi zmianami w działającym jądrze i próbami zmiany uprawnień procesów użytkownika (wykrywając wykorzystanie exploitów). Moduł nadaje się zarówno do organizowania ochrony przed exploitami znanych już luk w jądrze Linuksa (na przykład w sytuacjach, gdy trudno jest zaktualizować jądro w systemie), jak i do przeciwdziałania exploitom dla jeszcze nieznanych luk. Kod projektu jest rozpowszechniany na licencji GPLv2.

Wśród zmian w nowej wersji:

  • Zapewniona jest kompatybilność z jądrami Linuksa od 5.8 do 5.12, a także stabilnymi jądrami 5.4.87 i nowszymi (z uwzględnieniem innowacji z jąder 5.8 i nowszych) oraz z jądrami od wersji RHEL do 8.4, przy zachowaniu wsparcia dla wszystkich wcześniej obsługiwanych wersji jądra, takie jak jądra z RHEL 7;
  • Dodano możliwość budowania LKRG nie tylko jako modułu zewnętrznego, ale także jako części drzewa jądra Linuksa, łącznie z jego włączeniem do obrazu jądra;
  • Dodano obsługę wielu dodatkowych konfiguracji jądra i systemu;
  • Naprawiono kilka istotnych błędów i niedociągnięć w LKRG;
  • Implementacja niektórych komponentów LKRG została znacznie uproszczona;
  • Wprowadzono zmiany mające na celu uproszczenie dalszej obsługi i debugowania LKRG;
  • Do testów LKRG dodano integrację z out-of-tree i mkosi;
  • Repozytorium projektu zostało przeniesione z BitBucket do GitHub i dodano ciągłą integrację przy użyciu GitHub Actions i mkosi, w tym sprawdzanie kompilacji i ładowanie LKRG do jąder wersji Ubuntu, a także do codziennych kompilacji najnowszych jąder głównych dostarczanych przez Projekt Ubuntu.

Kilku programistów, którzy nie byli wcześniej zaangażowani w projekt, wniosło bezpośredni wkład w tę wersję LKRG (poprzez żądania ściągnięcia w GitHub). W szczególności Boris Lukashev dodał możliwość budowania w ramach drzewa jądra Linuksa, a Witalij Czikunow z ALT Linux dodał integrację z mkosi i GitHub Actions.

Ogólnie rzecz biorąc, pomimo znaczących uzupełnień, po raz drugi z rzędu nieznacznie zmniejszono liczbę linii kodu LKRG (wcześniej zmniejszano ją także między wersjami 0.8 i 0.8.1).

W tej chwili pakiet LKRG na Arch Linux został już zaktualizowany do wersji 0.9.0, a wiele innych pakietów korzysta z najnowszych wersji LKRG git i prawdopodobnie wkrótce zostaną zaktualizowane do wersji 0.9.0 i nowszych.

Dodatkowo możemy odnotować niedawną publikację twórców Aurora OS (rosyjska modyfikacja Sailfish OS) na temat możliwego wzmocnienia LKRG przy użyciu ARM TrustZone.

Więcej informacji na temat LKRG można znaleźć w zapowiedzi wersji 0.8 i dyskusji, która się wtedy odbyła.

Źródło: opennet.ru

Dodaj komentarz