terça-feira, 26 de junho de 2007

Informação sempre a mão

Durante uma investigação, analisando uma imagem de um HD, é muito comum lançarmos mão de algumas dicas, roteiros, ou detalhes de como funciona algum item especifico. Um investigador forense chamado Mark McKinnon fez um verdadeiro achado na web e postou um artigo muito interessante sobre uma ferramenta que atende bem a essa necessidade.
A TiddlyWiki é um caderno de notas web totalmente independente de servidor. Manter um documento é tão simples quanto acessar o arquivo html, sem nenhuma necessidade de conexão web ou a um banco de dados.
O documento pode ser formatado de forma simples ou rebuscada, e facilmente geramos links entre as informações. Com isso, podemos manter uma base de conhecimento com dicas de Forense Computacional em um único arquivo, acessando-o pelo browser. Esse arquivo pode ser levado com facilidade em um pen-drive, dispensando conexão com Internet para acessá-lo.

Ah ! Um detalhe importantíssimo: É free !

Em seu blog, McKinnon sugere que outros investigadores contribuam com dicas e detalhes para que ele inclua na sua base, posteriormente disponibilizando-a. É uma excelente idéia, e quero lançar aqui nesse blog a versão tupiniquim desse mesmo esforço.

Se você tiver interesse em participar, mande um e-mail para dartagnham arroba gmail ponto com com o subject TiddlyWiki. Eu incluirei a informação na base de conhecimento, indicando o crédito, e publicarei-a para download, atualizada.

Outro uso interessante é para manter anotações a respeito de um caso. O TiddlyWiki permite criar lançamentos como timeline, exatamente como se tivéssemos usando um bloquinho de anotações e marcando detalhes ou impressões durante a investigação, sempre em ordem cronológica.

Comentários ?

Até o próximo post !

sábado, 23 de junho de 2007

Live Acquisition X Dead Acquisition

O meio mais comum de se fazer a aquisição de uma imagem forense continua sendo o boot por um live CD com utilitários de captura de imagem, desviando o arquivo para algum destino. Adaptamos o HD a ser duplicado em uma interface USB, de preferência protegido por um write-blocker, que é um dispositivo que bloqueia qualquer sinal de escrita que passe pela interface com o HD, impedindo qualquer alteração. Em geral, os CDs bootáveis dedicados a Forense Computacional (Helix, FCCU, FIRE, e outros) se preocupam em evitar qualquer escrita, mas como dizia meu avô, seguro morreu de velho... O write-blocker é um grande dispositivo para fazer investigadores dormirem tranquilos.
O processo é mais ou menos o mesmo: O investigador faz as devidas conexões, inicializa a máquina onde fará a duplicação bootando com o live CD, prepara o HD de destino e inicia a cópia.
Algumas vezes é impossível retirar o HD a ser duplicado da máquina onde ele está e nesses casos podemos reinicializar a própria máquina com o live CD. Esse processo é mais arriscado, pois é necessário assegurar que a ordem de inicialização na BIOS está devidamente alterada, indicando o CD como o primeiro device de boot. Vários artefatos poderão ser perdidos se, por engano, o HD a ser duplicado for acionado durante o boot da máquina.
Uma outra variação desse procedimento é quando não há como adaptar seguramente um HD para destino da imagem. Nesses casos é comum ter na máquina onde está sendo feita a duplicação o utilitário netcat, enviando por rede os dados para serem escritos em outra máquina, onde estará o HD de destino.
Pois bem, esses procedimentos e suas variações são conhecidos como Dead Acquisition. O HD a ser duplicado não está sendo escrito pelo sistema operacional em nenhum momento, e não apenas é o meio mais indicado para se fazer a captura, mas também o único que cobre os requisitos da RFC 3227, que dá diretrizes sobre isso, e contém as regras que tornam evidencias colhidas válidas nas cortes americanas. Entre outras coisas, dessa forma podemos atestar a validade da imagem como duplicação perfeita (bit a bit) do HD original. Em geral, funções HASH são usadas com esse objetivo.
Recentemente, acompanhei alguns posts na lista Windowsforensicsanalysis onde comentava-se sobre um outro procedimento de captura, referenciado por live acquisition. Seria um procedimento com o mesmo objetivo que os descritos anteriormente: capturar uma imagem que é a duplicação exata de um HD. A diferença dessa técnica é que o HD está em uso e montado pelo SO. Estranho, né ? Mas é válido.
Alguns motivos:
- A máquina a ser analisada é um servidor 24x7 que não pode sair do ar;
- A máquina usa uma unidade de storage ou RAID e não há drivers disponíveis que consigam acessar o seu conteúdo;
- Outros casos onde o tempo de captura é crítico.

Vale lembrar que em todos os casos discutidos, não houve comentários sobre como comprovar a duplicação exata dos dados, até porque como o HD está recebendo escritas, seu estado ao final da geração da imagem será com certeza diferente de quando o processo de captura da imagem começou, e os HASHs nunca coincidiriam. Evidências obtidas em casos como esses não seriam aceitas nas cortes americanas como provas, mas valem em investigações privadas, desde que todos estejam cientes desses detalhes e aceitem o procedimento de olho nos benefícios que ele dá.

Gostaria de ver comentários de quem já usou essa técnica. Alguém se habilita ?

Até o próximo post !

quinta-feira, 21 de junho de 2007

RAM or not RAM, eis a questão !

Não há dúvidas quanto a importância de se conseguir o maior número possível de artefatos em uma investigação. Até porque não devemos chegar a uma conclusão baseado apenas em um item. Há inúmeros locais em uma máquina (e fora dela também) onde devemos procurar artefatos que nos ajudarão a sustentar ou negar uma hipótese, e consequentemente descobrir o que de fato aconteceu.
Para essa busca de artefatos, devemos seguir uma ordem, que é chamada ordem de volatilidade. É uma escala do que se perde ou muda de estado, do mais volátil (ou que se perde mais facilmente) ao menos volátil, indicando essa ordem de prioridade na captura de informações. Dentre os mais voláteis, a RAM é sem dúvida a que traz o maior número de informações e artefatos.
As técnicas de se capturar os dados que constam na RAM tem melhorado bastante. No livro Windows Forensics Analysis, Harlan Carvey explora algumas dessas técnicas. A grande questão do momento é que todos os processos e técnicas apresentadas ou conhecidas hoje alteram o estado da RAM em algum grau. Isso vem recebendo críticas, já que pode ser difícil sustentar em juízo que essas alterações não estão prejudicando a análise. Alegações de que a técnica usada para obter a imagem da RAM pode alterar o estado da mesma a ponto de criar (ou destruir) artefatos que comprovariam ou negariam as hipóteses existem aos montes.
Há dois contra-argumentos a isso que gostaria de ressaltar:
1) Fazendo uma analogia com técnicas forenses usadas em outras áreas que não a computacional, sempre há algum grau de troca na "cena do crime". Entretanto, os procedimentos são documentados e as alterações são previstas.
Um paramédico, ao atender uma vítima, fatalmente introduz mudança no estado da cena. No entanto, os procedimentos que ele realiza são bem documentados e seus resultados e alterações são conhecidos.
Trazendo essa comparação para a forense computacional, procedimentos de captura bem definidos e bem documentados vão reforçar que nenhuma alteração introduzida foi capaz de criar ou destruir artefatos de suma importância.

2) Nenhuma conclusão deve ser baseada em um único artefato. Isso posto, ainda que o procedimento de captura alterasse a existência de algum artefato, isso jamais deveria por si só fundamentar toda a conclusão. A análise do que foi encontrado na RAM, correlacionada com outros dados voláteis levantados, e ainda com a análise da imagem dos HDs devem produzir um conjunto consistente de artefatos que conduzirão a uma conclusão fundamentada.

Esses dois argumentos são suficientes para me colocar na lista dos capturadores de RAM ;)

Os benefícios ? Muitos ... Análises envolvendo invasões por hackers, códigos maliciosos e imagens de disco criptografados são apenas alguns !

Comentários ?

Até o próximo post !

terça-feira, 19 de junho de 2007

Resposta a Incidentes

Uma discussão interessante rolou há alguns dias na lista windowsforensicsanalysis, mantida por Harlan Carvey.
Em meio ao assunto de o quanto invasivo podem ser algumas técnicas de análise da RAM, Harlan fez um comentário bastante pertinente:

"Nós, que trabalhamos com Resposta a Incidentes, podemos ser equiparados aos paramédicos. Ao chegar a uma cena de crime, eles entram em cena e fazem o seu papel, de certa forma alterando a cena. No entanto, como as ações deles seguem um procedimento definido, as alterações são aceitáveis porque estão previstas e documentadas".

Embora no Brasil os aspectos legais envolvendo a captura de informações para provas ainda estejam engatinhando e tenhamos poucas definições a respeito, tenho acompanhado muitas discussões sobre os procedimentos de Resposta a Incidentes e Forense Computacional em muitas listas com grande parte de usuários nos EUA, Inglaterra e Austrália.

Os procedimentos de Resposta a Incidentes compreendem, entre outras coisas, coletar o máximo de informações da máquina, seguindo a ordem de volatilidade. Os procedimentos de Forense Computacional compreendem a coleta de informações da máquina depois de desligada, normalmente capturando uma imagem do HD da máquina, e sua posterior análise. Há quem chame isso de análise "post-morten" e também acabem atribuindo o nome de Forense Computacional para todo o conjunto de procedimentos acima.

Há controvérsias para os dois lados. Os críticos da análise da RAM dizem que não é possível coletar os dados da mesma sem introduzir mudanças na análise. Os favoráveis a esses procedimentos dizem que desligar a máquina para iniciar a coleta dos dados desperdiça um grande número de informações e seria semelhante a um paramédico acabar de matar a vítima para iniciar a autópsia e finalmente descobrir o que aconteceu, ao invés de salvá-la.

Nos próximos posts vou colocar algumas das argumentações sobre as duas correntes.

Algum comentário ?

Até o próximo post !

domingo, 17 de junho de 2007

O início ...

Pessoal, esse espaço é para todos nós.

Minha idéia é ...
postar artigos, conclusões de testes, dúvidas e argumentações sobre resposta a incidentes e forense computacional. Vou tentar manter também posts sobre análises forenses usando principalmente ferramentas open source.

Meu objetivo é ...
divulgar e trocar conhecimento. Espero que esse blog contribua na formação de todos nós e seja um bom instrumento de divulgação na língua Portuguesa da Forense Computacional como instigante ciência que é.

Aprendemos cada mais na medida em que compartilhamos o conhecimento.

Então, vamos a ação !