KASLR offre davvero più sicurezza contro gli exploit?

12

So tutto su come funziona ASLR e come è stato implementato su entrambi i sistemi Linux e Windows. Fornisce un ulteriore livello di protezione che il malware deve prendere in considerazione. Ma oggigiorno con i computer lasciati accesi per lunghi periodi di tempo, ASLR non sembra randomizzare lo spazio degli indirizzi tanto quanto vorremmo. Windows 8 ha preso ulteriori passaggi per assicurati che ASLR sia efficace.

Ho appena scoperto il livello del kernel ASLR quando ho costruito e aggiornato il mio kernel Linux, e ho notato che al boot diceva:

KASLR not enabled

Dopo aver fatto qualche ricerca, non ho trovato molto su KASLR in generale. Quindi ora sono curioso di sapere se qualcuno qui ha esperienza con esso.

  1. KASLR vale la pena? Fornisce un vantaggio significativo? Dovrei ricostruire il mio kernel, configurarlo per KASLR e tutto quel jazz. Non è terribile, ma leggermente fastidioso.
  2. Esiste nel mondo Windows? In tal caso, Windows fa un lavoro migliore nella sua implementazione?

O forse il mondo non è ancora pronto per questo ...

    
posta RoraΖ 06.10.2014 - 16:39
fonte

2 risposte

7

KASLR è diventato oggetto di pesanti critiche il giorno in cui è stato rilasciato per Linux, ed è stato anche sconfitto proprio quel giorno. Spender di grSecurity ha scritto un post su di esso (along con i commenti di LWN ) che riassumerò solo in un modo semplicistico. Incoraggio strongmente a leggere la fonte originale.

La randomizzazione del layout dello spazio degli indirizzi è stata inizialmente applicata per complicare gli exploit, come tutti sappiamo, randomizzando la posizione di un lotto di puntatori in pila. Sconfiggere ASLR richiede uno di:

  • bruteforcing finché non trovi casualmente l'indirizzo casuale corretto (che richiede il riavvio dell'app e difficilmente si applica a KASLR)
  • recupero dei puntatori che perdono informazioni sul layout di memoria

La seconda opzione è molto promettente per i kernel: non possono avere troppi offset casuali perché alcune configurazioni hardware potrebbero avere uno spazio indirizzo limitato e, soprattutto, i kernel non possono cambiare il loro offset in tutto il loro intero ciclo di vita ! Ciò significa che una perdita di layout di memoria singola sconfiggerà KASLR fino al riavvio della macchina. Si scopre che questo tipo di errore si verifica spesso da Spender.

Questo è esattamente il motivo per cui Linux KASLR è debole, e persino "un fallimento" secondo Spender. Il meccanismo non era inteso per i kernel. Leggi il suo articolo se vuoi maggiori dettagli. Parla di altre implementazioni e dovresti capire dai punti sopra riportati che non sono solo le implementazioni a essere deboli, ma piuttosto il design. KASLR ha bisogno di molta più attenzione su come viene implementato rispetto all'ASLR tradizionale perché le condizioni per lo sfruttamento sono molto più favorevoli .

Modifica: e apparentemente sei solo una ricerca su Google lontana dal conoscere come per sfruttare l'implementazione KASLR di Windows .

    
risposta data 07.10.2014 - 14:55
fonte
-1

KASLR è semplicemente ASLR ... applicato allo spazio del kernel. Senza KASLR lo spazio degli indirizzi del kernel è statico. Qualsiasi exploit che usi una vulnerabilità del kernel troverà banale sovrascrivere e controllare gli indirizzi di ritorno e simili, proprio come qualsiasi exploit contro una vulnerabilità dello spazio utente troverà queste attività banali senza ASLR abilitato.

LWN ha un buon articolo su come funziona.

Ne vale la pena? Dipende. Proprio come il normale ASLR, KASLR è una mitigazione contro le vulnerabilità esistenti. Se non esiste una vulnerabilità del kernel, KASLR non inserisce affatto l'equazione. Le vulnerabilità del kernel pubblico non sono così comuni e vengono rapidamente riparate. Sei un obiettivo di alto valore per cui vale la pena bruciare un giorno zero? Probabilmente vuoi abilitare KASLR in quel caso. Altrimenti usa il tuo miglior giudizio.

Non ho idea se esista una funzionalità equivalente per Windows.

    
risposta data 07.10.2014 - 14:39
fonte

Leggi altre domande sui tag