¿GuardedString de Oracle protege los datos confidenciales contra el montón o volcados de memoria?

6

org.identityconnectors.common.security.GuardedString de Oracle lo indica en su documentación:

  

La clase GuardedString alivia [el problema de que los datos de cadena se guardan en la memoria como texto sin cifrar] almacenando los caracteres en la memoria de forma cifrada. La clave de cifrado será una clave generada aleatoriamente.

¿Esto protege contra un montón o volcado de memoria? A primera vista, parece trivial ubicar la clave generada aleatoriamente en la memoria y usarla para descifrar los datos confidenciales.

    
pregunta Chris Betti 28.06.2016 - 00:17
fuente

1 respuesta

4

Una mirada más profunda a la implementación real ayudará a un atacante a comprender la estructura de datos de un volcado de memoria, y de lo que encontré en EncryptorImpl no se ha puesto ningún esfuerzo en ofuscar el mecanismo de almacenamiento de claves Para prolongar el tiempo necesario para la ingeniería inversa el secreto. Entonces no, esta no es una medida efectiva contra la exposición de la memoria.

Permítame proporcionarle un mejor escenario de uso para esta clase: Como la variable clave es privada, al menos es muy improbable que un desarrollador encuentre su camino respondiendo accidentalmente con la clave a un atacante (por ejemplo, debido a un error en el flujo de control de un controlador de solicitud de servicio web), por lo que hay algunos Utilice esta clase para asegurarse de que el código solo pueda ayudar a descifrar descifrando realmente en segundo plano en lugar de entregar una clave. Una vez que el programa se detiene / se desconecta, un atacante ya no podrá descifrar secretos, y todo el descifrado que ocurrió hasta ese momento (cuando el atacante estaba usando el programa como una especie de oráculo) tuvo la oportunidad de ser registrado, lo cual puede ser relevante en un análisis post mortem para determinar qué datos se han comprometido.

    
respondido por el Anton Kaiser 27.01.2017 - 01:11
fuente

Lea otras preguntas en las etiquetas