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

Capítulo 11 — Verificação

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 11 — Verificação

Mapa da aula

Aula 11 publicada. Mapa, exemplo, EX041.

flowchart TD
  N0["11.1 Plano de reteste"]
  N1["11.2 Antes e depois"]
  N2["11.3 Correções parciais"]
  N3["11.4 Encerramento"]
  N4["11.5 Congelamento do escopo"]
  N5["11.6 Comunicação"]
  N6["11.7 Mesmo método"]
  N7["11.8 Demonstração ao responsável"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX041"]

Desenho lógico

flowchart LR
  N0["11.1 Plano de reteste"]
  N1["11.2 Antes e depois"]
  N2["11.3 Correções parciais"]
  N3["11.4 Encerramento"]
  N4["11.5 Congelamento do escopo"]
  N5["11.6 Comunicação"]
  N6["11.7 Mesmo método"]
  N7["11.8 Demonstração ao responsável"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX041"]
[11.1 Plano de reteste]
    |
    v
[11.2 Antes e depois]
    |
    v
[11.3 Correções parciais]
    |
    v
[11.4 Encerramento]
    |
    v
[11.5 Congelamento do escopo]
    |
    v
[11.6 Comunicação]
    |
    v
[11.7 Mesmo método]
    |
    v
[11.8 Demonstração ao responsável]
    |
    v
[Exemplo resolvido] --> [Exercício EX041]

Objetivos de aprendizagem

Você vai (1) planejar uma janela de reteste; (2) comparar status de antes e depois; (3) lidar com correções parciais; (4) encerrar somente com evidências.

11.1 Plano de reteste

Liste os achados, os métodos, as notas de entrada em produção dos responsáveis e a janela. O plano de reteste do ENG-512 usa os mesmos cartões de método e as mesmas versões fixadas das ferramentas. O status no estilo do lab_retest mostra F1 open->closed FIXED, F2 open->open STILL OPEN, F3 open->closed FIXED — fixed: 2 open: 1. Usar os mesmos cartões e as mesmas versões é o que dá sentido a essa divisão: se o F2 continua aberto, a causa é a correção, e não uma mudança no modo como Sam olhou. O caderno coloca o resumo de dois corrigidos e um aberto ao lado dos resumos criptográficos das ferramentas fixadas, para que um examinador veja que o reteste e o teste original usaram entradas idênticas.

11.2 Antes e depois

Registre as transições de status de forma explícita.

"""Lab 11: compare synthetic before/after findings for a retest window."""
before = {"F1": "open", "F2": "open", "F3": "open"}
after = {"F1": "closed", "F2": "open", "F3": "closed"}
for fid in sorted(before):
    b, a = before[fid], after[fid]
    print(f"{fid} {b}->{a} {'FIXED' if b == 'open' and a == 'closed' else 'STILL OPEN' if a == 'open' else 'CHECK'}")
print("fixed:", sum(1 for f in before if before[f] == "open" and after[f] == "closed"),
      "open:", sum(1 for f in after if after[f] == "open"))

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

F1 open->closed FIXED
F2 open->open STILL OPEN
F3 open->closed FIXED
fixed: 2 open: 1

Os hashes das evidências de antes e de depois ficam no chamado e provam que o artefato mudou com a correção. FIXED sem um hash com MATCH no artefato de depois não é encerramento na NMT.

Cada transição é escrita com sua data e com a evidência que a justificou, por exemplo o F1 passando de open para closed FIXED com um artefato de depois cujo resumo confere com a cópia guardada no cofre. Um status que muda sem motivo registrado não pode ser auditado depois, e os examinadores da NMT amostram exatamente essas linhas quando revisam chamados encerrados.

11.3 Correções parciais

O F2 ainda aberto significa que o chamado continua aberto, com novas evidências. Correções parciais que deixam o F2 em STILL OPEN continuam no controle, com responsável e prazo, e Sam não encerra o engajamento como limpo enquanto houver itens abertos. A revisão do supervisor confere se o slide de resumo mostra o F2 como STILL OPEN, com seu responsável e seu prazo, em vez de escondê-lo sob uma manchete de tudo limpo. Expressões como "parcialmente corrigido" não são usadas; o chamado atende à verificação do seu cartão de método ou não atende, e as novas evidências explicam que parte da correção está faltando.

11.4 Encerramento

Encerrado significa FIXED com evidências, ou risco aceito com a assinatura do CISO — e não silêncio. O encerramento exige o aceite do responsável e o status verificado FIXED com evidências. Um "pronto" verbal no chat é rejeitado na revisão semanal. A aceitação de risco é a única outra via, e ela exige a assinatura do CISO no chamado, e não um acordo numa reunião. A revisão semanal reabre qualquer item que tenha sido encerrado por entusiasmo, sem evidência guardada no cofre. O par que a revisão aceita é um hash armazenado do artefato de depois mais o aceite do responsável.

11.5 Congelamento do escopo

Nada de nova caçada durante o reteste, a menos que autorizada. Durante o reteste, o escopo fica congelado: nenhum host novo é acrescentado ao ENG-512, mesmo quando uma ferramenta sugere outro serviço em escuta. Os status do reteste cobrem, portanto, apenas os serviços da lista original. O texto do congelamento é lido em voz alta na abertura do reteste, e qualquer host novo sugerido é escrito numa lista de estacionamento como candidato para as próximas ROE, onde os responsáveis podem decidir se o autorizam. Retestar um host novo sem essa decisão produziria um resultado que ninguém combinou receber.

11.6 Comunicação

Envie um relatório de reteste curto aos responsáveis no mesmo dia. Os resultados do reteste são comunicados ao SOC e aos responsáveis no mesmo dia, e o STILL OPEN do F2 não fica enterrado até o pacote mensal. Sam envia uma única mensagem ao líder do SOC e ao responsável pelo achado juntos, para que os dois saibam do F2 no mesmo momento e nenhum deles fique sabendo de segunda mão. Os horários das mensagens são guardados ao lado do chamado para os pacotes de exame. Esperar pelo pacote mensal deixaria o responsável um mês atrasado sobre uma fraqueza que continua aberta.

11.7 Mesmo método

O reteste usa o mesmo cartão de método, e não um mais forte. Trocar de método no meio do reteste confunde a questão de saber se a correção funcionou. Mesmo método no reteste significa que, se o F1 foi uma verificação de flag de cookie, o reteste usa aquele cartão, e não um perfil diferente de varredura que invente uma aprovação nova. Se a verificação original usou o cartão de cookie, um perfil diferente de varredura poderia simplesmente não testar a mesma flag e relatar uma aprovação que não significa nada. Um colega rubrica o chamado para confirmar que o cartão de método do reteste é o mesmo usado no achado. Mudar o método é um teste novo, e ele precisa de cartão e linha de ROE próprios.

11.8 Demonstração ao responsável

Quando ajuda, Sam convida o responsável a assistir uma vez ao reteste bem-sucedido — ver o FIXED gera mais confiança do que um comentário no chamado. A demonstração ao responsável na homologação mostra o estado FIXED antes que Sam marque o encerramento. Capturas de tela sozinhas, sem a presença do responsável, são fracas para os pacotes de exame. O responsável vê o estado FIXED na homologação com os próprios olhos, o que torna muito menos prováveis disputas posteriores sobre a correção ter sido real. O convite de calendário da demonstração é arquivado como evidência de quem a testemunhou. As capturas de tela continuam indo para o cofre, mas apoiam a demonstração em vez de substituí-la.

11.9 Disciplina de campo

O dia do reteste é emocionalmente mais difícil que o dia da descoberta, porque os responsáveis torcem pelo verde. Sam abre a chamada lembrando que STILL OPEN é um resultado de reteste bem-sucedido quando é verdadeiro. Ele mostra lado a lado as evidências de antes e de depois. Quando o F2 continua aberto, ele ajuda o responsável a agendar a próxima correção em vez de discutir de novo a severidade — a severidade já foi aceita quando o achado foi registrado. A disciplina de campo para a verificação é mesmo método, antes e depois com hash, demonstração ao responsável e contagens honestas de STILL OPEN. Dois corrigidos e um aberto é o resultado didático do ENG-512.

11.10 Nota de encerramento

Se todos os achados ficam FIXED no primeiro reteste, Sam ainda registra os métodos e os hashes. Vitórias fáceis merecem a mesma trilha de evidências que as teimosas, especialmente quando os examinadores amostram chamados encerrados. A nota de encerramento do ENG-512 diz o mesmo: a verificação é o modo pelo qual a NMT passa a confiar no programa. A reputação de Sam se apoia em relatar contagens honestas de itens abertos, incluindo o F2, em vez de produzir um slide com zero abertos. Um programa que empurra os testadores para histórias forçadas de zero abertos tem um defeito próprio, e espera-se que os supervisores o nomeiem.

Exemplo resolvido (NMT sintética)

O reteste de Sam: F1 e F3 FIXED, F2 STILL OPEN. Ele encerra o T-F1 e o T-F3 com evidências, deixa o T-F2 aberto e avisa o responsável.

Caso sintético — Northline Municipal Transit (NMT). A operadora de transporte, Sam Park e todos os números foram inventados para fins didáticos.

Erros e limites

Sistemas de transporte reais e equipamentos de tarifa nunca são testados sem uma autorização separada e especializada. Este livro usa apenas dados sintéticos e não concede autorização para testar sistemas reais.

Exercícios

Síntese

Verificação é evidência de antes e depois, chamados abertos honestos e comunicação no mesmo dia.

Continue estudando — capítulo 11 de 18

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