Arna të prezantuara për të rastësuar adresat e pirgut të kernelit Linux për thirrjet e sistemit

Kees Cook, ish-administratori kryesor i sistemit të kernel.org dhe drejtuesi i Ekipit të Sigurisë së Ubuntu, që tani punon në Google për sigurimin e Android dhe ChromeOS, publikoi një sërë arnimesh për të randomizuar kompensimet në pirgun e kernelit kur përpunohen thirrjet e sistemit. Patches përmirësojnë sigurinë e kernelit duke ndryshuar vendosjen e stivit, duke i bërë sulmet në stack shumë më të vështirë dhe më pak të suksesshëm. Implementimi fillestar mbështet procesorët ARM64 dhe x86/x86_64.

Ideja origjinale për patch-in i përket projektit PaX RANDKSTACK. Në vitin 2019, Elena Reshetova, një inxhiniere nga Intel, u përpoq të krijonte një zbatim të kësaj ideje të përshtatshme për t'u përfshirë në kernelin kryesor Linux. Më vonë, iniciativa u mor nga Kees Cook, i cili prezantoi një zbatim të përshtatshëm për versionin kryesor të kernelit. Arna janë planifikuar të përfshihen si pjesë e lëshimit 5.13. Modaliteti do të çaktivizohet si parazgjedhje. Për ta aktivizuar atë, propozohen parametri i linjës së komandës së kernelit "randomize_kstack_offset=on/off" dhe cilësimi CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. Kostoja e përgjithshme e aktivizimit të modalitetit vlerësohet në rreth 1% humbje të performancës.

Thelbi i mbrojtjes së propozuar është zgjedhja e një kompensimi të rastësishëm të stivës për secilën thirrje të sistemit, gjë që e bën të vështirë përcaktimin e paraqitjes së stivës në memorie, edhe pas marrjes së të dhënave të adresës, pasi thirrja e ardhshme e sistemit do të ndryshojë adresën bazë të pirgut. Ndryshe nga zbatimi PaX RANDKSTACK, në arnimet e propozuara për përfshirje në kernel, randomizimi nuk kryhet në fazën fillestare (cpu_current_top_of_stack), por pas vendosjes së strukturës pt_regs, gjë që e bën të pamundur përdorimin e metodave të bazuara në ptrace për të përcaktuar kompensimin e rastësishëm. gjatë një telefonate sistemore afatgjatë.

Burimi: opennet.ru

Shto një koment