Udgivelsen af LKRG 1.0.0 til beskyttelse mod udnyttelse af sårbarheder i Linux-kernen.

Openwall-projektet har offentliggjort LKRG 1.0.0 (Linux Kernel Runtime Guard), en kerne-modul designet til at kontrollere integriteten af kerne-strukturer og opdage forsøg på udnyttelse af sårbarheder i kernen. Det bemærkes, at tildelingen af versionsnummeret 1.0.0 markerer projektets modne tilstand. Koden til projektet distribueres under GPLv2-licensen.

Modulet er velegnet til både beskyttelse imod angreb, som manipulerer allerede kendte sårbarheder i Linux-kernen, samt til at modstå exploits, der udnytter endnu ukendte sårbarheder, hvis der ikke anvendes særlige foranstaltninger til at omgå LKRG. Beskyttelsen er baseret på at opdage uautoriseret ændring af den operationelle kerne (integritetskontrol) og overvågning af ændringer i brugerprocessers rettigheder (bestemmelse af anvendelse af exploits).

Integritetskontrollen udføres baseret på sammenligning af hashes, der beregnes for de mest kritiske hukommelsesområder og data-strukturer i kernen, såsom IDT (Interrupt Descriptor Table), MSR, systemopkalds-tabeller, alle procedurer og funktioner, interrupt-håndterere, lister over indlæste moduler, indholdet af sektionen “.text” i moduler og process-attributter. Kontrollproceduren aktiveres periodisk via en timer eller ved bestemte hændelser i kernen, for eksempel ved udførelse af systemopkald som setuid, setreuid, fork, exit, execve og do_init_module.

Bestemmelse af mulig anvendelse af exploits og blokering af angreb sker i fasen før kernen giver adgang til ressourcer (for eksempel før åbning af en fil), men efter at processen har fået uautoriserede rettigheder (for eksempel ændring af UID). Når der opdages uautoriseret adfærd fra processer, gennemføres en tvungen afslutning af dem, hvilket er tilstrækkeligt til at blokere mange exploits. Omkostningerne ved modulens drift vurderes til 2-2,5%.

Der understøttes drift på systemer med arkitekturerne x86-64, AArch64 (ARM64), ARM32 og x86. Funktionaliteten af LKRG 1.0.0 er testet med kerner fra forskellige distributioner, der spænder fra kernel 3.10 fra RHEL/CentOS 7 til 6.17-rc4 fra det repository, hvor Fedora 44's releaseforberedelse foregår. Pakkerne er tilgængelige for distributioner som ALT Linux, Arch Linux, Astra Linux, Gentoo, Guix, NixOS, Rocky Linux, Whonix, Yocto og OpenBMC. Pakkerne, der er samlet til Rocky Linux, kan bruges i RHEL 8/9 og afledte distributioner som AlmaLinux 8/9, mens pakker til Whonix kan anvendes i Debian og Ubuntu.

Blandt ændringerne i den nye version:

  • Understøttelse af Linux-kerner op til version 6.17-rc4.
  • Ved brug med kerner fra version 6.13 er opfangning af remote calls override_creds() og revert_creds() stoppet, hvilket begrænsede identifikationen af angreb, der omgår cred-pegeren. Behovet for denne begrænsning blev forsøgt kompenseret med tilføjelse af checks for overskrivning af cred-pegeren andre steder i kernen.
  • Overflødig sporing af legitimationsoplysninger, som ikke er omfattet af integritetskontrol, er blevet stoppet. Ændringen har reduceret kodebasen med omkring 1500 linjer.
  • Tilføjet support for mekanismen, der blev introduceret i Linux-kerne 6.10, til at oprette midlertidige filer i filsystemet OverlayFS vha. O_TMPFILE-optionen (ovl_tmpfile). Denne støtte er nødvendig for at forhindre falske alarmer, der optræder ved brug af isolerede containere på systemer med kerner fra version 6.10 til 6.12.
  • For x86_64-systemer er støtte til Intel CET (Control-flow Enforcement Technology) tilføjet med det formål at beskytte eksekverbar kode ved hjælp af IBT-instruktioner (indirect branch tracking), samt programbeskyttelse kCFI (kernel Control Flow Integrity) for at blokere for brud på den normale kontrolfloworden som følge af udnyttelse, der ændrer funktionspegerne i hukommelsen.
  • I stedet for kretprobes anvendes mekanismen kprobes til at tilslutte mange håndterere, hvilket forenkler koden til opsætning af hooks og muliggør højere ydeevne.
  • Arbejdet med data-locking i kernen, der er specifik for processen (per-task shadow data), er blevet redesignet. Ved at fjerne unødvendige låsninger er det lykkedes at forbedre adgangen til sådanne data.
  • Fejl, der førte til race-tilstande, problemer med integritetskontrol og falske alarmer, er blevet rettet.
  • Understøttelsen af bygninger ved hjælp af Clang er blevet forbedret.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster