Capítulo 7 — Probabilidade e estatística
Mapa da aula
Aula 07 publicada. Mapa, exemplo, EX019.
flowchart TD
N0["7.1 Taxas e intervalos"]
N1["7.2 Comparando detectores"]
N2["7.3 Taxas de base na sala de controle"]
N3["Nota prática"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX019"]
Desenho lógico
flowchart LR
N0["7.1 Taxas e intervalos"]
N1["7.2 Comparando detectores"]
N2["7.3 Taxas de base na sala de controle"]
N3["Nota prática"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX019"]
[7.1 Taxas e intervalos]
|
v
[7.2 Comparando detectores]
|
v
[7.3 Taxas de base na sala de controle]
|
v
[Nota prática]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX019]
Objetivos de aprendizagem
Você vai (1) relatar taxas de detecção com intervalos; (2) comparar detectores sem alegar demais; (3) recusar classificações que a amostra não sustenta.
7.1 Taxas e intervalos
Sessenta ensaios sintéticos com 0 alarmes falsos e 60/60 detecções parecem perfeitos — até você lembrar que um intervalo de Wilson de 95% para 0/60 ainda admite, no longo prazo, uma taxa de alarmes falsos de alguns por cento. Relate o intervalo, não só o ponto. Para 60/60 detecções, o intervalo da taxa de perdas também é estreito, mas não é zero para sempre.
Os relatórios de Lena para o CNHP dão a contagem, o intervalo e a lista de sementes juntos, para que o leitor veja tanto o resultado quanto o quanto ele poderia mudar com mais ensaios.
7.2 Comparando detectores
O laboratório do CUSUM de resíduo mostra um detector de faixa deixando passar os ataques da classe A enquanto o CUSUM os capta com atraso médio de ~25 amostras, ambos com 0/60 alarmes falsos neste conjunto de sementes. Isso é evidência de que o CUSUM supera a faixa nesses ataques sintéticos, não de que o CUSUM é universalmente melhor. Prefira desenhos pareados sobre os mesmos traços e declare a classe de ataque.
# Lab 27 - residual CUSUM vs band on batch reactor level (synthetic)
import random
def run(seed, atk, det, k=0.8, h=6.0):
rng=random.Random(seed); true=est=50.0; s=0.0; alarm=None
for t in range(500):
inflow=1.0+rng.gauss(0,0.05)+(0.08 if atk and t>=250 else 0)
true+=inflow-0.02*true
lvl=true+rng.gauss(0,0.3); fm=inflow+rng.gauss(0,0.02)
if atk and t>=250: lvl=50+rng.gauss(0,0.3)
if atk=="B" and t>=250: fm=1.0+rng.gauss(0,0.02)
est+=fm-0.02*est
hit=abs(lvl-50)>2.0 if det=="band" else False
if det=="cusum":
s=max(0.0,s+abs(lvl-est)-k); hit=s>h
if hit and alarm is None: alarm=t
return alarm
for det in ("band","cusum"):
fa=sum(run(i,None,det) is not None for i in range(60))
for atk in ("A","B"):
hits=[a-250 for a in (run(i,atk,det) for i in range(60)) if a is not None and a>=250]
print(f"{det} class{atk} FA={fa}/60 det={len(hits)}/60 mean_delay={sum(hits)/len(hits) if hits else float('nan'):.1f}")
Saída esperada:
band classA FA=0/60 det=0/60 mean_delay=nan
band classB FA=0/60 det=0/60 mean_delay=nan
cusum classA FA=0/60 det=60/60 mean_delay=24.8
cusum classB FA=0/60 det=0/60 mean_delay=nan
O plano piloto de Lena mantém os mesmos traços para os dois detectores e nomeia a classe de ataque testada, para que a comparação possa ser repetida depois com novas sementes.
7.3 Taxas de base na sala de controle
Se os ataques ciberfísicos genuínos são raros, um detector com uma taxa de alarmes falsos de apenas 1% vai dominar a atenção do operador. A regra de Bayes se aplica exatamente como no Capítulo 7 dos cursos de segurança vizinhos: a precisão desaba quando a taxa de base é minúscula. Projete para a taxa de base da planta, não para o conjunto balanceado de um laboratório.
Caso sintético — Ashford Batch Plant. Um fornecedor alegou "99% de detecção, 0% de alarmes falsos" a partir de uma demonstração de 20 execuções. Lena pediu a classe de ataque, a lista de sementes e o intervalo de alarmes falsos; nada disso foi fornecido. O piloto usou, em vez disso, o desenho do laboratório do CUSUM.
7.4 Erros e limites
Ataques sintéticos não são o adversário. Os intervalos pressupõem ensaios independentes; sementes correlacionadas os invalidam.
Os relatórios do piloto de Lena declaram que os ataques eram sintéticos, listam as sementes e explicam como elas foram geradas. Se duas sementes produzem traços quase idênticos, ela as conta como um único ensaio, porque tratá-las como independentes faria o intervalo parecer mais estreito do que as evidências sustentam. Todo teste estatístico que ela relata é um teste que ela de fato executou, com as entradas guardadas para que um revisor possa executá-lo de novo.
Nota prática
Publique a lista de sementes e os parâmetros do detector com toda alegação de detecção nos documentos do CNHP. A reprodutibilidade custa menos do que discutir um slide seis meses depois, e é o que Urbina et al. e Giraldo et al. exigem das avaliações.
Exercícios
- EX019 — Intervalo. Declare o que 0/60 alarmes falsos permite alegar a ~95%. Rubrica: 3 = limite superior de ~5–6% (regra de três / Wilson), não "zero para sempre"; 2 = só o limite; 1 = "zero"; 0 = nada.
- EX020 — Laboratório. Para o CUSUM na classe A, relate as detecções e o atraso médio. Rubrica: 3 = 60/60 e ~24,8; 2 = um número; 1 = vago; 0 = errado.
- EX021 — Recusa de classificação. A faixa e o CUSUM mostram ambos FA=0/60 na classe B (nenhuma detecção). Escreva a frase que se recusa a chamá-los de iguais em qualidade. Rubrica: 3 = cita a falta de poder / a necessidade da classe A ou de um n maior; 2 = cautela vaga; 1 = declara iguais; 0 = nada.
Síntese
As alegações de detecção precisam de intervalos, da classe de ataque e de honestidade quanto à taxa de base — não de uma única porcentagem.
Continue estudando — capítulo 07 de 50
← Capítulo 06 · Índice de capítulos do curso · Capítulo 08 →
Siga para a próxima lição escrita.