
Módulo de kernel Linux usando Kprobes para detectar e neutralizar exploits de double-free de heap do CVE-2024-1086 por meio de rastreamento de lacuna temporal e anulação ativa de registradores com zero overhead de RAM.
Autores: Vedant Karande & Kiran Kumari
Curso: Network & Systems Security (SIL7165) - Indian Institute of Technology Delhi
O KOOBE-Guard é um Sistema de Prevenção de Intrusão (IPS) dinâmico desenvolvido como um Módulo de Kernel Carregável do Linux (LKM) para mitigar ativamente vulnerabilidades catastróficas baseadas em heap, visando especificamente a vulnerabilidade de dupla liberação CVE-2024-1086[cite: 1].
Sistemas operacionais modernos implicitamente confiam que os subsistemas de memória alocam e liberam memória sem falhas[cite: 1]. Quando subsistemas complexos como nf_tables do kernel Linux contêm erros lógicos, isso pode levar a uma má gestão de memória, permitindo que um atacante não privilegiado alcance Escalação Local de Privilégios (LPE) via Heap Feng Shui e alocações sobrepostas[cite: 1]. O KOOBE-Guard neutraliza isso ao migrar de defesas passivas e pesadas de memória-sombra para o Rastreamento de Lacuna Temporal Ativo em tempo real[cite: 1].
Ferramentas de mitigação tradicionais como KASAN dependem de um mapeamento imenso de memória-sombra, introduzindo sobrecarga de CPU de 200%-300% e inchaço catastrófico de RAM, tornando-as inutilizáveis para ambientes de produção[cite: 1].
O KOOBE-Guard intercepta o exploit usando a seguinte metodologia:
kfree[cite: 1]. O módulo registra o timestamp exato em nanossegundos dos endereços de memória liberados[cite: 1].regs->di = 0) para NULL[cite: 1]. Isso força uma operação segura kfree(NULL), prevenindo completamente a corrupção da freelist do SLUB[cite: 1].defense_module/: Contém o código-fonte do LKM KOOBE-Guard e os Makefiles.evaluation_scripts/: Scripts Bash (benchmark.sh, hit_rate.sh) utilizados para testes quantitativos em QEMU.docs/: Relatórios abrangentes do projeto e slides de apresentação.proofs/: Diagramas de arquitetura do sistema, capturas de tela de execução e gráficos de benchmark.exploit_poc/: Submódulo que referencia o Proof-of-Concept armado para o CVE-2024-1086 usado para acionar o estado de vulnerabilidade.O framework foi rigorosamente avaliado em um laboratório virtual QEMU profundamente isolado e acelerado por hardware, executando um kernel Linux 6.6.0 compilado sob medida[cite: 1].
exploit_poc. Visite o repositório original aqui: Notselwyn/CVE-2024-1086.Este projeto está licenciado sob a Licença GPL-2.0. Consulte o arquivo LICENSE para obter detalhes.