
Modulo del kernel Linux che utilizza Kprobes per rilevare e neutralizzare gli exploit di double-free dell'heap relativi a CVE-2024-1086 tramite il tracciamento del divario temporale e la nullificazione attiva dei registri, con zero overhead di RAM.
Autori: Vedant Karande e Kiran Kumari
Corso: Network & Systems Security (SIL7165) - Indian Institute of Technology Delhi
KOOBE-Guard è un sistema di prevenzione delle intrusioni (IPS) dinamico sviluppato come modulo kernel caricabile Linux (LKM) per mitigare attivamente le vulnerabilità catastrofiche basate su heap, prendendo di mira specificamente la vulnerabilità double-free CVE-2024-1086[cite: 1].
I moderni sistemi operativi si affidano implicitamente al fatto che i sottosistemi di memoria allocano e liberano la memoria senza errori[cite: 1]. Quando sottosistemi complessi come nf_tables del kernel Linux contengono errori logici, ciò può portare a una gestione impropria della memoria, consentendo a un attaccante non privilegiato di ottenere una escalation dei privilegi locali (LPE) tramite Heap Feng Shui e allocazioni sovrapposte[cite: 1]. KOOBE-Guard neutralizza tutto ciò passando da difese passive e pesanti basate su shadow memory a un tracciamento attivo in tempo reale dei gap temporali[cite: 1].
Gli strumenti di mitigazione tradizionali come KASAN si basano su un'enorme mappatura della shadow memory, introducendo un overhead CPU del 200%-300% e un aumento catastrofico dell'utilizzo di RAM, rendendoli inutilizzabili in ambienti di produzione[cite: 1].
KOOBE-Guard intercetta l'exploit utilizzando la seguente metodologia:
kfree[cite: 1]. Il modulo registra il timestamp esatto in nanosecondi degli indirizzi di memoria liberati[cite: 1].regs->di = 0) impostandoli a NULL[cite: 1]. Questo forza una sicura operazione kfree(NULL), prevenendo completamente la corruzione della freelist di SLUB[cite: 1].defense_module/: Contiene il codice sorgente del LKM KOOBE-Guard e i Makefile.evaluation_scripts/: Script Bash (benchmark.sh, hit_rate.sh) utilizzati per test quantitativi con QEMU.docs/: Report completi del progetto e slide delle presentazioni.proofs/: Diagrammi dell'architettura di sistema, screenshot delle esecuzioni e grafici dei benchmark.exploit_poc/: Submodule che collega il Proof-of-Concept armato per CVE-2024-1086 utilizzato per attivare lo stato di vulnerabilità.Il framework è stato valutato rigorosamente in un laboratorio virtuale QEMU profondamente isolato e accelerato via hardware, con un kernel Linux 6.6.0 compilato su misura[cite: 1].
exploit_poc. Visita il repository originale qui: Notselwyn/CVE-2024-1086.Questo progetto è concesso in licenza sotto la GPL-2.0 License. Vedere il file LICENSE per i dettagli.