◇ OpenCyber Academy
Mestrado · Capítulo 6 · Português

Capítulo 6 — Coleta e análise de dados

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 6 — Coleta e análise de dados

Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX033.

flowchart TD
  N0["6.1 O conjunto de dados montado"]
  N1["6.2 Taxas e a razão de taxas"]
  N2["Laboratório — Razão de taxas com bootstrap"]
  N3["6.3 Ler o intervalo"]
  N4["6.4 Estratificar pela propriedade"]
  N5["6.5 A descrição da colisão com mudanças"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX033"]

Desenho lógico

flowchart LR
  N0["6.1 O conjunto de dados montado"]
  N1["6.2 Taxas e a razão de taxas"]
  N2["Laboratório — Razão de taxas com bootstrap"]
  N3["6.3 Ler o intervalo"]
  N4["6.4 Estratificar pela propriedade"]
  N5["6.5 A descrição da colisão com mudanças"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX033"]
[6.1 O conjunto de dados montado]
    |
    v
[6.2 Taxas e a razão de taxas]
    |
    v
[Laboratório — Razão de taxas com bootstrap]
    |
    v
[6.3 Ler o intervalo]
    |
    v
[6.4 Estratificar pela propriedade]
    |
    v
[6.5 A descrição da colisão com mudanças]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX033]

Objetivos de aprendizagem

Você vai (1) calcular taxas de incidentes por certificado-ano; (2) expressar a incerteza de uma razão de taxas com bootstrap; (3) comparar as estimativas gerais e estratificadas.

6.1 O conjunto de dados montado

A extração completa cobre dois anos. Os certificados manuais contribuem com 540 certificados-ano e 23 incidentes de expiração ligados; os certificados ACME, com 900 certificados-ano e 7 incidentes. Restam quarenta e uma linhas com modo de renovação desconhecido e dois incidentes; Felipe as relata à parte e roda uma conferência que mostra que atribuí-las todas a qualquer um dos grupos não muda nenhuma conclusão. Cada número remonta a uma consulta e a uma entrada do log de codificação. Antes de rodar qualquer comparação, ele relê a proposta para confirmar que a análise corresponde ao que registrou, incluindo a semente e o número de reamostragens.

6.2 Taxas e a razão de taxas

Uma taxa divide os eventos pela exposição. A renovação manual apresenta 4,26 incidentes por 100 certificados-ano, e a ACME, 0,78, o que dá uma razão de taxas de 5,48: os certificados manuais falharam cerca de cinco vezes e meia mais por unidade de exposição. Uma razão sozinha esconde a incerteza, e sete incidentes ACME é um número pequeno. O bootstrap estima a incerteza reamostrando os certificados-ano com reposição milhares de vezes e recalculando a razão, e depois lendo os 95 por cento centrais dos valores resultantes. Ele faz poucas suposições, o que se adapta a dados de eventos esparsos.

Laboratório — Razão de taxas com bootstrap

"""Expiry incidents per 100 certificate-years with a bootstrap interval for the rate ratio (synthetic)."""
import random
MANUAL = [1] * 23 + [0] * 517   # 540 manual certificate-years, 23 incidents
ACME = [1] * 7 + [0] * 893      # 900 ACME certificate-years, 7 incidents

def rate(x): return 100 * sum(x) / len(x)

def main():
    rr = rate(MANUAL) / rate(ACME)
    rng = random.Random(7); boots = []
    for _ in range(5000):
        m = [rng.choice(MANUAL) for _ in MANUAL]; a = [rng.choice(ACME) for _ in ACME]
        if sum(a): boots.append(rate(m) / rate(a))
    boots.sort()
    lo, hi = boots[int(0.025 * len(boots))], boots[int(0.975 * len(boots))]
    print(f"manual {rate(MANUAL):.2f} per 100 cert-years, acme {rate(ACME):.2f}")
    print(f"rate ratio {rr:.2f}, bootstrap 95% interval {lo:.2f}-{hi:.2f} (seed 7, 5000 resamples)")

if __name__ == "__main__":
    main()

Execute com python3 lab_rate.py. Saída verificada:

manual 4.26 per 100 cert-years, acme 0.78
rate ratio 5.48, bootstrap 95% interval 2.50-17.50 (seed 7, 5000 resamples)

6.3 Ler o intervalo

O intervalo por bootstrap vai de 2,50 a 17,50, com semente 7 e 5.000 reamostragens. O limite inferior bem acima de 1 significa que os dados são difíceis de conciliar com taxas iguais, mas o intervalo é largo e assimétrico, porque um punhado de incidentes ACME domina o denominador da razão. Felipe relata o intervalo no resumo ao lado da estimativa pontual, escrevendo "cerca de 2,5 a 17,5 vezes maior" em vez de "5,48 vezes maior", porque o número único sugeriria mais precisão do que sete eventos conseguem dar. Assim, o leitor pode julgar por si mesmo quanto peso o achado merece.

6.4 Estratificar pela propriedade

Entre os certificados com dono conhecido, a renovação manual apresenta 9 incidentes em 335 certificados-ano, 2,69 por 100, e a ACME, 2 em 711, 0,28 por 100, uma razão perto de 9,6. Entre os certificados sem dono, a manual apresenta 14 em 205, 6,83 por 100, e a ACME, 5 em 189, 2,65 por 100, uma razão perto de 2,6. Daí decorrem duas lições. A automação está associada a taxas menores nos dois estratos, então a propriedade não elimina o efeito. E os certificados sem dono falham mais, qualquer que seja o modo: um certificado ACME órfão falha mais ou menos tanto quanto um manual com dono. A propriedade, portanto, importa por si só, e Felipe a assinala como uma segunda alavanca para o capítulo de discussão.

6.5 A descrição da colisão com mudanças

Cinco dos sete incidentes ACME vieram depois de uma mudança de infraestrutura nos sete dias anteriores, o que confirma a impressão do piloto. Felipe relata isso de forma descritiva, como a proposta exigia, e acrescenta uma observação concreta dos logs: em quatro desses cinco casos, o cliente ACME registrou erros de renovação por mais de uma semana antes da expiração, mas os logs não eram encaminhados ao monitoramento. Esse achado leva diretamente à ação: alertar sobre falhas de renovação, que o SP 800-57 Part 1 trataria como parte da transição planejada de chaves, fecha uma lacuna que a automação, sozinha, deixa aberta.

Exemplo resolvido

Felipe relata 4,26 contra 0,78 incidentes por 100 certificados-ano, uma razão de taxas de 5,48 com intervalo por bootstrap de 2,50 a 17,50, uma taxa ACME menor nos dois estratos de propriedade e erros de renovação não monitorados antes da maioria dos incidentes ACME.

Caso sintético. A exposição, os incidentes e os estratos são dados didáticos inventados.

Erros e limites

Intervalos por bootstrap a partir de pouquíssimos eventos são instáveis; com sete eventos, relate-os como aproximados. A estratificação controla apenas a propriedade.

Exercícios

Síntese

Taxas, intervalos e estratos, juntos, mostram uma associação robusta entre a automação e menos expirações, e revelam a propriedade e o monitoramento como alavancas independentes.

Continue estudando — aula 06 (capítulo 06 de 08)

← Capítulo 05 · Índice das aulas · Capítulo 07 →

Continue para a próxima aula já escrita.