KASLR
O que é KASLR?
KASLRO KASLR aleatoriza a base do kernel e o endereco de carga dos modulos a cada boot, impedindo que atacantes usem simbolos fixos do kernel em escaladas locais de privilegios.
KASLR estende o ASLR ao kernel: imagem do kernel, modulos, area vmalloc, physmap e pilhas sao carregados com offset aleatorio em cada boot. O Linux introduziu KASLR basico em 2014, reforcado por KAISER/KPTI contra Meltdown; o Windows usa-o desde o Vista e refinou-o no Windows 10. Como o kernel costuma partilhar um unico espaco de enderecos, uma unica fuga de ponteiro pode quebrar o KASLR; investigadores demonstraram canais laterais (cache, TLB, prefetch, execucao especulativa) que recuperam o offset. KASLR e mais util com SMEP/SMAP, KPTI, kCFI e restricoes rigorosas em /proc e dmesg para evitar fugas de enderecos.
● Exemplos
- 01
Linux desloca a base do kernel em offset aleatorio alinhado a 1 GiB em cada boot.
- 02
Windows 10 aleatoriza o endereco de carga de ntoskrnl.exe a cada boot.
● Perguntas frequentes
O que é KASLR?
O KASLR aleatoriza a base do kernel e o endereco de carga dos modulos a cada boot, impedindo que atacantes usem simbolos fixos do kernel em escaladas locais de privilegios. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa KASLR?
O KASLR aleatoriza a base do kernel e o endereco de carga dos modulos a cada boot, impedindo que atacantes usem simbolos fixos do kernel em escaladas locais de privilegios.
Como funciona KASLR?
KASLR estende o ASLR ao kernel: imagem do kernel, modulos, area vmalloc, physmap e pilhas sao carregados com offset aleatorio em cada boot. O Linux introduziu KASLR basico em 2014, reforcado por KAISER/KPTI contra Meltdown; o Windows usa-o desde o Vista e refinou-o no Windows 10. Como o kernel costuma partilhar um unico espaco de enderecos, uma unica fuga de ponteiro pode quebrar o KASLR; investigadores demonstraram canais laterais (cache, TLB, prefetch, execucao especulativa) que recuperam o offset. KASLR e mais util com SMEP/SMAP, KPTI, kCFI e restricoes rigorosas em /proc e dmesg para evitar fugas de enderecos.
Como se defender contra KASLR?
As defesas contra KASLR costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para KASLR?
Nomes alternativos comuns: ASLR do kernel.
● Termos relacionados
- appsec№ 064
ASLR
A aleatorizacao do espaco de enderecos coloca codigo, pilhas, heaps e bibliotecas em posicoes aleatorias da memoria para impedir que um atacante preveja enderecos.
- appsec№ 1058
SMEP / SMAP
SMEP e SMAP sao funcionalidades da CPU que impedem o kernel de executar ou aceder a paginas do espaco do utilizador, bloqueando tecnicas comuns de escalada local de privilegios.
- appsec№ 217
Integridade do fluxo de controlo
A integridade do fluxo de controlo (CFI) restringe chamadas indiretas e retornos a um conjunto pre-calculado de destinos legitimos, bloqueando ROP e JOP.
- appsec№ 670
Seguranca de memoria
A seguranca de memoria e a propriedade de um programa nunca ler, escrever ou executar memoria que nao tenha alocado legitimamente, eliminando classes inteiras de vulnerabilidades.
- appsec№ 545
Intel CET
Intel CET (Control-flow Enforcement Technology) e uma funcionalidade da CPU que combina shadow stack por hardware e Indirect Branch Tracking (IBT) para bloquear ROP, JOP e COP.
- appsec№ 671
Linguagens com seguranca de memoria
Linguagens com seguranca de memoria como Rust, Go, Swift, Java e C# impedem os erros espaciais e temporais de memoria que originam a maioria das vulnerabilidades exploraveis em C e C++.