◇ 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, EX034.

flowchart TD
  N0["6.1 Coleta"]
  N1["6.2 Codificação das falhas"]
  N2["6.3 Diferença-em-diferenças"]
  N3["6.4 Resultados da bancada"]
  N4["6.5 Validação no Fenwick College"]
  N5["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX034"]

Desenho lógico

flowchart LR
  N0["6.1 Coleta"]
  N1["6.2 Codificação das falhas"]
  N2["6.3 Diferença-em-diferenças"]
  N3["6.4 Resultados da bancada"]
  N4["6.5 Validação no Fenwick College"]
  N5["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX034"]
[6.1 Coleta]
    |
    v
[6.2 Codificação das falhas]
    |
    v
[6.3 Diferença-em-diferenças]
    |
    v
[6.4 Resultados da bancada]
    |
    v
[6.5 Validação no Fenwick College]
    |
    v
[Síntese do capítulo]
    |
    v
[Exemplo resolvido] --> [Exercício EX034]

Objetivos de aprendizagem e conexão

Você vai (1) coletar dados segundo um protocolo congelado; (2) codificar logs de falha de forma confiável e medir a concordância; (3) estimar um efeito de diferença-em-diferenças; (4) analisar os resultados da bancada; e (5) validar num segundo local. O capítulo executa a proposta do Capítulo 5 e fornece os resultados que o Capítulo 7 vai redigir.

6.1 Coleta

Oito semanas de dados do LK-HS-1 são coletadas sob o protocolo emendado: quatro semanas antes e quatro depois da implantação escalonada, com metade dos navegadores gerenciados (aleatorizada pelo identificador do dispositivo) recebendo primeiro a política híbrida. Congele o script de análise e registre o seu hash antes de revelar os rótulos das coortes.

Mantenha um registro de coleta com as interrupções ou lacunas na telemetria do proxy e dos navegadores, com datas, porque um dia faltando numa coorte enviesaria a comparação. Verifique, antes de revelar os rótulos, que a aleatorização pôs números aproximadamente iguais de dispositivos em cada coorte e que ambas usaram o caminho do proxy em proporções semelhantes.

6.2 Codificação das falhas

Cada série com falha tem um trecho de log. Dois codificadores (C1, C2) atribuem, de forma independente e com um livro de códigos escrito, um de quatro rótulos — size (reset do proxy após o primeiro segmento), cert (validação de certificado), timeout, other.

# Lab 6 (synthetic): agreement between two coders labelling 60 failure logs, then the share of
# failures attributed to "split ClientHello mishandled" after reconciliation.
from collections import Counter
labels = ["size", "cert", "timeout", "other"]
a = ["size"]*30 + ["cert"]*12 + ["timeout"]*10 + ["other"]*8
b = ["size"]*27 + ["timeout"]*3 + ["cert"]*11 + ["other"] + ["timeout"]*9 + ["size"] + ["other"]*8
n = len(a); po = sum(x == y for x, y in zip(a, b)) / n
ca, cb = Counter(a), Counter(b); pe = sum(ca[l]*cb[l] for l in labels) / n**2
print(f"observed agreement {po:.3f}  chance {pe:.3f}  Cohen's kappa {(po-pe)/(1-pe):.3f}")

Saída esperada:

observed agreement 0.917  chance 0.323  Cohen's kappa 0.877

Um κ de 0,88 indica forte concordância além do acaso; as discordâncias (sobretudo size contra timeout, porque um segundo segmento descartado pode parecer um timeout) são resolvidas por discussão e registradas.

Mantenha o livro de códigos com um trecho de log de exemplo para cada rótulo, sobretudo para a fronteira difícil entre size e timeout. Os codificadores trabalham com trechos sem os rótulos das coortes, para que saber se o grupo híbrido foi oferecido não influencie o rótulo escolhido.

6.3 Diferença-em-diferenças

Com uma coorte de controle concorrente, o efeito é a mudança na coorte tratada menos a mudança na coorte de controle, estimado separadamente por caminho. Resultados sintéticos: caminho do proxy +20,4 por 10.000 (IC 95% 15,1–25,8); caminho direto +0,6 (−1,0 a 2,2). A H1 é apoiada. O pequeno aumento da própria coorte de controle no caminho do proxy (+0,6, exercício EX034) capta a sazonalidade, o rival 4, que o desenho antes/depois, sozinho, teria atribuído ao grupo híbrido.

Relate a estimativa com o seu intervalo e o número de séries por trás de cada célula, para que o cálculo possa ser conferido. O intervalo do caminho direto inclui zero, o que apoia a segunda parte da H1. O aumento da coorte de controle mostra por que o controle concorrente importa: sem ele, a mudança sazonal teria sido contada como efeito do grupo híbrido.

6.4 Resultados da bancada

Na cópia isolada do proxy na bancada, 200 handshakes por condição: hello de um segmento sem o codepoint, 0/200 falhas; hello de um segmento com o codepoint híbrido, 0/200; hello de dois segmentos sem o codepoint (só preenchimento), 187/200; hello de dois segmentos com o codepoint, 189/200. As falhas acompanham a segmentação, não o codepoint: a H2 é apoiada e o rival 3 é rejeitado para este modelo de proxy. Depois da aplicação da atualização de firmware do fornecedor na bancada, as falhas com dois segmentos caem para 0/200, o que antecipa a H3.

As quatro condições variam tamanho e codepoint de forma independente, e é isso que permite à bancada separar os dois rivais que os logs não conseguiam separar. Informe as versões de firmware da bancada antes e depois da atualização e o preenchimento usado em cada condição, para que outro laboratório possa reproduzir o resultado com o mesmo modelo de proxy.

6.5 Validação no Fenwick College

O Fenwick (sintético) tem um fornecedor de proxy diferente. Aplicando a análise congelada: excesso no caminho do proxy de +1,2 por 10.000 (−0,8 a 3,2) — nenhum efeito relevante. O mecanismo é específico do produto; a dissertação deve dizer "o modelo de proxy legado da Larkspur", e não "proxies com inspeção". Um resultado nulo no segundo local é um achado sobre o escopo, não uma falha do estudo.

Congele o script de análise antes de abrir os dados do Fenwick, como na Larkspur, e registre o seu hash. Relate o intervalo do Fenwick junto com a estimativa: ele inclui zero e exclui um efeito tão grande quanto o da Larkspur. Registrar o fornecedor e a versão do proxy no Fenwick permite que os leitores vejam quais produtos o resultado nulo cobre.

6.6 Erros comuns e limites

Cada erro tem uma salvaguarda neste capítulo: um hash do script registrado antes da revelação, um exame de quais rótulos discordaram em vez de apenas um limiar de κ, o resultado nulo do Fenwick usado para limitar a alegação a um modelo de proxy e uma declaração clara de que os números são sintéticos.

Exercícios — capítulo 6

Síntese do capítulo

Scripts congelados, codificação dupla com κ, uma estimativa de diferença-em-diferenças por caminho, uma bancada que varia tamanho e codepoint de forma independente e a validação num segundo local transformam uma correlação num relato causal delimitado.

Continue estudando — capítulo 06 de 08

← Capítulo 05 · Índice de capítulos do curso · Capítulo 07 →

Siga para a próxima lição escrita.