Vydanie LKRG 1.0.0 na ochranu pred zraniteľnosťami jadra Linux

Projekt Openwall vydal modul jadra LKRG 1.0.0 (Linux Kernel Runtime Guard (Kernel Runtime Guard) je navrhnutý tak, aby overoval integritu štruktúr jadra a detekoval pokusy o zneužitie zraniteľností jadra. Vydanie verzie 1.0.0 predstavuje zrelosť projektu. Kód projektu je distribuovaný pod licenciou GPLv2.

Modul je vhodný pre obe ochrana pred útokmi, manipulácia s už známymi zraniteľnosťami v jadre Linux, aby čelili exploitom, ktoré zneužívajú predtým neznáme zraniteľnosti, pokiaľ nepoužívajú špeciálne opatrenia na obídenie LKRG. Ochrana je založená na detekcii neoprávnených zmien v bežiacom jadre (kontrola integrity) a monitorovaní zmien v oprávneniach používateľských procesov (detekcia exploitov).

Kontrola integrity sa vykonáva na základe porovnania hashov vypočítaných pre najdôležitejšie oblasti pamäte a dátové štruktúry jadra, ako sú IDT (Interrupt Descriptor Table), MSR, tabuľky systémových volaní, všetky procedúry a funkcie, obslužné programy prerušení, zoznamy načítaných modulov, obsah sekcie „.text“ modulov a atribúty procesov. Kontrolná procedúra sa aktivuje periodicky časovačom alebo pri výskyte určitých udalostí v jadre, napríklad pri vykonávaní systémových volaní setuid, setreuid, fork, exit, execve a do_init_module.

Identifikácia možných exploitov a blokovanie útokov sa vykonáva vo fáze predtým, ako jadro udelí prístup k zdrojom (napríklad pred otvorením súboru), ale po tom, čo proces získal neoprávnené privilégiá (napríklad zmena UID). Pri zistení neoprávneného správania procesov sú tieto násilne ukončené, čo stačí na zablokovanie mnohých exploitov. Režijné náklady modulu sa odhadujú na 2 – 2.5 %.

Medzi podporované architektúry patria x86-64, AArch64 (ARM64), ARM32 a x86. LKRG 1.0.0 bol testovaný s jadrami z rôznych distribúcií, počnúc jadrom 3.10 z RHEL.CentOS 7 a končiac 6.17-rc4 z repozitára, kde sa pripravuje vydanie Fedory 44. Balíky sú dostupné pre ALT distribúcie. Linux, Oblúk Linux, Astra Linux, Gentoo, Guix, NixOS, Rocky Linux, Whonix, Yocto a OpenBMC. Zozbierané pre Rocky Linux Balíky je možné použiť v RHEL 8/9 a odvodených distribúciách, ako napríklad AlmaLinux 8/9 a balíčky pre Whonix v Debian и Ubuntu.

Medzi zmeny v novej verzii:

  • Kompatibilita s jadrami je zaručená Linux až do verzie 6.17-rc4.
  • Pri použití s ​​jadrami od verzie 6.13 bolo zastavené zachytávanie vzdialených volaní funkcií override_creds() a revert_creds(), čo obmedzilo detekciu útokov, ktoré predefinujú ukazovateľ cred. Boli vykonané pokusy kompenzovať tieto obmedzenia pridaním kontrol na prepísanie ukazovateľa cred inde v jadre.
  • Zastavené nadmerné sledovanie prihlasovacích údajov, ktoré neboli skontrolované. Zmena znížila kódovú základňu približne o 1500 riadkov.
  • Pridaná podpora pre to, čo sa objavilo v jadre Linux Mechanizmus verzie 6.10 na vytváranie dočasných súborov v súborovom systéme OverlayFS pomocou možnosti O_TMPFILE (ovl_tmpfile). Táto podpora je nevyhnutná na zabránenie falošným poplachom, ku ktorým dochádza pri používaní izolovaných kontajnerov na systémoch s jadrami verzií 6.10 – 6.12.
  • Pre systémy x86_64 bola pridaná podpora pre technológiu Intel CET (Control-flow Enforcement Technology) na ochranu spustiteľného kódu pomocou inštrukcií IBT (indirect branch tracking), ako aj softvérovú ochranu kCFI (kernel Control Flow Integrity) na blokovanie narušení normálneho poradia vykonávania (riadiaceho toku) v dôsledku použitia exploitov, ktoré menia ukazovatele na funkcie uložené v pamäti.
  • Na pripojenie viacerých obslužných programov sa namiesto kretprobes používa mechanizmus kprobes, ktorý zjednodušuje kód na inštaláciu hookov a umožňuje dosiahnuť vyšší výkon.
  • Spracovanie zámkov dát špecifických pre procesy (zámkov) v jadre (tieňové dáta pre každú úlohu) bolo prepracované. Odstránením nepotrebných zámkov bolo možné zvýšiť výkon pri prístupe k takýmto dátam.
  • Opravené chyby, ktoré spôsobovali súbeh, problémy s kontrolou integrity a falošne pozitívne výsledky.
  • Vylepšená podpora pre stavanie pomocou Clangu.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster