KASLR
Что такое KASLR?
KASLRKASLR (ASLR ядра) при каждой загрузке случайно сдвигает базу ядра и загружаемые модули, чтобы атакующий не мог использовать жёстко заданные адреса ядра для повышения привилегий.
KASLR распространяет ASLR на ядро: образ ядра, модули, область vmalloc, physmap и стеки загружаются со случайным смещением при каждой загрузке. Linux добавил базовый KASLR в 2014 году и усилил его KAISER/KPTI после Meltdown; Windows поддерживает его с Vista и развивал в Windows 10. Поскольку ядро обычно использует общее адресное пространство, утечка даже одного указателя ломает KASLR; исследователи показали побочные каналы через кэш, TLB, prefetch и спекулятивное исполнение, восстанавливающие смещение. KASLR эффективнее всего в связке с SMEP/SMAP, KPTI, kCFI и жёсткими ограничениями на /proc и dmesg против утечек адресов.
● Примеры
- 01
Linux смещает базу ядра на случайное выровненное смещение 1 ГиБ при каждой загрузке.
- 02
Windows 10 рандомизирует адрес загрузки ntoskrnl.exe при каждом старте.
● Частые вопросы
Что такое KASLR?
KASLR (ASLR ядра) при каждой загрузке случайно сдвигает базу ядра и загружаемые модули, чтобы атакующий не мог использовать жёстко заданные адреса ядра для повышения привилегий. Относится к категории Безопасность приложений в кибербезопасности.
Что означает KASLR?
KASLR (ASLR ядра) при каждой загрузке случайно сдвигает базу ядра и загружаемые модули, чтобы атакующий не мог использовать жёстко заданные адреса ядра для повышения привилегий.
Как защититься от KASLR?
Защита от KASLR обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия KASLR?
Распространённые альтернативные названия: ASLR ядра.