◇ OpenCyber Academy
Técnico · Capítulo 12 · Português

Capítulo 12 — Perícia digital e análise de malware: laboratório isolado I

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 12 — Perícia digital e análise de malware: laboratório isolado I

Mapa da aula

Aula 12 publicada. Mapa, exemplo, EX045.

flowchart TD
  N0["12.1 O laboratório isolado"]
  N1["12.2 Por que a defasagem importa"]
  N2["Laboratório — corrigindo a defasagem"]
  N3["12.3 Lendo o resultado"]
  N4["12.4 Registrando o deslocamento"]
  N5["12.5 Conferindo a correção"]
  N6["12.6 Regras de segurança do laboratório"]
  N7["12.7 Notas de laboratório"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX045"]

Desenho lógico

flowchart LR
  N0["12.1 O laboratório isolado"]
  N1["12.2 Por que a defasagem importa"]
  N2["Laboratório — corrigindo a defasagem"]
  N3["12.3 Lendo o resultado"]
  N4["12.4 Registrando o deslocamento"]
  N5["12.5 Conferindo a correção"]
  N6["12.6 Regras de segurança do laboratório"]
  N7["12.7 Notas de laboratório"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX045"]
[12.1 O laboratório isolado]
    |
    v
[12.2 Por que a defasagem importa]
    |
    v
[Laboratório — corrigindo a defasagem]
    |
    v
[12.3 Lendo o resultado]
    |
    v
[12.4 Registrando o deslocamento]
    |
    v
[12.5 Conferindo a correção]
    |
    v
[12.6 Regras de segurança do laboratório]
    |
    v
[12.7 Notas de laboratório]
    |
    v
[Exemplo resolvido] --> [Exercício EX045]

Objetivos de aprendizagem

Você vai (1) trabalhar num laboratório isolado com evidências sintéticas; (2) corrigir a defasagem de relógio numa linha do tempo; (3) reconstruir a ordem de execução; (4) registrar o trabalho de laboratório no padrão de um caso.

12.1 O laboratório isolado

O laboratório de treinamento do hospital fica isolado da rede clínica e guarda apenas cópias sintéticas de artefatos. Nada nele alcança a internet, e não há amostras ativas. Os exercícios usam registros exportados, e não malware. As cópias no laboratório são versões sintéticas das exportações reais, preparadas para que os exercícios usem a mesma estrutura e os mesmos horários sem nenhum dado de paciente. Sana trabalha ali na correção da defasagem e na árvore de processos, nunca na rede clínica. Os resultados do laboratório só informam o caso depois de conferidos com a evidência real.

12.2 Por que a defasagem importa

Durante a coleta, descobriu-se que o relógio do WARD4-PC2 estava atrasado. Misturar seus horários locais com os do proxy (que são sincronizados) poria mais de seis minutos entre a gravação do programa e seu primeiro contato com o proxy, em vez de um segundo — um intervalo falso que poderia enganar um investigador. Lidos sem correção, os eventos do PC pareceriam ocorrer seis minutos antes do contato com o proxy, sugerindo uma longa demora entre a execução e o primeiro contato de rede. Corrigido, o intervalo é de apenas segundos, o que mostra que o programa contatou seu servidor quase assim que foi gravado. Acertar o intervalo importa porque é ele que decide se os dois eventos estão ligados. Só os registros próprios do WARD4-PC2, seus carimbos de tempo do sistema de arquivos e logs de eventos locais, carregam o relógio atrasado; a exportação do EDR foi carimbada pelo servidor do EDR no recebimento e já está correta.

Laboratório — corrigindo a defasagem

"""Correct a device clock skew before merging with server logs."""
from datetime import datetime, timedelta
skew = timedelta(minutes=-6, seconds=-20)   # PC clock is 6m20s slow
# PC-local times (file system, local event log); EDR times are server-stamped and need no correction
pc = [("2026-09-14T09:56:21", "wscript started"), ("2026-09-14T09:56:24", "svch.exe written")]
srv = [("2026-09-14T10:02:45", "proxy: svch.exe contacts update-cdn.example.net")]
rows = [(datetime.fromisoformat(t) - skew, "PC ", e) for t, e in pc] + [(datetime.fromisoformat(t), "SRV", e) for t, e in srv]
for t, s, e in sorted(rows): print(t.time(), s, e)

Execute com python3 lab_skew.py. Saída verificada:

10:02:41 PC  wscript started
10:02:44 PC  svch.exe written
10:02:45 SRV proxy: svch.exe contacts update-cdn.example.net

12.3 Lendo o resultado

O relógio do PC estava 6 minutos e 20 segundos atrasado, medidos comparando-o com um servidor de horário de referência na coleta. Depois da correção, a ordem é: 10:02:41 host de scripts iniciado a partir do atalho, 10:02:44 svch.exe gravado, 10:02:45 contato com o proxy. A execução levou ao contato em quatro segundos. Os seis minutos e vinte segundos vêm de uma única comparação na coleta, registrada com a referência usada e o horário em que foi feita. Aplicar o deslocamento aos dois eventos do PC os coloca quatro segundos e um segundo antes do contato com o proxy. Sana aplica o mesmo deslocamento a todos os horários locais do WARD4-PC2 daquele dia. Os horários corrigidos 10:02:41 e 10:02:44 coincidem exatamente com os da exportação do EDR, porque o servidor do EDR carimbou esses eventos em UTC sincronizado no recebimento. Essa concordância é uma verificação independente de que o deslocamento medido de seis minutos e vinte segundos está certo.

12.4 Registrando o deslocamento

O deslocamento, como e quando foi medido ficam guardados nas notas do caso; os horários corrigidos são marcados como tais, e os horários brutos são mantidos ao lado deles. Manter os valores brutos e corrigidos lado a lado permite que qualquer pessoa confira a aritmética ou aplique um deslocamento melhor depois, se aparecer um. Os horários corrigidos levam uma marca em todas as tabelas, para que nunca sejam confundidos com registros originais. Owen confere a aritmética em dois eventos antes que a linha do tempo corrigida seja usada. O servidor de horário de referência e o horário da coleta, 11:30, são registrados ao lado do deslocamento.

12.5 Conferindo a correção

O horário do EDR carimbado pelo servidor para o início do wscript concorda com o horário corrigido do registro para o último acesso ao atalho. O horário do registro só coincide depois da correção, o que sustenta o deslocamento. O início do wscript no EDR e o último acesso ao atalho no registro são anotados por relógios diferentes. O servidor do EDR carimbou seu evento em UTC sincronizado no recebimento, enquanto o valor do registro foi gravado pelo relógio atrasado do WARD4-PC2. Se o deslocamento estivesse errado, o horário corrigido do registro não coincidiria com o horário do EDR nem ficaria logo antes do contato com o proxy. O fato de ele se alinhar com os dois depois da correção sustenta o deslocamento e a sequência.

12.6 Regras de segurança do laboratório

Nenhum arquivo sai do laboratório; os dados sintéticos são rotulados; os PCs do laboratório são reiniciados ao estado original depois de cada sessão. Essas regras impedem que material sintético seja confundido com evidência do caso e mantêm qualquer coisa do laboratório fora da rede clínica. Reiniciar os PCs do laboratório depois de cada sessão faz o próximo estudante começar de um estado conhecido. Nenhuma amostra real entra ali, então o laboratório não consegue espalhar o programa nem por acidente. Qualquer arquivo que um estudante queira guardar precisa ser recriado fora do laboratório a partir da fonte sintética original.

12.7 Notas de laboratório

As notas de laboratório de Sana seguem o mesmo formato das notas de caso, para que o hábito se transfira. Escrever notas de laboratório com horários, fontes, deslocamentos e verificações faz com que o hábito já esteja formado quando ela escrever notas de caso sob pressão. Owen revisa as notas de laboratório do mesmo jeito que revisa as notas de caso, então os erros aparecem onde não custam nada. A nota sobre a defasagem no exemplo resolvido segue exatamente esse formato. As notas de laboratório de Sana ficam no portfólio do curso, e não no sistema de casos do hospital.

Exemplo resolvido

A nota de Sana: "Relógio do WARD4-PC2 −6 min 20 s em relação à referência na coleta das 11:30. Todos os horários locais do WARD4-PC2 corrigidos em +6 min 20 s; valores brutos mantidos. Sequência corrigida: 10:02:41 wscript, 10:02:44 gravação do svch.exe, 10:02:45 proxy." Owen confere a aritmética em dois eventos.

Caso sintético. Os horários vêm do script do laboratório.

Erros e limites

A defasagem pode variar com o tempo; um deslocamento medido na coleta pode não valer para eventos de dias antes.

Exercícios

Síntese

Meça, registre e aplique os deslocamentos de relógio com cuidado, mantenha os horários brutos e confirme as correções com fontes independentes.

Continue estudando — capítulo 12 de 18

← Capítulo 11 (rascunho) · Índice de capítulos do curso · Capítulo 13 (rascunho) →