Investigation : Implémenter du contenu YARA personnalisé

Document created by RSA Information Design and Development on Feb 8, 2017
Version 1Show Document
  • View in full screen mode
  

Cette rubrique fournit des instructions pour implémenter du contenu YARA personnalisé dans Security Analytics Malware Analysis.

En plus des indicateurs de compromission intégrés, Security Analytics Malware Analysis prend également en charge les indicateurs de compromission écrits dans le langage YARA. YARA est un langage de règles qui permet aux chercheurs spécialisés d'identifier et de classer les échantillons de malware. RSA rend disponible les indicateurs de compromission intégrés YARA dans RSA Live ; ceux-ci sont automatiquement téléchargés et activés sur les hôtes souscrits.

Les clients ayant des compétences et des connaissances avancées peuvent ajouter des capacités de détection à RSA Malware Analysis en créant des règles YARA et en les publiant dans RSA Live ou en les plaçant dans un dossier surveillé pour que l'hôte les utilise.

Comme l'environnement des programmes malveillants et des menaces évolue, il est important de passer en revue et d'examiner les règles personnalisées existantes. Des mises à jour sont souvent nécessaires pour intégrer de nouvelles méthodes de détection. RSA met également à jour les règles YARA dans Live de temps à autre. Pour recevoir des mises à jour, vous pouvez vous abonner à RSA Blog et RSA Live à l'adresse http://blogs.rsa.com/feed.

Ce document fournit des informations pour aider les clients à implémenter des règles YARA personnalisées dans Malware Analysis.

Conditions préalables

L'hôte sur lequel vous ajoutez des règles personnalisées doit être configuré pour prendre en charge la création de règles YARA comme décrit dans la section « Activer le contenu YARA personnalisé » du Guide de configuration de Malware Analysis.

Version et ressources YARA

RSA Malware Analysis est fourni avec YARA version 1.7 (rév :167). Pour connaître la version exacte, vous pouvez exécuter yara -v sur l'hôte Malware Analysis comme indiqué dans cet exemple :

[root@TESTHOST yara] # yara -v
yara 1.7 (rev:167)

Clés métas dans les règles YARA

Malware Analysis est conforme à d'autres sources de règles YARA. Il consomme également des clés métas supplémentaires qui sont spécifiques à Malware Analysis. Chaque règle YARA est équivalente à un indicateur de compromission dans Malware Analysis. L'exemple ci-dessous illustre les définitions méta dans une règle :
meta:
iocName = "FW.ecodedGenericCLSID"
        fileType = "WINDOWS_PE"
        score = 25
        ceiling = 100
        highConfidence = false

 

                               
Clé métaDescription
iocName(Obligatoire) Il s'agit du nom que MA utilise comme nom de règle. Il est spécifique à Malware Analysis et est nécessaire pour ajouter la règle à la liste d'indicateurs de compromission.
fileTypeDéfinit le type de fichiers. Les valeurs possibles sont les suivantes : WINDOWS_PE, MS_OFFICE et PDF. Si aucune valeur n'est spécifiée, celle par défaut est WINDOWS_PE.
scoreSi la règle YARA est déclenchée, cette valeur est ajoutée au score statique. S'il n'est pas spécifié, la valeur par défaut est 10.
ceilingIl s'agit du montant maximal qui est ajouté aux scores statiques quand une règle est déclenchée plusieurs fois en une seule session. Par exemple, chaque fois qu'une règle est déclenchée, 20 points sont ajoutés au score statique, et si vous ne voulez pas ajouter plus de 40 points lorsque la règle est déclenchée plus de deux fois, vous pouvez spécifier un plafond de 40. S'il n'est pas spécifié, la valeur par défaut est 100.
highConfidenceCette valeur définit la balise de Forte probabilité, qui est configurée sur les indicateurs intégrés de compromission quand des indicateurs signalent avec forte probabilité la présence de programmes malveillants. Si cette valeur n'est pas spécifiée, la valeur par défaut est false.

Remarque : Reportez-vous à l’URL suivante pour les ressources YARA :https://code.google.com/p/yara-project/downloads/list. Utilisateurs Security Analytics YARA 1.7, pas YARA 2.0.

Contenu YARA

RSA Live contient 3 ensembles de règles Yara :

  • Packers PE
  • Artefacts PDF
  • Artefacts PE

La figure suivante illustre le contenu YARA disponible en tant que règles YARA dans Security Analytics Live.

LiveLU.png

Sur l’hôte Malware Analysis, les règles YARA résident dans /var/lib/rsamalware/spectrum/yara, comme illustré dans l’exemple ci-dessous.

[root@TESTHOST yara]# pwd
/var/lib/rsamalware/spectrum/yara
[root@TESTHOST yara]# ls *.yara
rsa_mw_pdf_artifacts.yara rsa_mw_pe_artifacts.yara rsa_mw_pe_packers.yara


Les règles individuelles sont répertoriées comme indicateurs de compromission dans la vue Configuration du service Malware Analysis > onglet Indicateurs de compromission. Pour les visualiser, utilisez le module Yara comme filtre. Vous pouvez ajuster la configuration d'une règle individuelle de la même manière que vous configurez d'autres indicateurs de compromission.

Yara and IOC.png

Ajouter des règles YARA personnalisées

Pour introduire des règles YARA personnalisées à partir d'autres sources :

  1. Afin de garantir que les règles YARA suivent le format et la syntaxe corrects, utilisez la commande YARA pour compiler la règle YARA comme le montre l'exemple suivant. Si la règle compile sans erreur, cela indique que la règle YARA a la syntaxe appropriée.
    [root@TESTHOST yara]# yara rsa_mw_pe_packers.yara dummy.txt
    [root@TESTHOST yara]#
  2. Assurez-vous que les règles personnalisées ne reproduisent pas de règles YARA existantes issues de RSA ou d'autres sources. Toutes les règles YARA sont dans /var/lib/rsamalware/spectrum/yara.
  3. Assurez-vous que les clés métas prises en charge par RSA sont incluses afin d'organiser les règles YARA en tant que partie des indicateurs de compromission configurables, puis nommez le fichier avec l'extension yara (<filename>.yara). Pour une meilleure organisation, assurez-vous que la méta iocName est incluse dans la section méta comme illustré dans l'exemple suivant.

    Exemple :
    rule HEX_EXAMPLE
    {
         meta:
             author = "RSA"
             info = "HEX Detection"
            iocName = "Hex Example"
         strings:
             $hex1 = { E2 34 A1 C8 23 FB }
             $wide_string = "Ausov" wide ascii
         condition:
             $hex1 or $wide_string
    }

  4. Lorsque vous êtes prêt, placez le fichier YARA personnalisé dans le dossier que le service Malware Analysis surveille :
    /var/lib/rsamalware/spectrum/yara/watch
    Le fichier est utilisé en une minute.
    Après cela, Security Analytics déplace le fichier vers le dossier processed et la nouvelle règle est ajoutée à la vue Configuration du service Malware Analysis > onglet Indicateurs de compromission.
You are here
Table of Contents > Mener une analyse de malware > Implémenter du contenu YARA personnalisé

Attachments

    Outcomes