Capítulo 29 — Inteligência de ameaças e OSINT: medição
Mapa da aula
Aula 29 publicada. Mapa, exemplo, EX085.
flowchart TD
N0["29.1 Conjuntos rotulados"]
N1["Laboratório 6 — avaliação de feed"]
N2["29.2 Lendo as pontuações"]
N3["29.3 Oportunidade e exclusividade"]
N4["29.5 Usando os resultados"]
N5["Amostragem para rótulos"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX085"]
Desenho lógico
flowchart LR
N0["29.1 Conjuntos rotulados"]
N1["Laboratório 6 — avaliação de feed"]
N2["29.2 Lendo as pontuações"]
N3["29.3 Oportunidade e exclusividade"]
N4["29.5 Usando os resultados"]
N5["Amostragem para rótulos"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX085"]
[29.1 Conjuntos rotulados]
|
v
[Laboratório 6 — avaliação de feed]
|
v
[29.2 Lendo as pontuações]
|
v
[29.3 Oportunidade e exclusividade]
|
v
[29.5 Usando os resultados]
|
v
[Amostragem para rótulos]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX085]
Objetivos de aprendizagem
Você vai (1) medir a qualidade de um feed com precisão, revocação e F1 contra um conjunto rotulado; (2) construir um conjunto rotulado de avaliação de forma ética; (3) medir oportunidade e exclusividade; (4) relatar as métricas com seus limites.
29.1 Conjuntos rotulados
Para medir um feed, compare-o com a verdade de referência: indicadores confirmados como maliciosos em incidentes da BEN ou em investigações de parceiros confiáveis, mais valores confirmados como benignos. Os rótulos vêm de investigações concluídas, e não do próprio feed, para evitar circularidade. Usar as próprias entradas do feed como verdade faria qualquer feed parecer perfeito. O conjunto rotulado de Kofi se apoia em investigações encerradas nas quais um analista confirmou se um valor era hostil. Os rótulos benignos vêm da lista de permissões de fornecedores conhecidos da BEN e de valores investigados e liberados. Cada rótulo registra quem o atribuiu e quando.
Laboratório 6 — avaliação de feed
"""Lab 6 (ch 29): precision and recall of a synthetic feed against a labelled ground-truth set."""
truth_bad = {"a.example", "b.example", "c.example", "d.example", "e.example"}
feed = {"a.example", "b.example", "c.example", "x.example", "y.example", "z.example"}
tp = len(feed & truth_bad); fp = len(feed - truth_bad); fn = len(truth_bad - feed)
p, r = tp / (tp + fp), tp / (tp + fn)
print(f"TP={tp} FP={fp} FN={fn}")
print(f"precision={p:.2f} recall={r:.2f} F1={2*p*r/(p+r):.2f}")
Execute com python3 lab_feedeval.py. Saída verificada:
TP=3 FP=3 FN=2
precision=0.50 recall=0.60 F1=0.55
29.2 Lendo as pontuações
Três das seis entradas do feed são confirmadas como maliciosas (precisão 0,50); ele encontrou três de cinco valores maliciosos conhecidos (revocação 0,60); o F1 é 0,55. Metade do feed seria ruído se fosse bloqueada diretamente. As pontuações respondem a perguntas diferentes. A precisão diz à BEN quantos bloqueios vindos desse feed seriam equivocados. A revocação diz quanto da atividade hostil conhecida o feed teria pego. Um feed com revocação alta e precisão baixa ainda pode ajudar como fonte de enriquecimento, que é como o exemplo resolvido acaba usando-o.
29.3 Oportunidade e exclusividade
Um feed que lista indicadores uma semana depois que a BEN os viu tem pouco valor operacional. Meça a antecedência mediana em relação ao primeiro avistamento interno. A exclusividade — indicadores que nenhuma outra fonte fornece — mostra o valor marginal. Kofi mede a antecedência como a diferença entre o horário de publicação do feed e o primeiro avistamento do mesmo valor pela BEN. Uma antecedência positiva significa que o feed avisou a BEN com antecedência; uma negativa significa que chegou depois do fato. A exclusividade é medida contra todas as outras fontes do Lantern no mesmo período, já que um feed que duplica os outros acrescenta pouco, mesmo com qualidade alta.
29.4 Limites
A verdade de referência é incompleta: valores maliciosos desconhecidos contam como falsos positivos quando apenas não foram confirmados. Relate o período de avaliação, o tamanho do conjunto e o método de rotulagem com cada número. Por isso Kofi relata a precisão como limite inferior quando entradas não confirmadas são contadas como falsas. Ele também anota quantas entradas do feed não puderam ser rotuladas. Com um conjunto pequeno, um único valor rerrotulado pode mover as pontuações de forma perceptível, então o relatório traz as contagens por trás de cada razão. Os leitores podem então julgar quanto peso os números merecem.
29.5 Usando os resultados
As métricas alimentam os pesos das fontes no modelo de confiança do Lantern e informam as decisões de renovação de feeds pagos. Elas são compartilhadas com os parceiros de forma agregada quando os acordos permitem, apoiando a reciprocidade descrita no NIST SP 800-150. Kofi muda os pesos das fontes em passos pequenos e registra a avaliação que justificou cada mudança. A renovação de um feed pago depende das pontuações ao longo de um período contratual completo, e não de um trimestre. Quando a BEN compartilha resultados agregados com um parceiro, o parceiro descobre como seu feed se comporta no ambiente da BEN, o que o ajuda a melhorar sem expor detalhes dos incidentes da BEN.
Amostragem para rótulos
Rotular todos os indicadores é impossível. Kofi sorteia uma amostra aleatória estratificada por tipo de indicador, rotula-a a partir dos registros de investigação e relata intervalos de confiança. Uma amostra de algumas centenas, sorteada honestamente, vale mais que uma enorme amostra de conveniência com o que por acaso foi investigado.
Exemplo resolvido
Kofi avalia um feed pago ao longo de um trimestre: precisão 0,50, revocação 0,60, antecedência mediana de −2 dias (ele chega depois dos avistamentos internos). Ele recomenda mantê-lo apenas como fonte de enriquecimento e não renovar o nível premium.
Caso sintético. Os valores do feed são inventados.
Erros e limites
Conjuntos rotulados pequenos dão estimativas instáveis. Não publique pontuações de fornecedores nomeados a partir de dados licenciados.
Exercícios
- EX085 — Citação das pontuações. Cite a precisão, a revocação e o F1 do laboratório. Rubrica: 3 = 0,50, 0,60, 0,55; 2 = dois; 1 = um; 0 = nenhuma.
- EX086 — Rótulo circular. Por que os rótulos não podem vir do feed avaliado? Rubrica: 3 = a circularidade infla a precisão; 2 = viés, de forma vaga; 1 = tudo bem; 0 = nenhuma.
- EX087 — Antecedência negativa. O que uma antecedência mediana de −2 dias significa operacionalmente? Rubrica: 3 = o feed chega depois da detecção interna; pouco valor preventivo; 2 = atrasado; 1 = adiantado; 0 = nenhuma.
Síntese
Meça contra rótulos independentes, acrescente oportunidade e exclusividade e relate cada métrica com seus limites.
Continue estudando — capítulo 29 de 50
← Capítulo 28 (rascunho) · Índice de capítulos do curso · Capítulo 30 (rascunho) →