
Framework modular de coleta e correlação de artefatos de análise de malware
Subparse é um framework modular desenvolvido por Josh Strochein, Aaron Baker e Odin Bernstein. O framework é projetado para analisar e indexar arquivos de malware e apresentar as informações encontradas durante a análise em um visualizador web pesquisável. O framework é modular, utilizando um mecanismo central de análise, módulos de análise e uma variedade de enriquecedores que adicionam informações adicionais aos índices de malware. Os principais valores de entrada para o framework são diretórios de arquivos de malware, que o mecanismo central de análise ou um mecanismo de análise especificado pelo usuário analisa antes de adicionar informações adicionais de qualquer mecanismo de enriquecimento especificado pelo usuário, tudo antes de indexar as informações analisadas em um índice Elasticsearch. As informações coletadas podem então ser pesquisadas e visualizadas através de um visualizador web, que também permite filtrar qualquer valor obtido de qualquer arquivo. Atualmente existem 3 mecanismos de análise, os mecanismos de análise padrão (PEParser, OLEParser e ELFParser), e 2 mecanismos de enriquecimento (ABUSEEnricher e CAPEEnricher).
Para começar a usar o Subparse, existem alguns programas necessários/recomendados que precisam ser instalados e configurados antes de tentar trabalhar com nosso software.
| Software | Status | Link |
|---|---|---|
| Docker | Obrigatório | Guia de Instalação |
| Python3.8.1 | Obrigatório | Guia de Instalação |
| Pyenv | Recomendado | Guia de Instalação |
Após instalar o software necessário/recomendado em seu sistema, existem algumas outras etapas que precisam ser tomadas para instalar o Subparse.
sudo get apt install build-essential pip3 install -r ./requirements.txt
docker-compose up
Nota: Isso pode levar algum tempo devido ao download das imagens e à configuração dos contêineres que serão necessários para o Subparse.
Opções de linha de comando disponíveis para subparse/parser/subparse.py:
| Argumento | Alternativa | Obrigatório | Descrição |
|---|---|---|---|
| -h | --help | Não | Mostra o menu de ajuda |
| -d SAMPLES_DIR | --directory SAMPLES_DIR | Sim | Diretório de amostras para analisar |
| -e ENRICHER_MODULES | --enrichers ENRICHER_MODULES | Não | Módulos enriquecedores a serem usados para análise adicional |
| -r | --reset | Não | Redefinir/excluir todos os dados no cluster Elasticsearch configurado |
| -v | --verbose | Não | Exibir saída detalhada da linha de comando |
| -s | --service-mode | Não | Entra no modo de serviço permitindo que mais amostras sejam adicionadas ao SAMPLES_DIR durante o processamento |
Para visualizar os resultados dos analisadores do Subparse, navegue até localhost:8080. Se você estiver tendo problemas para visualizar o site, certifique-se de que o contêiner foi iniciado no Docker e que não há outro processo rodando na porta 8080 que possa impedir o site de ficar disponível.
Antes de qualquer analisador ser executado, informações gerais são coletadas sobre a amostra, independentemente do tipo de arquivo subjacente. Essas informações incluem:
Os analisadores são executados APENAS em amostras que correspondem ao tipo de arquivo. Por exemplo, arquivos PE terão, por padrão, o PEParser executado sobre eles, pois o tipo de arquivo corresponde àqueles que o PEParser é capaz de examinar.
Estes módulos são opcionais e serão executados APENAS se especificados via a flag -e | --enrichers na linha de comando.