Versioni LKRG 1.0.0 për t'u mbrojtur nga dobësitë e bërthamës Linux

Projekti Openwall ka publikuar modulin e kernelit LKRG 1.0.0 (Linux Kernel Runtime Guard (Kernel Runtime Guard) është projektuar për të verifikuar integritetin e strukturave të kernelit dhe për të zbuluar përpjekjet për të shfrytëzuar dobësitë e kernelit. Lëshimi i versionit 1.0.0 shënon pjekurinë e projektit. Kodi i projektit shpërndahet sipas licencës GPLv2.

Moduli është i përshtatshëm për të dyja mbrojtje nga sulmet, duke manipuluar dobësitë tashmë të njohura në kernel Linux, për të kundërshtuar shfrytëzimet që shfrytëzojnë dobësitë e panjohura më parë, përveç nëse ato përdorin masa të posaçme për të anashkaluar LKRG. Mbrojtja bazohet në zbulimin e ndryshimeve të paautorizuara në bërthamën në funksionim (kontrollimi i integritetit) dhe monitorimin e ndryshimeve në privilegjet e procesit të përdoruesit (zbulimi i shfrytëzimit).

Kontrolli i integritetit kryhet bazuar në krahasimin e hash-eve të llogaritura për zonat më të rëndësishme të memories dhe strukturave të të dhënave të kernelit, siç janë IDT (Tabela e Përshkruesve të Ndërprerjeve), MSR, tabelat e thirrjeve të sistemit, të gjitha procedurat dhe funksionet, trajtuesit e ndërprerjeve, listat e moduleve të ngarkuara, përmbajtja e seksionit ".text" të moduleve dhe atributet e procesit. Procedura e kontrollit aktivizohet periodikisht nga një kohëmatës ose kur ndodhin ngjarje të caktuara në kernel, për shembull, kur ekzekutohen thirrjet e sistemit setuid, setreuid, fork, exit, execve dhe do_init_module.

Identifikimi i shfrytëzimeve të mundshme dhe bllokimi i sulmeve kryhet në fazën përpara se bërthama të japë akses në burime (për shembull, përpara se të hapet një skedar), por pasi procesi të ketë marrë privilegje të paautorizuara (për shembull, ndryshimi i UID-së). Kur zbulohet sjellje e paautorizuar e proceseve, ato ndërpriten me forcë, gjë që është e mjaftueshme për të bllokuar shumë shfrytëzime. Shpenzimet e përgjithshme të modulit vlerësohen në 2-2.5%.

Arkitekturat e mbështetura përfshijnë x86-64, AArch64 (ARM64), ARM32 dhe x86. LKRG 1.0.0 është testuar me bërthama nga shpërndarje të ndryshme, duke filluar me bërthamën 3.10 nga RHEL.CentOS 7 dhe duke përfunduar me 6.17-rc4 nga depoja ku Fedora 44 po përgatitet për publikim. Paketat janë të disponueshme për shpërndarjet ALT. Linux, Hark Linux, Astra Linux, Gentoo, Guix, NixOS, Rocky Linux, Whonix, Yocto dhe OpenBMC. Mbledhur për Rocky Linux paketat mund të përdoren në RHEL 8/9 dhe shpërndarje derivate si p.sh. AlmaLinux 8/9, dhe paketa për Whonix në Debian О Ubuntu.

Ndër ndryshimet në versionin e ri:

  • PajtueshmĂ«ria me kernelet Ă«shtĂ« e siguruar Linux deri nĂ« publikimin e versionit 6.17-rc4.
  • Kur pĂ«rdoret me kernele qĂ« nga versioni 6.13, pĂ«rgjimi i thirrjeve nĂ« distancĂ« nĂ« override_creds() dhe revert_creds() Ă«shtĂ« ndaluar, gjĂ« qĂ« ka kufizuar zbulimin e sulmeve qĂ« ripĂ«rcaktojnĂ« treguesin cred. JanĂ« bĂ«rĂ« pĂ«rpjekje pĂ«r tĂ« kompensuar kufizimet duke shtuar kontrolle pĂ«r rishkrimin e treguesit cred diku tjetĂ«r nĂ« kernel.
  • U ndalua gjurmimi i tepĂ«rt i kredencialeve qĂ« nuk kontrollohen pĂ«r integritet. Ndryshimi e reduktoi bazĂ«n e kodit me afĂ«rsisht 1500 rreshta.
  • Shtoi mbĂ«shtetje pĂ«r atĂ« qĂ« shfaqej nĂ« kernel Linux MekanizĂ«m 6.10 pĂ«r krijimin e skedarĂ«ve tĂ« pĂ«rkohshĂ«m nĂ« sistemin e skedarĂ«ve OverlayFS duke pĂ«rdorur opsionin O_TMPFILE (ovl_tmpfile). Ky mbĂ«shtetje Ă«shtĂ« i nevojshĂ«m pĂ«r tĂ« parandaluar pozitivet e rreme qĂ« ndodhin kur pĂ«rdoren kontejnerĂ« tĂ« izoluar nĂ« sisteme me bĂ«rthama 6.10-6.12.
  • PĂ«r sistemet x86_64, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r Intel CET (Teknologjia e Zbatimit tĂ« Fluksit tĂ« Kontrollit) pĂ«r tĂ« mbrojtur kodin ekzekutues duke pĂ«rdorur udhĂ«zime IBT (ndjekje indirekte e degĂ«ve), si dhe mbrojtjen e softuerit kCFI (Integriteti i Fluksit tĂ« Kontrollit tĂ« Kernelit) pĂ«r tĂ« bllokuar shkeljet e urdhrit normal tĂ« ekzekutimit (rrjedha e kontrollit) si rezultat i pĂ«rdorimit tĂ« shfrytĂ«zimeve qĂ« ndryshojnĂ« treguesit nĂ« funksionet e ruajtura nĂ« memorie.
  • PĂ«r tĂ« lidhur shumĂ« trajtues, nĂ« vend tĂ« kretprobes, pĂ«rdoret mekanizmi kprobes, i cili thjeshton kodin e instalimit tĂ« grepit dhe lejon arritjen e performancĂ«s mĂ« tĂ« lartĂ«.
  • Trajtimi i bllokimeve tĂ« tĂ« dhĂ«nave specifike pĂ«r procesin (kyçeve) nĂ« bĂ«rthamĂ« (tĂ« dhĂ«na hije pĂ«r detyrĂ«) Ă«shtĂ« ripĂ«rpunuar. Duke eliminuar bllokimet e panevojshme, ishte e mundur tĂ« rritej performanca e aksesimit tĂ« tĂ« dhĂ«nave tĂ« tilla.
  • U rregulluan gabimet qĂ« shkaktonin kushte gare, probleme me kontrollin e integritetit dhe rezultate pozitive tĂ« rreme.
  • MbĂ«shtetje e pĂ«rmirĂ«suar pĂ«r ndĂ«rtimin duke pĂ«rdorur Clang.

Burimi: opennet.ru

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster