Pruebas con LiME en CentOS. Primero, KeePassX se configuró para generar contraseñas de búsqueda simples, que se regeneran cada vez porque las búsquedas colocan las contraseñas en la memoria.
Todos estos estaban a salvo (no se revelaron, y a menos que se indique que realicé el paso antes de comenzar un volcado de LiME):
- Genere la contraseña dentro de KeePassX, no termine de guardar.
- Vuelva a generar la contraseña, guarde la contraseña y deje la ventana principal abierta.
- Inicie la captura de memoria, vuelva a generar la contraseña, la captura finaliza antes de que caduque el tiempo de espera de la contraseña (sujeto a tiempo, pero es poco probable).
- Regenerar contraseña, copiar al portapapeles con la función de copia de KeePassX, el tiempo de espera de la contraseña no caduca.
- Regenerar contraseña, copiar al portapapeles con la copia de KeePassX, iniciar volcado; la contraseña caduca en 10 segundos (el volcado finaliza a los 30 segundos)
- Regenerar contraseña, copiar al portapapeles a mano con Ctrl-C, iniciar volcado después de que expire el tiempo de espera.
- Regenerar contraseña, copiar al portapapeles a mano (Ctrl-C), tiempo de espera no caducado.
- Regenerar contraseña, guardar, luego dejar [Mostrar contraseña] activa durante el volcado.
- Regenerar, copiar y pegar desde KeePassX a GNote.
- Regenera, copia y pega desde el campo de entrada de la contraseña de KeePassX a Firefox + Gmail.
- Regen, muestra la contraseña, escribe manualmente en el campo de entrada de la contraseña de Firefox + Gmail.
Tuve una detección de casualidad, probablemente un error. Una detección real fue un intento manual de poner en cola un comando de búsqueda mientras se esperaba que el volcado terminara: Esto inyectó la contraseña en la memoria.
A tus preguntas:
Hay mucho tiempo para usar la volatilidad con la memoria copiada + las claves de cifrado, pero el acceso físico suele ser más difícil. La mayoría de las personas (en mi opinión) no tienen que preocuparse demasiado por su hardware. Sí, hay E / S de bajo nivel, actualizaciones de BIOS, BadUSB, Thunderstrike, comunicación ultrasónica, incluso modificaciones al firmware del disco duro; todos son noticias, pero a menudo de un alcance limitado.
Los administradores de portapapeles o los programas de menor seguridad que KeePassX son más preocupantes y la interacción de shell en realidad se parece a la pistola humeante (especialmente cuando se completan las pestañas, las búsquedas y la cola de comandos).
Mi contraseña de texto claro de sudo persiste en la memoria si elevo, pero lo hago mucho. Para emular el uso bajo, aquí hay una prueba de una nueva cuenta, comenzando desde la raíz (menos oportunidades para sudo). No busqué entre volcados de memoria, confiando en KeePassX para proteger las contraseñas como se indica arriba:
Terminal 1:
========================
# adduser keepasstest
# su keepasstest ' user is working
$ exit
# passwd keepasstest
Changing password for user keepasstest.
New password: ' paste from KeePassX
Retype new password: ' paste from KeePassX
passwd: all authentication tokens updated successfully.
# exit ' dump memory #1
Terminal 2:
=====================
$ sudo -s ' my account
# su keepasstest ' substitute user
$ sudo -s ' elevate
[sudo] password for keepasstest: ' Paste from KeePassX
# ' dump memory #2
Resultados:
$ sudo grep Ifnavcogi... lime*.txt
lime1.txt:Ifnavcogi...
lime1.txt:Ifnavcogi... ' 3 entries after passwd
lime1.txt:Ifnavcogi...
lime2.txt:Ifnavcogi...
lime2.txt:Ifnavcogi...
lime2.txt:Ifnavcogi... ' 5 entries after sudo
lime2.txt:Ifnavcogi...
lime2.txt:Ifnavcogi...
15 minutos después, al menos una contraseña aún está presente en los volcados, incluso después de que el tiempo de espera en caché de sudo haya expirado; el resto viene de la memoria de mi navegador.
Otra preocupación, aunque KeePassX hace páginas de bloqueo para evitar que se cambien al disco (ps -axu mostrará "L" en sus banderas) que ya no importa si hibernar el sistema y no use un buen cifrado de disco completo.
Parece que la contraseña está en varios lugares fuera de KeePassX cuando uso sudo (independientemente de cómo llegue allí). Pero el volcado de memoria en vivo necesita permisos elevados ... como el nivel requerido para ubicar malware en su sistema, para reemplazar su hardware, o para obtener el acceso físico necesario para copiar su memoria. No me gustan las contraseñas de texto claro, pero el riesgo aún parece ser promedio.