<a id="ch-06"></a>

## Capítulo 6 — Infraestrutura crítica e segurança setorial: avaliação controlada

<!-- open-cyber-academy:lesson-figures:start ch-06 -->
### Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX026.

```mermaid
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

```mermaid
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"]
```

```text
[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]
```
<!-- open-cyber-academy:lesson-figures:end ch-06 -->


### Objetivos de aprendizagem e conexão

Ao final deste capítulo, você deverá ser capaz de:

1. 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.
2. Relatar as taxas de detecção e de sucesso com intervalos, e calcular de quantas tentativas uma alegação precisa.
3. Medir a carga de alarmes falsos nas unidades que os operadores vivenciam.
4. Avaliar simulados e exercícios com comparações pareadas e reconhecer as ameaças à sua validade.
5. 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](https://attack.mitre.org/matrices/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](https://doi.org/10.1080/01621459.1927.10502953)) 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](https://doi.org/10.1109/SP.2010.25); [Arp et al., 2022](https://www.usenix.org/conference/usenixsecurity22/presentation/arp)). 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](https://ojs.aaai.org/index.php/AAAI/article/view/20680)).

### 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](https://csrc.nist.gov/pubs/sp/800/34/r1/upd1/final)). 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

```python
# 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:

```text
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.

<!-- open-cyber-academy:chapter-navigation:start ch-06 -->
### Continue estudando — capítulo 06 de 12

[← Capítulo 05](#ch-05) · [Índice de capítulos do curso](../SUBJECTS.md) · [Capítulo 07 →](#ch-07)

Siga para a próxima lição escrita.
<!-- open-cyber-academy:chapter-navigation:end -->

## Worked answers

<a id="answer-ex026"></a>
**EX026 — Intervalos e tamanho de amostra.** 19/20 → Wilson [0,76, 0,99]. Sucessos consecutivos para um limite inferior ≥ 0,80: 16. Com uma falha, tentativas para um limite inferior ≥ 0,90: 53. Explicação em linguagem simples: amostras pequenas deixam espaço para que a taxa verdadeira seja muito menor do que a observada; os gestores ouvem "85%" e não percebem isso.

<a id="answer-ex027"></a>
**EX027 — Plano de teste para a deriva lenta.** Alegação: "a manipulação de setpoint por deriva lenta é detectada com limite inferior de Wilson ≥ 0,70". Número de tentativas justificado por um cálculo de intervalo (por exemplo, pelo menos 20 tentativas se forem esperadas poucas falhas). Os cenários variam a taxa, a duração e a etiqueta-alvo e partem tanto do caminho da IHM quanto do historiador; são escritos por alguém que não o autor da regra. Aprovação/reprovação e a decisão em caso de reprovação (não confiar na regra para essa família) acordadas de antemão.

<a id="answer-ex028"></a>
**EX028 — Carga de alarmes.** Cerca de 0,21 alarme falso por turno; cerca de 234 por ano. Alertas verdadeiros esperados: cerca de 0,43 por ano. Parcela dos alertas que são verdadeiros: cerca de 0,2%. A resposta precisa ser rápida e barata — uma lista de verificação curta, e não uma investigação completa a cada vez —, ou a regra será ignorada.

<a id="answer-ex029"></a>
**EX029 — Validade do simulado.** Efeito de prática (infla a melhoria); efeito de observação (infla); seleção de funcionários dispostos (infla); mesmo cenário (infla); amostra pequena (incerteza ampla); simulados só de dia (não captam o desempenho do turno da noite). Mudanças de desenho: variar os cenários, incluir turnos da noite e funcionários menos experientes, amostras maiores, simulados sem aviso prévio onde for seguro.

<a id="answer-ex030"></a>
**EX030 — Regras de engajamento.** Escopo: dosagem de Fenley, uma escrita de 1,80→1,81 mg/L; horário: baixa demanda; papéis: o responsável pelas operações pode parar; condições de parada: qualquer mudança inesperada no processo ou alarme inexplicado; verificação independente da dose; analistas de detecção às cegas se a detecção às cegas for o objetivo; equipe de tratamento de alertas avisada de antemão; plano de reversão; evidências registradas. Assinadas pelas operações.
