En plus des indicateurs de compromission intégrés, Malware Analysis prend également en charge les indicateurs de compromission écrits en 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 rubrique « Activer le contenu YARA personnalisé » du Guide de configuration de Malware Analysis.
Version et ressources YARA
RSA Malware Analysis est fourni avec YARA version 3.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 3.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
Remarque : Reportez-vous à l'URL suivante pour les ressources YARA : https://code.google.com/p/yara-project/downloads/list. NetWitness Platform utilise YARA 3.7 et non 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 NetWitness Platform Live.
Sur l'hôte Malware Analysis, les règles YARA résident dans /var/lib/netwitness/malware-analytics-server/spectrum/yara, comme illustré dans l'exemple ci-dessous.
[root@TESTHOST yara]# pwd
/var/lib/netwitness/malware-analytics-server/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.
Ajouter des règles YARA personnalisées
Pour introduire des règles YARA personnalisées à partir d'autres sources :
- 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 YARA compile sans erreur, sa syntaxe est correcte.
[root@TESTHOST yara]# yara rsa_mw_pe_packers.yara dummy.txt
[root@TESTHOST yara]# - 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/netwitness/malware-analytics-server/spectrum/yara
- 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
} - Lorsque vous êtes prêt, placez le fichier YARA personnalisé dans le dossier que le service Malware Analysis surveille :
/var/lib/netwitness/malware-analytics-server/spectrum/yara/watch
Le fichier est utilisé en une minute.
Ensuite, NetWitness Platform 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.