Paglabas ng LKRG 0.9.0 module upang maprotektahan laban sa pagsasamantala ng mga kahinaan sa Linux kernel

Inilathala ng proyekto ng Openwall ang paglabas ng kernel module LKRG 0.9.0 (Linux Kernel Runtime Guard), na idinisenyo upang makita at harangan ang mga pag-atake at mga paglabag sa integridad ng mga istruktura ng kernel. Halimbawa, maaaring maprotektahan ng module laban sa mga hindi awtorisadong pagbabago sa tumatakbong kernel at pagtatangka na baguhin ang mga pahintulot ng mga proseso ng user (pagtukoy sa paggamit ng mga pagsasamantala). Ang module ay angkop kapwa para sa pag-aayos ng proteksyon laban sa mga pagsasamantala ng mga kilalang kahinaan ng kernel ng Linux (halimbawa, sa mga sitwasyon kung saan mahirap i-update ang kernel sa system), at para sa pagkontra sa mga pagsasamantala para sa hindi pa alam na mga kahinaan. Ang code ng proyekto ay ipinamamahagi sa ilalim ng lisensya ng GPLv2.

Kabilang sa mga pagbabago sa bagong bersyon:

  • Ang pagiging tugma ay ibinibigay sa mga kernel ng Linux mula 5.8 hanggang 5.12, pati na rin sa mga matatag na kernel 5.4.87 at mas bago (kabilang ang mga inobasyon mula sa mga kernel 5.8 at mas bago) at may mga kernel mula sa mga bersyon ng RHEL hanggang 8.4, habang pinapanatili ang suporta para sa lahat ng dating suportadong bersyon ng kernels, tulad ng kernels mula sa RHEL 7;
  • Idinagdag ang kakayahang bumuo ng LKRG hindi lamang bilang isang panlabas na module, kundi pati na rin bilang bahagi ng Linux kernel tree, kasama ang pagsasama nito sa kernel image;
  • Nagdagdag ng suporta para sa maraming karagdagang mga pagsasaayos ng kernel at system;
  • Naayos ang ilang makabuluhang pagkakamali at pagkukulang sa LKRG;
  • Ang pagpapatupad ng ilang bahagi ng LKRG ay lubos na pinasimple;
  • Ang mga pagbabago ay ginawa upang pasimplehin ang karagdagang suporta at pag-debug ng LKRG;
  • Para sa pagsubok sa LKRG, idinagdag ang pagsasama sa out-of-tree at mkosi;
  • Ang imbakan ng proyekto ay inilipat mula sa BitBucket patungo sa GitHub at ang tuluy-tuloy na pagsasama ay naidagdag gamit ang GitHub Actions at mkosi, kabilang ang pagsuri sa pagbuo at paglo-load ng LKRG sa mga release kernel ng Ubuntu, gayundin sa mga pang-araw-araw na build ng pinakabagong mga pangunahing linya ng kernel na ibinigay ng proyekto ng Ubuntu.

Ilang developer na hindi pa kasali dati sa proyekto ang gumawa ng mga direktang kontribusyon sa bersyong ito ng LKRG (sa pamamagitan ng mga pull request sa GitHub). Sa partikular, idinagdag ni Boris Lukashev ang kakayahang bumuo bilang bahagi ng Linux kernel tree, at si Vitaly Chikunov mula sa ALT Linux ay nagdagdag ng integrasyon sa mkosi at GitHub Actions.

Sa pangkalahatan, sa kabila ng makabuluhang mga pagdaragdag, ang bilang ng mga linya ng code ng LKRG ay bahagyang nabawasan sa pangalawang beses na sunud-sunod (nauna rin itong nabawasan sa pagitan ng mga bersyon 0.8 at 0.8.1).

Sa ngayon, ang LKRG package sa Arch Linux ay na-update na sa bersyon 0.9.0, at ang ilang iba pang mga package ay gumagamit ng mga kamakailang git na bersyon ng LKRG at malamang na ma-update sa bersyon 0.9.0 at higit pa sa lalong madaling panahon.

Bilang karagdagan, maaari naming tandaan ang isang kamakailang publikasyon mula sa mga developer ng Aurora OS (Russian modification ng Sailfish OS) tungkol sa posibleng pagpapalakas ng LKRG gamit ang ARM TrustZone.

Para sa higit pang impormasyon tungkol sa LKRG, tingnan ang anunsyo ng bersyon 0.8 at ang talakayan na naganap noon.

Pinagmulan: opennet.ru

Magdagdag ng komento