Изначальная идея патча принадлежит проекту PaX RANDKSTACK. В 2019 году Елена Решетова, инженер из фирмы Intel, попробовала создать реализацию данной идеи, пригодную для включения в основной состав ядра Linux. Позже инициативу подхватил Кис Кук, который и представил реализацию пригодную для основного варианта ядра. Патчи планируется включить в состав выпуска 5.13. Режим будет отключён по умолчанию. Для включения предложены параметр командной строки ядра «randomize_kstack_offset=on/off» и настройка CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. Накладные расходы при включении режима оцениваются приблизительно в 1% потери производительности.
Суть предложенной защиты в выборе случайного смещения стека при каждом системном вызове, что усложняет определение раскладки стека в памяти, даже получив данные об адресах, так как при следующем системном вызове базовый адрес стека изменится. В отличие от реализации PaX RANDKSTACK в предложенных для включения в ядро патчах рандомизация выполняется не на начальной стадии (cpu_current_top_of_stack), а после выставления структуры pt_regs, что делает невозможным использование методов на основе ptrace для определения рандомизированного смещения в процессе работы длительно выполняемого системного вызова.
Источник: http://www.opennet.ru/opennews/art.shtml?num=54971