Dissecando o TCG Opal: como extrair artefatos forenses ocultos no Shadow MBR

      Bruno Albuquerque 9 min de leitura
      Dissecando o TCG Opal: como extrair artefatos forenses ocultos no Shadow MBR

      Descubra por que a imagem forense tradicional falha em SSDs criptografados e aprenda a extrair dados e bootkits ocultos no Shadow MBR do padrão TCG Opal.

      Compartilhar:

      Você conecta o SSD NVMe suspeito ao seu bloqueador de hardware. Executa o comando dd ou usa sua ferramenta forense favorita para criar uma imagem bit a bit perfeita. O hash bate, a cópia termina sem erros de I/O e você começa a analisar o sistema de arquivos. Tudo parece normal, mas você acabou de deixar passar o vetor de infecção inicial. O artefato não estava apagado, ele estava oculto por design no próprio firmware do disco.

      Resumo em 30 segundos

      • Discos com criptografia nativa (SED) baseados no padrão TCG Opal possuem uma área de boot oculta chamada Shadow MBR.
      • Após a autenticação do usuário, a controladora do SSD altera o mapeamento lógico (LBA) e faz essa área desaparecer do sistema operacional.
      • Ferramentas forenses tradicionais e bloqueadores de escrita capturam apenas a área de dados do usuário, ignorando completamente o Shadow MBR onde bootkits avançados se escondem.

      O artefato invisível na imagem forense tradicional de SSDs criptografados

      A análise forense de armazenamento mudou drasticamente com a adoção em massa de drives SED (Self-Encrypting Drives). Diferente da criptografia via software como o BitLocker em modo CPU, um SED realiza a criptografia dos dados diretamente na controladora NAND do SSD. O padrão da indústria que rege essa arquitetura é o TCG Opal, mantido pelo Trusted Computing Group.

      O problema forense começa na forma como o TCG Opal gerencia o processo de inicialização. Para que um computador possa pedir a senha de descriptografia antes de carregar o sistema operacional, o disco precisa fornecer um ambiente pré-boot. É aqui que entra o Shadow MBR.

      Trata-se de uma área de armazenamento não criptografada, geralmente com tamanho entre 32 MB e 128 MB, isolada da área de dados principal. Quando o disco é ligado, a controladora aponta o LBA 0 (Logical Block Address) para o início do Shadow MBR. O BIOS/UEFI lê essa área, carrega o sistema de autenticação (PBA - Pre-Boot Authentication) e pede a credencial ao usuário.

      Diagrama lógico do chaveamento de LBA realizado pela controladora do SSD no padrão TCG Opal. Figura: Diagrama lógico do chaveamento de LBA realizado pela controladora do SSD no padrão TCG Opal.

      A máquina de estados do TCG Opal e o chaveamento do Shadow MBR

      A mágica (e o pesadelo investigativo) acontece no exato milissegundo em que a senha correta é inserida. O software PBA envia a credencial para a controladora do SSD usando comandos específicos do protocolo NVMe ou SATA. A controladora valida a chave contra o Locking SP (Security Provider), uma estrutura interna do TCG Opal.

      Se a autenticação for bem-sucedida, a máquina de estados do disco muda. A controladora desbloqueia a chave de criptografia de mídia (MEK) e, simultaneamente, altera o mapeamento do LBA 0. O ponteiro que antes apontava para o Shadow MBR é redirecionado para o setor zero da área de dados criptografada do usuário.

      💡 Dica Pro: A partir deste momento, o Shadow MBR deixa de existir do ponto de vista do barramento PCIe/SATA. Qualquer comando de leitura enviado pelo sistema operacional ou por uma ferramenta de imagem forense lerá apenas a área de dados do usuário.

      É por isso que a extração a quente (live forensics) ou a clonagem de um disco que já foi desbloqueado falhará em capturar o Shadow MBR. O artefato está fisicamente nos chips NAND, mas logicamente inacessível através de comandos de leitura padrão.

      Por que bloqueadores de escrita padrão falham na captura

      Quando um investigador remove o SSD do computador suspeito e o conecta a uma estação forense através de um bloqueador de escrita de hardware, o disco perde a energia. Ao ser religado na estação, a máquina de estados do TCG Opal retorna ao seu estado inicial bloqueado.

      Neste cenário, o LBA 0 volta a apontar para o Shadow MBR. No entanto, a maioria dos bloqueadores de escrita comerciais intercepta e filtra comandos de segurança (Security Send / Security Receive) para evitar alterações acidentais no estado do disco.

      Característica Imagem Forense Tradicional (dd / E01) Extração TCG Opal Aware
      Alvo do LBA 0 Área de dados do usuário (se desbloqueado) Shadow MBR forçado via firmware
      Comandos Utilizados NVMe Read / SATA Read DMA NVMe Security Send/Receive
      Visibilidade de Bootkits Nula (Oculto pelo firmware) Total (Acesso direto ao payload)
      Interação com Bloqueador Funciona perfeitamente Requer bloqueador com passthrough NVMe

      Se o investigador tentar fazer a imagem do disco bloqueado, ele capturará apenas os 128 MB do Shadow MBR e o resto da imagem retornará erros de leitura ou dados ininteligíveis. Se ele desbloquear o disco usando a senha conhecida através da estação forense, o Shadow MBR desaparecerá novamente antes da captura começar.

      Interceptando comandos NVMe Security Send para forçar a exposição

      Para extrair o Shadow MBR de forma cirúrgica, precisamos manipular a máquina de estados do TCG Opal sem depender do fluxo de boot tradicional. Isso exige o envio de pacotes de dados brutos diretamente para a controladora do SSD, contornando as abstrações do sistema operacional.

      No ecossistema Linux, utilizamos o nvme-cli em conjunto com ferramentas específicas de gerenciamento Opal, como o sedutil-cli. O objetivo é consultar a tabela de propriedades do disco e emitir um comando de leitura direcionado exclusivamente à tabela do Shadow MBR.

      ⚠️ Perigo: Enviar comandos NVMe Security Send malformados pode acionar mecanismos de defesa do firmware do SSD, resultando no bloqueio permanente do disco (Cryptographic Erase) e na perda irrecuperável de todas as evidências.

      O processo envolve identificar o identificador do Security Provider (SPID) responsável pelo bloqueio. Em seguida, iniciamos uma sessão não autenticada com o Admin SP do disco. Mesmo sem a senha do usuário, o padrão Opal permite a leitura da área de pré-boot se o comando for formatado corretamente com os cabeçalhos de sessão adequados.

      Terminal forense executando comandos de extração direta via protocolo NVMe Security Receive. Figura: Terminal forense executando comandos de extração direta via protocolo NVMe Security Receive.

      Ao executar a extração via sedutil-cli --dumpPBA, a ferramenta empacota um comando NVMe Security Receive. A controladora do SSD, obedecendo ao protocolo TCG, responde enviando o conteúdo binário do Shadow MBR de volta pelo barramento PCIe, permitindo que salvemos o arquivo .bin na nossa estação forense.

      Análise hexadecimal e validação de integridade do payload extraído

      Com o dump binário do Shadow MBR em mãos, a investigação entra na fase de análise de malware e engenharia reversa. O arquivo extraído não possui um sistema de arquivos tradicional como NTFS ou ext4. Ele geralmente contém uma imagem de disco crua (raw image) de um micro-sistema operacional Linux ou um ambiente UEFI mínimo.

      Abrimos o payload em um editor hexadecimal. A primeira validação é buscar por assinaturas conhecidas de bootloaders (Magic Bytes). Esperamos encontrar a assinatura 55 AA no final do primeiro setor, indicando um registro de inicialização válido.

      O trabalho cirúrgico consiste em comparar o hash dos executáveis EFI encontrados dentro deste dump com os hashes fornecidos pelo fabricante do software de criptografia original. Atores de ameaças avançadas (APTs) utilizam o Shadow MBR para implantar bootkits persistentes. Como essa área sobrevive a formatações do sistema operacional principal e reinstalações do Windows, ela é o esconderijo perfeito.

      Análise hexadecimal revelando uma string maliciosa injetada dentro do binário do Shadow MBR. Figura: Análise hexadecimal revelando uma string maliciosa injetada dentro do binário do Shadow MBR.

      Se encontrarmos desvios no fluxo de execução do PBA, como drivers UEFI não assinados ou chamadas de rede anômalas embutidas no binário de autenticação, confirmamos a infecção. O malware captura a senha do usuário no momento da digitação, armazena em texto claro em setores não alocados e, em seguida, passa o controle para o sistema operacional legítimo.

      O ponto cego da forense de armazenamento

      A confiança cega em ferramentas de imagem tradicionais cria uma falsa sensação de segurança na resposta a incidentes. O armazenamento moderno não é mais apenas um repositório passivo de blocos magnéticos. Um SSD NVMe é um computador independente, com seu próprio processador ARM, sistema operacional em tempo real e regras de controle de acesso.

      Ignorar a máquina de estados do TCG Opal significa deixar a porta aberta para que ameaças de nível de firmware passem despercebidas em laudos periciais. A extração do Shadow MBR deve se tornar uma etapa obrigatória no fluxo de trabalho de qualquer investigador que lide com infraestruturas críticas e dispositivos SED. O artefato que você procura raramente está onde o sistema operacional diz que está.

      Referências & Leitura Complementar

      • TCG Storage Architecture Core Specification: Trusted Computing Group (TCG), Especificação oficial da arquitetura de armazenamento e gerenciamento de Security Providers.

      • Opal Security Subsystem Class (SSC): Documentação técnica sobre a implementação do Shadow MBR e máquinas de estado de bloqueio.

      • NVM Express Base Specification: PCI-SIG / JEDEC, detalhamento dos comandos Admin e Security Send/Receive no protocolo NVMe.

      O que é o Shadow MBR no padrão TCG Opal? É uma área de armazenamento não criptografada de até 128 MB em discos SED (Self-Encrypting Drives), usada exclusivamente para armazenar o sistema operacional de autenticação pré-boot (PBA).
      Por que o Shadow MBR desaparece após o boot? Após a autenticação bem-sucedida, o controlador do disco altera o estado da Locking SP, ocultando o Shadow MBR e mapeando os endereços LBA para a área de dados criptografada do usuário, tornando a área de boot invisível para o SO.
      É possível infectar o Shadow MBR com malware? Sim. Atores de ameaças avançadas (APTs) podem modificar o Shadow MBR para instalar bootkits persistentes que sobrevivem à formatação do sistema operacional principal e escapam de varreduras antivírus tradicionais.
      #TCG Opal #Shadow MBR #Forense digital #Self-Encrypting Drives #NVMe security #Bootkits #Storage forensics
      Bruno Albuquerque
      Assinatura Técnica

      Bruno Albuquerque

      Investigador Forense de Sistemas

      "Não aceito 'falha aleatória'. Com precisão cirúrgica, mergulho em logs e timestamps para expor a causa raiz de qualquer incidente. Se deixou rastro digital, eu encontro."