• Blog

    gus

    LUKS - Vulnerabilidade na criptografia completa de disco

    Se você utiliza o LUKS (Linux Unified Key Setup) - sistema de criptografia completa de disco, padrão do sistema no Debian e Ubuntu -, então leia com atenção esse artigo: Practical malleability attack against CBC-Encrypted LUKS partitions - 22/12/2013.

    tl;dr: não deixe o seu computador dando sopa, apesar dele estar criptografado, alguém pode fazer algo sujo com ele.

    Notas rápidas

    1. O LUKS não criptografa a partição /boot, uma vez que para você colocar a senha, ele precisa iniciar o sistema. Essa partição inclui, por exemplo, o kernel e o grub. O ataque descrito parte do pressuposto que o atacante teve acesso físico ao seu sistema.

    2. O ataque anterior poderia ser mitigado se a partição /boot fosse copiada para um pendrive ou uma mídia. Desta forma, o atacante não teria acesso físico ao kernel e só teria acesso aos 512 bytes da MBR. Leia sobre o ataque a partição /boot: Pwning Past Whole Disk Encryption - 2009 / 2010.

    3. A diferença para esse novo ataque é que é possível não só manipular o /boot, mas inserir um backdoor e manipular dados na partição criptografada sem a necessidade do atacante saber a chave de criptografia da partição.

    Many users expect that data on the encrypted partition may be damaged but they believe it is impossible to do a more targeted attack such as placing a rootkit on it without knowing the encryption key. The following section shows that this assumption is not valid and that it is in fact possible to add a full remote code execution backdoor to the encrypted partition without knowing the encryption key.

    4. Esse ataque só é possível por conta do modo da cifra utilizada, no caso CBC. Para saber qual cifra o LUKS do seu sistema está utilizando:

    {% codeblock %}

    cryptsetup luksDump /dev/sda3|grep Cipher

    Cipher name: aes Cipher mode: cbc-essiv:sha256

    5. A última versão estável do Debian, o Wheezy utiliza a cifra XTS.

    6. No final do artigo, o autor conclui que apesar deste ataque ser prevenido usando XTS, mesmo assim, a falta de checagem de integridade do LUKS permite a destruição de dados por sobrescrição seletiva de alguns blocos do disco criptografado. Isso pode ser utilizado para desativar, por exemplo, algumas funcionalidades de segurança como o AppArmor, a proteção de tela, o firewal, sem você saber que o computador sofreu um ataque.