Introdução
Este guia prático orienta desenvolvedores, administradores e equipes jurídicas sobre como preparar evidências digitais para uma perícia forense de software. O objetivo é transformar conhecimento técnico em ações repetíveis: coleta, preservação, documentação e entrega de artefatos que suportem análise pericial e sejam confiáveis em ambiente judicial.
Visão geral do processo
O fluxo mínimo recomendado inclui: identificação dos artefatos relevantes, isolamento do ambiente, coleta com preservação de metadados, armazenamento seguro com cadeia de custódia, validação/hash, documentação e remessa para perito. Seguir esse fluxo reduz riscos de contaminação e aumenta a aceitabilidade das evidências.
Checklist passo a passo
1. Identificação inicial
- Defina o escopo: sistemas, servidores, containers, repositórios de código, bancos de dados, logs, serviços externos.
- Liste responsáveis técnicos e contato jurídico para decisões rápidas.
- Determine janelas de preservação (quando possível, opere em modo somente leitura).
2. Isolamento e preservação do ambiente
- Evite reinicializações ou atualizações nos sistemas envolvidos.
- Se necessário, faça snapshot imediato (hipervisor, container ou volume de bloco) e documente o instante (timestamp) e autor.
- Coloque hosts em modo de preservação: montar discos somente leitura, congelar logs quando possível.
3. Coleta de artefatos
Priorize ordem que minimize perda de volatilidade:
- Memória RAM (quando relevante) — dump de processos e memória com ferramenta apropriada.
- Logs de sistema e aplicação (centralizados e locais).
- Snapshots de bancos de dados e dumps consistentes (ex.: dump lógico + snapshot físico).
- Instâncias de build e artefatos binários (builds, imagens, executáveis).
- Repositórios de código (clonar com histórico completo ou exportar packs git).
- Configurações de infraestrutura (IaC, arquivos de configuração, variáveis de ambiente, secrets auditados).
- Imagens de disco / volumes (se apropriado, criar imagem forense bit-a-bit).
- Metadados de sistema (users, grupos, permissões, crontabs, jobs agendados).
- Dados de rede: captures de tráfego (pcap), tabelas NAT/iptables, logs de proxy/load balancer.
4. Hashing e validação
- Calcule e registre hashes (SHA-256 preferencialmente) de cada arquivo/artefato coletado.
- Faça hashes também das imagens de disco e dumps de memória.
- Documente a ferramenta e versão utilizada para hashing.
5. Documentação detalhada
- Registro cronológico das ações (quem, o que, quando, como e por quê).
- Anexe logs de comandos usados na coleta (ex.: comandos de snapshot, dd, git clone, pg_dump).
- Relacione metadados mínimos: timestamps, hostname, IPs, versões de software, hashes, formatos.
6. Armazenamento seguro e cadeia de custódia
- Armazene evidências em mídia ou repositórios imutáveis quando possível (WORM, storage com versioning).
- Registre cada transferência física ou lógica com assinatura/assinaturas digitais e timestamps.
- Mantenha cópias verificáveis separadas (origem preservada e cópia de análise).
Formatos e metadados recomendados
- Imagens de disco: E01 (EnCase) ou DD/raw com arquivo de metadados associado.
- Dumps de memória: formatos compatíveis com Volatility/WinDbg (raw, LiME para Linux/Android).
- Logs: manter no formato original; quando consolidar, use JSON estruturado com campos de timestamp UTC e timezone.
- Dumps de banco de dados: SQL puro (pg_dump/ mysqldump) + snapshot físico quando possível; anexe esquema e versão do SGBD.
- Repositórios: pack Git (.git bundle) ou clone completo com reflog e objetos; registre hash do commit de referência.
- Metadados mínimos: origem, autor da coleta, ferramenta/versão, hash, timestamp UTC, local de armazenamento, motivo da coleta.
Papel e responsabilidades
- Desenvolvedor: identificar artefatos de aplicação (logs, builds, commits) e fornecer contexto técnico sobre componentes e rotinas.
- Administrador de sistemas/DevOps: realizar snapshots, dumps, captures de rede e garantir que a coleta siga boas práticas de integridade.
- Equipe jurídica: orientar sobre prazos processuais, autorizações, guarda de cadeias de custódia e requisitar perícia formal quando necessário.
- Perito forense: conduzir análise técnica aprofundada, validar cadeia de custódia, gerar laudo técnico e estar disponível para esclarecimentos em juízo.
Riscos comuns que comprometem a prova e como mitigá‑los
- Reinicializações ou atualizações: causem perda de logs/volatilidade — mitigue fazendo dumps imediatos e snapshots.
- Alteração acidental de arquivos: sempre trabalhar em cópias ou montar volumes em somente leitura.
- Coleta sem registro de metadados: garanta logs de ferramentas/comandos e hashes documentados.
- Contaminação por múltiplos operadores: estabeleça responsáveis e registre todas as transferências.
- Perda de integridade por compressão/transferência inapropriada: use métodos que preservem timestamps/metadata e valide hashes pós-transferência.
Ferramentas úteis (open‑source e comerciais)
- Open-source: Sleuth Kit / Autopsy, Volatility / Volatility 3, LiME (Linux memory), FTK Imager (versão gratuita para imagens), Wireshark, tcpdump, git, Elastic Stack (para análise de logs), rsync, dd.
- Comerciais frequentemente usados: EnCase, FTK (Advanced), X-Ways Forensics, Cellebrite (mobile), soluções de SIEM comerciais para correlação de logs.
- Ferramentas de hashing/assinatura: sha256sum, GNU Privacy Guard (GPG) para assinaturas digitais, ferramentas de timestamping e TSP quando exigido legalmente.
Exemplo de amostra de requisição técnica para perito
Segue um modelo que pode ser adaptado pela equipe jurídica ao solicitar atuação de perito:
Solicitamos avaliação pericial no sistema [nome_sistema] com escopo para identificar e analisar artefatos relacionados a [descrição do incidente]. Itens solicitados: 1) análise de logs de aplicação e sistema no período [data_inicial] a [data_final]; 2) exame de builds e binários referentes a [versões/commits]; 3) verificação de integridade de bancos de dados (fornecer dumps) e possíveis alterações; 4) análise de tráfego de rede relevante (pcap); 5) laudo técnico com descrição da metodologia, ferramentas usadas, hashes das evidências e conclusões técnicas. Prazo inicial para entrega de relatório preliminar: [X] dias úteis após recebimento de evidências. Requisitos de cadeia de custódia: registrar todas as transferências, hashes e responsáveis.
Prazos típicos e entregáveis
- Coleta e packaging inicial das evidências: normalmente 1–7 dias úteis, dependendo da complexidade e disponibilidade das equipes técnicas.
- Análise pericial preliminar: 7–30 dias úteis, conforme volume de dados e necessidade de reconstituição.
- Laudo final e anexos (hashes, logs, amostras): entregue em documento técnico formal com anexos digitais. Prazos variam conforme profundidade e diligências solicitadas.
- Entregáveis mínimos: relatório técnico, cópias das evidências (ou hashes/links), registro de cadeia de custódia, scripts/comandos usados na coleta.
Roteiro mínimo para preparar ambiente contestável em tribunal
- Documente a decisão de preservar e comunique as partes relevantes por escrito.
- Realize coleta inicial seguindo checklist e gere hashes imediatamente.
- Armazene evidências em repositório seguro com logs de acesso e controle de versão.
- Contrate perito com experiência comprovada em perícia de software para análise e elaboração de laudo.
- Disponibilize documentação e colaboradores para esclarecimentos e sustentação técnica em audiência.
Perguntas frequentes
O que devo coletar primeiro?
Coleta de memória (quando relevante) e logs voláteis deve ter prioridade. Depois, imagens de disco/snapshots e dumps de banco de dados. Sempre registre timestamps e hashes desde a primeira ação.
Posso coletar evidências internamente ou preciso sempre chamar um perito?
Coletas iniciais podem ser feitas por equipes internas seguindo boas práticas. Porém, para máxima contestabilidade e análise aprofundada, é recomendável envolver um perito externo para validação, laudo técnico e suporte em juízo.
Como garantir a cadeia de custódia digital?
Registre cada ação com data/hora, responsável e hashes. Use assinaturas digitais quando possível e mantenha logs de acesso ao repositório de evidências. Qualquer transferência deve ter registro formal e confirmação de integridade após o recebimento.
Quais são os sinais de que uma evidência pode ser contestada?
Falta de documentação, ausência de hashes, alterações de timestamps sem justificativa e procedimentos de coleta não padronizados são motivos frequentes de contestação.
Conclusão
Preparar evidências digitais com disciplina, documentação e controle reduz significativamente o risco de impugnação em processos judiciais e acelera o trabalho do perito. Use este checklist como base prática e adapte-o à realidade do seu ambiente tecnológico e às exigências legais aplicáveis.
Contato
Se precisar de suporte técnico ou equipe pericial para avaliação e condução formal da perícia forense de software, a GSC oferece serviços especializados em levantamento, coleta e elaboração de laudos técnicos. Entre em contato para uma avaliação inicial.