Per i piu’ Curiosi, ASLR

ASLR, acronimo per ‘Address Space Layout Randomization’,
è una contromisura difensiva adottata da sviluppatori software,
al fine di proteggere l’esecuzione di un dato processo in
memoria.

Come e perchè funziona? Essendo la RAM suddivisa
in ‘celle’, un codice malevolo può facilmente operare un
operazione di ‘buffer overflow’, cioè un letterale strabordamento
della memoria di una variabile dal suo spazio definito
durante l’inizializzazione della stessa. Immaginate di poter
‘iniettare’ e far strabordare un’ istruzione JMP (jump, utilizzata
per passare da un blocco di codice all’altro, in termini
di istruzioni ‘low-level’) direttamente nella cella di memoria
che si occupa di un’ autenticazione. Il gioco è presto fatto.
Proprio per evitare questo tipo di exploit, è stato ideato
ASLR, complesse strutture che si occupano di randomizzare
l’indirizzo o locazione di processi ‘vitali’ del
sistema e delle sezioni di memoria contenenti l’heap,
lo stack e lo spazio dedicato alle librerie. Nei moderni
sistemi operativi, per eseguire un buffer overflow, è necessario
‘disassemblare’ il codice compilato su cui si vuole
sfruttare la vulnerabilità ed effettuare oppurtuni test
per ottenere dei puntatori ad indirizzi fissi , detti base
pointers, ed il loro ‘offset’. E’ possibile, tuttavia, eseguire
un buffer overflow per puro scopo ludico, in macchine
con OS Linux, o distro, non particolarmente recenti.

Leonardo Cascianelli

Ultimi post di Leonardo Cascianelli (vedi tutti)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *