Todos os dias, as diferentes soluções de segurança da ESET detectam milhares de malware, que nem sempre são conhecidos (previamente). Dada a quantidade de amostras maliciosas encontradas, é importante ser capaz de catalogar cada uma delas, a fim de rastrear sua propagação, coletar informações sobre seu comportamento e informar os usuários com mais precisão sobre que tipo de ameaça foi detectada em seu sistema. Esta não é uma tarefa fácil e um passo fundamental é escolher corretamente o nome que será dado ao malware.
Como o objetivo é poder catalogar e identificar facilmente o malware, os nomes das ameaças precisam ser atribuídos com base em algo que as amostras tenham em comum. Há muitas possibilidades neste processo. Uma deles é, por exemplo, fazê-lo de acordo com o local onde a amostra foi encontrada, seu tamanho, palavras encontradas dentro do código, etc. A decisão de qual metodologia usar para nomear um novo malware é algo que é definido individualmente por cada empresa de antivírus, por isso não há consenso geral sobre quais critérios se deve usar. Neste contexto, a ESET adotou uma nomenclatura baseada nas disposições da Computer Antivirus Researchers Organization (CARO), que em 1991 propôs um esquema que foi amplamente adotado e que visava estabelecer a base para unificar a forma como o malware é nomeado pelos diferentes fornecedores que desenvolvem soluções de segurança.
Dado que o laboratório da ESET recebe muitas perguntas de pessoas interessadas em compreender a variante do código malicioso, a qual família pertence e as tecnologias que afeta, bem como outras informações que, conhecendo a estrutura da detecção poderia ser inferida, decidimos escrever este post sobre como definir o nome de um novo malware através de uma breve explicação.
Esquema de nomenclatura de malware proposto pela organização CARO
A utilização da nomenclatura sugerida pela CARO permite catalogar o malware por família, variante, plataforma, tipo e outras características do malware; o que é uma grande vantagem, pois permite que tanto pesquisadores como usuários finais possam obter informações sobre a amostra detectada simplesmente através da leitura do seu nome, o que seria impossível se os nomes próprios fossem utilizados sem qualquer formato.
Cada malware catalogado a partir deste esquema terá o seguinte formato:
<tipo>://<plataforma>/<família>.<grupo>.<longitude>.<variante><modificadores>!<comentários>
Como existem muitos campos, para facilitar o uso e a leitura, os únicos campos obrigatórios são os campos de família e de variante. Isso se deve ao fato de que cada família de malware consiste apenas de códigos maliciosos com características semelhantes. Assim, uma vez que uma família tenha sido identificada, é possível, usando o campo variante, reconhecer um malware específico de forma única, fácil e precisa. Portanto, pode-se observar que o agrupamento de malware em famílias é um dos princípios fundamentais deste esquema.
Nomenclatura nos produtos da ESET
Como mencionado acima, os produtos da ESET utilizam uma nomenclatura baseada na CARO e essa nomenclatura pode ser observada quando um código malicioso é detectado. A fim de tornar os nomes das amostras facilmente legíveis e memoráveis, são utilizados apenas três campos, que, por sua vez, fornecem muitas informações sobre a detecção:
Estrutura dos campos que definem o nome de um malware
Platform/Family.Variant
Plataforma: a plataforma na qual o malware opera. Alguns exemplos são: Win32 ou Win64 para sistemas operacionais Windows de 32-bit ou 64-bit respectivamente, JS para scripts javascript, PHP para scripts PHP, etc.
Família: a família à qual pertence o malware detectado.
Variante: embora todo malware pertencente a uma família seja semelhante, pode haver alguns que tenham qualidades únicas que os diferenciam dos outros. Nestes casos são identificados dentro da mesma família, mas com outra variante (constituída por uma série de letras).
Alguns exemplos concretos de detecções correspondentes a famílias que normalmente podem ser vistas em campanhas maliciosas propagadas em países que fazem parte da América Latina:
- JS/Bondat.A
- Win32/Houdrat.A
- Win32/Remtasu.N
- Win32/Spy.Mekotio
- Android/Filecoder.C
Portanto, usar um esquema correto para catalogar e identificar um malware é um ponto importante para qualquer empresa ou laboratório que trabalhe com esses tipos de ameaças, pois facilita a organização de amostras, a comunicação e a troca de informações e, especialmente, permite que os usuários finais e pesquisadores tenham rapidamente uma noção do tipo de ameaça que estão enfrentando.