Mostrando postagens com marcador air. Mostrar todas as postagens
Mostrando postagens com marcador air. Mostrar todas as postagens

sexta-feira, 19 de fevereiro de 2010

Novo AIR no ar

Minha criatividade para títulos está em baixa nesta semana, como todos puderam notar ... Ainda assim, Nanni Bassetti, meu camarada de equipe do CAINE acaba de anunciar a novíssima versão do AIR, um GUI para aquisição de imagens forenses.

Criado pelo Steve Gibson há algum tempo, o AIR sempre foi uma espécie de patinho feio das interfaces para aquisição de imagens. No Helix, sempre ficou à sombra do ADEPTO, e mais recentemente, foi um mero coadjuvante no CAINE, escondido pelo GuyMager. Não que a interface não cumprisse o seu papel, mas porque os irmãos de função acabavam por o ofuscar, oferecendo algum diferencial que levava a preferência da maioria. Na versão 2.0.0, no entanto, isso pode mudar.

A grande novidade dessa versão está por conta do uso do DC3DD. Embora eu não tenha verificado, acredito que o AIR 2.0.0 seja o primeiro GUI a abrir mão do DCFLDD e utilizar o novíssimo (e muito melhor) DC3DD como base de linha de comando. Isso quer dizer que tudo que o usuário escolhe e indica na interface gráfica vira uma enorme linha de comando, fora de questão o entendimento para a grande maioria dos mortais. Essa é a beleza dos GUIs, pois transformam a linha-mostro em algo factível e com menor possibilidade de erros. Até então, os GUIs existentes (Adepto, Air, Guymager) estavam focados no dd e no dcfldd para a tarefa. Agora, o Air-patinho feio vai reagir. Os benefícios ? Procure aqui no blog mesmo pelo artigo que já escrevi sobre o dc3dd. Ele é muito mais otimizado, possui código renovado e várias opções que facilitam a vida na hora de duplicar uma mídia de maneira forense.

O uso do dc3dd não é a única melhoria dessa nova versão. O AIR traz ainda o cálculo de hash da mídia por dois algoritmos distintos. Apesar de já termos fechado a questão sobre a polêmica de MD5 servir ou não para confirmar a integridade de uma imagem forense, a tendência vai ser mesmo a de usar dois hashs distintos e tirar qualquer sombra de possibilidade de, em um futuro próximo, criarem um algoritmo para atacar esse modelo e forjar imagens adulteradas como se estivessem integras.

Além dessas novidades, o AIR conta com a possibilidade de quebrar imagens em pedaços (split image), enviá-la pela rede enquanto faz a aquisição (usando netcat) e até mesmo compactá-la usando gzip. Não é a mesma compactação que o formato EWF ou o AFF possuem, mas já é alguma coisa no sentido de gastar menos espaço. Nesse caso, para ser manipulada, a imagem precisará ser descompactada. Já ia me esquecendo: o log dele é bem detalhado e contém detalhes sobre a sessão de aquisição, muito importante para copiarmos para o relatório final, laudo ou parecer técnico.

Abaixo, algumas telas do novo AIR:



Compartilhe conosco suas experiências com o AIR. Comente !

Até o próximo post !

quinta-feira, 31 de janeiro de 2008

Imagens Forenses II

Fazendo a aquisição das imagens


Há várias formas de se realizar a aquisição ou captura de uma imagem forense. Vamos falar um pouco de cada uma.

RAW

A imagem RAW é a mais comum, e a que possui mais ferramentas disponíveis para a sua aquisição. No entando, antes de falar diretamente da aquisição, vamos falar da diferença entre imagem física e imagem lógica.

Um dispositivo de armazenamento ou mídia (um HD, um disquete ou até mesmo um pendrive) possui uma tabela interna que indica como o dispositivo está dividido nas partições. Disquetes e pendrive, na maioria das vezes, possuem apenas uma partição. HDs, por outro lado, comumente são particionados de forma a organizar melhor o armazenamento de arquivos.

Uma imagem lógica é uma imagem forense de uma partição apenas. Uma imagem física contém todas as partições do dispositivo mais a tabela de partições. Por exemplo, se temos um HD com 3 partições em uma máquina com Linux, carregando esse HD como um device hda, teríamos:

Imagem física => /dev/hda

Imagem lógica => /dev/hda1, /dev/hda2 ou /dev/hda3


Através do Helix, temos opção de usar tanto a linha de comando quanto interface gráfica para realizar a aquisição raw.

A maneira mais simples de fazer uma aquisição é usando o utilitário DD:


dd if=/dev/hda of=imagem.dd conv=noerrors,sync bs=512

Essa linha de comando fará a imagem do HD (device) conectado como hda para o arquivo imagem.dd, no diretório corrente.

Apesar de ser a maneira mais simples, o utilitário dd não oferece algumas funcionalidades importantes. Por conta disso, criaram alguns "primos" muito bons desse utilitário.

O dd_rescue, presente no Helix, serve para realizar aquisições de mídias com problemas. Em algumas situações, mesmo assinalando a opção conv=noerrors, o dd é interrompido ao encontrar erros na mídia. Nesse caso, recomenda-se usar o dd_rescue.

O sdd, também presente no Helix, realiza aquisições mais rápido do que o dd, quando o tamanho de bloco dos devices de origem e destino são diferentes. Você pode usar o tamanho de bloco default de cada device, mas se quiser, pode determinar o tamanho com o comando sfdisk -l . Veja o exemplo:

sfdisk -l /dev/hda

O dcfldd é o primo mais ilustre e conhecido do dd. Ele tem implementado algumas rotinas específicas para aquisição de imagens forenses. Por exemplo, ele possui um log de toda a operação, faz divisão da imagem (split) e permite verificar diretamente a integridade da operação através de vários algoritmos de hash. Também está disponível no Helix. Esse é o mais indicado quando se trata de imagens raw em linha de comando.

O rdd foi desenvolvido pelo Netherlands Forensic Institute (NFI) e sua documentação indica que ele é bem robusto em relação a tratamento de erros, divisão de arquivos (split) e hash. Ele não está disponível no Helix. Além de poder incluí-lo usando a técnica comentada anteriormente nesse blog, ele está disponível no pacote forense FCCU.

As interfaces gráficas são, em sua maioria, formadas para deixar que o investigador indique as opções da aquisição, e em seguida essas opções são passadas para um dos utilitários em linha de comando.

O Adepto, presente no Helix, oferece log sobre toda a operação e a possibilidade de se escolher entre usar o dcfldd (formato raw) ou ainda o AFF, para o formato Advanced Forensic Format, comentado no artigo anterior. Na interface também indicamos qual algoritmo de hash será usado para validar a operação e se queremos dividir o arquivo da imagem em porções menores (split). Ele permite também fazer a aquisição tendo como destino um dispositivo montado (local), um dispositivo SMB (Samba ou mesmo um compartilhamento Windows) ou então via netcat.

O Air, presente no Helix, não é tão completo quanto o Adepto em termos de log, e oferece captar a imagem através do dd ou do dcfldd. É possível determinar o algoritmo de hash (md5 e SHA-1) e enviar a imagem capturada através da rede com netcat ou cryptcat (netcat criptografado).

A versão 12 do FCCU, recém liberada (vou comentar no próximo post) traz uma nova interface gráfica para aquisições de imagem forense: o GuyMager. Ainda não testei, mas sua documentação indica que foi concebido para tirar vantagem de máquinas com mais de um núcleo de processamento, muito comuns hoje, tais como o Core 2 duo da Intel.

EWF

O formato EWF (Expert Witness, ou E01) é o formato proprietário do EnCase. Ele pode ser obtido com a ferramenta Linen, presente no Helix, ou com o GuyMager, comentado acima, presente no FCCU. O FTK Imager também pode ser usado na aquisição, diretamente da parte Windows do Helix.

AFF

O formato AFF pode ser obtido através do aimage, um utilitário disponibilizado pela afflib, presente no Helix. Ele é semelhante ao dd, e em sua forma mais simples pode ser usado como no exemplo a seguir:

aimage /dev/hda imagem.aff

Conforme comentado acima, o Adepto é uma interface gráfica que permite selecionar o formato AFF como saída. Internamente, ele faz a chamada ao aimage, repassando os parâmetros selecionados.

SGZIP

Não há um utilitário de captura direta para o sgzip. Na verdade, o utilitário sgzip faz uma conversão do formato raw (dd) para o formato compactado sgzip. O que é feito normalmente, afim de evitar que seja gravado primeiro o formato raw, para depois ele ser convertido, é não indicar o parâmetro of (saída); dessa forma, a imagem vai para a saída padrão, e daí redirecionamos para a entrada do utilitário sgzip:

dd if=/dev/hda sgzip -v > imagem.sgz

Conversores

Existem várias formas de se converter um arquivo de imagem entre os formatos. Os mais comuns são:

sgzip: Converte formato raw (dd) para o formato sgz, que é um formato compactado. Disponibilizado pelo PyFlag. Também converte no sentido contrário, através do parâmetro -vd

afcat: Converte arquivos .aff para o formato raw (dd).

aimage: Pode ser usado para converter uma imagem raw (dd) em aff. Basta especificar o arquivo .dd como entrada, com a opção -E. Também é possível usar o utilitário afconverter para fazer essa operação diretamente.

ewfacquire: Permite converter uma imagem raw (dd) em um ewf (E01), ou também fazer a captura diretamente no formato ewf.

FTK Imager: Presente na parte Windows do Helix, tem menus com capacidade de converter imagens entre alguns formatos.

No próximo artigo, falaremos sobre como usar as imagens capturadas.

Até o próximo post !

Referências: Disk imaging