◇ OpenCyber Academy
Pesquisa doutoral · Capítulo 5 · Português

Capítulo 5 — Estudo principal e validação independente

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 5 — Estudo principal e validação independente

Mapa da aula

Aula 05 publicada. Mapa, exemplo, EX027.

flowchart TD
  N0["5.1 Randomização e condução"]
  N1["5.2 Análise primária"]
  N2["Laboratório — Teste de permutação"]
  N3["5.3 Ler o resultado"]
  N4["5.4 Validação independente"]
  N5["5.5 Ameaças que permanecem"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX027"]

Desenho lógico

flowchart LR
  N0["5.1 Randomização e condução"]
  N1["5.2 Análise primária"]
  N2["Laboratório — Teste de permutação"]
  N3["5.3 Ler o resultado"]
  N4["5.4 Validação independente"]
  N5["5.5 Ameaças que permanecem"]
  N6["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX027"]
[5.1 Randomização e condução]
    |
    v
[5.2 Análise primária]
    |
    v
[Laboratório — Teste de permutação]
    |
    v
[5.3 Ler o resultado]
    |
    v
[5.4 Validação independente]
    |
    v
[5.5 Ameaças que permanecem]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX027]

Objetivos de aprendizagem

Você vai (1) conduzir um estudo de campo randomizado por conglomerados com confirmação cega dos desfechos; (2) analisá-lo com o teste de permutação pré-registrado; (3) relatar os resultados primários e secundários sem exagerá-los.

5.1 Randomização e condução

O líder de segurança da Meridian, e não Nadia, roda o script de randomização com uma semente registrada no plano, atribuindo seis equipes de tokenização ou webhooks e seis equipes de armazenamento ou plataforma a cada braço. O estudo dura um trimestre. As equipes com checklist preenchem o formulário para toda mudança que toca criptografia e rodam a etapa de lint na integração contínua; as equipes de revisão habitual não mudam nada. Dois auditores que nunca veem os rótulos dos braços confirmam os achados semanalmente a partir de diffs pseudonimizados. Durante o trimestre, Nadia monitora apenas métricas de procedimento, como o preenchimento dos checklists, para que não possa ser acusada de espiar os desfechos.

5.2 Análise primária

No fim do trimestre, cada equipe tem uma contagem de achados confirmados a cada dez mudanças integradas que tocam criptografia. A diferença observada entre as médias é a estatística. Sob a hipótese nula de que o braço não faz diferença, os rótulos das equipes são intercambiáveis, então o teste de permutação reembaralha muitas vezes os 24 valores das equipes em dois grupos de doze e pergunta com que frequência uma diferença pelo menos tão grande quanto a observada aparece por acaso. O laboratório reproduz a análise registrada com 20.000 embaralhamentos e a semente fixada em 2026.

Laboratório — Teste de permutação

"""Permutation test: misuse per 10 merged changes, checklist+lint vs usual review (synthetic teams)."""
import random
CHECK = [0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 0, 0]
USUAL = [2, 1, 3, 0, 2, 1, 2, 3, 1, 0, 2, 2]

def mean(x): return sum(x) / len(x)

def main():
    obs = mean(USUAL) - mean(CHECK)
    pool = CHECK + USUAL; rng = random.Random(2026); n = 20000; hits = 0
    for _ in range(n):
        rng.shuffle(pool)
        if mean(pool[12:]) - mean(pool[:12]) >= obs: hits += 1
    print(f"checklist mean {mean(CHECK):.2f}, usual mean {mean(USUAL):.2f}, diff {obs:.2f}")
    print(f"one-sided permutation p = {hits / n:.4f} (seed 2026, {n} shuffles)")
    print(f"zero-misuse teams: checklist {CHECK.count(0)}/12, usual {USUAL.count(0)}/12")

if __name__ == "__main__":
    main()

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

checklist mean 0.42, usual mean 1.58, diff 1.17
one-sided permutation p = 0.0034 (seed 2026, 20000 shuffles)
zero-misuse teams: checklist 8/12, usual 2/12

5.3 Ler o resultado

As equipes com checklist têm média de 0,42 achado confirmado a cada dez mudanças, e as de revisão habitual, 1,58, uma diferença de 1,17. Só cerca de 0,34 por cento dos embaralhamentos produzem uma diferença tão grande, um p unilateral de 0,0034, então a H1 é apoiada no limiar registrado de 0,05. O desfecho secundário aponta na mesma direção: oito de doze equipes com checklist registram zero uso indevido, contra duas de doze de controle. Nadia relata tanto o tamanho do efeito quanto o valor-p e coloca as contagens brutas das equipes num apêndice, para que os leitores possam recalcular tudo sem confiar no resumo dela.

5.4 Validação independente

O Prof. Brandt providencia que um terceiro auditor de outra universidade, sob o mesmo acordo de dados, reconfirme às cegas, sem conhecer o braço, uma amostra aleatória de 30 por cento dos achados. A concordância com os auditores originais é alta, e a reconfirmação não muda a contagem de nenhuma equipe em mais de um, o que deixa a conclusão intacta. Nadia também confere a explicação baseada só no lint, do capítulo 3: os avisos do lint explicam cerca de um terço dos achados de nonce evitados, mas a maioria dos achados de key-handling evitados veio de perguntas do checklist que a ferramenta não consegue ver, como se uma chave é emitida pelo serviço gerenciado de chaves.

5.5 Ameaças que permanecem

Nadia lista com clareza as ameaças restantes. Os revisores das equipes com checklist sabiam que estavam sendo observados, um efeito Hawthorne que pode se desfazer quando o estudo terminar. Doze conglomerados por braço tornam a estimativa imprecisa, então o efeito verdadeiro pode ser bem menor do que 1,17. Os auditores não conseguiam ver os segredos injetados no momento da implantação, então os achados de key-handling continuam subcontados nos dois braços. Por fim, o wrapper maduro da Meridian pode tornar os checklists mais fáceis de aplicar do que em empresas que chamam primitivas de baixo nível diretamente, o que limita a transferência para esses contextos.

Exemplo resolvido

O teste de permutação registrado dá 0,42 contra 1,58, uma diferença de 1,17 com p = 0,0034; um terceiro auditor cego e uma conferência só com o lint deixam a conclusão intacta, com quatro ameaças declaradas.

Caso sintético. Todas as contagens das equipes e os auditores são inventados; o método de permutação é padrão.

Erros e limites

Um valor-p pequeno não mede quão grande ou importante é um efeito, e um estudo de um trimestre não consegue mostrar durabilidade. Nunca exclua equipes depois de abrir o cegamento.

Exercícios

Síntese

Um teste pré-registrado, cego e randomizado por conglomerados sustenta o efeito do checklist; a reconfirmação independente e as ameaças declaradas com honestidade mantêm a afirmação proporcional.

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

← Capítulo 04 · Índice das aulas · Capítulo 06 →

Continue para a próxima aula já escrita.