Tuve una conversación con @ anger32 que dice que poner a cero un marco de página de memoria física al pasar la página respaldada por eso El paso a otro proceso no es responsabilidad de sistemas operativos como Windows y Linux (aunque lo hacen, no garantizan que esto suceda), sino una responsabilidad de los sistemas operativos con un certificado que le permita trabajar con información clasificada.
¿Es posible realizar el siguiente ataque en otro proceso (quizás más privilegiado)?
-
asigne suficientes páginas de memoria y comience a consumir suficiente tiempo de CPU para evitar que el subproceso a cero, que tiene la prioridad más baja (al menos en Windows), obtenga tiempo de CPU.
-
otro proceso coloca datos confidenciales en la memoria
-
se produce un cambio de contexto
-
solicitamos al sistema operativo una página de memoria, el sistema operativo desaloja la página del proceso y nos ofrece la nueva página respaldada por el mismo marco de página sin ponerla en cero.
-
escaneamos la página en busca de secretos.
También afirma que hay formas de leer la memoria de otro proceso con mmap
, sus marcas y direcciones físicas en Linux. ¿Conoce alguna? ¿Es realmente posible obtener la memoria de otro proceso en Linux, por ejemplo, la memoria del proceso de otro usuario o dominio SELinux? Si lo son, parece una vulnerabilidad muy peligrosa.