Az LKRG 1.0.0 kiadása a Linux kernel sebezhetőségeinek kihasználása ellen.

Az Openwall projekt kiadta az LKRG 1.0.0 kernel modult (Linux Kernel Runtime Guard), amely a kernel struktúrák integritásának ellenőrzésére és a kernel sebezhetőségeivel való visszaélések megakadályozására szolgál. Megjegyzik, hogy az 1.0.0-ás verziószám kiadása a projekt érett állapotának elérését jelzi. A projekt kódja GPLv2 licenc alatt van terjesztve.

A modul a következőkhöz megfelelő: támadások ellen., amelyek már ismert Linux kernel sebezhetőségeivel manipulálnak, és a még ismeretlen sebezhetőségek kihasználásával szembeni védekezéshez is, ha nem alkalmaznak speciális intézkedéseket a LKRG megkerülésére. A védelem a működő kernelben végrehajtott jogosulatlan módosítások észlelésére (integritásellenőrzés) és a felhasználói folyamatok jogosultságainak módosulásainak nyomon követésére (exploitok alkalmazásának meghatározása) alapoz.

Az integritásellenőrzés a legfontosabb memóriaterületek és kerneltáblázatok, például az IDT (Interrupt Descriptor Table), MSR, rendszerhívási táblák, minden eljárás és függvény, megszakító kezelők, betöltött modulok listája, a modulok '.text' szekciójának tartalma és a folyamatok attribútumainak hash-értékeinek összehasonlítása alapján történik. Az ellenőrzési eljárás időzítő alapján vagy bizonyos kernel események bekövetkeztekor, például setuid, setreuid, fork, exit, execve és do_init_module rendszerhívások végrehajtásakor aktiválódik.

Az exploitok lehetséges felhasználásának meghatározása és a támadások blokkolása a kernelhez való erőforrás-hozzáférés megengedése előtt történik (például fájl megnyitása előtt), de a folyamat jogosulatlan jogosultságainak megszerzése után (például UID megváltoztatása). Ha jogosulatlan viselkedést észlelnek a folyamatokban, azok kényszerített leállítása történik, amely elegendő a sok exploit blokkolásához. A modul működésének költségei 2-2,5% körüli értékre tehetők.

Támogatott rendszerek x86-64, AArch64 (ARM64), ARM32 és x86 architektúrával. Az LKRG 1.0.0 működését különböző disztribúciókból származó kernellel tesztelték, kezdve a 3.10-es kerneltől az RHEL/CentOS 7-ből, egészen a Fedora 44 kiadási előkészítés alatt álló 6.17-rc4-ig. A csomagok elérhetők az ALT Linux, Arch Linux, Astra Linux, Gentoo, Guix, NixOS, Rocky Linux, Whonix, Yocto és OpenBMC disztribúciókhoz. A Rocky Linux-ra összeállított csomagok felhasználhatók az RHEL 8/9 és az abból származó disztribúciókhoz, például AlmaLinux 8/9-hez, míg a Whonix csomagok Debianban és Ubuntu-ban használhatók.

Az új verzióban található változások:

  • A Linux kernel compatibility is ensured up to the release 6.17-rc4.
  • With kernels starting from 6.13, the interception of remote calls override_creds() and revert_creds() has been disabled, which limited the detection of attacks that override the cred pointer. Attempts to compensate for these restrictions were made by adding checks for rewrites of the cred pointer in other parts of the kernel.
  • Excessive tracking of credentials for which integrity checks are not performed has been discontinued. This change allowed for a reduction in the codebase by approximately 1500 lines.
  • Support has been added for a mechanism introduced in Linux kernel 6.10 to create temporary files in the OverlayFS filesystem using the O_TMPFILE option (ovl_tmpfile). This support is necessary to prevent false triggers when using isolated containers on systems with kernels 6.10-6.12.
  • For x86_64 systems, support for Intel CET (Control-flow Enforcement Technology) has been added to protect executable code using IBT (indirect branch tracking) instructions, as well as software protection kCFI (kernel Control Flow Integrity) to block disruptions in the normal execution order (control flow) resulting from exploits altering in-memory function pointers.
  • For connecting many handlers, the kprobes mechanism has been used instead of kretprobes, simplifying the hook setup code and achieving higher performance.
  • The handling of data locks in the kernel specific to the process (per-task shadow data) has been reworked. By eliminating unnecessary locks, the performance of accessing such data has been improved.
  • Errors that led to race conditions, integrity check problems, and false triggers have been eliminated.
  • Support for building with Clang has been improved.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster