sábado, 2 de julho de 2011

O que é o Projeto MUFFIN, afinal ?

Cenário Atual

Você, CSO da empresa XYZ, está em casa. Foi dormir às duas da manhã vendo UFC, é sábado e está o maior frio lá fora. Às 3 em ponto, alguém do seu SOC liga e diz que está monitorando atividade intensa e anormal na sua rede, tem certeza absoluta que aconteceu um outbreak de malware e que provavelmente há vários servidores afetados. Vc pensa: "PUTZ, não tinha outra hora para acontecer ?". É hora de chamar o CSIRT. Todos te xingam, mas chegam à empresa conforme o marcado e a batalha começa.

Primeiro passo: Entender o que está acontecendo para planejar a CONTENÇÃO. Sua equipe precisa coletar dados voláteis de várias máquinas e analisá-los a fim de traçar estratégias. As máquinas afetadas estão ligadas e não podem ser desligadas (os dados são voláteis). O que a sua equipe tem na mão para fazer isso ? Um CD do Helix e um pendrive do CAINE, todos em várias cópias, cada um tem uma. Você orienta o time e eles partem para a batalha, iniciando pelas máquinas mais indicadas, dado o report do SOC. Nisso já são 7h e o CIO, que quase nunca apoia suas orientações, começa a ligar com o famoso "E aí ?". Sua equipe precisa coletar os dados e analisá-los o mais rapidamente.

- Em uma das máquinas, ao colocar o CD com o Helix, ela imediatamente reinicializa;
- Outra máquina tem uma versão mais antiga do SO, não roda diversos utilitários e toda a coleta fica comprometida;
- A maioria da equipe não lembra de cabeça os comandos e options necessários. Vários esquecem de capturar a memória por primeiro e muitos sequer trazem o resultado do netstat;
- Você ouve um barulho, foi um dos analistas socando a mesa porque o Antivirus não deixa de jeito nenhum ele rodar algumas ferramentas;
- Uma das máquinas tem a famosa tela azul depois da tentativa de rodar um dos programas do toolkit;
- quase todo o trabalho de coleta vai por água abaixo porque um dos pendrives retornou infectado. Como o analista estava usando Linux, não houve infecção na sua máquina, mas os resultados coletados seriam confiáveis ?


Vocês já viveram isso ??? É o que acontece na prática.

Os problemas acima acontecem, todos ou em parte, com cada um dos toolkits atualmente disponíveis como ferramenta de software livre. Dos que eu já pesquisei, o CAINE, o DEFT e o HELIX passam por essas ou outras situações onde ficam devendo. Até mesmo o COFEE, que não se encaixa na definição de software livre (apesar de ser livremente licenciado para polícias) passa por diversos problemas dos narrados acima. É exatamente nesse contexto que o projeto MUFFIN quer entrar: ser uma toolkit voltada para resposta a incidentes e que não tenha as mesmas fraquezas e os mesmos problemas desses que analisamos.

Para atingir isso, o MUFFIN será composto por 3 módulos:
- O pendrive MUFFIN, que é a toolkit propriamente dita;
- O MUFFIN Baker, uma ferramenta que permite configurar e gerar o pendrive MUFFIN;
- O MUFFIN Report, que vai acessar os dados gerados/coletados pelo pendrive MUFFIN.

O projeto já tem roadmap e escopo bem definido. Sua versão 0.1, marcada para ser apresentada no formato de procedimento, vai ao ar em breve. Em paralelo, a equipe do projeto trabalha na versão 0.2, primeira versão que vai trazer o Baker, automatizando a geração do pendrive MUFFIN.

Estamos desenvolvendo-o em Lazarus com SQLite. O Lazarus é um compilador Pascal com um ambiente muito parecido com Delphi, trazendo o beneficio de compilar o mesmo fonte em vários sistemas operacionais, incluindo Linux e o Mac OS.

Estamos precisando de colaboradores. Se você conhece de programação e pode nos ajudar, entre em contato. Se você não conhece, mas ainda assim quer ajudar no projeto, excelente. Há muito trabalho e todos são bem vindos.

Ate o proximo post !