Pesquisa expõe limites do machine learning para estimar a data de primeira detecção de malware
Usando o dataset EMBER2024, pesquisadores testaram se modelos de machine learning conseguem prever a data de "primeira detecção" (first-seen) de um executável ou apontar quando seu timestamp de compilação PE/COFF é implausível. A regressão direta do first-seen produziu erros do tamanho de boa parte da janela de coleta do próprio dataset, tornando a abordagem inútil para ordenação cronológica. Já classificadores binários conseguiram identificar, com boa discriminação, timestamps claramente implausíveis — uma tarefa mais modesta, mas de uso prático real.
A motivação do estudo é um problema comum em pesquisa de malware: para montar divisões temporais confiáveis de treino/teste (evitando que um modelo "veja o futuro"), é preciso saber quando cada amostra foi efetivamente vista pela primeira vez. Essa informação de first-seen normalmente vem de serviços externos como VirusTotal, aos quais nem todo pesquisador ou laboratório forense tem acesso equivalente. A pergunta central do artigo é se o próprio timestamp de compilação embutido no cabeçalho PE/COFF de um executável Windows — ou outras características do binário — pode servir de substituto confiável.
Tecnicamente, o campo TimeDateStamp do cabeçalho PE/COFF é definido pelo compilador no momento do build e é trivialmente falsificável (prática conhecida como timestomping, usada tanto por malware para parecer mais antigo/legítimo quanto, às vezes, por builds reproduzíveis configurados incorretamente). Os autores treinaram modelos baseados em features extraídas e modelos que operam direto sobre os bytes do arquivo, testando quatro formulações: regressão direta da data, classificação (o timestamp está dentro de uma tolerância do first-seen real?), ranking (ordenação relativa entre amostras) e uma métrica latente de confiabilidade.
Os resultados foram mistos de forma instrutiva: tentar recuperar a data exata via regressão falhou (erro médio comparável a uma fração grande da janela de coleta do dataset, e nenhum dos escores produziu ordenação cronológica útil), mas classificar se um timestamp específico é implausível funcionou bem. Um achado adicional relevante é que o desacordo entre timestamp declarado e data real ocorre tanto em amostras maliciosas quanto benignas — ou seja, timestamps pouco confiáveis não são exclusivamente produto de manipulação intencional, podendo refletir builds mal configurados, fusos horários incorretos ou pipelines de CI com clock errado.
Para quem atua em triagem de malware ou monta linhas do tempo forenses a partir de metadados de binários, a conclusão prática é dupla: não dá para usar ML hoje como substituto de fontes externas de first-seen (ex.: primeira submissão em sandboxes/threat intel), mas é viável usar classificadores simples como filtro de sanidade para flagar timestamps de compilação obviamente implausíveis antes de usá-los como evidência de idade ou origem de uma amostra — tratando o campo sempre como sinal fraco, nunca como fonte primária de verdade temporal.