Antiforense · Aula 3 de 3
Volumes criptografados: BitLocker, FileVault e VeraCrypt
13 min de leitura
A criptografia de volumes e contêineres agora é o padrão em muitos laptops. Esta aula aborda como reconhecer volumes BitLocker, FileVault, LUKS e VeraCrypt em uma imagem ou em uma coleta de triagem, como as chaves do BitLocker são organizadas em camadas, quais fontes legais de chaves e oportunidades em sistemas em execução existem e como relatar o que não pôde ser examinado. A tentativa de adivinhar senhas é um processo separado, que depende de autorização, e não é abordado aqui.
Obstáculo ou antiforense?
A criptografia geralmente é legítima: privacidade, políticas de proteção de dados e sistemas operacionais que a habilitam automaticamente. Trate-a primeiro como um obstáculo. Ela só constitui um ato antiforense quando o contexto sustenta essa interpretação, por exemplo, um contêiner disfarçado com um nome enganoso, criado ou usado próximo ao momento do incidente, ou um software executado e depois removido. Apresente essa inferência separadamente da constatação técnica.
Reconhecimento de volumes criptografados
BitLocker
Um volume BitLocker mantém um cabeçalho de volume não criptografado cujo identificador OEM no offset 3 é a string de 8 bytes -FVE-FS-, onde um volume NTFS apresenta NTFS seguido de quatro espaços. O volume também contém três cópias do bloco de metadados FVE (Full Volume Encryption, criptografia de volume completo), cada uma também começando com -FVE-FS-; elas registram o método de criptografia, os protetores de chave e as chaves encapsuladas. O Windows 10 versão 1511 introduziu o XTS-AES; versões anteriores usavam AES-CBC. Em unidades removíveis, os volumes BitLocker To Go que foram formatados em FAT podem apresentar um cabeçalho no estilo FAT32 com o identificador OEM MSWIN4.1, portanto, pesquisar -FVE-FS- no volume ainda permite encontrar os blocos de metadados.
Em um sistema em execução, manage-bde -status informa, para cada volume, o Status de Conversão, a Porcentagem Criptografada, o Método de Criptografia, o Status da Proteção, o Status de Bloqueio e os Protetores de Chave. O canal de log de eventos Microsoft-Windows-BitLocker/BitLocker Management (arquivo Microsoft-Windows-BitLocker%4BitLocker Management.evtx) registra eventos como o início da criptografia, a adição ou remoção de protetores e o backup das informações de recuperação. Os IDs de evento diferem entre as versões do Windows, portanto, filtre pelo canal e leia o texto da mensagem.
FileVault
Em um Mac, o FileVault protege o volume de Dados APFS. Um superbloco de volume APFS sem o sinalizador APFS_FS_UNENCRYPTED (0x1 em apfs_fs_flags) indica um volume criptografado. Em Macs com T2 e Apple silicon, isso vale para todos os volumes internos, mesmo com o FileVault desativado, portanto, o sinalizador isoladamente não demonstra que o FileVault está ativado. Como explicado na Aula 1.7, Macs com chip T2 ou Apple silicon sempre criptografam o armazenamento interno em hardware; o FileVault acrescenta a exigência de que as credenciais de um usuário desbloqueiem a chave. No sistema em execução, fdesetup status informa "O FileVault está ativado."
LUKS
O Linux Unified Key Setup começa com a assinatura de 6 bytes LUKS\xba\xbe (4C 55 4B 53 BA BE) no offset 0, seguida de uma versão de 2 bytes: 1 ou 2. O LUKS1 tem um cabeçalho binário de 592 bytes com oito slots de chave e usa PBKDF2. O LUKS2 tem um cabeçalho binário de 4.096 bytes seguido de metadados JSON, uma segunda cópia do cabeçalho cuja assinatura é SKUL\xba\xbe, até 32 slots de chave e Argon2id como padrão habitual. Cada slot de chave contém a chave do volume criptografada com uma frase-senha ou um arquivo de chave.
VeraCrypt e TrueCrypt
O VeraCrypt, sucessor do TrueCrypt (descontinuado em 2014), não grava nenhuma assinatura em texto claro. O cabeçalho começa com um salt aleatório de 64 bytes; a assinatura VERA (ou TRUE) aparece somente depois que o cabeçalho é descriptografado com a senha correta. Assim, um arquivo de contêiner ou uma partição se parece com dados aleatórios. Os indicadores são:
- entropia de Shannon próxima do máximo de 8 bits/byte, em todo o objeto;
- tamanho múltiplo de 512 bytes;
- nenhuma assinatura de arquivo reconhecível, frequentemente com uma extensão ou um nome que sugere outra coisa.
Esses são indicadores, não provas: espaço apagado de forma segura (Aula 7.1), dados de teste aleatórios e outras ferramentas de criptografia têm a mesma aparência. Arquivos compactados também têm alta entropia, mas apresentam cabeçalhos como PK ou 7z. A criptografia do sistema é mais fácil de identificar, porque o carregador de inicialização do VeraCrypt substitui o normal (em sistemas UEFI, em \EFI\VeraCrypt\ na partição de sistema EFI).
Um volume oculto do VeraCrypt fica dentro do espaço livre de um volume externo, que é preenchido com dados aleatórios, de modo que sua presença não pode ser comprovada nem descartada apenas com base no contêiner. Somente outros artefatos, como arquivos LNK que apontam para caminhos inexistentes no volume externo aberto, podem sustentar essa afirmação. Nunca afirme nem negue sua presença sem essas evidências.
Artefatos de software
Quando o contêiner não pode ser identificado diretamente, o uso do software pode. Procure arquivos Prefetch de VERACRYPT.EXE e VERACRYPT FORMAT.EXE, entradas do Amcache e do BAM (Aula 2.3) e o driver %windir%\System32\drivers\veracrypt.sys (ausente no modo portátil). %APPDATA%\VeraCrypt\ (no modo portátil, a pasta que contém VeraCrypt.exe) contém Configuration.xml (preferências, incluindo configurações de desmontagem automática) e, somente se esses recursos tiverem sido usados, Favorite Volumes.xml (volumes salvos e suas letras de unidade) e History.xml (os últimos 20 caminhos de volumes; "Nunca salvar histórico" vem habilitado por padrão). Volumes montados podem deixar vestígios de letras de unidade: um valor \DosDevices\Z: em MountedDevices cujos dados não correspondem a nenhum disco conhecido, e arquivos LNK e Listas de Atalhos (Aula 2.4) cujo número de série do volume de destino não corresponde a nenhum volume conhecido.
Arquitetura de chaves do BitLocker
O BitLocker usa três camadas. Os setores são criptografados com a FVEK (chave de criptografia de volume completo). A FVEK é armazenada nos metadados, criptografada com a VMK (chave mestra do volume). A VMK é armazenada várias vezes, uma vez encapsulada por cada protetor de chave. Adicionar ou remover um protetor apenas adiciona ou remove uma cópia encapsulada da VMK; os dados não são criptografados novamente.
Os protetores incluem somente TPM (o Trusted Platform Module libera a VMK se a cadeia de inicialização medida permanecer inalterada), TPM + PIN, TPM + chave de inicialização, uma senha (típica para unidades de dados e removíveis), uma chave de inicialização ou arquivo de chave de recuperação (.BEK), a senha de recuperação e o desbloqueio automático (uma unidade de dados aberta automaticamente assim que o volume do sistema operacional é desbloqueado). Cada protetor tem um ID de chave GUID; a tela de recuperação mostra o início dele, permitindo associar uma senha recuperada ao volume correto.
A senha de recuperação tem 48 dígitos em oito grupos de seis. Cada grupo codifica 16 bits multiplicados por 11, portanto, todo grupo válido é divisível por 11 e tem valor máximo de 65.535 × 11 = 720.885; os oito grupos fornecem a chave de 128 bits. Isso é uma verificação de formato, não uma prova de que um valor pertence a um volume.
Uma senha de recuperação pode ser legitimamente armazenada em:
- a conta Microsoft do usuário, na página de chaves de recuperação;
- o Active Directory, como objetos
msFVE-RecoveryInformationsob o objeto do computador (atributomsFVE-RecoveryPassword), ou o Entra ID, no objeto do dispositivo; - bancos de dados de gerenciamento do MBAM ou do Intune;
- uma cópia impressa, um arquivo de texto ou uma unidade USB, salvos pelo usuário.
Muitos dispositivos com Windows 11 ativam a Criptografia de Dispositivo automaticamente e fazem backup da chave na conta Microsoft ou na conta corporativa no momento da entrada. Se o BitLocker estiver suspenso, a VMK será armazenada com uma "chave em claro" não criptografada: o volume permanece criptografado, mas qualquer ferramenta compatível pode lê-lo.
Vias legais de acesso
- O sistema em execução e desbloqueado. Capture a memória e, em seguida, adquira uma imagem lógica do volume desbloqueado (uma imagem física apenas copia o texto cifrado). Registre
manage-bde -statusemanage-bde -protectors -get C:, que lista o ID de cada protetor e, quando executado como administrador, a senha numérica de recuperação. - Chaves na memória. Enquanto um volume está desbloqueado ou montado, a FVEK ou a chave mestra do VeraCrypt fica na RAM (a menos que a criptografia opcional de RAM do VeraCrypt, disponível desde a versão 1.24 e desabilitada por padrão, tenha sido habilitada; Configuration.xml mostra isso). Ferramentas de análise de memória, incluindo plugins da comunidade do Volatility e suítes comerciais, podem localizá-las, e bibliotecas de código aberto do BitLocker podem então descriptografar uma imagem com a chave recuperada. Arquivos de hibernação e despejos de memória de falhas também podem contê-las (Aula 5.4), mas, em um C: criptografado, somente depois que C: for desbloqueado.
- Somente TPM na máquina original. Inicializar o computador original desbloqueia o volume sem um segredo, embora a entrada no Windows ainda proteja a sessão. Uma unidade removida dessa máquina precisa de uma senha de recuperação.
- Chaves custodiadas. Solicite as senhas de recuperação à organização ou ao provedor por meio dos procedimentos legais, informando o ID da chave.
- O proprietário. É possível solicitar uma senha; o arcabouço jurídico varia conforme o país.
- FileVault: uma senha de usuário, a chave pessoal de recuperação (24 caracteres em seis grupos de quatro), uma chave institucional de recuperação ou custódia via MDM, ou o Mac em execução e desbloqueado.
- VeraCrypt e LUKS: a senha ou o arquivo de chave, ou a chave na memória enquanto o volume está montado; crie uma imagem do volume mapeado enquanto ele estiver aberto.
O tempo é importante. Um volume montado é perdido no desligamento, e o VeraCrypt pode ser configurado para desmontar ao encerrar a sessão, bloquear a sessão, ativar a proteção de tela, entrar em economia de energia ou após um período sem leituras e gravações. As decisões de triagem (Aula 5.1) muitas vezes determinam se os dados criptografados poderão ser lidos.
| Tecnologia | Assinatura ou indicador de identificação | Fontes de chaves | Oportunidade no sistema em execução |
|---|---|---|---|
| BitLocker (sistema operacional ou unidade fixa) | -FVE-FS- no offset 3; três blocos de metadados FVE | Senha de recuperação (conta Microsoft, AD, Entra ID, MBAM/Intune, cópia impressa), .BEK, senha, TPM | Captura de memória; imagem lógica; manage-bde -status |
| BitLocker To Go | Possível cabeçalho MSWIN4.1; blocos de metadados -FVE-FS- | Senha, senha de recuperação, desbloqueio automático | Imagem lógica enquanto estiver desbloqueado |
| FileVault (APFS) | fdesetup status; registros de desbloqueio por usuário/recuperação no keybag (a ausência de APFS_FS_UNENCRYPTED indica apenas criptografia; isso sempre ocorre em T2/Apple silicon) | Senha de usuário, chave pessoal ou institucional de recuperação, custódia via MDM | Coleta lógica no Mac original e desbloqueado |
| LUKS | LUKS\xba\xbe no offset 0; versão 1 ou 2; slots de chave | Frase-senha, arquivo de chave | Criar uma imagem do dispositivo /dev/mapper aberto; memória |
| VeraCrypt / TrueCrypt | Nenhuma: alta entropia, tamanho múltiplo de 512, sem cabeçalho; artefatos de software | Senha, arquivo de chave | Captura de memória; imagem lógica do volume montado |
Exemplo resolvido: um laptop em espera
Um laptop com Windows 11 é apreendido em espera, com a tela bloqueada. A triagem mostra BitLocker com um protetor somente TPM em C: e, em D:, um arquivo D:\backup\photos.bin sem cabeçalho conhecido. O sistema tem arquivos Prefetch do VeraCrypt e um arquivo LNK que aponta para Z:\clients\list.xlsx em um volume cujo número de série não aparece em nenhum outro lugar.
Sequência. Conecte o carregador, fotografe a tela e impeça a hibernação. A aquisição em sistema em execução exige uma sessão autenticada, portanto, obtenha as credenciais legalmente com o proprietário ou a organização. Em seguida:
- Primeiro, a memória. Ela pode conter a chave mestra do VeraCrypt e a FVEK do BitLocker.
- Depois, Z:, se ainda estiver montado. Fotografe a janela do VeraCrypt, que mostra o caminho do arquivo montado e o tipo de volume, e adquira uma imagem lógica de Z:. Esses dados não têm outra via de acesso, e uma desmontagem por inatividade pode fechar o volume enquanto você trabalha em C:.
- Por último, C:. Registre
manage-bde -statuse os IDs dos protetores e, em seguida, adquira uma imagem lógica de C:. C: tem alternativas: o TPM na máquina original e qualquer senha de recuperação custodiada.
O arquivo. Seu tamanho é 4.294.967.296 bytes = 4 GiB = 2^32 bytes = 8.388.608 × 512, um múltiplo exato de 512. Sua entropia, calculada como média em blocos de 1 MiB, é de 7,9998 bits/byte, que é o resultado produzido por dados aleatórios nesse tamanho de bloco (o viés de amostras pequenas a mantém pouco abaixo de 8). Com evidências de execução do VeraCrypt, a afirmação correta é: photos.bin é compatível com um contêiner criptografado, como um contêiner de arquivo do VeraCrypt; isso não está comprovado. Se ele for aberto legalmente mais tarde e o número de série do volume de seu sistema de arquivos corresponder ao do arquivo LNK, isso o vinculará a Z:.
Verificação da senha de recuperação. Um exemplo válido criado para esta aula é 403425-176198-692373-264044-664609-429165-106161-702482. Primeiro grupo: 403.425 ÷ 11 = 36.675 exatamente (11 × 36.675 = 403.425), e 36.675 é menor que 65.536. Um erro de transcrição como 403.426 deixa resto 1 e falha na verificação.
Elaboração do laudo
Informe que um volume está criptografado e qual é a tecnologia; como ele foi identificado (assinatura e offset, metadados, medição de entropia e tamanho do bloco, artefatos de software); quais chaves foram buscadas, de quais fontes e com qual resultado, incluindo os IDs das chaves; o que foi adquirido no sistema em execução e quando (UTC); e o que não pôde ser examinado. Mantenha separadas as inferências sobre intenção. A ISO/IEC 27037 prevê que cada ação no sistema em execução seja justificada e documentada.
Foco no exame: Espere ter que reconhecer o BitLocker por -FVE-FS- no offset 3, explicar as camadas de FVEK, VMK e protetores e validar os grupos da senha de recuperação pela divisibilidade por 11. Questões baseadas em cenários provavelmente testarão a ordem de aquisição em um sistema em execução com um contêiner montado e a formulação cuidadosa de que um arquivo de alta entropia sem cabeçalho é compatível com um contêiner criptografado, mas não constitui prova disso.
Pontos principais
- O BitLocker apresenta
-FVE-FS-no offset 3 e em seus blocos de metadados FVE; o LUKS começa comLUKS\xba\xbe; o VeraCrypt não tem assinatura em texto claro. - Alta entropia, tamanho divisível por 512 e ausência de cabeçalho indicam um possível contêiner, mas não o comprovam; volumes ocultos não podem ser comprovados nem descartados apenas com base no contêiner.
- Os setores são criptografados pela FVEK, a FVEK pela VMK e a VMK por cada protetor.
- Uma senha de recuperação tem oito grupos de seis dígitos, cada um divisível por 11; faça a correspondência pelo ID da chave.
- Capture a memória e as imagens lógicas enquanto os volumes estiverem desbloqueados, priorizando o que não tem outra fonte de chave.
- Relate a criptografia, como ela foi identificada, as fontes de chaves consultadas e o que permanece sem exame.