Pesquisadores da Universidade de Tecnologia de Graz, na Áustria, descobriram um novo tipo de ataque que está causando alvoroço no mundo da segurança cibernética. Conhecido como ataque SLUBStick, essa nova ameaça conseguiu contornar as defesas modernas do kernel do Linux, proporcionando acesso arbitrário de leitura e escrita. As versões do kernel do Linux 5.19 e 6.2 são as mais afetadas por esse exploit.
O SLUBStick é uma técnica de ataque inovadora que explora a reutilização de memória do alocador de kernel de uma maneira nunca vista antes. Isso torna o SLUBStick mais confiável do que a maioria dos outros ataques de cache cruzado. Enquanto a maioria desses ataques tem uma taxa de sucesso de apenas 40%, os pesquisadores conseguiram elevar a taxa de sucesso do SLUBStick para impressionantes 99% em caches genéricos frequentemente usados.
Apesar das robustas proteções de segurança disponíveis para o kernel do Linux, o SLUBStick conseguiu contornar a Prevenção de Execução do Modo Supervisor (SMEP), a Prevenção de Acesso do Modo Supervisor (SMAP) e a Randomização do Layout do Espaço de Endereço do Kernel (KASLR). Embora as defesas existentes prometam reduzir a ameaça do SLUBStick, nenhuma delas oferece proteção abrangente no momento. Portanto, o perigo de exploração via SLUBStick ainda é real, mesmo com as defesas do kernel em uso.
O SLUBStick aproveita uma vulnerabilidade de heap na gestão de memória do Linux para obter privilégios elevados, sair de ambientes de sandbox em máquinas virtuais e obter acesso root ao sistema host. Ainda mais preocupante é o fato de que o SLUBStick usa um exploit de canal lateral para observar o uso da memória e determinar o momento exato de realocar um hash de memória. Isso significa que o SLUBStick pode prever e controlar a reutilização de memória para aumentar sua taxa de sucesso.
Para que o SLUBStick funcione, os invasores precisam de acesso local ao sistema Linux atacado. Além disso, o ataque requer a presença de uma vulnerabilidade de heap no kernel do Linux, que foi encontrada tanto no kernel do Linux 5.19 quanto no 6.2.
Os pesquisadores analisaram sistematicamente o ataque nas duas versões do kernel do Linux, descobrindo que o SLUBStick era eficaz na execução de cache genérico de kmalloc-08 a kmalloc-4096. Usando uma vulnerabilidade sintética e nove CVEs do mundo real, eles testaram o método de ataque para escalar privilégios e obter acesso root.
- CVE-2023-21400
- Capacidade: Double Free
- Cache: kmalloc-32
- CVE-2023-3609
- Capacidade: Use After Free
- Cache: kmalloc-96
- CVE-2022-32250
- Capacidade: Use After Free
- Cache: kmalloc-64
- Capacidade: Use After Free
- Cache: files_cachep
- Capacidade: Out Of Bounds
- Cache: kmalloc-4096
- Capacidade: Double Free
- Cache: kmalloc-192
- Capacidade: Out Of Bounds
- Cache: kmalloc-96
- Capacidade: Out Of Bounds
- Cache: kmalloc-64
- Capacidade: Double Free
- Cache: kmalloc-4096
Esses CVEs foram testados usando o vetor de ataque SLUBStick para escalar privilégios e obter acesso root. Cada um deles representa uma vulnerabilidade diferente que pode ser explorada pelo ataque.
O SLUBStick foi testado em máquinas virtuais x86 e aarch64, e é igualmente eficaz em processadores baseados em Intel e AMD e CPUs Arm. A equipe observa que a técnica de ataque proporcionada pelo SLUBStick “aumenta muito a confiabilidade dos ataques de cache cruzado a partir de caches genéricos e os torna práticos para exploração”. Em outras palavras, o SLUBStick pode tornar outros ataques mais bem-sucedidos e eficazes.
No entanto, embora o SLUBStick seja uma ameaça significativa, ele não é invencível. A comunidade de segurança cibernética está constantemente trabalhando para desenvolver novas defesas e mitigar esses tipos de ataques. Portanto, é essencial manter seus sistemas atualizados com as últimas patches de segurança para se proteger contra ameaças como o SLUBStick.