Mapa da aula
Aula 06 publicada. Mapa, exemplo, EX026.
flowchart TD
N0["6.1 Por que avaliar sob controle"]
N1["6.2 Detecção: taxas, famílias e intervalos"]
N2["6.3 Carga de alarmes falsos"]
N3["6.4 Simulados e exercícios"]
N4["6.5 Desenho seguro de testes e regras de engajamento"]
N5["6.7 Atividade prática: o que a avaliação mostra"]
N6["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX026"]
Desenho lógico
flowchart LR
N0["6.1 Por que avaliar sob controle"]
N1["6.2 Detecção: taxas, famílias e intervalos"]
N2["6.3 Carga de alarmes falsos"]
N3["6.4 Simulados e exercícios"]
N4["6.5 Desenho seguro de testes e regras de engajamento"]
N5["6.7 Atividade prática: o que a avaliação mostra"]
N6["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX026"]
[6.1 Por que avaliar sob controle]
|
v
[6.2 Detecção: taxas, famílias e intervalos]
|
v
[6.3 Carga de alarmes falsos]
|
v
[6.4 Simulados e exercícios]
|
v
[6.5 Desenho seguro de testes e regras de engajamento]
|
v
[6.7 Atividade prática: o que a avaliação mostra]
|
v
[Síntese do capítulo]
|
v
[Exemplo resolvido] --> [Exercício EX026]
Objetivos de aprendizagem e conexão
Ao final deste capítulo, você deverá ser capaz de:
- Planejar uma avaliação controlada de um controle de segurança — uma regra de detecção, um projeto, um procedimento de recuperação — que responda a uma pergunta declarada com segurança.
- Relatar as taxas de detecção e de sucesso com intervalos, e calcular de quantas tentativas uma alegação precisa.
- Medir a carga de alarmes falsos nas unidades que os operadores vivenciam.
- Avaliar simulados e exercícios com comparações pareadas e reconhecer as ameaças à sua validade.
- Escrever regras de engajamento e condições de segurança para testes perto de uma planta em operação.
O Capítulo 5 escolheu projetos; o Capítulo 2 graduou as evidências de que os controles existem. Este capítulo pergunta se eles funcionam, em que medida e com quanta certeza podemos dizê-lo — antes que um incidente real responda à pergunta por nós. O Capítulo 11 estende o método à avaliação de um projeto inteiro.
6.1 Por que avaliar sob controle
Os controles de segurança em serviços essenciais raramente são exercitados por ataques reais, então sua eficácia costuma ser presumida. A avaliação controlada cria as evidências deliberadamente: injetar eventos conhecidos e ver se são detectados; executar uma recuperação e cronometrá-la; realizar um simulado e observar se a equipe consegue operar manualmente. A palavra controlada importa duas vezes. Cientificamente, significa que o avaliador controla o que é injetado, de modo que detecções e falhas possam ser contadas contra uma verdade conhecida. Operacionalmente, significa que o teste é controlado para que não possa prejudicar o processo: bancadas de teste, simuladores, gêmeos digitais, alvos de restauração isolados e exercícios de mesa carregam a maior parte da carga, e os testes ao vivo só acontecem com a autorização das operações e com condições de segurança.
6.2 Detecção: taxas, famílias e intervalos
Uma avaliação de detecção conta quantos cenários injetados foram detectados. Uma taxa única esconde duas coisas. Primeiro, as famílias: uma regra que pega toda escrita direta pela IHM, mas metade das manipulações por deriva lenta, tem um perfil de risco diferente de uma que pega 85% de tudo. Relate por família de técnicas — para a TO, as famílias do MITRE ATT&CK for ICS são um bom vocabulário (MITRE, ATT&CK for ICS). Segundo, a incerteza: 17 detecções em 20 tentativas são compatíveis com uma ampla faixa de taxas verdadeiras. O intervalo de escore de Wilson (Wilson, 1927) se comporta bem com amostras pequenas e taxas próximas de 0 ou de 1; use-o em vez da aproximação normal simples.
Segue-se uma consequência prática: as alegações precisam de tamanhos de amostra. Para alegar "pelo menos 90% de detecção" com um limite inferior de Wilson de 95%, você precisa de dezenas de tentativas bem-sucedidas, não de um punhado; cada falha eleva ainda mais esse número. Planeje o número de tentativas antes de testar e diga qual alegação o número planejado consegue sustentar.
Duas outras cautelas vêm da pesquisa sobre a avaliação de sistemas de detecção. Os dados de teste precisam se parecer com o ambiente de operação — a taxa de base dos ataques reais, a variedade do comportamento benigno —, ou os resultados não se transferirão (Sommer e Paxson, 2010; Arp et al., 2022). E, para a detecção de anomalias em séries temporais, algumas convenções de pontuação populares inflam o desempenho; a avaliação precisa ser definida com cuidado (Kim et al., 2022).
6.3 Carga de alarmes falsos
Uma detecção só é útil se os operadores conseguirem agir sobre seus alertas. Meça os alarmes falsos reproduzindo tráfego benigno representativo por um período longo o bastante e contando os alertas; depois expresse a taxa por turno ou por operador, com um intervalo; para contagens de eventos raros, o intervalo exato de Poisson é o adequado. Combine-a com a taxa de base dos eventos reais: quando os ataques reais são raros, mesmo uma taxa baixa de alarmes falsos significa que a maioria dos alertas é falsa. Acorde uma carga aceitável com as operações antes do teste — por exemplo, "no máximo uma investigação por turno da noite" —, para que o resultado possa ser aprovado ou reprovado.
6.4 Simulados e exercícios
Simulados de operação manual, exercícios de recuperação e exercícios de mesa testam pessoas e procedimentos. As orientações de planejamento de contingência do NIST tratam testes, treinamento e exercícios como um ciclo, com objetivos documentados e resultados pós-ação (NIST SP 800-34 Rev. 1). Para avaliar se o treinamento melhorou o desempenho, compare as mesmas pessoas antes e depois (um desenho pareado), relate a melhoria média com um intervalo e olhe para as diferenças individuais: uma melhoria média pode esconder um operador que não melhorou nada. As ameaças à validade são sérias nos simulados: os participantes aprendem o cenário (efeito de prática), sabem que estão sendo observados e costumam ser os funcionários mais dispostos. Varie os cenários, inclua turnos da noite e funcionários menos experientes, e não trate um bom simulado como prova de prontidão.
6.5 Desenho seguro de testes e regras de engajamento
Todo teste perto de uma planta em operação precisa de regras de engajamento escritas: escopo (sistemas, horários), sistemas excluídos, técnicas permitidas, condições de parada (qualquer mudança inesperada no processo, qualquer alarme que os operadores não consigam explicar), autoridade nomeada para parar, comunicações, reversão e tratamento das evidências. O responsável pelas operações as assina. Os testes que injetam comandos devem usar bancadas ou simuladores sempre que possível; os testes na planta em operação devem ser somente de leitura ou usar marcadores benignos acordados de antemão. Os princípios éticos do Capítulo 4 se aplicam: o teste não pode transferir risco para os clientes sem a proteção deles.
6.6 Exemplo resolvido: uma nova regra de detecção e um simulado (sintético)
O provedor de detecção gerenciada da Merrow Water propõe uma regra para detectar escritas não autorizadas de setpoint. O especialista desenha uma avaliação na bancada de teste: 20 cenários injetados em três famílias, 336 horas de tráfego benigno de Hollin reproduzido e um simulado de dosagem manual com seis operadores antes e depois de um novo módulo de treinamento. O responsável pelas operações acordou os critérios de aceitação com antecedência: limite inferior de detecção de pelo menos 0,80 no geral, sem nenhuma família com estimativa pontual abaixo de 0,50; no máximo um alarme falso por turno da noite, em média; e uma melhoria no tempo de dosagem manual cujo intervalo exclua o zero.
6.7 Atividade prática: o que a avaliação mostra
# Lab 6 - what a controlled evaluation can and cannot show (offline, standard library only)
# Synthetic: Merrow Water tests a new detection rule for unauthorised setpoint writes on a test rig,
# replays two weeks of benign plant traffic, and times a manual-operation drill before and after training.
import math
def wilson(k, n, z=1.96):
p = k / n; d = 1 + z*z/n
c = (p + z*z/(2*n)) / d; h = z*math.sqrt(p*(1-p)/n + z*z/(4*n*n)) / d
return c - h, c + h
def pois_cdf(k, mu): return sum(math.exp(-mu) * mu**i / math.factorial(i) for i in range(k + 1))
def pois_ci(k, a=0.05): # exact (Garwood) interval by bisection
def solve(f, lo, hi):
for _ in range(200):
mid = (lo + hi) / 2
if f(mid): lo = mid
else: hi = mid
return (lo + hi) / 2
lower = 0.0 if k == 0 else solve(lambda m: 1 - pois_cdf(k - 1, m) < a/2, 0, 10*k + 10)
upper = solve(lambda m: pois_cdf(k, m) > a/2, 0, 10*k + 10)
return lower, upper
# 1. Detection on injected scenarios, split by technique family
RESULTS = {"direct HMI write": (9, 9), "engineering-workstation download": (6, 7), "slow drift via historian tag": (2, 4)}
k = sum(a for a, b in RESULTS.values()); n = sum(b for a, b in RESULTS.values())
lo, hi = wilson(k, n); print(f"overall detected {k}/{n} = {k/n:.2f}, 95% Wilson [{lo:.2f}, {hi:.2f}]")
for fam, (a, b) in RESULTS.items():
lo, hi = wilson(a, b); print(f" {fam:34s} {a}/{b} [{lo:.2f}, {hi:.2f}]")
# 2. How many trials, all detected, before the lower bound clears 0.90?
n = 1
while wilson(n, n)[0] < 0.90: n += 1
print(f"perfect runs needed for Wilson lower bound >= 0.90: {n}")
# 3. False alarms in 336 hours of benign replay
fa, hours = 9, 336
lo, hi = pois_ci(fa); print(f"false alarms {fa} in {hours} h = {fa/hours*24:.2f}/day, 95% CI [{lo/hours*24:.2f}, {hi/hours*24:.2f}]/day")
# 4. Drill: minutes to stable manual dosing, same six operators before and after training (paired)
before = [34, 41, 29, 52, 38, 45]; after = [22, 30, 27, 31, 25, 44]
diffs = [b - a for b, a in zip(before, after)]
md = sum(diffs) / len(diffs); sd = math.sqrt(sum((d - md)**2 for d in diffs) / (len(diffs) - 1))
t = 2.571 # two-sided 95% t quantile, 5 degrees of freedom
print(f"paired improvement mean {md:.1f} min, 95% CI [{md - t*sd/math.sqrt(6):.1f}, {md + t*sd/math.sqrt(6):.1f}]; diffs {diffs}")
Saída esperada:
overall detected 17/20 = 0.85, 95% Wilson [0.64, 0.95]
direct HMI write 9/9 [0.70, 1.00]
engineering-workstation download 6/7 [0.49, 0.97]
slow drift via historian tag 2/4 [0.15, 0.85]
perfect runs needed for Wilson lower bound >= 0.90: 35
false alarms 9 in 336 h = 0.64/day, 95% CI [0.29, 1.22]/day
paired improvement mean 10.0 min, 95% CI [2.1, 17.9]; diffs [12, 11, 2, 21, 13, 1]
Interpretação. A detecção geral é de 17/20 = 0,85, mas o intervalo de Wilson de 95%, [0,64, 0,95], não supera o limite inferior de 0,80 acordado de antemão. Por família, as escritas diretas pela IHM foram todas detectadas, os downloads pela estação de engenharia seis em sete, e a deriva lenta por meio de uma etiqueta do historiador apenas duas em quatro — a estimativa pontual atinge o piso de 0,50, mas seu intervalo vai de 0,15 a 0,85, de modo que a avaliação não consegue dizer se a deriva lenta é detectada de forma confiável. Para alegar 90% de detecção com todas as tentativas bem-sucedidas, seriam necessários 35 sucessos consecutivos. Os alarmes falsos ocorrem a 0,64 por dia (intervalo de 0,29 a 1,22), cerca de 0,21 por turno de oito horas, confortavelmente dentro do critério de carga. O simulado mostra uma melhoria média de 10,0 minutos, com um intervalo de 95% de 2,1 a 17,9 minutos — o intervalo exclui o zero, então o critério é atendido —, mas dois operadores melhoraram apenas um e dois minutos; vale a pena entender a experiência deles antes da implantação.
O resultado honesto é, portanto, misto: adotar a regra para escritas diretas e downloads, monitorando seu desempenho, não confiar nela para a deriva lenta e desenhar novas tentativas para essa família. Essa é uma resposta mais útil do que "85% de detecção".
6.8 Erros comuns e limites
- Relatar uma única taxa de detecção sem famílias nem intervalos.
- Executar poucas tentativas demais para sustentar a alegação e fazer a alegação mesmo assim.
- Testar com os cenários que o autor da regra desenhou, e apenas com eles.
- Medir os alarmes falsos numa reprodução curta ou não representativa.
- Expressar os alarmes falsos por dia para a rede inteira, em vez de por turno ou por operador.
- Tratar um simulado bem-sucedido como prova de prontidão.
- Testar na planta em operação sem regras de engajamento assinadas e sem condições de parada.
O limite da avaliação controlada é a transferência: uma bancada não é uma planta, e cenários injetados não são adversários. Use a avaliação para delimitar as alegações e encontrar fraquezas, continue medindo na operação e repita quando o ambiente mudar.
Exercícios — capítulo 6
EX026 — Intervalos e tamanho de amostra. Objetivo: ligar as alegações ao número de tentativas. Insumos: as funções do Laboratório 6. Restrições: intervalos de Wilson de 95%. Passos: (1) calcular o intervalo para 19/20; (2) encontrar o número de sucessos consecutivos necessários para um limite inferior de 0,80; (3) encontrar as tentativas necessárias para um limite inferior de 0,90 se ocorrer exatamente uma falha; (4) explicar a um gestor por que "testamos 20 vezes" não basta para uma alegação de 90%. Evidência esperada: números e parágrafo. Rubrica: 3 = 19/20 → [0,76, 0,99], 16 sucessos, 53 tentativas com uma falha, explicação em linguagem simples; 2 = um número errado; 1 = aproximação normal usada sem comentário; 0 = nada.
EX027 — Plano de teste para a deriva lenta. Objetivo: desenhar tentativas para a família mais fraca. Insumos: o resultado da deriva lenta. Restrições: apenas na bancada; os cenários precisam variar a taxa, a duração e a etiqueta-alvo; incluir cenários não escritos pelo autor da regra. Passos: (1) definir a alegação a testar; (2) escolher o número de tentativas; (3) listar as variações de cenário; (4) definir aprovação/reprovação e o que você fará se reprovar. Evidência esperada: plano. Rubrica: 3 = alegação explícita e número de tentativas justificado por um cálculo de intervalo, autoria independente dos cenários, variações realistas, decisão acordada de antemão; 2 = número não justificado; 1 = reutiliza os quatro cenários; 0 = nada.
EX028 — Carga de alarmes. Objetivo: expressar os alarmes falsos nas unidades dos operadores e combiná-los com as taxas de base. Insumos: 0,64 alarme falso por dia; suponha que escritas reais não autorizadas ocorram cerca de uma vez a cada dois anos; detecção de 0,85. Restrições: três turnos de oito horas por dia. Passos: (1) alarmes falsos por turno e por ano; (2) alertas verdadeiros esperados por ano; (3) parcela dos alertas que são verdadeiros; (4) o que isso significa para o procedimento de resposta. Evidência esperada: cálculo e parágrafo. Rubrica: 3 = cerca de 0,21 por turno e 234 por ano, cerca de 0,43 alerta verdadeiro por ano, cerca de 0,2% dos alertas verdadeiros, um procedimento que torne cada investigação rápida e barata; 2 = aritmética certa, implicação ausente; 1 = confunde as taxas; 0 = nada.
EX029 — Validade do simulado. Objetivo: criticar a avaliação de um simulado. Insumos: o resultado pareado dos seis operadores. Restrições: nomear pelo menos quatro ameaças à validade. Passos: listar as ameaças, a direção em que cada uma enviesaria o resultado e uma mudança de desenho para cada uma. Evidência esperada: tabela. Rubrica: 3 = efeito de prática, efeito de observação, seleção de funcionários dispostos, mesmo cenário, amostra pequena, dia versus noite; direções declaradas; mudanças concretas; 2 = ameaças sem direções; 1 = genérico; 0 = nada.
EX030 — Regras de engajamento. Objetivo: escrever condições de teste seguras. Insumos: uma proposta de verificar, na planta em operação de Fenley, que a nova regra alerta sobre uma escrita de setpoint inofensiva e acordada de antemão (de 1,80 para 1,81 mg/L). Restrições: as operações têm a autoridade; os clientes não podem ser afetados. Passos: escrever o escopo, o horário, os papéis, as condições de parada, as comunicações, a reversão e o tratamento das evidências. Evidência esperada: regras de engajamento de uma página. Rubrica: 3 = aprovação das operações, horário de baixa demanda, condições de parada e autoridade explícitas, verificação independente da dose, reversão, equipe de tratamento de alertas avisada de antemão sem avisar os analistas de detecção se a detecção às cegas fizer parte do teste, evidências registradas; 2 = falta um elemento; 1 = sem condições de parada; 0 = nada.
Síntese do capítulo
A avaliação controlada transforma controles presumidos em controles medidos. Injete eventos conhecidos em bancadas e simuladores, relate a detecção por família com intervalos de Wilson e planeje o número de tentativas para as alegações que você quer fazer. Meça os alarmes falsos em períodos representativos e expresse-os nas unidades dos operadores, ao lado das taxas de base. Avalie os simulados com comparações pareadas, olhe para os indivíduos e desenhe contra os efeitos de prática e de seleção. Teste perto da planta em operação apenas sob regras de engajamento escritas e assinadas. O resultado honesto de uma avaliação muitas vezes é misto; diga exatamente para quais usos um controle serve.