Mapa da aula
Aula 27 publicada. Mapa, exemplo, EX079.
flowchart TD
N0["27.1 A validação é um teste da correção"]
N1["Laboratório I — status do reteste"]
N2["27.2 Três status"]
N3["27.3 A mesma custódia"]
N4["27.4 Aceitação de risco"]
N5["27.5 Correções parciais"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX079"]
Desenho lógico
flowchart LR
N0["27.1 A validação é um teste da correção"]
N1["Laboratório I — status do reteste"]
N2["27.2 Três status"]
N3["27.3 A mesma custódia"]
N4["27.4 Aceitação de risco"]
N5["27.5 Correções parciais"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX079"]
[27.1 A validação é um teste da correção]
|
v
[Laboratório I — status do reteste]
|
v
[27.2 Três status]
|
v
[27.3 A mesma custódia]
|
v
[27.4 Aceitação de risco]
|
v
[27.5 Correções parciais]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX079]
Objetivos de aprendizagem
Você vai (1) decidir entre VALIDATED, REOPENED ou NOT RETESTED a partir das observações do reteste; (2) recusar-se a marcar um achado como encerrado com base num "já corrigimos" verbal; (3) registrar a evidência da validação sob as mesmas regras de custódia; (4) devolver as falhas ao controle de riscos.
27.1 A validação é um teste da correção
A validação da correção pergunta se a correção combinada eliminou o problema, sob as mesmas restrições de escopo e de método. Não é um engajamento novo nem um carimbo automático. No ENG-712, o reteste usa a mesma lista de escopo e os mesmos cartões de método do engajamento original. Aproveitar a visita para sondar os hosts excluídos de pagamento de tarifas seria uma falha de segurança, por mais conveniente que parecesse. Os três rótulos de status do laboratório mantêm a linguagem honesta, obrigando os testadores a dizer exatamente o que foi verificado e o que não foi.
Laboratório I — status do reteste
"""Lab I (ch 27): decide remediation-validation status from synthetic retest observations."""
retests = [
("F-01", "shared admin account", True, True),
("F-07", "ex-contractor VPN accounts", True, False),
("F-09", "plaintext password on wiki", False, None),
]
for fid, title, fix_claimed, check_passed in retests:
if not fix_claimed:
status = "NOT RETESTED - no fix declared"
elif check_passed:
status = "VALIDATED"
else:
status = "REOPENED"
print(f"{fid} {status:30} {title}")
Execute com python3 lab_retest.py. Saída verificada:
F-01 VALIDATED shared admin account
F-07 REOPENED ex-contractor VPN accounts
F-09 NOT RETESTED - no fix declared plaintext password on wiki
27.2 Três status
VALIDATED: correção declarada e verificação aprovada. REOPENED: correção declarada, mas a verificação falhou. NOT RETESTED: nenhuma correção declarada, portanto ainda não há verificação. Fechar um chamado sem um dos dois primeiros (ou sem uma aceitação de risco explícita) é um defeito de processo. A saída do laboratório dá um exemplo de cada: F-01 VALIDATED, F-07 REOPENED e F-09 NOT RETESTED. Palavras como "resolvido" ou "quase corrigido" são reescritas como um dos três rótulos antes de o relatório ir para o CISO. Uma aceitação de risco explícita é a única outra forma de um chamado ser fechado, e ela é registrada separadamente.
27.3 A mesma custódia
A evidência do reteste — uma nova exportação de configuração, um novo trecho de log — recebe hash e é arquivada como a original. "Na minha tela parece certo" não é evidência. Para o F-01, a nova evidência é arquivada como E-101, com seu próprio digest, ao lado da evidência original da descoberta, na mesma estrutura do cofre. Um par que abra o achado pode então comparar diretamente os arquivos de antes e depois. Uma concordância num compartilhamento de tela de que a configuração parece certa não deixa nada que possa ser verificado depois.
27.4 Aceitação de risco
Às vezes um responsável aceita um risco residual, com um aprovador nomeado e uma data de revisão. Esse é um caminho legítimo de encerramento; o silêncio, não. Uma aceitação no controle precisa de dois campos para valer: o nome da pessoa que aceita o risco e uma data de revisão. A equipe de Priya transforma cada data de revisão num lembrete de calendário duas semanas antes do vencimento. Uma aceitação com qualquer desses campos vazio é reaberta, porque ninguém pode ser cobrado por uma decisão que não tem dono.
27.5 Correções parciais
Às vezes um responsável corrige duas de três contas e pede para fechar o chamado. A regra de Priya é validar o que foi declarado, reabrir ou dividir o achado para o que resta e nunca deixar uma correção parcial apagar o problema inteiro. O controle deve mostrar o trabalho residual, e não uma caixa verde que o esconde. O exemplo resolvido mostra por quê: o F-07 foi reaberto porque contas de ex-terceirizados ainda conseguiam se autenticar depois de uma correção declarada, então fechá-lo pela palavra do responsável teria escondido um acesso ativo. Um chamado filho separado para qualquer conta restante mantém o identificador do achado pai, para que um examinador possa seguir o histórico.
Exemplo resolvido
Três achados entram no reteste. O F-01 é validado. O F-07 é reaberto porque as contas de ex-terceirizados ainda se autenticam. O F-09 nunca foi declarado corrigido. Priya atualiza o controle: F-01 fechado com a evidência E-101; o F-07 continua com severidade alta e o prazo é reiniciado; o F-09 continua aberto, aguardando uma declaração de correção.
Caso sintético. Os três resultados de reteste são inventados.
Erros e limites
Retestar apenas o caminho feliz e ignorar pontos de entrada alternativos pode validar falsamente. Fique dentro do escopo original, a menos que um novo acordo diga o contrário.
Exercícios
- EX079 — Status do laboratório. Cite os três status que o laboratório imprime.
Mostrar critérios de avaliação
Rubrica: 3 = VALIDATED, REOPENED, NOT RETESTED - no fix declared; 2 = dois; 1 = um; 0 = nada. - EX080 — Encerramento verbal. Um responsável diz que o F-07 está corrigido, mas recusa uma janela de reteste. Qual é o status e o próximo passo?
Mostrar critérios de avaliação
Rubrica: 3 = continua aberto / não validado; escalar; nada de encerrar sem verificação ou aceitação formal; 2 = manter aberto; 1 = encerrar pela palavra; 0 = nada. - EX081 — Campos da aceitação. Nomeie três campos de que um registro de aceitação de risco precisa.
Mostrar critérios de avaliação
Rubrica: 3 = três entre aprovador/motivo/data de revisão/declaração de risco residual/escopo; 2 = dois; 1 = um; 0 = nada.
Síntese
Sem declaração de correção, sem reteste; sem evidência, sem encerramento; a aceitação é explícita ou não aconteceu.
Continue estudando — capítulo 27 de 30
← Capítulo 26 (rascunho) · Índice de capítulos do curso · Capítulo 28 (rascunho) →