Use explicit_bzero () para poner a cero toda la memoria

0
Las funciones

como bzero () , explicit_bzero () y ZeroMemory están diseñadas para eliminar datos confidenciales de la RAM (teclas similares). ¿Puedo usar explicit_bzero () para eliminar toda la RAM (por ejemplo, 2 GB de RAM)? ¿Es este un enfoque factible? ¿Hay algún tipo de limitación significativa con esto, como ralentizar o bloquear el sistema?

    
pregunta Kiavash Satvat 06.10.2017 - 15:37
fuente

2 respuestas

1

Si pudiera poner a cero toda su memoria, entonces sí, el sistema se bloquearía de inmediato, ya que ya no existiría ninguno de los datos o el código del sistema operativo, el sistema no podría continuar ejecutándose en ninguna capacidad.

Pero no podría hacerlo simplemente llamando a bzero desde una aplicación de espacio de usuario. El núcleo generalmente restringe el acceso a la memoria de una aplicación dentro de su propio espacio de direcciones, por lo que no se permitiría.

    
respondido por el Sean Burton 06.10.2017 - 15:56
fuente
1

Estas son funciones de espacio de usuario. Esto significa que cualquier cosa que pueda borrar allí afecta solo al proceso actual y solo a las páginas de memoria que pertenecen al proceso que se pueden escribir (es decir, generalmente no hay código de programa). Intentar eliminar la memoria no asignada al espacio de direcciones del proceso solo bloqueará la aplicación (es decir, falla de segmentación).

  

¿Puedo usar explicit_bzero () para eliminar toda la RAM (por ejemplo, 2 GB de RAM)?

Dado que un proceso no posee la RAM completa (el kernel sí lo hace), no se puede eliminar de un proceso.

    
respondido por el Steffen Ullrich 06.10.2017 - 19:15
fuente

Lea otras preguntas en las etiquetas