Quanto incide l'efficacia dell'ASLR da parte di ABI diversi?

0

Linux ha più ABI x86: ia32, x32 e x86_64.

ia32 e x32 usano entrambi gli indirizzi a 32 bit per l'indirizzamento e x86_64 usano 64 bit.

Ora, la domanda: poiché la dimensione dello spazio di memoria dovrebbe influenzare la quantità di indirizzi che possono essere randomizzati, quanto incide sull'efficacia dell'ASLR e quanto conta in pratica? Allo stesso modo, il numero di registri disponibili è in qualche modo importante per l'efficacia dell'ASL?

    
posta Simon Lindgren 13.01.2014 - 22:47
fonte

1 risposta

0

Questo potrebbe darti ulteriori informazioni:

Wikipedia

Address space layout randomization

Effectiveness

Address space layout randomization is based upon the low chance of an attacker guessing the locations of randomly placed areas. Security is increased by increasing the search space. Thus, address space randomization is more effective when more entropy is present in the random offsets. Entropy is increased by either raising the amount of virtual memory area space over which the randomization occurs or reducing the period over which the randomization occurs. The period is typically implemented as small as possible, so most systems must increase VMA space randomization.

To defeat the randomization, attackers must successfully guess the positions of all areas they wish to attack. For data areas such as stack and heap, where custom code or useful data can be loaded, more than one state can be attacked by using NOP slides for code or repeated copies of data. This allows an attack to succeed if the area is randomized to one of a handful of values. In contrast, code areas such as library base and main executable need to be discovered exactly. Often these areas are mixed, for example stack frames are injected onto the stack and a library is returned into.

ASLR rende il lavoro di sfruttamento molto più difficile ma non impossibile. Non penso che il numero di registro aumenti l'efficacia dell'ASLR. Se pratichi lo sfruttamento delle vulnerabilità vedrai che saltare / trovare l'indirizzo giusto in memoria del tuo shellcode è molto difficile con ASLR anche con i NOP. Se lo stack non è eseguibile (DEP), viene utilizzata la tecnica ancora più difficile e return to libc .

Un altro argomento simile

Ulteriori informazioni anche qui

    
risposta data 14.01.2014 - 09:47
fonte

Leggi altre domande sui tag