OpenCyber Academy
Graduação · Capítulo 12 · Português
Código do curso: OCA-115Capítulo 12: OCA-115-C012

Capítulo 12 — 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.

Mapa da aula

Aula 12 publicada. Mapa, exemplo, EX024.

flowchart TD
  N0["12.1 Regras que você vai usar o tempo todo"]
  N1["12.2 Probabilidade condicional e Bayes"]
  N2["12.3 Raciocínio binomial para a redundância"]
  N3["12.4 Descrever os dados"]
  N4["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX024"]

Desenho lógico

flowchart LR
  N0["12.1 Regras que você vai usar o tempo todo"]
  N1["12.2 Probabilidade condicional e Bayes"]
  N2["12.3 Raciocínio binomial para a redundância"]
  N3["12.4 Descrever os dados"]
  N4["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX024"]
[12.1 Regras que você vai usar o tempo todo]
    |
    v
[12.2 Probabilidade condicional e Bayes]
    |
    v
[12.3 Raciocínio binomial para a redundância]
    |
    v
[12.4 Descrever os dados]
    |
    v
[Síntese do capítulo]
    |
    v
[Exemplo resolvido] --> [Exercício EX024]

Objetivos de aprendizagem e conexão

Depois deste capítulo, você consegue (1) aplicar as regras da adição, do complemento e da multiplicação e dizer quando os eventos são independentes; (2) usar o teorema de Bayes para interpretar um alerta, incluindo o efeito da taxa de base; (3) calcular a chance de pelo menos uma falha em tentativas repetidas e a chance de que um número suficiente de $n$ unidades redundantes esteja disponível; e (4) resumir dados assimétricos com medianas e percentis. O capítulo se apoia no Capítulo 1 e prepara os Capítulos 15, 27 e 29.

12.1 Regras que você vai usar o tempo todo

As probabilidades são números entre 0 e 1. A regra do complemento: $P(\text{not } A) = 1 - P(A)$. Para eventos independentes, $P(A \text{ and } B) = P(A)P(B)$. Para quaisquer eventos, $P(A \text{ or } B) = P(A) + P(B) - P(A \text{ and } B)$ — somar sem subtrair a sobreposição conta duas vezes. Os problemas de "pelo menos um" são mais fáceis pelo complemento: se um backup falha em silêncio num dado dia com probabilidade $p$, de forma independente a cada dia, a chance de pelo menos uma falha silenciosa em $n$ dias é $1 - (1-p)^n$. A independência é uma premissa, muitas vezes falsa: dois geradores alimentados pelo mesmo tanque de combustível falham juntos. Essas falhas de causa comum são o motivo de a redundância ser mais fraca do que a regra da multiplicação sugere.

12.2 Probabilidade condicional e Bayes

$P(A \mid B)$ é a probabilidade de $A$ dado que $B$ ocorreu. O teorema de Bayes relaciona as duas direções: $$P(\text{malicious} \mid \text{alert}) = \frac{P(\text{alert} \mid \text{malicious})\,P(\text{malicious})}{P(\text{alert})}.$$ Um detector com taxa de verdadeiros positivos de 95% e taxa de falsos positivos de 1% parece excelente. Se só 1 evento em 1.000 é malicioso, a maioria dos alertas continua falsa: a taxa de base domina. Esta é a ideia estatística mais importante nas operações de segurança, e ela explica por que os analistas se afogam em alertas.

12.3 Raciocínio binomial para a redundância

Se $n$ unidades idênticas estão, cada uma, disponíveis com probabilidade $1-p$, de forma independente, o número de unidades disponíveis segue uma distribuição binomial: $P(k \text{ available}) = \binom{n}{k}(1-p)^k p^{n-k}$. Uma estação de bombeamento que precisa de pelo menos 10 das suas 12 bombas consegue calcular com que frequência atende à demanda.

Para a estação de 12 bombas do Laboratório 6, com cada bomba indisponível 10 % do tempo, a soma sobre 10, 11 e 12 bombas disponíveis dá 0,889. Uma equipe de manutenção compartilhada ou uma única alimentação elétrica quebra a premissa de independência, então o número real é menor. Acrescentar uma décima terceira bomba eleva o resultado para cerca de 0,966, que é o tipo de comparação de que um pedido de investimento precisa.

12.4 Descrever os dados

Os tempos para detectar incidentes e se recuperar deles são assimétricos: a maioria é curta, alguns são muito longos. A média é puxada para cima pela cauda longa; a mediana (o valor do meio) não é; os percentis (o 90º percentil, p90) descrevem a cauda. Reporte a mediana e o p90 juntos, com o tamanho da amostra (Capítulo 29, Laboratório 12).

O Laboratório 12 mostra o efeito: o seu tempo médio para detectar é de 27,2 horas, enquanto a mediana é de 4,0.

Para um conselho, a frase "metade dos incidentes foi detectada em até 4 horas; um em cada dez levou mais de cerca de 56" carrega mais informação do que qualquer média isolada.

12.5 Exemplo resolvido e Laboratório 6 (sintético)

Este caso é sintético. O serviço de monitoramento da Calder Mutual vê 20.000 eventos por dia; os analistas estimam que 1 em 1.000 é malicioso; as taxas do detector são as citadas acima. O backup noturno da telemetria da CW falha em silêncio com probabilidade de 0,002 por dia. Uma estação de bombeamento tem 12 bombas, cada uma indisponível 10% do tempo.

# Lab 6 - base rates, alarm volume and repeated trials (synthetic, offline)
from math import comb
prior, tpr, fpr = 0.001, 0.95, 0.01
ppv = tpr * prior / (tpr * prior + fpr * (1 - prior))
print(f"P(malicious | alert) = {ppv:.3f}")
events_per_day = 20_000
print(f"expected false alerts/day = {events_per_day * (1 - prior) * fpr:.0f}; true = {events_per_day * prior * tpr:.0f}")
p_day = 0.002   # chance per day that a given backup fails silently
for days in (30, 365):
    print(f"P(at least one silent backup failure in {days} days) = {1 - (1 - p_day) ** days:.3f}")
n, p = 12, 0.1  # 12 independent pumps, each unavailable 10% of the time
need = 10
print(f"P(at least {need} of {n} available) = {sum(comb(n, k) * (1-p)**k * p**(n-k) for k in range(need, n+1)):.3f}")

Saída esperada:

P(malicious | alert) = 0.087
expected false alerts/day = 200; true = 19
P(at least one silent backup failure in 30 days) = 0.058
P(at least one silent backup failure in 365 days) = 0.518
P(at least 10 of 12 available) = 0.889

Menos de 1 alerta em 11 é real; os analistas enfrentam cerca de 200 alertas falsos por dia. Uma falha diária "rara" de backup é mais provável do que improvável ao longo de um ano — e é por isso que os exercícios de restauração, e não os logs de backup, são a evidência que importa. E uma estação que precisa de 10 de 12 bombas fica aquém cerca de 11% do tempo sob essas premissas: se as indisponibilidades das bombas compartilham uma causa (uma equipe de manutenção, uma alimentação elétrica), será pior.

12.6 Erros comuns e limites

O Laboratório 6 dá um número a cada um: 95 % de detecção ainda resulta numa chance de 0,087 de que um alerta seja real; dois geradores que compartilham combustível falham juntos com muito mais frequência do que 0,05 ao quadrado (EX024); a média de 27,2 horas para detectar do Laboratório 12 não descreve incidente algum; e a taxa de falha diária de backup de 0,002 é ela própria uma estimativa, então o número anual de 0,518 herda a sua incerteza.

Exercícios — capítulo 12

EX023 — Mude a taxa de base. Objetivo: ver como a probabilidade a priori e a taxa de falsos positivos determinam o valor de um alerta. Entradas: Laboratório 6. Etapas: calcule $P(\text{malicious}\mid\text{alert})$ para uma priori de 0,01 e, separadamente, para uma priori de 0,001 com FPR de 0,001. Explique qual mudança ajuda mais e o que ela significa operacionalmente. Evidência esperada: dois valores e uma explicação. Rubrica: 3 = ≈ 0,490 e ≈ 0,487, com a explicação de que baixar a FPR (ajuste, enriquecimento) é a alavanca que os analistas controlam; 2 = só os valores; 1 = um valor; 0 = nada.

EX024 — Causa comum. Objetivo: quantificar o efeito das causas compartilhadas. Entradas: dois geradores de reserva, cada um falhando em partir com probabilidade de 0,05; com probabilidade de 0,02, uma causa compartilhada (combustível comum contaminado) faz os dois falharem. Etapas: calcule a probabilidade de os dois falharem supondo independência e depois com a causa comum (aproxime como $0.02 + 0.05^2$), e comente. Evidência esperada: dois números e um comentário. Rubrica: 3 = 0,0025 versus ≈ 0,0225, cerca de nove vezes pior, e uma solução (combustível separado, teste do combustível); 2 = só os números; 1 = um número; 0 = nada.

Síntese do capítulo

As regras da probabilidade são simples; as suas premissas, não. As taxas de base decidem se vale a pena ler um alerta, "raro por dia" vira "provável por ano", a redundância é enfraquecida por causas comuns e os dados assimétricos precisam de medianas e percentis. Declare as premissas de independência e teste o que acontece quando elas falham.

Respostas comentadas

EX023. Prior 0,01: $0.95 \times 0.01/(0.95\times0.01 + 0.01\times0.99) \approx 0.490$. Prior 0,001, FPR 0,001: $0.95\times0.001/(0.95\times0.001 + 0.001\times0.999) \approx 0.487$. Uma taxa de falsos positivos dez vezes menor ajuda tanto quanto uma taxa de base dez vezes maior. Os analistas não podem mudar a taxa de base, mas podem baixar a FPR com ajuste fino, enriquecimento de contexto e allowlisting — a alavanca prática.

EX024. Independentes: $0.05^2 = 0.0025$. Com causa comum: ≈ $0.02 + 0.0025 = 0.0225$, cerca de nove vezes pior. Remédio: fontes de combustível separadas ou teste e polimento do combustível, modelos de gerador ou sistemas de partida diferentes, e testes periódicos com carga.