Gli indirizzi di heap sono randomizzati da ASLR?

6

Ho letto questo articolo su un exploit di Internet Explorer e sono un po 'confuso sul perché gli indirizzi di memoria effettuati dal "lavoro" di heap-spray.

Il documento afferma che l'attacco utilizza un heap-spray per spruzzare ~ 320 MB di valore di 0x12121212. Questo indirizzo è stato scelto perché l'attacco ha il controllo sulla memoria in ed intorno a 0x12121212. Infatti, all'indirizzo di memoria 0x12121212 si trova la catena ROP.

Sono confuso perché questo funziona con ASLR abilitato, gli indirizzi di memoria non dovrebbero essere randomizzati ogni volta?

In che modo 0x12121212 può essere utilizzato in modo affidabile?

    
posta MikeTGW 21.05.2016 - 07:48
fonte

1 risposta

5

Secondo il libro di Windows Internals 5th Edition, il bias ASLR a 5 bit per gli heap è "moltiplicato per 64 KB per generare l'indirizzo di base finale, a partire da 0, fornendo un intervallo possibile da 0x00000000 a 0x001F0000 per l'heap iniziale".

Come tale, l'heap iniziale per IE su Windows 7 sarà sempre compreso tra 0x00000000 e 0x001F0000, con 32 possibili posizioni. Riempiendo l'heap di 320 MB di dati (0x14000000 byte), l'utente malintenzionato può quasi sicuramente garantire che l'indirizzo 0x12121212 sia compilato:

  • Caso indirizzo basso (l'heap viene creato a 0x00000000): riempiamo tutti gli indirizzi da 0x00000000 a 0x14000000, quindi 0x12121212 è compilato.
  • Caso di indirizzo elevato (l'heap viene creato a 0x001F0000): riempiamo tutti gli indirizzi da 0x001F0000 a 0x141F0000, quindi 0x12121212 è compilato.

Ciò è attenuato in Windows 8 a 64 bit e versioni successive quando l'applicazione viene compilata con il flag /HIGHENTROPYVA : la dimensione della distorsione ASLR per l'heap è 24 bit e risulta in 16,777,216 posizioni possibili per l'heap su un spazio di indirizzamento della memoria di 1 TB.

Puoi trovare ulteriori informazioni su ASLR nel BlackHat 2012 talk "Miglioramenti dell'attenuazione dei problemi in Windows 8 .

    
risposta data 21.05.2016 - 15:02
fonte

Leggi altre domande sui tag