volatility framework como ferramenta de análise forense
TRANSCRIPT
Volatility Framework para Análise Forense
Maurício Harley
https://linkedin.com/in/mauricioharley/
Fevereiro de 2017
https://linkedin.com/in/mauricioharley/
Agenda
• Motivação;
• A Necessidade da Investigação Forense;
• Breve Histórico da Análise Forense;
• A Forense em Memória;
• Volatility Framework;
• Demonstração;
• Dicas Finais.
2
https://linkedin.com/in/mauricioharley/
Mini-CV
• MBA em Gerenciamento de Projetos de TI;
• Bacharel em Engenharia Elétrica;
• Tecnólogo em Telemática;
• 2x CCIE (Routing & Switching, Service Provider), VCIX-NV (NSX);
• CISSP, MCSE Private Cloud, VCP6-DCV, ITILv3;
• Ex-membro do Cisco Data Center Tiger Team;
• Colaborador da PenTest Magazine;
• Mais de 20 anos de experiência em TI;
• Palestrante de temas diversos em Tecnologia da Informação.
3
https://linkedin.com/in/mauricioharley/
Motivação (cont.)
O uso de smartphones cresce exponencialmente.
7
https://linkedin.com/in/mauricioharley/Fonte: www.statista.com
Qtde. Vendas Telefones Convencionais x Smartphones
8
https://linkedin.com/in/mauricioharley/
Motivação (cont.)
Computadores são usados para rotinas diversas, benignas ou não, tais como: educação, comércio eletrônico, comunicação entre empresas, mas também para criação e disseminação de código
malicioso, espionagem, recrutamento de terroristas.
9
https://linkedin.com/in/mauricioharley/
Motivação (cont.)
A quantidade do conteúdo gerado por esses dispositivos é espantosa!
11
https://linkedin.com/in/mauricioharley/
Motivação (cont.)
A demanda por memória RAM também só cresce.
15
https://linkedin.com/in/mauricioharley/
A Necessidade da Investigação Forense
• Dados e Informações são alguns dos ativos mais importantes nosdias atuais;
• Dispositivos (computadores, tablets, smartphones) possuemcapacidades crescentes de armazenamento;
• Nem todas as empresas dispõem de políticas e controles efetivosde criptografia de dados;
• Muitas empresas não sabem do que se trata MDM (Mobile Device Management);
• BYOD (Bring Your Own Device).
18
https://linkedin.com/in/mauricioharley/
Breve Histórico da Análise Forense
• Primeiros vestígios datam do século XIII na China;
• Investigações de mortes com causas questionáveis;
• Medicina Legal;
• No século XVII, foi usada para ressaltar as diferenças entre suicídios e assassinatos;
• Novos progressos foram feitos no século XIX, mas ainda com cunhomédico, com o intuito de descobrir causas de mortes;
• Sherlock Holmes;
• O século XX viu a criação do laboratório especializado do FBI, a identificação de indivíduos por impressões digitais e a unicidade do DNA.
22
https://linkedin.com/in/mauricioharley/
Breve Histórico da Análise Forense (cont.)
“Forense Computacional compreende a aquisição, preservação, identificação, extração, restauração, análise e documentação de evidências computacionais, quer sejam componentes físicos ou dados que foram processados eletronicamentee armazenados em mídias computacionais.”
Warren G. Kruse II & Jay G. Heiser
“Preservação, identificação, coleta, interpretação e documentação de evidênciascomputacionais, incluindo as regras de evidência, processo legal, integridade da evidência, relatório factual da evidência e provisão de opinião de especialista emuma corte judicial ou outro tipo de processo administrativo e/ou legal com relação ao que foi encontrado”.
Steve Hailey, do Cybersecurity Institute
23
https://linkedin.com/in/mauricioharley/
A Forense em Memória
• Malwares deixam rastros, seja no disco rígido, seja na memória RAM;
• Ferramentas específicas conseguem coletar completamente a memóriaRAM sem alteração em seu conteúdo → mais rápido que a cópia de um HD, mesmo que SSD.• Magnet RAM Capture;• FireEye Redline;• SANS SIFT (SANS Investigative Forensics Toolkit).
• Pelo próprio tamanho do material coletado, pode ser mais rápidoencontrar a evidência do que em HD;
• Normalmente, o conteúdo em memória não se encontra criptografado, ao contrário do que se pode ter em armazenamento secundário (HD, SSD).
25
https://linkedin.com/in/mauricioharley/
A Forense em Memória (cont.)
• Ao invés do que pode acontecer com a memória persistente (HD), a análise de uma amostra de RAM pode requerer conhecimento apuradosobre o sistema operacional;
• Pode ser necessário entender de que forma operam as syscalls e como o kernel interage como os processos em nível de usuário;
• Linux, Windows e macOS possuem suas particularidades;
• Importante atentar para “itens adicionais”: memória virtual (paginação/swapping) e memória compartilhada;
• Reentrância de código pode ser considerada quando explorando a amostra com editores hexadecimais ou debuggers (OllyDbg, WinDbg, IDA).
26
https://linkedin.com/in/mauricioharley/
Volatility Framework
• Projeto open source para facilitar a inspeção de amostras de memória RAM;
• Além do código-fonte, está disponível como binário para Linux, Windows e macOS;
• O código-fonte pode ser usado como repositório de módulos Python para construção de scripts personalizados.• Para mais detalhes, veja o meu artigo em:
https://www.linkedin.com/pulse/using-volatility-framework-build-python-forensics-code-harley-mba;
28
https://linkedin.com/in/mauricioharley/
Volatility Framework (cont.)
• Possui uma vasta gama de plug-ins, e sozinho ou com o auxílio destes, consegue extrair informações importantes, como:• Listas de processos;
• Rastros de malwares;
• Conexões IP (ativas ou finalizadas);
• Payloads.
• Códigos-fonte dos plug-ins também estão disponíveis;
• O Volatility é acompanhado de vários perfis de sistemas operacionais para ajudar na análise e detecção.
29
https://linkedin.com/in/mauricioharley/
Volatility Framework (cont.)
• A versão mais recente quando da criação desta apresentação (2.6) possuía perfis atualizados com as últimas versões de sistemas operacionais disponíveis.• Detalhes em https://github.com/volatilityfoundation/volatility/wiki/2.6-
Win-Profiles.
• Algumas técnicas de contra-análise forense podem ser efetivas, mas as novas versões da ferramenta têm reduzido isso;
• Versões mais recentes do Windows não permitem a leitura da memória inteira em espaço de usuário, mas as ferramentas de coleta já conseguem executar em modo kernel.
30
https://linkedin.com/in/mauricioharley/
Dicas Finais
• Excelente livro sobre fundamentos de arquitetura de computadores, funcionamento da memória e kernel de alguns sistemas operacionais;
• Usa o Volatility para alguns exemplos;
• https://www.amazon.com.br/Art-Memory-Forensics-Detecting-Malware/dp/1118825098
33
https://linkedin.com/in/mauricioharley/
Dicas Finais (cont.)
• The Volatility Foundationhttp://www.volatilityfoundation.org/
• Memory Forensics Summaryhttp://resources.infosecinstitute.com/memory-forensics/#gref
• Memory Forensics Cheat Sheethttps://digital-forensics.sans.org/media/memory-forensics-cheat-sheet.pdf
• Automatic malicious code extraction using Volatility Frameworkhttps://www.virusbulletin.com/uploads/pdf/conference_slides/2015/Korman-VB2015.pdf
• Rekallhttp://www.rekall-forensic.com/
34
35
Muito Obrigado!
Maurício Harley
https://linkedin.com/in/mauricioharley/