
O canivete suíço da correspondência de padrões
[!IMPORTANT] Este projeto está em modo de manutenção. Mais informações: https://virustotal.github.io/yara-x/blog/yara-x-is-stable/
YARA é uma ferramenta destinada a (mas não limitada a) ajudar pesquisadores de malware a identificar e classificar amostras de malware. Com YARA você pode criar descrições de famílias de malware (ou o que quiser descrever) baseadas em padrões textuais ou binários. Cada descrição, também conhecida como regra, consiste em um conjunto de strings e uma expressão booleana que determina sua lógica. Vamos ver um exemplo:
rule silent_banker : banker
{
meta:
description = "This is just an example"
threat_level = 3
in_the_wild = true
strings:
$a = {6A 40 68 00 30 00 00 6A 14 8D 91}
$b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
condition:
$a or $b or $c
}
A regra acima está dizendo ao YARA que qualquer arquivo contendo uma das três strings deve ser relatado como silent_banker. Este é apenas um exemplo simples, regras mais complexas e poderosas podem ser criadas usando curingas, strings insensíveis a maiúsculas/minúsculas, expressões regulares, operadores especiais e muitos outros recursos que você encontrará explicados na documentação do YARA.
YARA é multiplataforma, executando em Windows, Linux e Mac OS X, e pode ser usado através de sua interface de linha de comando ou de seus próprios scripts Python com a extensão yara-python.
Você usa GitHub para armazenar suas regras YARA? O YARA-CI pode ser uma adição útil ao seu conjunto de ferramentas. É um aplicativo GitHub que fornece testes contínuos para suas regras, ajudando você a identificar erros comuns e falsos positivos.
Se você planeja usar YARA para escanear arquivos compactados (.zip, .tar, etc.) você deve dar uma olhada no yextend, uma extensão muito útil para YARA desenvolvida e de código aberto pela Bayshore Networks.
Além disso, a equipe da InQuest organizou uma lista incrível de coisas relacionadas ao YARA.
Você está usando? Quer ver seu site listado aqui?