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

quarta-feira, 12 de janeiro de 2011

Mais duas boas ferramentas na área

A turma decidiu mesmo inovar nesse fim de ano. Duas novas ferramentas/versões de ferramentas chegaram para ajudar.

A Paraben disponibilizou mais uma nova versão do free P2 Explorer. Com ele, é possível montar uma série de imagens forenses, incluindo formatos E01 (Encase) e SMART. O FTK Imager, comentado há alguns dias, acaba sendo mais versátil, mas é sempre bom ter opções.

Outra ferramenta excelente recém lançada é a Tableau Imager. TIM, como é chamado, também é uma ferramenta free e usa interface gráfica para coletar imagens forenses no formato dd (raw) ou no formato Expert Witness (.E01). A interface é bem semelhante ao GuyMager e, de acordo com o site da Tableau, seu código é optimizado para trabalhar com seus write blockers. Ainda assim, o utilitário funciona normalmente com ele. Está disponível em 32-bit ou 64-bit. O ponto ruim é que não faz (pelo menos eu não achei em nenhum lugar) imagem lógica (imagem forense de partição).

Um outro ponto que ocorreu nesse fim de ano e que pode não ser tão bom assim foi a retirada do suporte ao aimage. Parte da AFFLib, o aimage é o utilitário de linha de comando que executa a imagem de mídias no formato AFF. De acordo com o autor, o aimage não é mais necessário, já que tanto o Guymager quanto o FTK Imager dão suporte à captura em formato AFF, tanto para Windows quanto para Linux. O que contexto, nesse caso, é o fato de que pode ser necessário para alguém usar linha de comando, talvez em um script, e ambos citados pelo Simson são GUI. Isso pode fazer falta ...

Comentários ?

Até o próximo post !

domingo, 1 de junho de 2008

Imagens Forenses VI

Segue mais um capítulo da nossa emocionante novela a respeito das imagens forenses. Neste emocionante episódio, nosso protagonista, o formato .AFF (Advanced Forensic Format) vai ser testado em relação ao tamanho final de arquivo gerado e ao tempo total de geração da imagem.

Como já comentei em artigos anteriores, o formato aff permite compressão dos dados, e é possível indicar, durante a aquisição pelo aimage, o nível de compressão (através do parâmetro compression) e o algoritmo de compressão (ZLIB ou LZMA).

A idéia desse estudo é achar combinações ideais para esses dois parâmetros, através da aquisição de uma imagem forense do mesmo pen drive de 876 Mb (837 Mb reais), variando apenas esses dois parâmetros. Vamos aos resultados:


Ponto de comparação:
CompressionTamanho da imagemTempo de aquisição
Sem compressão837 Mb 1m36s



Usando ZLIB (default)


CompressionTamanho da imagemTempo de aquisição
-1 (default)762 Mb = 8,96% menor3m24s = 112,5% mais demorado
0837 Mb = idêntico1m51s = 15,63% mais demorado
1764 Mb = 8,72% menor3m11s = 98,96% mais demorado
2764 Mb = 8,72% menor3m11s = 98,96% mais demorado
3763 Mb = 8,84% menor3m12s = 100% mais demorado
4763 Mb = 8,84% menor3m20s = 108,33% mais demorado
5762 Mb = 8,96% menor3m22s = 110,42% mais demorado
6762 Mb = 8,96% menor3m24s = 112,5% mais demorado
7762 Mb = 8,96% menor3m24s = 112,5% mais demorado
8762 Mb = 8,96% menor3m34s = 122,92% mais demorado
9762 Mb = 8,96% menor3m48s = 137,5% mais demorado





Usando LZMA


CompressionTamanho da imagemTempo de aquisição
-1 (default)721 Mb = 13,86% menor14m13s = 788,54% mais demorado
0721 Mb = 13,86% menor13m55s = 769,79% mais demorado
1721 Mb = 13,86% menor13m53s = 767,71% mais demorado
4721 Mb = 13,86% menor14m = 775% mais demorado
5721 Mb = 13,86% menor13m53s = 767,71% mais demorado


Conclusões
- Se tamanho não é problema, o jeito mais rápido de capturar uma imagem usando o aimage (ou o Adepto do Helix) é pedindo a opção de não-compactação.
- Se o tempo não é problema, o menor arquivo de imagem gerado é obtido usando-se o aimage com a opção -L (algoritmo LZMA). Como as opções de compress geram arquivos praticamente de mesmo tamanho, a melhor opção para usar com o -L seria o --compression=1 (ou =5).
- Se o principal é ter compactação, mas levando o tempo em consideração, então os algoritmos LZMA são proibitivos. O mais rápido nesse algoritmo foi quase 6 vezes mais demorado que o mais lento das opções do ZLIB.
- Indo nessa linha, de ter boa compactação, mas com tempos razoáveis, a melhor opção seria o algoritmo ZLIB (default) com a opção compression=5. Essa opção oferece a melhor taxa de compactação, e dentro dessa taxa, o melhor tempo, tudo isso levando-se em consideração os valores absolutos.
- Os que apresentaram maior/melhor taxa de transferência foram as opções compression=1 ou =2, com o algoritmo ZLIB (default). Esses são os que apresentaram a melhor relação custo x benefício, e são as indicadas para situações genéricas onde compactação é desejada e o tempo de aquisição deve ser optimizado.
- O algoritmo LZMA não pode ser setado pelo Adepto.


Comentários ?

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