OpenCyber Academy
Tecnólogo · Capítulo 9 · Português
Código do curso: OCA-088Capítulo 09: OCA-088-C009

Capítulo 9 — Evidência e medição

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

Mapa da aula

Aula 09 publicada. Mapa, exemplo, EX025.

flowchart TD
  N0["9.1 A evidência sustenta uma afirmação"]
  N1["9.2 Cadeia de custódia"]
  N2["9.3 Hash como verificação de adulteração"]
  N3["Laboratório C — manifesto de evidências"]
  N4["9.4 Medir exige unidades"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX025"]

Desenho lógico

flowchart LR
  N0["9.1 A evidência sustenta uma afirmação"]
  N1["9.2 Cadeia de custódia"]
  N2["9.3 Hash como verificação de adulteração"]
  N3["Laboratório C — manifesto de evidências"]
  N4["9.4 Medir exige unidades"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX025"]
[9.1 A evidência sustenta uma afirmação]
    |
    v
[9.2 Cadeia de custódia]
    |
    v
[9.3 Hash como verificação de adulteração]
    |
    v
[Laboratório C — manifesto de evidências]
    |
    v
[9.4 Medir exige unidades]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX025]

Objetivos de aprendizagem

Você vai (1) escrever uma nota de cadeia de custódia para um artefato digital; (2) calcular e verificar um manifesto SHA-256; (3) explicar por que a medição precisa de uma unidade e de uma janela de tempo definidas; (4) recusar-se a guardar evidências do engajamento em dispositivos pessoais.

9.1 A evidência sustenta uma afirmação

Um achado sem evidência é uma opinião. A evidência pode ser uma exportação de configuração, uma captura de tela com dados ocultados, um trecho de log ou o hash de um arquivo. Capture apenas o que prova o ponto; mais dados significam mais risco de retenção e mais trabalho de ocultação. No ENG-712, a afirmação sobre o banner do portal entra no relatório porque o E-001 tem um digest correspondente. Uma opinião sobre o banner sem esse arquivo é apagada na revisão por pares. Priya captura evidências apenas em sistemas autorizados e mascara a parte local dos e-mails dos funcionários antes de arquivar, para que a evidência prove o ponto sem acrescentar risco de retenção.

9.2 Cadeia de custódia

Para cada item, registre quem o coletou, quando, de onde e cada repasse. O NIST SP 800-86 descreve a integração de técnicas forenses à resposta a incidentes; a mesma disciplina de rotulagem e verificação de integridade vale para a evidência de avaliação, mesmo quando o que está em jogo juridicamente é menor. As linhas de custódia do ENG-712 nomeiam quem exportou o E-001, quando e de qual host. Os repasses para Jordan, como responsável pelas evidências, são registrados. Os hábitos do NIST SP 800-86 se transferem mesmo quando o caso é sintético. Uma linha de custódia ausente bloqueia a exportação para o pacote do conselho, mesmo quando o hash confere.

9.3 Hash como verificação de adulteração

Um digest SHA-256 de um artefato, guardado separadamente do artefato, permite que um leitor posterior detecte edições silenciosas. Se o digest não confere mais, o arquivo mudou — de propósito ou não — e a afirmação que dependia dele precisa ser revista. O laboratório mostra E-001 MATCH e E-002 MISMATCH. A divergência suspendeu uma afirmação sobre uma senha na wiki até que a exportação fosse refeita sob revisão de duas pessoas. Os digests ficam guardados ao lado dos arquivos de evidência, e não apenas numa conversa de chamado que qualquer um pode editar, para que um leitor posterior ainda consiga conferi-los.

Laboratório C — manifesto de evidências

"""Lab C (ch 09): build a SHA-256 evidence manifest for synthetic artefacts and detect tampering."""
import hashlib
artefacts = {
    "E-001_portal_login_banner.txt": b"TRT staff portal - authorised users only\n",
    "E-002_wiki_page_export.txt": b"Runbook draft v3 (synthetic)\n",
}
manifest = {name: hashlib.sha256(data).hexdigest() for name, data in artefacts.items()}
for name, h in manifest.items():
    print(f"{h[:16]}...  {name}")
artefacts["E-002_wiki_page_export.txt"] = b"Runbook draft v4 (synthetic)\n"  # simulated later edit
for name, data in artefacts.items():
    ok = hashlib.sha256(data).hexdigest() == manifest[name]
    print(name, "MATCH" if ok else "MISMATCH")

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

3b5ca57a4755e156...  E-001_portal_login_banner.txt
ce711fb5a92e12ef...  E-002_wiki_page_export.txt
E-001_portal_login_banner.txt MATCH
E-002_wiki_page_export.txt MISMATCH

9.4 Medir exige unidades

"Varremos muita coisa" não é uma medida. "Sete técnicas do ATT&CK exercitadas entre 22:00 e 05:00; três geraram alerta, duas foram registradas em log, duas passaram despercebidas" é uma medida. O Capítulo 19 constrói uma matriz de cobertura; este capítulo apenas insiste em que os números tenham unidades e janelas. O slide purple do ENG-712 usa exatamente essas contagens para as sete técnicas. Um percentual de cobertura sem unidades ou janela levaria o CISO a comparar números que significam coisas diferentes. Com contagens por categoria, a conversa sobre investimento pode partir das duas técnicas não detectadas e perguntar que fonte de log ou alerta fecharia cada lacuna.

Exemplo resolvido

Priya calcula o hash de duas exportações sintéticas antes de arquivá-las. Mais tarde, alguém "atualiza" a exportação da wiki. A verificação do manifesto imprime MISMATCH para esse arquivo e MATCH para o banner intocado. Ela trata a exportação da wiki como não confiável até que uma cópia nova seja obtida sob custódia.

Caso sintético. Os dois artefatos e a edição posterior foram inventados para o laboratório.

Erros e limites

Hashes detectam mudança; não provam que o original era verdadeiro. Aplicativos de chat pessoais e notebooks pessoais não são repositórios de evidência.

Exercícios

Síntese

Minimize, rotule, calcule o hash, meça com unidades e nunca estacione evidências em dispositivos pessoais.

Continue estudando — capítulo 09 de 30

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

Respostas comentadas

EX025. E-002_wiki_page_export.txt imprime MISMATCH. Qualquer achado que citava essa exportação precisa ficar suspenso até que uma cópia nova seja coletada sob custódia e tenha o hash recalculado; o arquivo alterado deixou de ser evidência confiável.

EX026. Exemplo: "2026-11-03 21:40 Priya Natarajan exportou o banner de login do portal a partir de trt-portal, no chamado ENG-712; guardado em evidence/ENG-712/E-001_portal_login_banner.txt."

EX027. Não. A evidência fica no repositório aprovado do engajamento, sob as regras de acesso e retenção do acordo, e não em equipamento pessoal.