OpenCyber Academy
Mestrado · Capítulo 6 · Português
Código do curso: OCA-178Capítulo 06: OCA-178-C006

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.

Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX033.

flowchart TD
  N0["6.1 Execução principal"]
  N1["6.2 Visão geral dos resultados"]
  N2["6.3 Estudo de concordância"]
  N3["Laboratório — concordância entre peritos"]
  N4["6.4 Interpretando o kappa"]
  N5["6.5 Discordâncias"]
  N6["6.6 Relato"]
  N7["6.7 Dados ausentes"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX033"]

Desenho lógico

flowchart LR
  N0["6.1 Execução principal"]
  N1["6.2 Visão geral dos resultados"]
  N2["6.3 Estudo de concordância"]
  N3["Laboratório — concordância entre peritos"]
  N4["6.4 Interpretando o kappa"]
  N5["6.5 Discordâncias"]
  N6["6.6 Relato"]
  N7["6.7 Dados ausentes"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX033"]
[6.1 Execução principal]
    |
    v
[6.2 Visão geral dos resultados]
    |
    v
[6.3 Estudo de concordância]
    |
    v
[Laboratório — concordância entre peritos]
    |
    v
[6.4 Interpretando o kappa]
    |
    v
[6.5 Discordâncias]
    |
    v
[6.6 Relato]
    |
    v
[6.7 Dados ausentes]
    |
    v
[Exemplo resolvido] --> [Exercício EX033]

Objetivos de aprendizagem

Você vai (1) conduzir o estudo principal em condições fixas; (2) medir a concordância entre peritos com o kappa de Cohen; (3) analisar a redução em função da atualidade da referência; (4) relatar resultados com contagens.

6.1 Execução principal

Trinta imagens sintéticas, conjunto de referência congelado, versões de ferramentas registradas. Cada imagem produz redução, perdas e dias desde o lançamento da referência. Cada imagem segue os mesmos passos: construção a partir da semente registrada, cálculo de hash com a ferramenta validada, filtragem contra a versão congelada da NSRL e comparação dos resultados com os rótulos. Cada execução grava uma entrada de registro com a imagem, as versões e os resultados. Tomás confere algumas imagens à mão para confirmar que os scripts contam os arquivos corretamente. A execução principal usa o construtor de imagens revisado, que inclui aplicativos comuns de terceiros.

6.2 Visão geral dos resultados

A redução média é alta quando a versão do sistema operacional antecede o lançamento da referência e cai à medida que o intervalo cresce. As perdas projetadas (ferramentas legítimas com uso ilegítimo plantado, documentos de fornecedores) são todas postas de lado — a filtragem não consegue distingui-las por hash. A relação entre a redução e o intervalo até o lançamento da referência confirma o que o piloto sugeria. As perdas projetadas mostram o limite do hash: uma ferramenta legítima usada para causar dano e um documento de fornecedor não modificado são idênticos a arquivos publicados, de modo que nenhuma comparação de hash consegue distingui-los de suas cópias legítimas. Tomás relata as perdas por tipo com suas contagens, separando as ferramentas legítimas usadas para causar dano dos documentos de fornecedores idênticos a entradas da NSRL.

6.3 Estudo de concordância

Dois peritos classificam 40 eventos de linha do tempo, extraídos dos arquivos restantes, como atividade de usuário ou de sistema. A concordância mostra se o conjunto reduzido pode ser interpretado de forma consistente. Usar eventos dos conjuntos reduzidos testa se o que resta depois da filtragem pode ser lido de forma consistente por peritos diferentes. Os peritos trabalham separadamente, com um guia de codificação escrito, e não conhecem a hipótese do estudo nem quais arquivos foram plantados. Suas classificações são comparadas evento a evento, e cada discordância é registrada com as duas respostas. Os peritos vêm de duas unidades, como planejado.

Laboratório — concordância entre peritos

"""Cohen's kappa for two examiners classifying 40 synthetic timeline events."""
a = ["user"]*18 + ["system"]*14 + ["user"]*4 + ["system"]*4
b = ["user"]*18 + ["system"]*14 + ["system"]*4 + ["user"]*4
n = len(a); po = sum(x == y for x, y in zip(a, b)) / n
pe = sum((a.count(c)/n) * (b.count(c)/n) for c in ("user", "system"))
print(f"events={n} observed_agreement={po:.2f} expected={pe:.2f} kappa={(po-pe)/(1-pe):.2f}")

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

events=40 observed_agreement=0.80 expected=0.51 kappa=0.60

6.4 Interpretando o kappa

A concordância observada é 0,80, mas o acaso sozinho daria 0,505, dadas as proporções de categorias de cada perito (o laboratório imprime esse valor arredondado para 0,51). O kappa = (0,80 − 0,505) / (1 − 0,505) = 0,596, relatado como 0,60, corrige o acaso. Landis e Koch (1977) propuseram rótulos nos quais 0,41–0,60 é "moderado"; Tomás cita os rótulos como convenção, não como lei. Os dois peritos usaram as duas categorias nas mesmas proporções, 22 eventos de usuário e 18 de sistema cada um, de modo que o acaso sozinho produziria uma coincidência cerca de metade das vezes. O kappa mostra quanto a concordância excede esse nível. Tomás relata a concordância observada, a concordância por acaso, o kappa e o número de eventos, para que os leitores possam conferir o cálculo e julgar o resultado por si mesmos.

6.5 Discordâncias

As oito discordâncias envolvem tarefas agendadas que rodaram sob uma conta de usuário. A definição da categoria era ambígua; ele registra isso como um achado para o guia de codificação. Uma tarefa agendada que roda sob uma conta de usuário pode razoavelmente ser lida das duas formas: foi configurada por um usuário, mas roda automaticamente. O guia de codificação não dizia qual categoria se aplicava, de modo que cada perito fez uma escolha sensata. Tomás não conta as discordâncias como erro dos peritos. Ele revisa o guia para definir essas tarefas explicitamente e recomenda que futuros estudos de concordância testem a definição revisada.

6.6 Relato

As tabelas mostram contagens por imagem; os gráficos plotam a redução contra os dias de intervalo. Cada número tem um script e uma entrada de registro. Plotar a redução contra o intervalo mostra a relação com mais clareza do que uma média mostraria. As tabelas também listam as perdas por imagem, para que os leitores vejam que as perdas projetadas foram postas de lado em todas as imagens em que foram plantadas. Tomás confere cada tabela contra os registros antes de incluí-la na dissertação. Os gráficos usam os mesmos eixos para todos os grupos de imagens, para que possam ser comparados diretamente.

6.7 Dados ausentes

Uma imagem falhou na construção; ele relata 29 analisadas de 30 planejadas, com a razão. A imagem que falhou é relatada, não substituída, como exigia a regra de parada. O registro de construção mostrou que o construtor de imagens parou ao instalar um aplicativo, e a imagem nunca foi filtrada. Tomás registra a falha e sua causa no capítulo de resultados, para que os leitores saibam que a análise cobre 29 imagens. Ele também confere que a imagem que falhou não era incomum em nenhuma variável planejada, de modo que sua ausência dificilmente muda os resultados.

Scripts de análise

Um script calcula a redução e as perdas por imagem; outro plota a redução contra os dias de intervalo; um terceiro calcula o kappa. Cada um grava suas saídas com um hash, para que as tabelas possam ser conferidas depois contra o arquivo, e cada execução é anotada no registro com sua data e seus parâmetros.

Exemplo resolvido

Tomás rascunha: "O kappa foi 0,60 (observada 0,80, acaso 0,505, n = 40). As discordâncias se concentraram em tarefas agendadas sob contas de usuário; o guia de codificação vai defini-las explicitamente."

Caso sintético. Os dados de concordância vêm do script do laboratório.

Erros e limites

Dois peritos e 40 eventos dão um kappa impreciso; é uma estimativa de viabilidade.

Exercícios

Síntese

Relate a execução principal com contagens, corrija a concordância pelo acaso e trate a ambiguidade como um achado.

Continue estudando — capítulo 06 de 08

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

Respostas comentadas

EX033. Concordância observada de 0,80, concordância esperada por acaso de 0,505 (impressa como 0,51), kappa de 0,596, relatado como 0,60.

EX034. Porque parte da concordância acontece por acaso, dada a combinação de categorias de cada perito; o kappa remove essa parcela.

EX035. Como uma convenção amplamente usada, de Landis e Koch (1977), não como um limiar objetivo.

EX036. Tarefas agendadas que rodaram sob uma conta de usuário, que as definições das categorias não resolviam.

EX037. Seus hashes são iguais aos de software ou documentos publicados, e uma correspondência de hash não diz nada sobre como um arquivo foi usado.

EX038. "Foram analisadas 29 das 30 imagens planejadas; uma falhou na construção", com a razão da falha declarada.