◇ OpenCyber Academy
Engenharia · Capítulo 7 · Português

Capítulo 7 — Probabilidade e estatística

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

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

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.