domingo, 20 de janeiro de 2008

Manutenção no Helix

O Helix é um dos melhores "live CDs" disponíveis para a comunidade de Forense Computacional. Ele reúne um ambiente com dezenas de utilitários importantíssimos não apenas para o trabalho de aquisição da imagem forense, mas também para o trabalho posterior de análise. Como se isso não bastasse, ele tem uma parte de Incident Response para Windows.


Um Live CD é algo muito útil. É prático, seguro e contém, no caso do Helix, a palavra mágica "free". Isso significa que você realmente não precisa de um mega investimento para começar sua vida de Investigador Forense Computacional. Entretanto, tudo na vida tem um preço, mesmo quando se trata de coisas "free". Na maioria das vezes, no caso de softwares, o preço é não contar com atualizações constantes ou um suporte adequado.


O Helix tem um fórum bem interessante que pode ajudar, e em geral nossos questionamentos vão estar mais ligados nas ferramentas que o Helix disponibiliza do que propriamente em algo dele. Ainda assim, o fórum é razoável. Já tive perguntas respondidas em alguns poucos dias e já tive perguntas que nunca receberam resposta. O pior, com relação ao preço a se pagar, não é isso. Como o Helix não tem uma equipe trabalhando em tempo integral, as atualizações demoram um bocado. Em geral, são anuais. A versão atual, 1.9a, é de julho de 2007 e a anterior era de outubro de 2006. Em resumo, as novas versões dos utilitários e ferramentas são disponibilizadas com mais frequência, e ficamos um tempão sem elas. Daí, vem a pergunta: Está cansado de esperar pela nova versão do seu Live CD preferido ????


Seus problemas acabaram !!!


Vamos discutir neste artigo algumas técnicas para atualizar suas ferramentas sem depender da turma do live cd.


Atualizando o Helix - Parte Windows


Como comentei anteriormente, o Helix disponibiliza uma parte do CD para ser usada em uma operação de Resposta a Incidentes (ou até mesmo em uma Live Response). Nesse caso, para atualizar seu grupo de ferramentas, temos duas situações e duas opções de abordagem.


Situação 1 - Vamos incluir um produto que não está disponível no Helix;

Situação 2 - Vamos atualizar (fazer um upgrade) a versão da ferramenta disponível.


As duas opções de abordagem são:


Opção a) Tudo que for atualizado ficará em um pen drive;

Opção b) Tudo que for atualizado será implementado direto no CD.


IMPORTANTE: Sempre verifique os detalhes de licenciamento da ferramenta que você está atualizando. Algumas só podem ser livremente usadas em determinadas condições. Outras dependem de um registro prévio que libera funcionalidades.

A opção a) é mais fácil. Ela consiste em manter um pen drive com os programas devidamente instalados, e prontos para serem usados em um caso de Incident Response, junto com as demais ferramentas do Helix. Entretanto, como ponto negativo, ela insere alterações no sistema sendo analisado. Quando o investigador inserir o seu pen drive, o registry criará uma chave contendo alguns dados relativos a esse pen drive. Se você optar por essa técnica, recomendo verificar esses dados criados na chave LocalMachine/System/CurrentControlSet/Enum/USBSTOR do registry e indicar todas essas informações nos seus procedimentos. Dessa forma, com a alteração devidamente documentada, não há problemas. Fazer isso seria semelhante a tomar as impressões digitais de uma pessoa que entrou em uma cena de crime para socorrer uma vítima. De acordo com o Princípio da Troca de Locard, essa pessoa introduziu modificações na cena e elas precisam estar previstas de forma a serem isoladas.

Um dos problemas da opção a) é que, sendo o pen drive uma mídia com possibilidade de escrita, você o expõe a softwares maliciosos instalados na máquina sendo tratada. Nesse caso, não tem muito jeito, o melhor seria adaptar um USB Write Blocker e ficar tranquilo. Só lembrando, esse pen drive não conseguiria ser usado para coletar nada, já que o Write Blocker não deixará nada ser gravado nele.

A opção b) é um pouco mais complicada, e envolve o uso de um software comercial (eu procurei bastante uma opção free, mas não achei). Apesar disso, você estará usando diretamente a partir do CD, o que o deixará despreocupado em relação aos problemas da opção a).


Não importando qual das opções você escolher, tenha sempre em mente:


1) Mantenha uma cópia do arquivo .iso original do Helix;

2) Crie seu próprio label de versionamento, de forma que você identifique corretamente o cd que está trabalhando;
Por exemplo, a versão atual do Helix é a 1.9a. Criei algo como 1.9aTR1, significando que é a minha primeira alteração do Helix 1.9a. Logicamente, esse ponto é válido para a nossa opção b), apenas.

3) Monte um ChangeLog bastante rígido;
Um ChangeLog é um arquivo onde você indica todas as modificações feitas naquela versão. Isso é muito importante porque você vai precisar de algo para comparar quando a próxima versão do seu Live CD for lançada.

4) Atualize seu inventário de ferramentas e o hashset delas.
É importantíssimo para um Perito manter um inventário de todas as ferramentas que ele usa, suas respectivas versões/releases e seus hashes. Isso sempre deve ser incluído como um dos anexos do relatório/parecer do Perito. É dessa forma que você poderá evitar questionamentos como:

- A ferramenta usada possui publicada uma falha exatamente no item sendo analisado. Como os resultados obtidos através dela podem ser dignos de crédito ?

- Como pode ser garantido que o programa usado não foi adulterado para exibir um resultado que mais convém ?

Identificando correntamente as versões de todas as ferramentas usadas e adicionando os seus respectivos hashes à documentação mantém os questionamentos acima respondidos de acordo. Esse tipo de inventário e seus hashes são fornecidos pelo Helix. Você deverá atualizá-los sempre que gerar uma nova versão particular do Live CD.


Agora vamos a prática.


Uma ferramenta bastante interessante para investigações diretamente no Windows é o WFA, e ele não está presente na parte Windows do Helix.


O WFA reúne visualizações de alguns itens importantes do Windows, incluindo arquivos thumbs.db e os arquivos do Recycle bin. Não vou entrar em muitos detalhes de como fazer em relação a opção a), já que basta copiar o utilitário para um diretório e ele estará pronto para ser usado. Vamos falar um pouco mais da opção b).

Adicionando uma nova ferramenta ao CD do Helix


1) Faça uma cópia do arquivo .iso da última versão disponível do Helix. Nomeie o novo arquivo .iso adicionando o seu código de versionamento. No exemplo que dei acima, ficaria Helix_V1.9-07-13a-2007-TR1.iso


2) Compre um ISO Editor (é, isso mesmo, compre ... Não consegui achar nenhum software free que fizesse edição de arquivos .iso. Se você souber de algum, indique nos comentários, por favor). Dos que eu verifiquei, o Iso Commander é um dos melhores e mais simples de serem usados. Faça o download e a instalação do mesmo.


3) Crie um diretório chamado MiTec logo abaixo do diretório IR, que está na raiz do CD. MiTec é o fabricante do WFA.

4) Copie para lá o WFA.exe.

5) Salve o trabalho. Seu .iso está pronto para ser gravado em um CD.

Note que estamos falando da situação 1 descrita lá em cima, que é adicionar um novo programa ao CD. Entretanto, para a situação 2, basta fazer os mesmos passos, jogando o novo utilitário no mesmo diretório onde está a versão a ser substituída.

Viu como é simples ? O mais trabalhoso acaba sendo manter a documentação toda atualizada.

No artigo seguinte, iremos explorar atualizações no lado Linux do Helix.

Até o próximo post !

Um comentário:

granderocha disse...

Cara estou apreendendo a usar o helix e o linux ao mesmo tempo, pode me ajudara fazer o espelhamento de um hd, quais os passos que devo seguir.