Capítulo 34 — Perícia digital e análise de malware: integração
Mapa da aula
Aula 34 publicada. Mapa, exemplo, EX100.
flowchart TD
N0["34.1 Pontos de integração"]
N1["34.2 Interfaces baseadas em arquivos"]
N2["34.3 Divergências"]
N3["34.4 Armazenamento"]
N4["34.5 Teste de ponta a ponta"]
N5["34.6 Compatibilidade de versões"]
N6["34.7 Documentação"]
N7["Concordância dos relógios"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX100"]
Desenho lógico
flowchart LR
N0["34.1 Pontos de integração"]
N1["34.2 Interfaces baseadas em arquivos"]
N2["34.3 Divergências"]
N3["34.4 Armazenamento"]
N4["34.5 Teste de ponta a ponta"]
N5["34.6 Compatibilidade de versões"]
N6["34.7 Documentação"]
N7["Concordância dos relógios"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX100"]
[34.1 Pontos de integração]
|
v
[34.2 Interfaces baseadas em arquivos]
|
v
[34.3 Divergências]
|
v
[34.4 Armazenamento]
|
v
[34.5 Teste de ponta a ponta]
|
v
[34.6 Compatibilidade de versões]
|
v
[34.7 Documentação]
|
v
[Concordância dos relógios]
|
v
[Exemplo resolvido] --> [Exercício EX100]
Objetivos de aprendizagem
Você vai (1) integrar o EvidenceDesk às ferramentas de geração de imagens e ao armazenamento; (2) definir interfaces baseadas em arquivos; (3) testar a integração de ponta a ponta; (4) gerenciar a compatibilidade de versões.
34.1 Pontos de integração
As ferramentas de geração de imagens produzem imagens e logs; o armazenamento os guarda; as ferramentas de exame os leem. O EvidenceDesk precisa ingerir os logs de geração de imagens, registrar os caminhos das imagens e exportar registros que os peritos possam citar. Priya desenha o fluxo num quadro branco: o bloqueador de gravação e o gerador de imagens à esquerda, o armazenamento no meio, as suítes de exame à direita, e o EvidenceDesk registrando cada passagem. Cada seta é uma interface em que os dados podem ser perdidos ou alterados. Ela rotula cada uma com o que passa por ela, como um arquivo de imagem, um log ou um hash, e com qual lado é responsável por conferir que aquilo chegou íntegro.
34.2 Interfaces baseadas em arquivos
Em vez de se ligar aos componentes internos de cada ferramenta de fornecedor, o EvidenceDesk lê o log de aquisição que o gerador de imagens grava, extrai o nome da ferramenta, a versão, o digest e os horários, e pede ao perito que confirme. A interpretação é testada contra logs de exemplo de cada versão de ferramenta suportada. Ler as bibliotecas internas de um fornecedor amarraria o EvidenceDesk ao ciclo de lançamentos de um produto e, possivelmente, aos termos de sua licença. Os arquivos de log, por outro lado, são produzidos de qualquer forma e já fazem parte do registro da aquisição. A etapa de confirmação protege contra um interpretador que escolha silenciosamente o campo errado. Os logs de exemplo de cada versão de ferramenta ficam na pasta de testes, com os valores que uma pessoa leu neles, para que a saída do interpretador possa ser comparada automaticamente.
34.3 Divergências
Se o digest do log difere do hash que o próprio EvidenceDesk calculou da imagem, a aquisição é sinalizada, e o perito investiga antes de prosseguir. As causas possíveis incluem um erro de cópia depois da geração da imagem, uma falha no armazenamento, um defeito numa das implementações de hash ou um log que pertence a outra imagem. O perito recalcula o hash da imagem com uma segunda ferramenta, confere o nome do arquivo e o tamanho registrados no log e registra cada etapa. Se a própria imagem estiver danificada, ela é adquirida de novo a partir do original, quando possível, e a divergência e sua explicação permanecem no registro para sempre.
34.4 Armazenamento
As imagens vão para caminhos de armazenamento de gravação única atribuídos pelo EvidenceDesk; o caminho faz parte do registro. Deixar os peritos escolherem os caminhos leva a imagens salvas em pastas pessoais ou com nomes inconsistentes, difíceis de encontrar anos depois. O EvidenceDesk monta o caminho a partir do identificador do item e do número da aquisição, de modo que a localização decorre diretamente do registro. Como o caminho é armazenado com o hash, uma auditoria posterior pode abrir o arquivo, recalcular seu hash e confirmar que a imagem armazenada é a que o registro descreve.
34.5 Teste de ponta a ponta
Um item sintético passa pela entrada, pela geração da imagem, pela verificação, pela cópia de trabalho, pelo sinalizador de exame e pela exportação. Cada registro e cada log são conferidos no fim. Os testes unitários conferem cada componente isoladamente, mas as falhas de integração aparecem nas passagens: um horário gravado no fuso local por uma ferramenta e lido como UTC por outra, ou um caminho que muda entre as etapas. O item sintético usa uma pequena imagem de disco de conteúdo conhecido, para que cada hash esperado e cada campo de registro possam ser escritos de antemão. O teste roda antes de cada lançamento e depois de qualquer atualização de ferramenta.
34.6 Compatibilidade de versões
Quando uma ferramenta de geração de imagens é atualizada, o formato de seu log pode mudar. O EvidenceDesk recusa versões desconhecidas até que um teste do interpretador seja acrescentado. Um gerador de imagens atualizado pode mover o digest para outra linha ou mudar seu rótulo, e um interpretador que adivinhe poderia registrar o valor errado sem nenhum erro visível. Recusar versões desconhecidas é inconveniente por um ou dois dias, enquanto se escrevem um interpretador atualizado e seu teste. Nesse intervalo, os peritos registram o digest à mão a partir do log, e uma segunda pessoa o confere, o que é mais lento, mas não deixa erros silenciosos.
34.7 Documentação
Um guia de integração lista as ferramentas e versões suportadas e o que fazer com as não suportadas. Cada ferramenta listada tem as versões testadas, o log de exemplo usado e quaisquer peculiaridades, como um gerador de imagens que grava horários sem fuso. Para as ferramentas não suportadas, o guia dá o caminho manual: anexar o log como arquivo, digitar os valores principais e fazê-los conferir por um colega. O guia é versionado junto com o próprio EvidenceDesk, para que o leitor saiba qual versão do software uma dada página descreve.
Concordância dos relógios
Os logs do gerador de imagens trazem o horário da estação de geração de imagens; o EvidenceDesk registra o horário de seu servidor. Priya compara os dois a cada ingestão e sinaliza diferenças acima de um minuto, para que os peritos possam explicar ou corrigir o desvio do relógio antes que as linhas do tempo dependam desses horários. Cada sinalização é armazenada com a aquisição para revisão.
Exemplo resolvido
Uma nova versão do gerador de imagens grava os digests em maiúsculas. A comparação do EvidenceDesk diferenciava maiúsculas de minúsculas e sinalizava todas as aquisições. Priya normaliza a caixa antes da comparação, acrescenta um teste e registra a mudança nas notas de lançamento.
Caso sintético. O comportamento do gerador de imagens é inventado.
Erros e limites
Interpretar logs de terceiros é frágil; a confirmação pelo perito e o cálculo independente do hash são a rede de segurança.
Exercícios
- EX100 — Divergência de digest. O que acontece quando o digest do log do gerador de imagens difere do hash do EvidenceDesk? Rubrica: 3 = é sinalizado e investigado antes de prosseguir; 2 = parcial; 1 = ignorado; 0 = nada.
- EX101 — Versão desconhecida. Por que recusar versões desconhecidas do gerador de imagens? Rubrica: 3 = o formato do log pode ser diferente; interpretador não testado; 2 = parcial; 1 = licenciamento; 0 = nada.
- EX102 — Defeito das maiúsculas. Qual foi o defeito das maiúsculas e a correção? Rubrica: 3 = comparação sensível à caixa; normalizar a caixa, teste, notas; 2 = parcial; 1 = vago; 0 = nada.
Síntese
Integre por meio de interfaces de arquivo testadas, calcule o hash de forma independente e recuse o que você não testou.
Continue estudando — capítulo 34 de 50
← Capítulo 33 (rascunho) · Índice de capítulos do curso · Capítulo 35 (rascunho) →