Ho avuto una conversazione con @ anger32 che afferma che l'azzeramento di una cornice di memoria fisica durante il passaggio della pagina sostenuta da il frame ad un altro processo non è responsabilità di sistemi operativi come Windows e Linux (anche se lo fanno, non garantiscono che ciò accada), ma una responsabilità dei sistemi operativi con un certificato che consente di lavorare con informazioni classificate.
È possibile effettuare il seguente attacco su un altro processo (forse più privilegiato)?
-
mappare abbastanza pagine di memoria e iniziare a consumare abbastanza tempo di CPU per evitare che il thread di azzeramento, che ha la priorità più bassa (almeno su Windows), dal tempo della CPU.
-
un altro processo mette i dati sensibili nella memoria
-
si verifica un cambio di contesto
-
chiediamo al sistema operativo una pagina di memoria, il sistema operativo sfrutta la pagina 'process' e ci dà la nuova pagina supportata dallo stesso frame della pagina senza azzerarla.
-
eseguiamo la scansione della pagina per i segreti.
Dichiara inoltre che ci sono modi per leggere un altro processo di "memoria" con mmap
, i suoi flag e gli indirizzi fisici su Linux. Conosci qualche? È davvero possibile ottenere una memoria di un altro processo su Linux, ad esempio memoria del processo di un altro utente o dominio SELinux? Se lo sono sembra una vulnerabilità molto pericolosa.