Ho avuto una conversazione con @ anger32 che afferma che l'azzeramento di un frame di pagina di memoria fisica quando si passa la pagina supportata da quel frame a un altro processo non è responsabilità di sistemi operativi come Windows e Linux (sebbene lo fanno, non garantiscono che ciò accadrà), ma una responsabilità dei sistemi operativi con un certificato che gli consente di lavorare con informazioni classificate.
È possibile effettuare il seguente attacco su un altro (forse più privilegiato)?
-
mappare un numero sufficiente di pagine di memoria e iniziare a consumare abbastanza tempo CPU per evitare che il thread azzerato, che ha la priorità più bassa (almeno su Windows), ottenga tempo CPU.
-
un altro processo inserisce dati sensibili in memoria
-
si verifica un cambio di contesto
-
chiediamo al sistema operativo una pagina di memoria, il sistema operativo elimina la pagina del processo e ci fornisce la nuova pagina supportata dallo stesso frame di pagina senza azzerarlo.
-
scansioniamo la pagina per i segreti.
Afferma anche che ci sono wa ys leggere la memoria di un altro processo che altera mmap
, i suoi flag e indirizzi fisici su Linux. Conosci qualche? È davvero possibile ottenere la memoria di un altro processo su Linux, ad esempio la memoria del processo di un altro utente o dominio SELinux? Se lo sono, sembra una vulnerabilità molto pericolosa.