Estudo expõe falha de rotulagem em ferramentas de triagem de forense de memória baseadas em grafos
Um estudo de validação de um pipeline de triagem de forense de memória para imagens Windows — que converte saídas do Volatility 3 em grafos e aplica um classificador neural (GINE) combinado com detectores one-class — descobriu que amostras rotuladas como "benignas" no dataset MalVol-25 exibem sinais de injeção de processo e indicadores de comando-e-controle em praticamente todos os casos de controle (15/15 e 18/18). O mesmo defeito reaparece em datasets públicos amplamente citados, como o CIC-MalMem-2022, onde 53% das amostras "benignas" carregam indicadores de injeção. Os autores chamam isso de "label-signal mismatch": a classe benigna nunca foi de fato verificada, apenas presumida pela proveniência da coleta.
O artigo valida um pipeline de triagem para imagens de memória Windows que parte da saída do Volatility 3 (o framework de referência para análise forense de memória), compila essas saídas em grafos heterogêneos tipados e aplica um classificador de grafo com temperatura calibrada (GINE) junto com dois codificadores one-class, fundidos com uma camada de regras de risco sob um mecanismo de abstenção que envia casos incertos para revisão humana.
O achado central é metodológico e tem implicações diretas para quem avalia ferramentas de ML em forense de memória: ao rodar a camada de regras — transparente, não aprendida — sobre as amostras rotuladas como "controle/benigno" do dataset MalVol-25, ela contradisse esse rótulo em 100% dos casos (15 de 15 e 18 de 18 marcados como suspeitos em dois subconjuntos), e as contagens médias de injeção de processo e de comunicação com C2 foram, em média, mais altas nos controles do que nas capturas efetivamente infectadas. Isso não significa que o modelo de ML esteja "errado" — significa que o ground truth usado para treiná-lo e avaliá-lo nunca foi verificado manualmente, apenas assumido a partir de como a amostra foi coletada.
O problema se mostrou sistêmico, não isolado a um dataset: no CIC-MalMem-2022, uma feature de "população do host" sozinha atinge AUROC de 0.997 sob validação leave-one-family-out — um sinal clássico de vazamento de informação não relacionado ao comportamento malicioso real — e no dataset de Sihwail et al. (2021), o indicador de injeção disparou em 53% das linhas rotuladas como benignas. Os autores também mostram que a métrica agregada de AUROC por leave-one-family-out é instável por construção ("provably three-valued"), de forma que média e desvio-padrão reportados dependem fortemente de como os folds foram compostos — e, nessas condições, o modelo neural aprendido (AUROC 0.786) não supera um modelo logístico simples construído sobre os mesmos atributos derivados de regras.
Na prática, isso é um alerta importante para peritos e desenvolvedores de ferramentas: benchmarks publicados de triagem de memória por ML podem estar reportando desempenho inflado por dados de treino e teste cuja classe "benigna" nunca foi auditada manualmente — um risco real quando essas ferramentas são usadas para priorizar casos em laboratórios forenses com alto volume de evidência. O desenho do próprio pipeline reconhece essa fragilidade ao encaminhar 97,7% dos snapshots para revisão humana mesmo com todos os gates habilitados, reforçando que scores automatizados de triagem de memória não devem substituir a validação manual de peritos, especialmente quando o dataset de origem não teve seu rótulo "benigno" confirmado caso a caso.