Perché Linux ASLR è debole?

4

Wikipedia dice che il kernel Linux ha una forma debole di ASLR per impostazione predefinita e solo l'aggiunta di patch di PaX o Exec Shield consente completa ASLR.

Qual è la debolezza dell'ASLR predefinito nel kernel di Linux? È stato corretto / migliorato nelle versioni recenti? In caso contrario, c'è una ragione per cui il kernel mainline sceglie di non fornire un'implementazione completa?

    
posta Chandru 07.09.2016 - 05:40
fonte

1 risposta

1

L'articolo di Wikipedia continua:

This places the stack base in an area 8 MB wide containing 524,288 possible positions; and the mmap base in an area 1 MB wide containing 256 possible positions.

Quest'ultimo è troppo piccolo per essere efficace e un utente malintenzionato deve solo sondare 256 indirizzi in un segmento per trovare il puntatore dell'indirizzo mmap() .

Quello che l'articolo non menziona è l'uso limitato di ASLR in Linux. Tradizionalmente il kernel 2.6 usava ASLR solo per processi (di rete) in aree di memoria specifiche (quando compilato PIE) durante il caricamento di VDSO su un indirizzo fisso. Tale misura è efficace solo se tutti gli indirizzi sono randomizzati. I kernel più recenti hanno un supporto migliore per la randomizzazione degli indirizzi. Nota che varie versioni di Windows hanno la stessa identica cosa.

    
risposta data 07.09.2016 - 09:52
fonte

Leggi altre domande sui tag