Mapa da aula
Aula 47 publicada. Mapa, exemplo, EX093.
flowchart TD
N0["47.1 Por que ensaiar a recuperação"]
N1["47.2 Projetando o ensaio"]
N2["47.3 Caminho crítico"]
N3["47.5 Atividade prática: Laboratório 17"]
N4["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX093"]
Desenho lógico
flowchart LR
N0["47.1 Por que ensaiar a recuperação"]
N1["47.2 Projetando o ensaio"]
N2["47.3 Caminho crítico"]
N3["47.5 Atividade prática: Laboratório 17"]
N4["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX093"]
[47.1 Por que ensaiar a recuperação]
|
v
[47.2 Projetando o ensaio]
|
v
[47.3 Caminho crítico]
|
v
[47.5 Atividade prática: Laboratório 17]
|
v
[Síntese do capítulo]
|
v
[Exemplo resolvido] --> [Exercício EX093]
Objetivos de aprendizagem e conexão
Ao fim deste capítulo você será capaz de (1) projetar um ensaio controlado de falha e recuperação, com fronteiras de segurança; (2) calcular caminhos críticos e comparar os tempos de recuperação planejados e medidos; (3) observar e registrar o desempenho humano e técnico durante o ensaio; e (4) transformar os resultados do ensaio em situação dos requisitos e mudanças de projeto. Ele valida os requisitos de recuperação (R6) e prepara o dossiê de evidências (Capítulo 48).
47.1 Por que ensaiar a recuperação
Uma capacidade de recuperação que não foi exercitada é uma esperança. Backups que não foram restaurados podem estar incompletos; procedimentos que não foram seguidos podem estar errados; tempos que não foram medidos são palpites. A NIST SP 800-34 Rev. 1 trata do planejamento de contingência, incluindo testes, treinamento e exercícios. O próprio ensaio do TMRP mostrou por quê: a meta de restauração de oito horas de R6 parecia razoável até que o caminho crítico fosse medido. Medi-lo era o objetivo.
47.2 Projetando o ensaio
Defina o cenário (p. ex., servidores SCADA declarados comprometidos às 02:00), os objetivos (restaurar a operação remota a partir dos backups off-line; manter o abastecimento em modo local o tempo todo), as fronteiras de segurança (ensaio no ambiente de teste ou numa janela planejada com a operação local guarnecida; critérios de interrupção), os observadores e as medições (horário de cada tarefa, desvios do procedimento, decisões). O ensaio do TMRP usou o cenário de servidores SCADA declarados comprometidos, com o abastecimento mantido em modo local o tempo todo. Os observadores registraram o tempo de cada tarefa e todo desvio do procedimento.
47.3 Caminho crítico
As tarefas de recuperação têm durações e dependências. O caminho crítico é a cadeia mais longa de tarefas dependentes; ele define o tempo mínimo de recuperação. As tarefas fora do caminho crítico têm folga. Encurtar a recuperação significa encurtar as tarefas do caminho crítico ou quebrar dependências — e não acelerar tarefas que têm folga. No ensaio do TMRP, a troca de chaves das RTUs tinha seis horas de folga. Acelerá-la não teria mudado nada. Apenas a geração de imagens, a reconstrução e a restauração da configuração definiram o resultado de doze horas, e é por isso que toda opção para atender a R6 visa uma dessas três tarefas, como imagens de reserva pré-construídas ou a geração de imagens em hardware de reserva.
47.4 Exemplo resolvido: ensaio de recuperação do TMRP (sintético)
O plano do ensaio (Laboratório 17): isolar (1 h); estabelecer a operação manual (1 h); geração de imagens forenses dos servidores SCADA (3 h); reconstruir o SCADA a partir de mídia off-line (4 h); restaurar a configuração (2 h); trocar as chaves das RTUs (3 h, em paralelo); verificar os setpoints (1 h); retomar o controle remoto (1 h). O caminho crítico passa pela geração de imagens forenses, pela reconstrução e pela restauração da configuração: o controle remoto volta em 12 h, contra as 8 h de R6. A troca de chaves tem 6 h de folga — acelerá-la não leva a nada. Opções para atender às 8 h: imagens de SCADA de reserva pré-construídas (reconstrução de 4 h → 1 h); geração de imagens em paralelo com a reconstrução, em hardware de reserva (remove 3 h do caminho); ou acordo com as partes interessadas para que R6 seja de 12 h, porque o abastecimento é mantido em modo local o tempo todo. O ensaio também mediu que a operação manual foi estabelecida em 50 minutos, atendendo ao requisito de 1 h.
47.5 Atividade prática: Laboratório 17
# Lab 17 - recovery critical path versus the restoration target (synthetic TMRP trial plan, offline)
T = { # task: (hours, prerequisites)
"isolate": (1, []), "manual_ops": (1, ["isolate"]), "forensic_image": (3, ["isolate"]),
"rebuild_scada": (4, ["forensic_image"]), "restore_config": (2, ["rebuild_scada"]),
"rekey_rtus": (3, ["isolate"]), "verify_setpoints": (1, ["restore_config", "rekey_rtus"]),
"resume_remote": (1, ["verify_setpoints"])}
ef, prev = {}, {}
def finish(t):
if t not in ef:
d, ps = T[t]; start = max((finish(p) for p in ps), default=0)
prev[t] = max(ps, key=finish) if ps else None; ef[t] = start + d
return ef[t]
end = finish("resume_remote"); path, n = [], "resume_remote"
while n: path.append(n); n = prev[n]
print("restore remote control at", end, "h; critical path:", " -> ".join(reversed(path)))
print("slack of rekey_rtus:", finish("restore_config") - finish("rekey_rtus"), "h; target 8 h met:", end <= 8)
Saída esperada:
restore remote control at 12 h; critical path: isolate -> forensic_image -> rebuild_scada -> restore_config -> verify_setpoints -> resume_remote
slack of rekey_rtus: 6 h; target 8 h met: False
A saída confirma o exemplo resolvido: o controle remoto volta depois de doze horas porque a geração de imagens, a reconstrução e a restauração da configuração correm em série, e a troca de chaves termina seis horas antes de ser necessária. Mude o plano como pede o EX093 e observe o caminho crítico passar para outra cadeia. O laboratório não inclui a operação manual no caminho até o controle remoto, porque ela corre em paralelo; o ensaio a mediu separadamente, em cinquenta minutos, contra o requisito de uma hora. Guarde as duas saídas.
47.6 Erros comuns e limites
- Recuperação testada apenas no papel.
- Ensaios sem critérios de interrupção nem pessoal de segurança.
- Melhorar tarefas que têm folga.
- Resultados de ensaio relatados como aprovações quando o requisito não foi atendido.
- Preservação forense pulada para ganhar tempo, sem uma decisão.
O ensaio do TMRP evitou o quarto erro relatando R6 como não atendido em doze horas, e manteve a geração de imagens forenses em vez de pulá-la sem uma decisão. Os critérios de interrupção e o pessoal local foram definidos antes do início do ensaio, e as opções para atender a R6 visam apenas tarefas do caminho crítico.
Exercícios — capítulo 47
EX093 — Encurte o caminho. Objetivo: usar o caminho crítico. Entradas: Laboratório 17. Passos: (1) faça rebuild_scada depender apenas de isolate (hardware de reserva, geração de imagens em paralelo) e recalcule; (2) além disso, reduza rebuild_scada a 1 h (imagem de reserva) e recalcule; relate o novo caminho crítico a cada vez. Evidência esperada: saídas. Rubrica: 3 = resultados corretos (execute o código) e a observação de que o caminho crítico passa para outra cadeia; 2 = números certos, caminho não discutido; 1 = não executado; 0 = nada.
EX094 — Forense versus velocidade. Objetivo: fazer uma escolha documentada. Entradas: pular a geração de imagens forenses encurta a recuperação. Passos: escreva uma nota de decisão para a diretora de operações: opções, consequências para a investigação, aspectos legais/regulatórios e a prevenção futura, recomendação. Evidência esperada: uma página. Rubrica: 3 = geração de imagens em paralelo em hardware de reserva como preferida, riscos de perder evidências explicados, dono da decisão; 2 = recomenda pular sem consequências; 1 = vago; 0 = nada.
Síntese do capítulo
A recuperação precisa ser ensaiada para merecer confiança. Projete ensaios com fronteiras de segurança e medições, encontre o caminho crítico, melhore apenas o que está nele e relate a situação do requisito que o ensaio de fato mostra — depois mude o projeto ou o requisito com as partes interessadas.