Como disparar uma auto-destruição do sistema com uma determinada senha é inserida

44

Como eu configuro meu sistema para destruir todos os dados pessoais quando uma determinada senha é inserida? A motivação por trás disso é coisa da NSA.

Eu imagino que haja três casos principais de uso.

  1. No login, a inserção de uma senha predeterminada aciona a destruição dos dados do usuário.
  2. Na ativação do sistema. a inserção de uma senha predeterminada aciona a destruição de dados pessoais.
  3. Inserir qualquer comando privilegiado com uma senha predeterminada aciona a destruição de dados pessoais.

Eu sei que algo como

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

Deve ser adequado para destruição de dados. Eu não sei como ter isso desencadeado por uma determinada senha, no entanto.

Pontos de bônus, se ele permitir login, enquanto os dados estiverem sendo excluídos.

    
por Josh 03.01.2014 / 22:02

10 respostas

26

Idéia # 1 - sistema operacional oculto

Como um método alternativo, você pode fazer uso do "Sistema operacional oculto" do TrueCrypt . Isso permite que você acesse um sistema operacional alternativo falso quando uma determinada senha é usada, em vez do sistema operacional primário.

trecho

If your system partition or system drive is encrypted using TrueCrypt, you need to enter your pre-boot authentication password in the TrueCrypt Boot Loader screen after you turn on or restart your computer. It may happen that you are forced by somebody to decrypt the operating system or to reveal the pre-boot authentication password. There are many situations where you cannot refuse to do so (for example, due to extortion). TrueCrypt allows you to create a hidden operating system whose existence should be impossible to prove (provided that certain guidelines are followed — see below). Thus, you will not have to decrypt or reveal the password for the hidden operating system.

Bruce Schneier aborda a eficácia do uso destes ( Deniable File Systems , então você pode querer investigar mais antes de mergulhar.

A idéia de Criptografia Deniable é um pouco de worms, portanto, cautela ao usá-lo em determinadas situações precisa ser bem pensado antes do tempo.

Idéia # 2 - Adicione um script para / etc / passwd

Você pode inserir scripts alternativos na entrada de um usuário no arquivo /etc/passwd .

Exemplo

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

Você pode configurar uma conta de usuário para que ela execute um script como /usr/local/etc/sdshell , que verificará qual senha foi fornecida. Se é a senha mágica que desencadeia a limpeza, ela pode começar esse processo (com fundo mesmo) e cair para um shell ou fazer outra coisa.

Se a senha fornecida não for essa senha mágica, continue executando um shell normal, /bin/bash , por exemplo.

Fonte: 19.6.1 Integração de senhas de uso único com o Unix

    
por 03.01.2014 / 23:04
15

Minha abordagem para isso seria acionar a auto-destruição em um módulo pam . Existem mecanismos para capturar a senha com um script, verificar se é o "especial" e iniciar o processo de autodestruição.

Escreva uma linha na sua /etc/pam.d/common-auth como primeira linha como esta:

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

(ou, por exemplo, em /etc/pam.d/gdm se você quiser que ele funcione com autenticação via gdm ) expose_authtok faz com que o módulo pam_exec.so forneça a senha via stdin ao script de login chamado /etc/security/suicide.sh . Este script seria executado com privilégios de root e, por exemplo, ficaria assim:

#!/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

Funcionaria mesmo se você alterar a senha do usuário "normal".

    
por 03.01.2014 / 23:43
7

Só para você saber se alguém do gov etc pega o seu computador, a primeira coisa que eles farão é copiar o bit da unidade para o bit e fazer a cópia. A mesma coisa é feita sempre que alguém faz perícia computacional, portanto, se você danificar ao analisar uma unidade, você apenas danificará a cópia.

Então vamos dizer que a grande NSA ruim pega o seu computador e coloca seus polegares em um vício para que você diga a senha. Quando você lhes dá a senha errada, então é só copiar e não o original. Agora eles sabem que você está brincando com eles.

Portanto, qualquer uso de uma palavra de kill pass só será efetivo se você a executar antes que alguém tenha acesso ao seu sistema. Então, tudo o que você faria seria fornecer uma maneira complicada de executar algo que você poderia usar como alias.

    
por 04.01.2014 / 04:05
6

Se você realmente quer destruir seus dados. Você primeiro tem que se certificar de que ninguém faça uma cópia dos seus dados (ou seja, o disco inteiro) no começo. Mas isso não é possível no nível do sistema operacional.

A única maneira de garantir que seus dados não caiam em mãos erradas é usar criptografia. Especialmente Criptografia negável seria a coisa certa no seu caso: se você digitar a senha correta, seus dados pessoais serão exibidos. Se você digitar a outra senha, alguns dados inócuos serão exibidos.

    
por 03.01.2014 / 23:00
5

Se você realmente quiser destruir seus dados, protegê-los da NSA, você precisa de algo com explosivos e fogo que derreta o metal nos pratos de disco, e você precisa ser capaz de ativá-lo remotamente. .

Eu suspeito que isso não seja prático.

    
por 07.01.2014 / 23:07
0

Bem, você pode ter um script para lixar o diretório / home do seu usuário principal (assim como / var, / tmp e em qualquer lugar que você tenha dados somente para os olhos) se você entrar com um nome de usuário diferente ... começaria no login e, em seguida, carregaria automaticamente algo que engana o espectador fazendo algo supostamente útil. Se ele destruir o seu sistema sem enganar o observador, ele pode simplesmente puxar o plugue e impedir que o seu melhor plano funcione. Isso também permite que você faça um login enquanto isso está em andamento ... embora eu coloque o usuário TRASHME em uma unidade diferente para a unidade que está sendo lixeira será bastante ocupada e, portanto, pokey.

    
por 03.01.2014 / 23:22
0

Um disco rígido seguro, ou unidade flash para esse assunto, é um oxímoro. A única maneira de proteger suas informações é usar um sistema operacional virtual que é executado na memória e evapora quando você desliga a energia, com todos os dados que precisam ser salvos em mídia externa que você pode ocultar se desejar. Existem várias distribuições Linux "Live" por aí que permitem que você faça exatamente isso. Com relativamente pouco esforço, você pode remasterizar o CD ou DVD e personalizá-lo para melhor atender às suas necessidades. Além disso, esteja ciente de que grande parte da sua informação comportamental está sendo retransmitida pelo seu navegador, e para qualquer pesquisa que você acredite estar comprometendo, você deve estar usando um navegador seguro como o Tor.

    
por 04.01.2014 / 23:41
0

Se você quiser manter as coisas seguras, entenda que não existe uma segurança perfeita e que a segurança não é mais do que uma troca de aceitáveis após uma avaliação de risco precisa.

Para começar, porque destruir qualquer coisa. Primeiro, olhe para diminuir a facilidade de acesso. Crie um intervalo de ar. Compre uma caixa bcheaap para coisas on-line e qualquer coisa que você queira enviar do seu transporte na caixa principal por meio de sneakernet. Use a criptografia boa , como o Scrypt. Truecrypt e outros tiveram seu dia venerável.

Existem muitas outras estratégias que você pode empregar, sem espaço suficiente para entrar nelas, e francamente não tenho tempo suficiente para entrar nelas. Eu acho que você descobriu um novo caminho de aprendizado.

    
por 06.01.2014 / 22:53
0

Como foi apontado para mim, e apresentado no Phoronix, a Kali Linux criou um método para fazer isso também. Analisando alguns dos códigos, há uma fraqueza que ainda permitirá que o patch seja derrotado, mas é um longo caminho para permitir uma senha de autodestruição eficaz. Como nota, a fraqueza é uma particularidade de hardware relacionada ao zeramento de dados - ferramentas de fabricante podem recuperar dados zerados, e substituir locais-chave em uma mídia deve ser feito várias vezes com um gerador de números aleatórios para garantir a mistura de dados.

Link aqui: link

    
por 08.01.2014 / 08:18
0

Sim, você precisa destruir a superfície da unidade. Uma granada termite é recomendada (é isso que eles nos ensinaram) Você pode fazer o seu próprio com um acionador de partida de fogo (bloco de magnésio) e uma fonte de ignição ... o objetivo é criar um incêndio classe D ... impossível apagar .

    
por 06.11.2015 / 23:33