Que o número de malwares feitos para Linux vem aumentando todo mundo sabe. Passamos por botnets IoT, ransowmare alvejando VMware ESXi e ambientes de nuvem. Sem falar em rootkits ring 3, ring 0, ring o caramba a quatro. Não tá fácil. 😷
Para ajudar na busca por samples de malware similares, em abril de 2020 eu tornei público o Telfhash, uma espécie de imphash com anabolizantes para executáveis ELF. As principais diferenças são:
- Telfhash usa TLSH, um hash de similaridade, enquanto o imphash usa MD5.
- Telfhash não requer que o binário tenha símbolos.
- Telfhash é desenhado para ter o hash mais próximo possível entre versões do mesmo executável compiladas para diferentes arquiteturas.
Deixarei os detalhes de implementação do Telfhash para um futuro artigo, mas se tiver curiosidade pode ler o artigo que escrevi em inglês. De qualquer forma, para minha felicidade, o algoritmo foi bem aceito pela comunidade. Além de pesquisadores, cataloguei os seguintes projetos/empresas usando o Telfhash:
Por este motivo, eu considero o Telfhash a minha principal contribuição de âmbito técnico para a comunidade anti-malware. 💚
No entanto, há algum tempo me sinto um pouco triste de não ter tempo para fazer alterações de código no projeto. Originalmente em Python, eu queria reescrever em C para possibilitar a adição no YARA, dentre outras coisas. Para minha surpresa, no entanto, graças à mágica do software livre (tanto o Telfhash quanto a TLSH usam a Apache License), o pesquisador Karel Hájek, da Avast, reimplementou tanto o TLSH quanto o Telfhash em C e adicionou a função telfhash() na última versão do módulo elf do YARA. Portanto, a partir da versão 4.3.0 do YARA, você e o resto do mundo podem fazer:
import “elf” rule minha_regra { condition: elf.telfhash() == "t166a00284751084526486df8b5df5b2fccb3f511dbc188c37156f5e714a11bc5d71014d" }
Legal né? Tá na documentação oficial do YARA já.
Fiquei feliz com essa notícia por dois motivos:
- Por ser de código aberto, outra pessoa fez o que eu queria ter tempo pra fazer: reimplementou o bagulho em C e subiu no YARA.
- Vai ajudar muito a comunidade mundial na luta contra malware Linux.
Indiretamente, essa é minha segunda contribuição para o YARA. A primeira foi quando adicionei nele a capacidade de ler os overlays de arquivos PE em 2016.
Espero que a comunidade ache a função telfhash() útil e que ela ajude a caçar uns elfos. 🧝♂️
Sem palavras para agradecer o trabalho do Karel! 🙂
- 2
- 9
Comentários Recomendados
Não há comentários para mostrar.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.