sexta-feira, 26 de dezembro de 2008

Reflexos perigosos

Um trabalho interessante da Harmony Security chamou minha atenção: Reflective Dll Injection.

É um conceito novo em relação ás técnicas já conhecidas de DLL Injection. O que Forense Computacional tem a ver com isso ? Essa técnica não deixa rastros no HD, pois não chega a tocá-lo. Por conta disso, alguns exploits a usam e a detecção e pesquisa do que aconteceu fica realmente prejudicada (pelo menos pelo ponto de vista do Perito).

No caso dessa nova técnica, o próprio autor afirma no seu paper que a detecção é extremamente complicada, e já existe, além da PoC, um payload para Metasploit.

Duas impressões ficam após ler um artigo como esse:

1) Cada vez mais a aquisição e análise da memória será necessária para se determinar o que aconteceu em um caso ou incidente.

2) Precisamos de uma turma que se disponha a pesquisar essas técnicas para descobrir os artefatos e vestígios que podemos encontrar.

Quem seria voluntário ???

Até o próximo post !

terça-feira, 23 de dezembro de 2008

Resposta a Incidentes para gente grande

Por enquanto, acredito que podemos dividir quem pratica Resposta a Incidentes de Segurança de Informações em mais ou menos dois grupos:
- Os que nunca fizeram nada a respeito, e provavelmente nem vão fazer;
- Os que fingem que fazem alguma coisa.

Para não ser injusto com a turma que trabalha em Telecom e/ou o pessoal específico dos grupos de resposta em backbones, vou tirar eles desses dois grupos. Talvez a eles não se aplique o que vou escrever aqui, mas tenho visto que se aplica a maioria dos pobres mortais.

O primeiro grupo é composto por empresas que, de uma forma ou de outra, não sofrem pressão regulatória, e acabam por não ter histórico de incidentes que justifique um investimento em um time de Resposta. O problema é que isso provavelmente nunca vai acontecer até que algo realmente ruim (e dos grandes) ocorra. Isso porque a turma, no geral, não aprende a identificar os diversos problemas que ocorrem como incidentes, e portanto ficam se agir diretamente sobre a fonte de alguns problemas.

O outro grupo pode ser até pior. É aquela turma que recebeu um "apronte logo isso para segunda-feira" e correram a Internet na busca de montar (ou pegar pronto, que seja) um manual de resposta a incidentes que possa ter seu título trocado e imediatamente publicado. Ninguém na organização está realmente a par do que precisa ser feito em caso de um incidente, mas o manual é uma beleza, muito bem diagramado ...

Esse quadro vai mudar. Por bem ou por mal, na verdade. Não posso prever quando, até porque aqui na nossa terrinha amada a tendência de certas coisas é andar em um rítmo mais lento, mas a coisa já está pegando por aí. Nos EUA já está virando moda cada setor lançar um regulamento ou norma específica tratando sobre a perda de dados de clientes (os chamados PII - Personal Identifiable Information). HIPAA e PCI já implementam versões de normas que tem por objetivo fazer a empresa que teve dados de clientes comprometidos a ir na Mídia se explicar. Imagine você se um CEO gosta de fazer aquela cara de bule e ficar se explicando para jornalista ... O resultado disso é um aumento substancial na conscientização dos envolvidos em Resposta a Incidentes, de quem trabalha com resposta imediata (os First Responders) ao pessoal da faxina digital. Infelizmente, por aqui ainda não tem nada parecido, apesar do PCI DSS estar sendo auditado.

O que teremos quando esse quadro mudar, principalmente por conta dessas novas regulamentações ?

- A fase de Preparação vai finalmente ganhar importância. Os dias estão contados para aquele quadro recorrente de chegarmos a um local para fazer algum levantamento e termos a desapontadora resposta de que não há nenhum tipo de log no ambiente. A fase de Preparação, muito ignorada por enquanto, vai ser levada a sério. Teremos um aumento nos treinamentos sobre Incident Response e os softwares que permitem capturar detalhes do estado da máquina com maior facilidade vão se tornar mais frequentes e parte do orçamento de qualquer boa empresa preocupada com seus clientes e seus dados. Os softwares versão Enterprise, a exemplo do F-Response e do EnCase, permitirão procedimentos mais efetivos.

Um pequeno comentário aqui: Sou o único aqui que tem problemas em marcar treinamento para a equipe que compõe o CIRT ? Sou o único a ter dificuldades, como gestor, de mostrar que um grupo que se diz CIRT não pode achar que Resposta a Incidentes é desligar a máquina na parede (o famoso pull-the-plug) ?

- A memória vai assumir um status tão importante quanto o HD na Resposta a Incidentes. O CIRT vai estar preparado e com ferramentas para realizar não só os inúmeros comandos que capturam o estado da máquina, suas conexões e outros itens, mas também estará preparado para capturar a memória e analisá-la.

- Verdadeiras equipes de Resposta a Incidentes vão aprender que a rotina deles é muito parecida com a de uma turma de ER de hospital. Triagem será uma operação fundamental na fase de Contenção, na medida em que mais eventos (incidentes) grandes acontecem e atingem mais servidores em uma rede. Um excelente artigo do HogFly explica alguns detalhes sobre esse assunto, mas basicamente a equipe terá que seguir cada vez mais uma ordem de prioridades para determinar quem será "atendido" primeiro. Em um caso de ER, uma pessoa que chega possui as classificações de atendimento Morto, Imediato, Menor grau e Pode aguardar (ou postergar). Um servidor atacado e comprometido em um datacenter com vários outros vai entrar em uma fila de acordo com classificações parecidas. HogFly sugere que a ordem de atenção para conter o impacto de um incidente, e a consequente hemorragia de informações, seja:
4) Servidores que não podem ser bloqueados no perímetro;
3) Servidores/Sistemas que não podem ser colocados offline;
2) Servidores/Sistemas que podem ser bloqueados no perímetro;
1) Servidores/Sistemas que podem ser colocados em offline;

- As metodologias irão amadurecer, baseadas principalmente em procedimentos já bastante maduros em disciplinas correlatas. Uma extensão ao manual de resposta a incidentes que trate casos comuns de incidentes e respostas pré-estudadas, com detalhes nos procedimentos, será comum nas empresas. Os detalhamentos deverão documentar, por exemplo, como um tipo específico de incidente pode ser detectado.

- O CIRT vai finalmente ganhar independência para agir. Os que já precisaram de atuar em uma Resposta a Incidente sabe como é frustrante coordenar um grupo que não é coeso, geralmente composto por equipes distintas e com gestores que nem sempre cooperam. Hoje, o CIRT é obrigado a agir, mas ainda tem uma dependência enorme das áreas operacionais. Em geral, elas acabam por emperrar o processo. Mas isso também está para acabar. O CIRT não poderá ficar de braços cruzados, esperando que a turma operacional habilite alguma coisa, para que ele comece a atuar. Em resumo, enquanto isso acontece hoje, o impacto do incidente continua agindo e, em geral, piorando a situação. Hackers agradecem. Com a independência do CIRT, assim que o incidente for detectado e o CIRT acionado, ele ganha uma espécie de status semelhante a um Estado de Sítio ou de Calamidade Pública. O CIRT passa a ter a agilidade necessária para fazer parar o incidente, atuando efetivamente na contenção, ao invés de ficar com as mãos amarradas.


Você poderia comentar como funciona a sua estrutura de resposta a incidentes ? Você passa ou já percebeu alguma das situações escritas aqui ? Já foi acionado para conter um incidente e quando chegou lá já tinham formatado tudo ? Comente !!!

Até o próximo post !

domingo, 21 de dezembro de 2008

What Programs Do

A parte de Análise em Informática Forense pode ser, dentre tantas técnicas, resumida a você poder contar como foi que algo aconteceu. Fazemos isso observando a imagem forense (ou as imagens) das mídias envolvidas e mesmo da memória. Observamos artefatos deixados pelo sistema operacional e pelos diversos programas instalados para poder determinar aspectos do caso e definir a análise.

Trazendo isso para uma análise da cena do crime, sabemos que uma pessoa deixa impressões digitais ao tocar determinados objetos; sabemos que um disparo de arma de fogo deixa resíduos de pólvora. Em um acidente de carro, podemos saber quem estava ao volante percebendo a direção da marca (hematoma) deixado pelo cinto de segurança.

O que isso significa ? Que na prática, nossa atuação e nossa análise será cada vez mais facilitada pelo conhecimento dos artefatos deixados pelo SO e pelos utilitários/aplicativos.

Pois bem. Uma turma da SANS deu um passo importante nessa direção. O projeto, cujo nome é o título desse post, está no blog na SANS e tem por objetivo postar todos os artefatos gerados por um programa qualquer.

O projeto ainda se encontra em fase inicial, e não tenho idéia de como vai ser disponibilizado para consulta, mas imagino dois usos específicos para ele.

1) Você está verificando se um tal programa XYZ foi usado na máquina, e se pergunta quais artefatos e onde procurar. Faz a busca no site do projeto e ... voilá ! Sabe onde procurar cada item para determinar o uso (ou não) do XYZ.

2) Você encontrou uma chave de registry ou um arquivo de log e não tem idéia de que utilitário teria criado o item. Uma rápida busca no site do projeto e imediatamente você fica sabendo que o tal item misterioso foi criado pela aplicação XYZ, que não mais existe naquela máquina ...

Fiquem de olho, esse projeto promete ser tão útil quanto o da NSRL, que publica o database com os hashes de programas. Um ponto importante é que estava em voga ampliar esse projeto para fornecer hashes dos arquivos por grupos de 512 bytes, normalmente bate com os setores dos sistemas de arquivos mais comuns. Por que ? Com os hashes, seria possível descobrir que um determinado setor é na verdade o n-ésimo bloco do programa XYZ, e isso facilitaria uma operação de carving onde há fragmentação. Alguém sabe se esse projeto andou ?

Comentários ?

Até o próximo post !

sexta-feira, 19 de dezembro de 2008

Na conta do Tabelião

Um dia desses estava conversando com um camarada sobre as diferenças dos instrumentos jurídicos brasileiros e americanos com relação às provas eletrônicas.

Papo vai, papo vem, o assunto parou na Ata Notarial.

Expliquei a ele a função desse documento, que na prática equivale a ter alguém com fé pública atestando que os procedimentos estão corretos, que a cópia (aquisição da imagem) é perfeita, e tal. Ele perguntou:

P: - Mas como o tabelião, que não é um técnico, vai atestar que a cópia está igual ?
R: - Porque ele pode conferir os hashes e ver que são iguais.
P: - Quando acontecem erros de leitura, geralmente os hashes não batem
R: - Às vezes, porque quando usamos configurações para lidar com erros, em tese o valor de onde está dando erro vem como zero, e na imagem o zero é gravado também, o que faz os resultados baterem.
P: - Mas ele nem sabe o que é um hash, e o porque de serem iguais para atestar que a cópia está igual...
R: - É verdade, a maioria não sabe. Nesse caso, ele valida o procedimento; Ou seja, executamos um procedimento com passo a passo documentado, e ele atesta que todos os passos foram cumpridos.
P: - Como o passo de verificar a exatidão da cópia pelo hash ?
R: - Sim, incluindo esse passo.
P: - Mas como vamos garantir que o hash obtido não foi resultado de um programa de cálculo de hash adulterado para exibir um valor específico ?
R: - Como assim ?
P: - O programa de cálculo de hash (md5sum, por exemplo) pode ser manipulado para, quando se tratar da entrada xxx.dd, ele dê como saída um valor de hash que não é o verdadeiro, mas sim um valor que reflete a adulteração da imagem.
R: - De certa forma, poderia sim.
P: - Então mesmo com o hash e a Ata Notarial, seria difícil garantir que a cópia é exatamente igual ?
R: - Para evitar isso, o tabelião deveria ter seu próprio conjunto de ferramentas e ele também deveria estar apto a gerar o hash com elas, para conferir.

Depois, em conversa com uma pessoa da área jurídica, a respeito da possibilidade desse fato, ela informou que é por isso que muitos cartórios não fazem a Ata Notarial, ou só a fazem para casos super simples, como atestar que uma página web está no ar.

Algumas considerações a esse respeito:

- Precisamos de um instrumento jurídico realmente mais eficiente;
- O ataque de dicionário não é tão simples ou rápido de se aplicar. Levaria muito tempo para manipular a imagem de tal forma que desse o mesmo hash do início, apesar de não ser impossível;
- Como sempre diz Harlan Carvey, um processo não pode estar baseado em um único aspecto ou vestígio encontrado. Seria muito improvável que alguém conseguisse remover todos os vestígios (ou incluir novos, artificialmente gerados) e ainda manter intacta a relação que há entre eles. Um hash que não bate seria apenas mais um ponto a ser considerado.


Comentários ?

quarta-feira, 17 de dezembro de 2008

Baú de Live CDs

- Você trabalha com Informática Forense e carrega mil live cds para todo canto ?
- Você já ficou amigo do dono da loja de CDs graváveis de tantos live CDs que você teve de preparar ?
- Você não aguenta mais a pilha de live CDs que se formou no seu laboratório ???

Não ???

Seus problemas acabaram !!! :)

Alguns projetos lançaram a moda do Multi Live DVD, um DVD bootável com opção de carregar vários Live CDs nele.

A base pode ser criada a partir do script Nautopia ou do UNetbootin (esse para pendrive). O conceito é o mesmo, e já tem alguns conjuntos lançados, incluindo para LiveUSB.

- MultiIso Live DVD: Compilação de vários Live CDs Linux, incluindo o BackTrack e o OphCrack (com rainbow tables !).

- SUMO Linux: Compilação que contém o Helix, o BackTrack e mais alguns interessantes.


Muito bom, não é ? Para ser perfeito, poderíamos ter um desses só para Forense Computacional. Algo que reunisse os mais usados, pelo menos, como o Helix, o FCCU, o DEFT4 e o brasileiro FDTK.

Algum mestre Linux se habilita ? A comunidade de Forense Computacional brasileira agradece !

Até o próximo post !

segunda-feira, 15 de dezembro de 2008

Táticas para esconder informações

Terminei de ler há alguns dias um artigo muito interessante sobre várias técnicas para obfuscar informações, tanto para Windows quanto para Unix. A maior parte delas envolve o conceito de slack space, ou seja, a sobra de espaço em uma unidade de alocação. No nível de arquivo, o slack space seria a porção de disco não ocupada por um arquivo em um cluster do sistema de arquivo.

Por exemplo, imagine um sistema de arquivos com blocos de 512 bytes. Se você alocar nele um arquivo de 2100 bytes, você vai "encher" 4 blocos de 512 (2048 bytes), e os 52 bytes restantes ocuparão o quinto bloco. Neste bloco, logo após os 52 bytes, o espaço não pode ser alocado, mas está la. Algumas ferramentas mapeiam e usam esse local para guardar informações longe dos olhos dos curiosos.

Um conceito semelhante se aplica quando você particiona um disco, escreve vários dados nos últimos setores e depois deleta a partição, recriando uma nova com menor espaço. Os dados da partição anterior ainda vão estar lá, acessíveis apenas por ferramentas específicas.

Há, na verdade, dezenas de artigos sobre esse assunto, principalmente sobre anti-forensics. O que me chamou atenção neste foi a concentração e boa exposição sobre várias técnicas além de um estudo baseado na capacidade do FTK descobrir os artefatos.

O resultado do estudo foi interessante: O artefato só é identificado quando o investigador sabe o que está procurando. O caso é que todos os artefatos estão presentes na imagem forense da mídia, mas o FTK não reportou como anômalo, por exemplo, o fato de alguns dados estarem escritos em áreas onde só zeros seriam encontrados. Como o artigo é de 2006, talvez hoje já exista algo que identifique isso.

Alguém saberia dizer o comportamento de outras ferramentas neste contexto ? EnCase ? ProDiscover ?

Até que seria interessante um projeto, talvez em Perl, procurando artefatos nesses cantos ... Alguém se habilita ?

Até o próximo post !

sexta-feira, 12 de dezembro de 2008

Na passada dos carangueijos

Tenho usado o Helix 2.0 com frequência. Não pelo fato de estar achando o produto a última maravilha, mas porque os outros ainda oferecem menos.

Bom, pelo menos ofereciam.

Há tempos o Helix reinava como ferramenta 0800 de Forense Computacional. É um produto bom, prático, e recebia atualizações com certa frequência. A versão 2.0, esperada e anunciada há tempos, chegou em setembro último e de lá para cá, a coisa andou para trás, literalmente.

Assim que eu soube do lançamento, corri para o site e tratei de baixá-lo. Conferidos os hashes, vamos gerar logo o Live CD e começar o Rock.

Primeira decepção. O novo live cd deve demorar o dobro e mais um pouco de tempo de boot do antecessor.

Logo em seguida, reparei que o terminal não faz distinção de cores pré-definida, como vinha na v1.9. O log da sessão já era, ficou de fora.

Ao tentar usar o Adepto, a tela ficou com tamanho errado e não me deixou acertar isso de jeito nenhum. Piorou quando tentei usar o formato AFF. Não funcionou de jeito nenhum. Interessante que o aimage está ok.

Os utilitários mudaram todos de nome. Aqueles que eu estava acostumado a usar para as tarefas mais corriqueiras agora me fazem sair à caça de quem os substituiu. Fora que alguns utilitários do Sleuthkit estão com nomes trocados por outros; imagino que haja uma explicação razoável para isso, mas ainda não a li e estou curioso pela resposta.

Reconhecer o meu Wifi ? Nem pensar ...

Ainda vou dar uma olhada mais a fundo, mas a impressão que eu tenho é a de que alguns dos utilitários mais clássicos e antigos não foram trazidos, como o Glimpse. Por outro lado, o PyFlag foi varrido do mapa e o PTK não foi trazido, como era esperado. Conclusão: Não há um indexador para buscas ASCII ou Unicode. Na minha imagem de 80 Gb eu tive de esperar 50 min por cada um dos itens procurado.

Você está pensando que acabou ? Infelizmente não. A coisa piorou, já que caiu na minha mailbox esses dias um email do Drew Farrell, criador e mantenedor do Helix, dizendo que a e-fense não vai mais ajudar a bancar o projeto. Se a gente quer continuar com o Helix sob a bandeira do sw livre, vamos ter que bancar. Mudanças no site já aconteceram. O que antes era um link simples para download agora é um form para quem quiser o Helix preencher antes. As doações podem ser feitas pelo Paypal.

Não encare esse post como algum tipo de reclamação. Não cabe nenhum tipo de reclamação neste caso, pois até aqui o Drew fez tudo meio que sozinho e com pouco apoio. Ainda assim, transformou o Helix no live CD mais usado do mundo para Informática Forense. O que é de lascar é que a gente acaba ficando dependente do produto, e agora pode ser que ele tenha o tapete puxado ...

Alguém tem mais algum feedback do Helix 2.0 ?

Até o próximo post !

quarta-feira, 10 de dezembro de 2008

Tempos

Uma pergunta que eu me fazia com frequência quando comecei em Informática Forense era quanto tempo em média demoravam os procedimentos. Nunca consegui uma resposta sobre isso em fóruns, mas recentemente me lembrei disso e decidi colocar alguns aqui, como orientação.

Logicamente, vários fatores influenciam nesses tempos, e são tantos que esses valores são para dar apenas uma idéia. Vamos lá:

- Aquisição do disco rígido (dcfldd via adepto): 48 min
- Hash do device: 40 min
- Hash do arquivo-imagem: 36 min
- Busca não indexada pelo autopsy: 50 min cada busca, em média.

Ref: Máquina Core 2 Duo @ 2.00 GHz com 4 Gb. Origem: HD IDE de 80 Gb; Destino: HD SATA. Ambos conectados via USB2. As buscas no Autopsy acessavam um HD SATA conectado pela USB2.

O fato do novo Helix não guardar mais o log de tudo que fazemos na sessão (aliás, tema de um próximo post) dificulta lembrar de pegar essas métricas.

Alguém quer compartilhar outros valores e referências ?

Até o próximo post !

domingo, 7 de dezembro de 2008

SANS está quebrando a banca

Eu sempre associei a SANS a algo de bom nível. Nos últimos dias, no entanto, a turma de lá está realmente quebrando a banca.

Se não bastasse o alto nível dos treinamentos (infelizmente, do custo também) e dos materiais colocados à disposição, Rob Lee e companhia deram um passo a frente e criaram um blog que, desde agosto, vem arrebentando.

Artigos interessantíssimos, vários colaboradores e 90% dos posts sendo úteis e práticos; essa é uma receita de um blog de sucesso, que está atraindo a atenção de muita gente ligada na nossa ciência.

Coloque aí no seu bookmark, você não vai se arrepender: http://sansforensics.wordpress.com/

Recentemente, para não deixar barato, a turma de lá disponibilizou uma máquina virtual super bem bolada (SIFT), que é usada nos cursos de Forensics. A parte de um bom grupo de ferramentas, que inclui o novo PTK, a grandiosíssima sacação deles foi colocar diretórios pré-determinados para armazenar a imagem a ser analisada, e para o mounting point. A jogada é que esses dois diretórios pré-determinados são compartilhados via SAMBA. Daí, você pode montar uma imagem NTFS read-only nesse mouting point, alternar para a máquina real Windows, e mapear esses diretórios. O que você ganha com isso ? Simplesmente todos os arquivos da imagem estão montadinhos, read-only, e acessível para suas ferramentas Windows poderem fuçar.

Engenhoso, não ?

Alguém já está usando o SIFT em investigações e gostaria de compartilhar algumas impressões ?

Até o próximo post !

PS: É, deixei passar batido o assunto Futebol ... Afundaram a minha caravela, fazer o quê ??? Ano que vem a gente chega junto com um mega submarino nuclear ... :)

quinta-feira, 4 de dezembro de 2008

E continua a chuva ...

Acho que estamos em um daqueles momentos únicos da história do planeta; Não sei o motivo, talvez algum alinhamento especial que, somado às marés, ao número de batatas roxas plantadas recentemente na costa oeste da França e a passagem de algum cometa, formaram uma conjunção de fatores que repercutiu em duas grandes frentes:
1) O Vasco não vai parar na segunda divisão de jeito nenhum;
2) Várias pessoas no mundo todo estão, ao que parece ao mesmo tempo, acordando, e depois de um longo bocejo e esticada, dizem: "Hoje eu vou criar um live cd de Informática Forense".

O resultado do item 1) da pesquisa eu só vou mesmo saber no domingo à noite, mas o resultado da segunda linha já é por demais visível. Ontem, eu acabei esbarrando em mais dois ...

O famoso e excelente live CD FCCU, da turma belga, tem versão nova. A 12.1 vem com algumas melhorias, incluindo a nova versão do GuyMager, ferramentas para aquisição de memória RAM e respectiva análise, além de Análise de Registry (RegRipper, do Harlan Carvey).

Já a turma tupiniquim não deixou por menos, e atualizou o FDTK para a versão 2.0. Não há um "what's new" da versão nova, mas vou descobrir e postar aqui.

Alguém já está usando uma das duas e gostaria de comentar ?

Recentemente, eu usei muito rapidamente o CAINE, o DEFT4 e o PlainSight, que comentei em artigos anteriores. Fiquei um pouco frustrado, mas como usei com pouco tempo, admito que não prestei atenção aos detalhes. Em breve, espero publicar um mega-comparativo entre todas as versões novas desses Live CDs 0800 de Forense Computacional.

Até o próximo post !

segunda-feira, 1 de dezembro de 2008

Chuva de Live CDs

É, parece mesmo que está aberta a temporada de lançamento de Live CDs. O que é muito bom, diga-se de passagem.

Depois do tão esperado lançamento do Helix 2.0, anunciei recentemente a versão nova do DEFT (DEFT 4) e o lançamento do CAINE. Agora é a vez de mais algumas iniciativas.

O PlainSight é um live CD baseado no Linux (Knoppix, aparentemente) e de acordo com seu criador, permite:
- Uso do RegRipper para análise de Registry
- Uso de alguns utilitários para análise de Browser (history, cookies, etc)
- Forense de Memória com o Volatility
- Carving
- Roda a partir de CD ou pen drive

O Drive Prophet é uma iniciativa do Mark McKinnon, da Red Wolf. Esse não é um live cd, mas um software para captar vários vestígios deixados na máquina e, com isso, montar uma triagem de quem passará pela dead acquisition. A lista de informações que o Drive Prophet emite pode ser vista no website dele.

Por último, mas não menos importante, vem a turma da SANS, com o SIFT (Sans Investigative Forensics Toolkit). Esse também não é um live cd, mas um virtual appliance que serve para análise forense. Na verdade, esse é o appliance usado no curso de Forense da SANS. Entre outras, o SIFT permite usar o novíssimo PTK como interface para o Sleuthkit, além de já trazer o Volatility para análise de dumps de memória.

Em breve estarei ampliando a minha análise inicial (já postada aqui no blog) para incluir todas essas novas opções. Alguém já está as usando ?

Até o próximo post !