Sistema-deietarako Linux kernel-pilaren helbideak ausaz banatzeko adabakiak sartu dira

Kees Cook, kernel.org-eko sistema administratzaile nagusi ohia eta Ubuntu Segurtasun Taldeko liderra, orain Google-n lanean ari dena Android eta ChromeOS babesten, adabaki sorta bat argitaratu zuen nukleoen pilako desplazamenduak ausaz banatzeko sistema deiak prozesatzen direnean. Adabakiek nukleoaren segurtasuna hobetzen dute pilaren kokapena aldatuz, pilaren aurkako erasoak askoz zailagoak eta arrakasta txikiagoak eginez. Hasierako inplementazioak ARM64 eta x86/x86_64 prozesadoreak onartzen ditu.

Adabakiaren jatorrizko ideia PaX RANKSTACK proiektuarena da. 2019an, Elena Reshetova, Intel-eko ingeniaria, ideia honen inplementazio egokia sortzen saiatu zen Linux kernel nagusian sartzeko. Geroago, Kees Cook-ek hartu zuen ekimena, eta kernelaren bertsio nagusirako egokia den inplementazioa aurkeztu zuen. Adabakiak 5.13 bertsioaren barruan sartzea aurreikusten da. Modua lehenespenez desgaituta egongo da. Hori gaitzeko, nukleoaren komando-lerroko parametroa "randomize_kstack_offset=on/off" eta CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT ezarpena proposatzen dira. Modua gaitzeko kostua gutxi gorabehera % 1eko errendimendu-galera dela kalkulatzen da.

Proposatutako babesaren funtsa sistema-dei bakoitzeko ausazko pila-desplazamendu bat aukeratzea da, eta horrek zaildu egiten du memorian pila-diseinua zehaztea, helbide-datuak jaso ondoren ere, hurrengo sistema-deiak pilaren oinarrizko helbidea aldatuko baitu. PaX RANDKSTACK inplementazioan ez bezala, nukleoan sartzeko proposatutako adabakietan, ausazko banaketa ez da hasierako fasean egiten (cpu_current_top_of_stack), baizik eta pt_regs egitura ezarri ondoren, eta horrek ezinezko egiten du ptrace-n oinarritutako metodoak erabiltzea ausazko desplazamendua zehazteko. sistema-dei luze batean.

Iturria: opennet.ru

Gehitu iruzkin berria