LKRG 0.8 moduli vÀljaanne Linuxi tuuma haavatavuste kaitseks

Openwall projekt avalikustas tuuma mooduli vabastamine LKRG 0.8 (Linux Kernel Runtime Guard), mis on mĂ”eldud tuvastama ja blokeerima rĂŒnnakuid ning tĂ”rkeid tuuma struktuurides. NĂ€iteks saab moodul kaitsta volitamata muudatuste tegemise eest töötavas tuumas ja kasutaja protsesside privileegide muutmise katsete eest (eksploitide rakendamise tuvastamine). Moodul sobib nii olemasolevate kernelite eksploitide kaitseks (nĂ€iteks olukordades, kus sĂŒsteemis on probleemne tuuma vĂ€rskendamine) kui ka veel tundmatute haavatavuste eksploitide tĂ”rjumiseks. Projekti kood levitatakse on GPLv2 litsentsi all.

Uues versioonis on jÀrgmised muudatused:

  • LKRG projekti positsioneerimine on muutunud, nĂŒĂŒd ei jagata seda eraldi allĂŒksusteks, et kontrollida integriteeti ja tuvastada eksploitide rakendamist, vaid see esitatakse tervikliku tootena rĂŒnnakute ja erinevate integriteedi hĂ€irimiste tuvastamiseks;
  • Tagatakse ĂŒhilduvus Linuxi kernelitega alates 5.3 kuni 5.7, samuti kernelitega, mis on kompileeritud agressiivsete GCC optimeerimistega, ilma CONFIG_USB ja CONFIG_STACKTRACE valikuteta vĂ”i CONFIG_UNWINDER_ORC valikuga, samuti kernelitega, milles puuduvad LKRG katkestustavad funktsioonid, kui nende puudumine ei takista toimimist;
  • Kompileerimise kĂ€igus kontrollitakse mĂ”ningaid kohustuslikke CONFIG_* seadeid tuuma jaoks, et jagada arusaadavaid veateateid ebaselgete tĂ”rgete asemel;
  • Lisatud tugi oote(ACPI S3, suspend to RAM) ja unereĆŸiimide(S4, suspend to disk) jaoks;
  • Makefile'le on lisatud DKMS tugi;
  • Eksperimentaalne tugi 32-bitistele ARM platvormidele on ellu viidud (testitud Raspberry Pi 3 Model B peal). Varasemalt saadaval olnud AArch64 (ARM64) tugi on tĂ€iendatud Raspberry Pi 4 plaadi ĂŒhilduvuse tagamisega;
  • Uued töötlejate (hook) on lisatud, sealhulgas capable() töötlija, et paremini tuvastada eksploitide kasutamist, mis manipuleerivad "capabilities" mitte protsesside identifikaatoritega (credentials);
  • Pakutakse vĂ€lja uus loogika nime ruumide piirangutest vĂ€ljumise katsete tuvastamiseks (nĂ€iteks Docker konteineritest);
  • x86-64 sĂŒsteemides on tagatud SMAP (Supervisor Mode Access Prevention) bitide kontrollimine ja rakendamine, mis on mĂ”eldud kasutajaandmete ligipÀÀsu blokeerimiseks privileege omava koodi poolt, mis töötab tuuma tasandil. SMEP (Supervisor Mode Execution Prevention) kaitse rakendati varem;
  • Töö kĂ€igus tagatakse LKRG seadet piisava mĂ€lu lehekĂŒljel, mis on tavaliselt ainult lugemiseks ette nĂ€htud;
  • Logide logitavat teavet, mis vĂ”ib olla rĂŒnnakute jaoks kĂ”ige kasulikum (nĂ€iteks tuumadresside teave), tuleb piirata silumise reĆŸiimiga (log_level=4 ja kĂ”rgem), mis on vaikimisi vĂ€lja lĂŒlitatud.
  • Protsesside jĂ€lgimise andmebaasi skaleeritavust on suurendatud — ĂŒhe seotud spinlockiga kaitstud RB-puu asemel kasutatakse 512 RB-puust koosnevat hash-tabelit, mis on kaitstud vastavalt 512 lugemise-kirjutamise lukuga;
  • On rakendatud ja vaikimisi lubatud reĆŸiim, kus protsessi tuvastamise terviklikkuse kontrollimist tehakse sageli ainult praeguse ĂŒlesande jaoks, samuti valikuliselt aktiveeritavate (Ă€rkavate) ĂŒlesannete jaoks. ÜlejÀÀnud, magamise vĂ”i kontrollitava LKRG API tuuma kaudu töötavate ĂŒlesannete puhul toimub kontroll harvemini.
  • LKRG peenhÀÀlestuseks on lisatud uusi sysctl ja mooduli parameetreid, samuti kaks sysctl, mis lihtsustavad seadistamist, valides arendajate ettevalmistatud peenhÀÀlestuste komplektid (profiilid);
  • Vaikimisi seadeid on muudetud, et saavutada paremini tasakaalustatud tasakaal rikete tuvastamise operatiivsuse ja reageerimise efektiivsuse vahel, samuti jĂ”udluse ja valehĂ€irete riski vahel;
  • Systemd ĂŒksuse fail on ĂŒmber töötatud, et laadida LKRG moodul varases laadimisetapis (mooduli vĂ€ljalĂŒlitamiseks vĂ”ib kasutada tuuma kĂ€surea parameetrit);

Arvesse vĂ”ttes uue vĂ€ljaande optimeerimisi on LKRG 0.8 kasutamisel jĂ”udluse langus hinnatud 2.5% vĂ”rra vaikereĆŸiimis („heavy“) ja 2% kergemas reĆŸiimis („light“).

Hiljuti korraldatud uurimine LKRG ruttkiti tuvastamiseks nĂ€itas sai parimaid tulemusi, tuvastades 8 9 testitud ruttkitist, mis töötavad tuumal, ilma valehĂ€ireteta (tuvasid ruttkitid Diamorphine, Honey Pot Bears, LilyOfTheValley, Nuk3 Gh0st, Puszek, Reptile, Rootfoo Linux Rootkit ja Sutekh, kuid jĂ€ttis tuvastamata Keysnifferi, mis on tuumamoodul klahvivahendiga, mitte ruttkit tegelikus mĂ”ttes). VĂ”rdluseks, AIDE, OSSEC ja Rootkit Hunter tuvastasid 2 ruttkit 9-st, samas kui Chkrootkit ei tuvastanud ĂŒhtegi. Samuti ei toeta LKRG kasutaja ruumis paiknevate ruttkitide tuvastamist, seega saavutatakse kĂ”ige suurem efektiivsus AIDE ja LKRG kombinatsiooniga, mis vĂ”imaldas tuvastada 14 15 ruttkitist kĂ”ikide tĂŒĂŒpide seas.

Lisaks vÔib mÀrkida, et jaotuse arendaja Whonix alustas valmistatud pakettide koostamist DKMS jaoks Debianile, Whonixile, Qubesile ja Kicksecure'ile, ning pakett Arch Linux on juba vÀrskendatud versioonini 0.8. LKRG paketid on samuti saadaval Venemaal. ALT Linux ja Astra Linux.

LKRG-s teostatakse terviklikkuse kontrolli alusel aktiveerimist, vĂ”rreldes praegust koodi ja tuuma ning moodulite andmeid, mĂ”ningate oluliste andmestruktuuride ja CPU seadistustega salvestatud hash'ide vĂ”i vastavate mĂ€lupiirkondade, andmestruktuuride vĂ”i registrite koopiatega. Kontrollimisi aktiveeritakse nii perioodiliselt taimeri alusel kui ka erinevate sĂŒndmuste toimumisel.

VĂ”imalike eksploiteerimisvĂ”tmete kindlakstegemine ja rĂŒnnakute blokeerimine toimub enne operatsioonisĂŒsteemi juurdepÀÀsu andmist ressurssidele (nĂ€iteks enne faili avamist), kuid pĂ€rast protsessi volitamata Ă”iguste omandamist (nĂ€iteks UID muutmine). Volitamata kĂ€itumise tuvastamisel lĂ”petatakse protsesside tegevus vaikimisi, mis on piisav paljude eksploiteerimiste blokeerimiseks.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster