La traduzione degli indirizzi è il processo di conversione di una forma di indirizzo di memoria in un'altra, in modo che l'hardware possa collocare o recuperare correttamente i dati. Una CPU, un controller di memoria o un altro sottosistema può prendere un indirizzo logico, fisico o specifico del controller e mapparlo nella posizione corretta nella RAM.
Nella sicurezza informatica, la traduzione degli indirizzi è importante perché contribuisce a far rispettare l'isolamento della memoria. Viene utilizzata da sistemi operativi, hypervisor e firmware per mantenere separati processi, guest e componenti privilegiati. Se la logica di traduzione è difettosa o può essere influenzata, i dati possono essere letti o scritti nella regione sbagliata, indebolendo protezioni come sandboxing, virtualizzazione e i confini del firmware. Gli attaccanti possono tentare di sfruttare bug di traduzione per accedere alla memoria protetta, mentre i difensori si affidano a regole di traduzione corrette, controlli hardware e aggiornamenti del firmware per preservare la fiducia nella piattaforma.


