Detecção Baseada em assinaturas Com YARA

Em um post anterior, eu falei sobre como você pode usar STIX, TAXII e CybOX para compartilhar informações de ameaça.

um dos elementos-chave para a boa utilização da informação cybertreat exige que a informação seja accionável ou, pelo menos, utilizável. As informações compartilhadas devem ser precisas, completas e relevantes para o seu ambiente.

CybOX provides a common structure for representing cyber observables across and among the operational areas of enterprise cybersegurança. O CybOX pode conter hashs, strings ou chaves de registro. As informações fornecidas através do sistema podem ser usadas para verificar a presença de malware dentro de seu ambiente. YARA é uma das alternativas ao uso de CyBOX, mas os dois não são mutuamente exclusivos.O que é YARA?

YARA é uma ferramenta projetada para ajudar os pesquisadores de malware a identificar e classificar amostras de malware. Tem sido chamado de canivete suíço de correspondência padrão para pesquisadores de segurança (e todos os outros). É multiplataforma e pode ser usado tanto a partir de sua interface de linha de comando ou através de seus próprios scripts Python.

a ferramenta permite realizar a detecção baseada em assinaturas de malware, algo semelhante ao que soluções antivírus podem fazer por você.

Como O Utiliza?

Para usar este método, você precisa de uma regra e um arquivo que você quer verificar. Por exemplo, para executá-lo a partir da linha de comandos, você usaria:
Isto irá resultar se a regra indicada corresponder ao ficheiro fornecido. Se você não vê saída, e você não usou a opção de negação, então isso significa que nenhuma regra correspondeu.

pode iniciá-lo com uma série de opções de configuração; estes são os dois mais importantes :

  • -n: imprimir apenas as regras não satisfeitas (negar).
  • -r: pesquisa recursivamente através de diretórios.

Rules

a rule is a set of strings and some form of logic, written in Boolean expressions.

existe apoio para três tipos diferentes de cadeias de caracteres:

  • cadeias hexadecimais, que são úteis para definir bytes brutos;
  • cadeias de texto;
  • Expressões Regulares.

as condições são expressões booleanas que você reconhecerá a partir de linguagens de programação regulares. Eles podem trabalhar em qualquer uma das strings dadas, mas também em variáveis especiais incorporadas, como o tamanho do arquivo, ou em variáveis externas que você define fora da regra. Há também suporte para o uso de módulos, como Cuckoo, para estender os recursos que você pode usar nas condições.

você vai se beneficiar mais de YARA se você lhe fornecer um bom conjunto de regras. Você pode escrever suas próprias regras ou obtê-las de outro provedor.Escrever as suas próprias regras não é assim tão difícil se tomar em consideração estas orientações.:

  • os critérios que você usa para corresponder devem ser uma parte necessária do comportamento do malware.
  • os critérios devem ser suficientes para distinguir a família de malware testado de outras famílias de malware.
  • os critérios têm de ser algo que seja comum em diferentes amostras.

uma vez que você tenha analisado o malware e extraído dados úteis e reconhecíveis a partir dele, você pode então transformar a informação em cadeias YARA e combiná-los com alguma forma de lógica.

Get Rules From External Sources

Because YARA uses signatures similar to antivirus solutions, it would make sense to reuse these signatures as a rule database. Com o uso do script clamav_to_yara.py, você pode converter a base de dados de assinatura ClamAV para o seu próprio conjunto de regras.

outra fonte de regras é o repositório de Github Yarararules. Este é um conjunto de regras sob a licença GNU-GPLv2 mantida por um grupo de pesquisadores de segurança de TI. As regras são armazenadas em diferentes categorias-regras destinadas a detectar técnicas anti-depuração e anti-visualização, documentos maliciosos, packers, etc. – e frequentemente actualizado. Você pode obtê-los através da clonagem do repositório Github.Algumas plataformas de compartilhamento de informações de ameaças, como MISP e ThreatConnect, também suportam YARA. Isto permite-lhe criar regras com base nas suas próprias informações de ameaça recolhidas.

gerar automaticamente regras

com o uso do gerador de regras a partir de Joe Sandbox, você pode criar assinaturas para Windows com base em dados de comportamento estático e dinâmico. Note que as mesmas regras se aplicam ao usar sandboxes de análise de malware online Livre. Você está enviando seus arquivos para um serviço de nuvem externo, que não deve ser feito com arquivos sensíveis ou dados contendo qualquer forma de credenciais de usuário.

casos de Utilização Adicionais

mencionei anteriormente que você pode converter a base de dados ClamAV para um conjunto de regras utilizáveis. Também é ao contrário. Suponha que você tem um conjunto de regras detalhadas. Você pode configurar o ClamAV para estender o seu conjunto de funcionalidades com as suas regras fornecidas e suportar o YARA. Isto permite-lhe corresponder às regras em ficheiros comprimidos ou embalados. A API privada VirusTotal também tem um recurso com o qual você pode inserir suas próprias regras e tê-las acionadas quando uma amostra correspondente é carregado.

a protecção baseada na Assinatura não é suficiente

apenas confiar na protecção baseada na assinatura já não é suficiente. Os atacantes desenvolveram contramedidas que podem usar para contornar este método. Com o uso de vários serviços de criptografia, Empacotadores e polimorfismo, eles podem facilmente gerar malware que é diferente o suficiente para que ele não mais corresponda às assinaturas existentes. Em seguida, leva algum tempo antes do novo sabor é pego e uma Assinatura é compartilhada.

estes inconvenientes não tornam a detecção baseada em assinaturas obsoletas. A comunidade de segurança é forte no compartilhamento de novos indicadores de ameaça, então esse tipo de ferramentas ainda se mostrará um ativo importante para o seu arsenal.

Conclusion

Although signature-based detection with YARA has its limits, it is an easy-to-use and fairly simple way of detecting malware in your environment. Não seria sensato confiar nela como a única medida de protecção contra ameaças, mas, dada a sua utilização simples, faltar a esta ferramenta também não seria uma boa ideia.

You might also like

Deixe uma resposta

O seu endereço de email não será publicado.