Cómo activar una autodestrucción del sistema con una contraseña determinada se ingresa

46

¿Cómo configuro mi sistema para destruir todos los datos personales cuando se ingresa una contraseña determinada? La motivación detrás de esto son las cosas de la NSA.

Me imagino que hay tres casos de uso principal.

  1. Al iniciar sesión, el ingreso de una contraseña predeterminada desencadena la destrucción de los datos del usuario.
  2. Al despertar el sistema. el ingreso de una contraseña predeterminada desencadena la destrucción de datos personales.
  3. Ingresar cualquier comando privilegiado con una contraseña predeterminada desencadena la destrucción de datos personales.

Se que algo asi

dd if=/dev/urandom of=/dev/$HOME

Debe ser adecuado para la destrucción de datos. Sin embargo, no sé cómo activar eso con una contraseña determinada.

Puntos de bonificación si luego permite un inicio de sesión mientras se eliminan los datos.

Josh
fuente
99
Si realmente desea que esto funcione, debe cifrar su disco duro. Esto se debe a que sin cifrado tendrá que sobrescribir todo el disco duro, pero con cifrado, solo tendrá que sobrescribir el encabezado LUKS (o lo que sea).
strugee
1
Hay un módulo pam_python, que probablemente facilitaría la implementación de lo que desea: ace-host.stuart.id.au/russell/files/pam_python
reproducción el
77
Si te preocupa la NSA, entonces dd if=/dev/urandom of=/dev/$HOMEno va a hacer mucho bien. Incluso suponiendo que sean lo suficientemente estúpidos como para usar el sistema operativo en lugar de quitar el disco y leerlo directamente, hay compañías de recuperación forense que pueden obtener datos de un disco que se ha sobrescrito y quemado físicamente.
Deja de dañar a Monica el
2
# 1 Si la NSA realmente te persigue, ya extrajeron silenciosamente tus datos hace semanas. # 2 Cifrar sus datos le da a la NSA el derecho legal de mantener sus datos para siempre, o por el tiempo que tarde en descifrarlos, lo que ocurra primero. # 3 La evidencia de la destrucción de la evidencia a menudo es suficiente para que el tribunal lo tome en cuenta. Esos programas de 'borrado seguro' que llenan su disco con ceros o galimatías al azar son evidencia de que destruyó algo, y eso se plantearía en la corte.
Ryan Ries
3
No cubre todas sus 3 casos, pero echar un vistazo aquí: kali.org/how-to/emergency-self-destruction-luks-kali
falsificador

Respuestas:

26

Idea # 1 - Sistema operativo oculto

Como método alternativo, puede utilizar el "Sistema operativo oculto" de TrueCrypt . Esto le permite acceder a un sistema operativo alternativo falso cuando se utiliza una contraseña determinada, en lugar del sistema operativo principal.

extracto

Si la partición del sistema o la unidad del sistema está encriptada con TrueCrypt, debe ingresar su contraseña de autenticación previa al inicio en la pantalla TrueCrypt Boot Loader después de encender o reiniciar su computadora. Puede suceder que alguien lo obligue a descifrar el sistema operativo o a revelar la contraseña de autenticación previa al arranque. Hay muchas situaciones en las que no puede negarse a hacerlo (por ejemplo, debido a extorsión). TrueCrypt le permite crear un sistema operativo oculto cuya existencia debería ser imposible de probar (siempre que se sigan ciertas pautas, consulte a continuación). Por lo tanto, no tendrá que descifrar ni revelar la contraseña del sistema operativo oculto.

Bruce Schneier cubre la eficacia del uso de estos ( Sistemas de archivos negables , por lo que es posible que desee investigar más a fondo antes de sumergirse.

Toda la idea de Deniable Encryption es una especie de lata de gusanos, por lo que debe tenerse precaución antes de usarlo en ciertas situaciones.

Idea # 2 - Agregar un script a / etc / passwd

Puede insertar secuencias de comandos alternativas a la entrada de un usuario en el /etc/passwdarchivo.

Ejemplo

# /etc/passwd
tla:TcHypr3FOlhAg:237:20:Ted L. Abel:/u/tla:/usr/local/etc/sdshell

Puede configurar la cuenta de un usuario para que ejecute un script como el /usr/local/etc/sdshellque verificará qué contraseña se proporcionó. Si es la contraseña mágica la que activa el borrado, podría comenzar este proceso (incluso en segundo plano) y caer a un shell o hacer otra cosa.

Si la contraseña proporcionada no es esta contraseña mágica, continúe ejecutando un shell normal /bin/bash, por ejemplo.

Fuente: 19.6.1 Integración de contraseñas de un solo uso con Unix

slm
fuente
2
La idea # 2 no funcionará. Solo se llamará al shell una vez que se haya ingresado la contraseña correcta (como se configuró en / etc / shadow). Incluso si funcionara, no habría forma de que el script verifique qué contraseña se ingresó al momento de iniciar sesión.
falso el
@faker: este método sale directamente de las contraseñas de un solo uso en Unix, por lo que creo que funcionará. Es posible que no se integre directamente con la contraseña / etc / shadow del sistema, pero es viable.
slm
@slm desde la página a la que se vinculó: This puts two passwords on the account: the traditional account password followed by the one-time password.Por supuesto, en el script puede verificar una contraseña de destrucción, pero solo después de ingresar la contraseña de cuenta correcta. Esencialmente, entonces tienes 3 contraseñas. Contraseña de cuenta común, contraseña correcta de segundo paso y contraseña de autodestrucción de segundo paso. No muy agradable y bastante sospechoso ...
falsificador
@faker: slm tiene razón: no seguiría el enlace paso a paso, pero funcionaría. Todavía se vincularía a un shell o script diferente. No veo ninguna razón por la que sea incorrecto.
Josh
@ Josh funciona si consideras tener que recordar 3 contraseñas para estar bien. De lo contrario, no funciona.
falsificador
16

Mi enfoque para esto sería desencadenar la autodestrucción en un módulo pam . Existen mecanismos para capturar la contraseña con un script, verifique si es la "especial" y comience el proceso de autodestrucción.

Escriba una línea en su /etc/pam.d/common-authprimera línea como esta:

auth    optional        pam_exec.so debug expose_authtok /etc/security/suicide.sh

(o, por ejemplo, /etc/pam.d/gdmsi solo desea que funcione con autenticación a través gdm) expose_authtokhace que el pam_exec.somódulo entregue la contraseña a través de stdin al script de inicio de sesión llamado /etc/security/suicide.sh. Este script se ejecutará con privilegios de root y, por ejemplo, se vería así:

#!/bin/bash
# read the users password from stdin (pam_exec.so gives the provided password 
# if invoked with expose_authtok)
read password

# if its an authentication and it's the user "user" and the special password
if [ "$PAM_TYPE" == "auth" ] && [ "$PAM_USER" == "user" ] && [ "$password" == "magic" ]; then
  # do whatever you want in the background and the authentication could continue
  # normally as though nothing had happened
  exit 0
else
  exit 0
fi

Funcionaría incluso si cambia la contraseña del usuario "normal".

caos
fuente
8

Para que sepa si alguien del gobierno, etc., toma su computadora, lo primero que hará es copiar la unidad bit por bit y trabajar fuera de la copia. Lo mismo se hace cada vez que alguien hace informática forense, por lo que si daña mientras analiza una unidad, solo daña la copia.

Entonces, digamos que la gran NSA mala toma tu computadora y pone los pulgares en un vicio para que les digas la contraseña. Cuando les da la contraseña incorrecta, solo se eliminará la copia y no el original. Ahora saben que estás jugando con ellos.

Por lo tanto, cualquier uso de una palabra de paso de muerte solo sería efectiva si la ejecuta antes de que alguien se apodere de su sistema. Entonces, todo lo que haría es darle una forma complicada de ejecutar algo que podría alias.

marca
fuente
6

Si realmente quieres destruir tus datos. Primero debe asegurarse de que nadie haga una copia de sus datos (es decir, todo el disco) al principio. Pero esto no es posible a nivel del sistema operativo.

La única forma de asegurarse de que sus datos no caigan en manos equivocadas es usar la criptografía. El cifrado especialmente negativo sería lo correcto en su caso: si escribe la contraseña correcta, se mostrarán sus datos personales. Si escribe la otra contraseña, se muestran algunos datos inocuos.

michas
fuente
Estoy más preocupado por el escenario en el que alguien me obliga a ingresar una contraseña o toma la computadora una vez que ingreso una contraseña.
Josh
3
Si alguien le obliga a ingresar una contraseña, simplemente ingrese la "otra" contraseña, que desbloquea los datos inocuos. - Por lo tanto, es posible negar la existencia de los datos reales. - Si me tomo en serio la obtención de sus datos, no le dejaré tocar su computadora, pero primero haga una copia de todo.
michas
6

Si realmente desea poder destruir sus datos, para protegerlos de la NSA, necesita algo con explosivos y fuego que derretirá el metal en los platos del disco, y necesita poder dispararlos de forma remota.

Sospecho que esto no es práctico.

Bill White
fuente
0

Bueno, podría tener un script para eliminar el directorio principal / usuario de su usuario principal (así como / var, / tmp y en cualquier otro lugar donde tenga datos solo para ojos) si inicia sesión con un nombre de usuario diferente ... el script comenzaría en iniciar sesión y luego cargar automáticamente algo que engaña al espectador haciendo algo supuestamente útil. Si destruye su sistema sin engañar al espectador, simplemente podrían desconectarlo y así evitar que su mejor plan funcione. Eso también le permite iniciar sesión mientras esto está en curso ... aunque yo pondría al usuario de TRASHME en una unidad diferente para que la unidad que está siendo destruida esté bastante ocupada y, por lo tanto, no funcione.

K7AAY
fuente
1
No dentro de las limitaciones establecidas.
Josh
0

Un disco duro seguro, o unidad flash, es un oxímoron. La única forma de proteger su información es usar un sistema operativo virtual que se ejecute en la memoria y se evapore cuando apague la alimentación, con cualquier información que deba guardarse en un medio externo que pueda ocultar si lo desea. Hay una serie de distribuciones de Linux "en vivo" que le permiten hacer exactamente eso. Con relativamente poco esfuerzo, puede remasterizar el CD o DVD y personalizarlo para que se adapte mejor a sus necesidades. Además, tenga en cuenta que gran parte de su información de comportamiento está siendo transmitida por su navegador, y para cualquier búsqueda que considere comprometedora, debe usar un navegador seguro como Tor.

usuario55950
fuente
No es mi pedido Soy perfectamente consciente de que la seguridad perfecta no es práctica. No estoy pidiendo una solución perfecta.
Josh
0

Si desea mantener las cosas seguras, comprenda que no existe la seguridad perfecta y que la seguridad no es más que un intercambio de aceptables después de que se haya realizado una evaluación de riesgos precisa.

Para empezar, ¿por qué destruir algo? Primer vistazo a la disminución de la facilidad de acceso. Crea un espacio de aire. Compre una caja de bcheaap para cosas en línea y cualquier cosa que desee enviar desde su caja principal de transporte allí a través de sneakernet. Utiliza un buen cifrado, como Scrypt. Truecrypt y otros han tenido su día venerable.

Hay muchas otras estrategias que puede emplear, sin espacio suficiente para entrar en ellas aquí y, francamente, no tengo suficiente tiempo para entrar en ellas. Creo que has descubierto un camino de aprendizaje completamente nuevo.

David Crosswell
fuente
No dentro del contexto establecido.
Josh
0

Como se me señaló, y apareció en Phoronix, Kali Linux creó un método para hacerlo también. Al observar algunos de los códigos, hay una debilidad que aún permitirá que el parche sea derrotado, pero es muy útil para permitir una contraseña efectiva de autodestrucción. Como nota, la debilidad es una particularidad de hardware relacionada con la puesta a cero de los datos: las herramientas del fabricante pueden recuperar los datos puestos a cero, y la sobrescritura de ubicaciones clave en un medio debe realizarse varias veces con un generador de números aleatorios para garantizar la codificación de datos.

Enlace aquí: http://www.kali.org/how-to/emergency-self-destruction-luks-kali/

Josh
fuente
0

Sí, tienes que destruir la superficie del disco. Se recomienda una granada de termita (eso es lo que nos enseñaron). Puedes hacer la tuya con un iniciador de fuego (bloque de magnesio) y una fuente de ignición ... el objetivo es crear un fuego de clase D ... imposible de apagar .

Brian Winn
fuente
No creo que OP hablara de destrucción física ...
don_crissti