Fragmentar automaticamente a partição LUKS após X tentativas de decriptografia com falha?

1

É possível configurar um gerenciador de inicialização que começa a fragmentar automaticamente o arquivo header.img e, em seguida, a própria partição criptografada em X tentativas falhas de descriptografar a partição?

Se isso ainda não existir - é possível criar um software desse tipo sem trabalho extensivo?

Felicidades,

    
por cxou 20.05.2015 / 20:48

2 respostas

3

Sim (para o seu próprio gerenciador de inicialização / initramfs) e Não (para um ladrão que tenta decodificá-lo de um Live CD e assim contorna sua armadilha). Então a questão é, qual situação você está tentando cobrir aqui ...

Do ponto de vista de segurança, não é uma boa ideia, uma vez que não funciona e a senha deve ser impossível para a força bruta de qualquer forma. Também há um alto risco de desencadear essa armadilha.

É perfeitamente possível cometer erros ao inserir uma frase secreta. Meu favorito é a tecla caps lock, acerte-a acidentalmente e não perceba (já que a senha não está ecoada) e ... no seu caso, ela explode.

Para implementá-lo, você teria que ver se o sabor da sua distribuição de initramfs tem um sistema de gancho ou similar. Uma chamada cryptsetup normal pode ser assim:

cryptsetup -T 5 luksOpen /dev/sda1 luksroot

Para fazer boobytrap, você poderia simplesmente fazer algo como:

cryptsetup -T 5 luksOpen /dev/sda1 luksroot || boobytrap

E boobytrap seria uma função que apaga suas coisas enquanto mantém o ladrão ocupado. Além disso, você deve absolutamente verificar o código de erro do cryptsetup; então você não apaga por causa de parâmetros errados ou algo assim. Verifique a seção RETURN CODES na manpage.

Pseudocódigo: (não testado e não recomendado)

boobytrap() {
    if [ $? -eq 2 ]
    then
        # kill the disk silently in the background...
        dd bs=1M if=/dev/zero of=/dev/sda1 seek=2 2> /dev/null &
        # ...while keeping the thief busy entering more passwords
        cryptsetup -T 9999 luksOpen /dev/sda1 luksroot \
        && echo Congrats, but I already deleted your data...
    fi
}

Espero que você tenha um bom backup.

    
por 20.05.2015 / 22:09
2

Uma rápida olhada no meu sistema "wheezy" Debian sugere que seria perfeitamente possível inserir um tal boobytrap na função do_luks , localizada na biblioteca de script de shell /lib/cryptsetup/cryptdisks.functions , que é chamada de /etc/init.d/cryptdisks-early .

Depois de alterar o código, seria necessário executar update-initramfs para garantir que a imagem inicial do disco de inicialização também fosse atualizada.

Meu sistema Debian "jessie" também tem esses arquivos, mas eu não confirmei se eles são realmente usados neste admirável mundo novo de systemd .

    
por 20.05.2015 / 22:04