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 }