Predstavené opravy pre randomizáciu adries zásobníka jadra Linux pri systémových volaniach

Kees Cook, bývalý hlavný systémový administrátor kernel.org a líder Ubuntu Security Team, aktuálne pracujúci v spoločnosti Google na zabezpečení Android a ChromeOS, zverejnil množstvo opráv s realizáciou náhodného posunu v zásobníku jadra pri spracovaní systémových volaní. Opravy zvyšujú bezpečnosť jadra zmenou usporiadania zásobníka, čo robí útoky na zásobník oveľa zložitějšími a menej úspešnými. Počiatočná implementácia podporuje procesory ARM64 a x86/x86_64.

Pôvodná myšlienka opravy patrila projektu PaX RANDKSTACK. V roku 2019 Elena Rešetovová, inžinierka z firmy Intel, sa pokúsila vytvoriť realizáciu tejto myšlienky, vhodnú na zaradenie do hlavného jadra Linuxu. Neskôr túto iniciatívu prevzal Kees Cook, ktorý predstavil realizáciu vhodnú pre hlavne verziu jadra. Opravy by mali byť zahrnuté do vydania 5.13. Režim bude predvolene vypnutý. Na jeho zapnutie sú navrhnuté parametre príkazového riadku jadra "randomize_kstack_offset=on/off" a konfiguračná voľba CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. Náklady na zapnutie režimu sa odhadujú na približne 1% straty výkonu.

Podstata navrhovanej ochrany spočíva vo voľbe náhodného posunu zásobníka pri každom systémovom volaní, čo sťažuje určenie usporiadania zásobníka v pamäti, aj keď sú dostupné údaje o adresách, pretože pri nasledujúcom systémovom volaní sa zmení základná adresa zásobníka. Na rozdiel od realizácie PaX RANDKSTACK, v navrhnutých opravách pre užívanie v jadre sa náhodnosť vykonáva nie na počiatočnej fáze (cpu_current_top_of_stack), ale po nastavení štruktúry pt_regs, čo znemožňuje použitie metód založených na ptrace na určenie náhodne posunutého adresy v priebehu dlhšieho vykonávania systémového volania.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster