Queira o Sr. Perito detalhar como é feita uma cópia forense com software livre

Helix 3Na postagem anterior nós explicamos os procedimentos necessários para a realização de uma cópia forense de um disco rígido utilizando a ferramente EnCase. Hoje trazemos para vocês detalhes sobre como fazer essa mesma cópia utilizando software livre. No procedimento de hoje utilizaremos o sistema operacional Helix 3 e o programa DC3DD.

Requisitos Técnicos:

Para a execução desse procedimento de coleta faz-se necessário:

1.  CD-ROM inicializável do sistema operacional HELIX 3;
2. Interface USB > SATA (para conexão do disco destino);
3. Disco rígido de tamanho superior ao que deve ser duplicado.

Procedimento:

DC3DD é um software livre para sistemas operacionais Linux. Seus antecessores são o DCFLDD e o DD. Essa versão possui correção de falhas de conversão de erros encontradas em seu antecessor DCFLDD.

Sua função é a realização de cópia fiel (cópia bit-a-bit, cópia clone ou imagem forense) de dispositivos de armazenamento. Permite a verificação de integridade e possui algoritmo de correção de erros.

Compõe a suíte de aplicativos Helix 3 e é recomendado pelos principais órgãos internacionais de investigação e forense computacional.

Etapa 1 – Iniciar o sistema Operacional:

Para realização deste procedimento utilizaremos o próprio computador que acondiciona o disco rígido a ser copiado. Por essa razão é fundamental que todos os procedimentos de segurança indicados a seguir sejam seguidos corretamente.

Antes de começar é imprescindível verificar no manual do dispositivo (geralmente encontrado no site do fabricante) o comando de teclado para acesso as configurações da BIOS, bem como o comando de teclado para eventual Menu de Seleção de Inicialização.

1. Acessar a BIOS do dispositivo assegurando que o disco de sistema não seja inicializado;

2. Verificar a ordem de inicialização do computador. Deve-se retirar a opção de inicializar pelo Disco Rígido, deixando apenas a opção de iniciar pelo CD/DVD-ROM.

Essa configuração garante que o sistema operacional do computador a ser duplicado não será iniciado, ainda que o drive de CD/DVD-ROM ou a mídia com HELIX 3 apresente qualquer tipo de problema durante a inicialização.

3. Desligar o computador e conectar o disco que acondicionará a cópia por meio de uma interface USB > SATA.

4. Ligar o computador e esperar a tela de opção de carregamento do sistema operacional HELIX 3.

Se o computador possuir Menu de Seleção de Inicialização, recomenda-se utilizá-lo. Sua utilização, entretanto, não faz desnecessário o cumprimento do item 2.

5. Antes de selecionar a opção de carregamento, pode-se configurar o idioma com a função F2 e o teclado com a função F3. Configurar o teclado é essencial para digitação correta dos comandos necessários.

6. Selecionar a opção de carregamento: “Inicializar HELIX 3 através do Live CD”.

Etapa 2 – Preparação do disco destino:

7. ADQUIRIR PRIVILÉGIOS: Para os procedimentos descritos a seguir é necessário privilégio de super usuário. Utilize o comando sudo su.

Comando sudo su

8. VERIFICAR DISCOS: O comando fdisk -l mostra os discos conectados ao equipamento e suas respectivas partições. Identifique o disco destino.

comando fdisk -l

Na figura acima /DEV/SDA refere-se ao disco original, pois está formatado e possui 3 partições (SDA1, 2 e 3). O disco /DEV/SDB corresponde ao que acondicionará a cópia. Ele não possui partições formatadas conforme indica a mensagem na penúltima linha.

Se o disco destino não estiver formatado (discos virgem) ele será identificado apenas como uma unidade física SD#. A ausência de partição será informada com o aviso “Disc /dev/sd# doesn´t contain a valid partition table”.

9. FORMATAR DISCO: Para formatar o disco destino utilize o comando cfdisk /dev/sd#.

Comando cfdisk

Na tela que surgirá escolha respectivamente NEW > PRIMARY > SIZE (FULL) > BOOTABLE > TYPE: 07 (NTFS) > WRITE (YES) > QUIT.

Antes de confirmar o procedimento (WRITE) garantir que a tela possua a seguinte configuração:

Apções de formatação de disco

Depois de confirmado o procedimento acima, será criada a partição /DEV/SDB1.

10. ESCREVER PARTIÇÃO: Para escrever na tabela de partição recém-criada utilize o comando mkfs.ntfs /DEV/SD#1 -f.

Comando mkfs

Os dois passos anteriores devem ser realizados com cautela, pois se ao invés de escolher o novo disco, for escolhido o disco original, ele será formatado e terá sua tabela de partição permanentemente perdida. Embora seja possível recuperar arquivos, não é possível recuperar a estrutura de dados original.

11. CRIAR DIRETÓRIO: mkdir <nome> criará um diretório na pasta atual.

Comando mkdir

Depois de formatado o disco deve ser montado. No sistema operacional Linux para montar um disco deve-se atribuir um caminho a ele, esse caminho pode ser um diretório.

Se o mesmo disco destino for utilizado para acondicionar mais de uma imagem de evidências diferentes, o mesmo comando MKDIR pode ser utilizado para criar subdiretórios depois que o disco for montado.

12. MONTAR DISCO DESTINO: mount /dev/sd#1 destino/ –t ntfs-3g montará o novo disco no diretório destino com permissões de leitura e escrita.

Montagem do disco destino

Na montagem do disco deve-se garantir que o dispositivo indicado no comando seja o disco virgem ou aquele que acondicionará a duplicação, do contrário, o disco a ser copiado pode ser indevidamente montado, o que acarretará na escrita de informações no disco e, eventualmente, a perda de seu valor para fins forenses.

Etapa 3 – Iniciar cópia forense:

13. GERAÇÃO DE IMAGEM FORENSE: O comando DC3DD faz cópia exata de um intervalo de dados. Sua sintaxe para geração de uma imagem forense é a seguinte:

dc3dd if=/dev/sda of=destino/image.dd progress=on hash=md5 split=1024 iflag=direct log=image.log conv=noerror splitformat=000

Comando DC3DD

Descrição das opções:

if – Define o endereço da entrada.
of – Define o endereço da saída.
progress – Mostra o progresso na tela.
hash – Calcula o hash da origem.
split – Divide o arquivo em pedaços.
splitformat – Define a extensão que identifica cada parte da imagem.
iflag – Garante a integridade do log evitando cachê de kernel.
log – Gera arquivo de log com etapas do procedimento.
conv – Ignora blocos defeituosos

Antes de confirmar o comando deve-se garantir que o campo IF (Input File) aponta para o disco que será copiado (disco original), enquanto o campo OF (Output File) aponta para o disco que acondicionará a cópia. Caso haja inversão, o disco original (disco original) será escrito com zeros binários, pois este é o conteúdo do outro disco.

14. CALCULAR HASH DA IMAGEM: O parâmetro HASH calcula o hashcode do disco original. Para calcular o hashcode MD5 da imagem forense recém-criada utilize o comando cat destino/* | md5deep –e.

Calculando hash da imagem

15. ARQUIVO DE LOG: Copiar o arquivo IMAGE.LOG para dentro de destino com cp imagem.log destino/imagem.log

Copiando arquivo de log

Etapa 4 – Finalizar Procedimento:

16. DESMONTAGEM DO DISCO DESTINO: umount destino desmontará o disco que armazena a imagem forense permitindo o desligamento do computador com segurança.

Desmontagem da unidade de destino

17. FINALIZAÇÃO: O comando halt desligará o sistema.

Finalização do sistema

18. RECONFIGURAR BIOS: Após o desligamento do sistema o computador deve ser ligado para que suas configurações de BIOS sejam restauradas.

Resumo – Seqüência de Comandos

Os comandos a seguir resumem o procedimento explicado nesse post:

SUPER USUÁRIO: sudo su
VISUALIZAR DISCOS: fdisk –l
FORMATAR DISCO DESTINO: cfdisk /dev/sd#
ESCREVER A TABELA DE ARQUIVOS: mkfs.ntfs /dev/sd#1 –f
CRIAR PASTA DESTINO: mkdir destino
MONTAR UNIDADE DE DESTINO: mount /dev/sd#1 destino –t ntfs-3g
GERAR IMAGEM: dc3dd if=/dev/sda of=destino/image.dd progress=on hash=md5 split=1024 iflag=direct log=image.log conv=noerror splitformat=000
CALCULAR HASH DA IMAGEM: cat destino/* | md5deep –e
COPIAR LOG: cp imagem.log destino/imagem.log
DEMONTAR UNIDADE: umount destino
FINALIZAR O SISTEMA: halt

Embora os comandos DD, DCFLDD ou DC3DD possam ser encontrados ou instalados em qualquer distribuição Linux, sugerimos o uso de distribuições personalizadas e testadas especificamente para uso forense. O Helix, assim como as demais distribuições que tem esse foco, é configurado para não montar automaticamente nenhuma unidade de disco, preservando assim a integridade dos dados e evitando modificações acidentais.

É por essa razão que dentre todos os softwares e procedimentos possíveis para realização de uma cópia forense, este é definitivamente o mais utilizado. Mas se você não gosta de trabalhar com terminal de comandos do Linux, pode localizar, também no Helix 3, o programa Adepto. O Adepto é um interface gráfica para os comandos mostrados nesse procedimentos.

Em breve traremos outros procedimentos sobre como sanitizar discos (WIPE) e como criar cópias forenses de diretórios ou arquivos específicos de um disco rígido com as mesmas características de uma cópia completa. Até lá!

7 comentários sobre “Queira o Sr. Perito detalhar como é feita uma cópia forense com software livre

  1. Olá SR. perito, gostaria de sabe de algum tutorial do Helix 3 você pode me indicar, preciso fazer um trabalho da faculdade e não tenho ideia de onde começar!

    • Prezado.

      O Helix é uma distribuição Linux voltada para fins forenses. Ela é mais usada para coletas, mas também pode ser usada para análise, já que possui o Autopsy. Fale-me mais sobre qual aspecto você pretende abordar, assim poderei lhe ajudar mais facilmente. Meu e-mail é everson.probst@gmail.com

  2. Primeiramente parabéns a todos do “qperito.com” e parabéns Everson pelo post. Sempre tive interesse pelo assunto forense e a cada dia interesso mais e mais sobre o assunto, hoje me aconteceu algo que acabei não descobrindo o problema, quando realizo o comando dc3dd para a cópia acaba me retornando um erro “dc3dd: invalid number ‘1024mb’, se eu realizo o mesmo comando de cópia sem o split eu consigo gerar a imagem. Interfere na integridade da minha evidencia o que muda? Se puderes me ajudar agradeço. Abraços e obrigado.

      • Olá Everson,

        Obrigado pela resposta, o split serve apenas para dividir em “pedações” a minha cópia correto? Se caso não colocar ele vai gerar a imagem inteira?

        Att.

      • Exatamente. Eu costumo usar essa função somente quando tenho que gravar os segmentos de imagens e mídias pequenas, como DVDs por exemplo, mas isso é muito raro. Por hábito, e até por segurança, costumo criar um único segmento, assim vc não incorre em risco de perder qualquer parte da imagem e inviabilizar o acesso aos dados. É muito mais difícil apagar acidentalmente um arquivão, que um arquivinho né rs.

        Grande abraço meu caro.

        Everson

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s