A volte password / hash / chiavi e amp; altre informazioni private sono memorizzate in variabili e quindi nella memoria / RAM durante l'esecuzione del codice.
mentre alcune situazioni (ad esempio, i kernel di Linux vedono qui c'è qualche distro di Linux o patch del kernel che cancella uno spazio di memoria del processo dopo il processo di uscita? ) cura di cancellare la memoria utilizzata mi chiedevo di più sul quadro più ampio:
La domanda è quindi: Il programmatore del codice dovrebbe preoccuparsi di cancellare le informazioni sensibili (cioè l'azzeramento) da parte di se stesso? Più preciso dovrei fare qualcosa di simile
int main()
{
char bufferWithSecret [10];
sprintf (bufferWithSecret, "%d",generateKey());
// do some stuff
// ...
// ...
sprintf (bufferWithSecret, "000000000"); // wipe the memory
}