L’obiettivo del sistema noto come ASLR (Address Space Layout Randomization) è ridurre la superficie degli attacchi ( buffer overrun ed exploit) rendendo casuali gli indirizzi di memoria utilizzati durante l’esecuzione di codice, ma nelle ultime versioni di Windows questa funzionalità di sicurezza è stata resa praticamente inutile da una gestione incorretta da parte di Microsoft.
A evidenziare l’ennesimo caso imbarazzante per gli ingegneri di Redmond è stato Will Dormann, lo stesso responsabile della recente scoperta della vulnerabilità vecchia di 17 anni nell’editor di equazioni matematiche di Office.
Analizzando il comportamento di eqnedt32.exe , Dormann si è accorto che la funzionalità ASLR funziona correttamente solo sugli OS fino a Windows 7 ; nelle versioni successive (Windows 8, Windows 8.1 e Windows 10), la configurazione del Registro usata da Microsoft fa si che il codice dell’eseguibile venga caricato nella stessa zona di memoria ogni volta, a ogni riavvio e anche su macchine differenti.
Actually, with Windows 7 and EMET System-wide ASLR, the loaded address for eqnedt32.exe is different on every reboot. But with Windows 10 with either EMET or WDEG, the base for eqnedt32.exe is 0x10000 EVERY TIME.
Conclusion: Win10 cannot be enforce ASLR as well as Win7! pic.twitter.com/Jp10nqk1NQ– Will Dormann (@wdormann) 15 novembre 2017
Microsoft ha modificato i valori del Registro di configurazione usati per ASLR, portando quindi alla comparsa del bug scoperto dal ricercatore e rendendo la funzionalità di sicurezza – implementata sugli OS per computer sin dal lontano 2003, e a partire da Vista nel caso di Windows – praticamente inutile.
Redmond dovrebbe fornire una patch correttiva in tempi non eccessivamente lunghi, ma in attesa della pezza ufficiale è già possibile ripristinare il corretto funzionamento di ASLR usando un file REG correttivo reso disponibile da BleepingComputer .