ASLR Randomizzazione e diverse regioni [chiuso]

0

Essenzialmente la mia domanda è, perché ASLR non randomizza le aree di testo, bss e dati del processo? Anche nella versione più recente dei kernel (come la versione 3.x del kernel di Linux) insieme alla base del processo, alle librerie e agli indirizzi di stack, gli indirizzi heap sono anche randomizzati?

    
posta fahad 12.06.2013 - 01:08
fonte

1 risposta

3

why ASLR doesn't randomize text, bss and data regions of the process?

Lo fa. L' indirizzo di base del modulo è randomizzato, e quindi l'indirizzo virtuale di tutte le sezioni sarà randomizzato. Tuttavia, l'indirizzo virtuale relativo delle sezioni dalla base deve rimanere statico, poiché la maggior parte delle istruzioni di accesso alla memoria funzionano con offset relativi. Altrimenti dovresti generare correzioni per ogni mov che attraversa i limiti di sezione (ad esempio un'istruzione in .text che legge da .data ).

Non porterebbe alcun beneficio reale, causerebbe molti problemi e potrebbe essere facilmente aggirato leggendo le istruzioni note nella sezione corrente (le correzioni sono applicate in memoria).

Also in the newer version of kernels (such as Linux kernel version 3.x) along with process base, libraries and stack addresses, are the heap addresses also randomized?

Sì. L'indirizzo di base virtuale di ciascun heap è casuale e le allocazioni dell'heap vengono eseguite all'interno di tale heap normalmente.

    
risposta data 12.06.2013 - 13:40
fonte

Leggi altre domande sui tag