Patchs introdotti per randomizà l'indirizzi di stack di kernel Linux per e chjama di u sistema

Kees Cook, ex capu di amministratore di sistema di kernel.org è capu di u Squadra di Sicurezza di Ubuntu, chì travaglia avà in Google per assicurà Android è ChromeOS, hà publicatu un inseme di patch per randomize offsets in a pila di kernel durante u processu di e chjama di u sistema. I patches migliurà a sicurità di u kernel cambiendu a piazza di a pila, facendu l'attacchi à a pila assai più difficili è menu successu. L'implementazione iniziale supporta i processori ARM64 è x86/x86_64.

L'idea originale per u patch appartene à u prughjettu PaX RANKSTACK. In 2019, Elena Reshetova, un ingegnere di Intel, hà pruvatu à creà una implementazione di sta idea adattata per l'inclusione in u kernel Linux principale. In seguitu, l'iniziativa hè stata presa da Kees Cook, chì hà prisentatu una implementazione adattata per a versione principale di u kernel. I patch sò previsti per esse inclusi in parte di a versione 5.13. U modu serà disattivatu per difettu. Per attivà, u paràmetru di linea di cumanda di u kernel "randomize_kstack_offset = on/off" è l'impostazione CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT sò pruposti. L'overhead di attivazione di u modu hè stimatu à circa 1% di perdita di rendiment.

L'essenza di a prutezzione pruposta hè di sceglie un offset di stack aleatoriu per ogni chjama di u sistema, chì rende difficiuli di determinà u layout di stack in memoria, ancu dopu avè ricivutu dati di indirizzu, postu chì a prossima chjama di u sistema cambierà l'indirizzu di basa di a pila. A cuntrariu di l'implementazione di PaX RANDKSTACK, in i patches pruposti per l'inclusione in u kernel, a randomizazione hè realizata micca in u stadiu iniziale (cpu_current_top_of_stack), ma dopu avè stabilitu a struttura pt_regs, chì rende impussibile di utilizà metudi basati in ptrace per determinà l'offset aleatoriu. durante una chjama di sistema di longa durata.

Source: opennet.ru

Add a comment