Yara est un outil initialement développé par Victor Manuel Alvarez, qui travaille aujourd’hui chez VirusTotal, pour aider notamment à identifier et classifier les logiciels malicieux. Les règles Yara ont considérablement gagné en popularité au cours des dernières années et sont très largement utilisées. La liste des entreprises spécialisées dans la cybersécurité les mettant à profit est impressionnante.

LeMagIT : Depuis quand utilisez-vous les règles Yara, et à quelle fin ?

Costin Raiu : Personnellement, j’ai commencé à les utiliser autour de 2012/2013. Au sein de Kaspersky, nous les utilisons de manière systématique depuis 2014. C’est une chose d’écrire une règle de temps à autre, mais c’en est une autre que de s’en servir de manière systématique pour les recherches. Nous voulions tirer profit des mécanismes de chasse aux menaces de VirusTotal. C’est avec le framework Yara qu’ils ont créé leur plateforme de chasse aux maliciels, qui s’avère très très utile pour trouver de nouvelles choses intéressantes.

Et puis avec le temps, nous avons commencé à utiliser Yara de plus en plus, à mesure que nous avons développé des systèmes internes s’appuyant dessus, là encore essentiellement pour la chasse aux maliciels et le renseignement sur les menaces. Nous voulions être en mesure de trouver de nouvelles choses, de nouvelles attaques intéressantes, pour partager certaines de ces informations avec nos clients.

Dans quelles mesures les règles Yara complètent-elles les traditionnelles signatures virales ?

Par exemple, je travaille sur quelque chose d’intéressant, et j’ai un échantillon. Je veux collaborer avec un autre analyste, mais je n’ai pas le droit de lui fournir cet échantillon, qui peut avoir été obtenu auprès d’un client, par exemple. Je peux partager à la place une règle Yara qui pourra être utilisée pour trouver des échantillons similaires. Je pense que cela aide beaucoup à coopérer dans la chasse aux maliciels.

Ajoutons à cela que, historiquement, chaque éditeur a son propre système de signatures. Certains utilisent des signatures basées sur des chaînes de caractères, d’autres sur des sommes de contrôle, etc. Aucun standard, donc, avant l’apparition de Yara, qui permet donc un partage entre éditeurs d’une façon qui était impossible auparavant.

Avec le temps, et à mesure que Yara a gagné en popularité, les clients ont commencé à leur tour à demander à disposer de règles Yara pour les attaques de haut niveau. L’antivirus constitue toujours là la première ligne de défense, puisqu’il a la capacité de bloquer les attaques et les échantillons malveillants. Mais parfois, il faut aller plus loin, avec une couche de filtrage additionnelle qui sera difficile à contourner.

Car dans le cadre d’une attaque ciblée, un assaillant peut chercher à savoir quel antivirus vous utilisez, et modifier son malware jusqu’à ce qu’il lui échappe. Parfois, ce n’est pas très dur. Du coup, certaines entreprises ont leurs propres règles privatives que ne connaissent pas les assaillants.

Il y a deux ans, vous évoquiez l’automatisation au moins partielle du processus d’attribution. Les règles Yara peuvent intervenir là ?

Oui, en jouant sur les similarités de code. Les règles Yara sont un moyen pour servir un objectif. Et elles simplifient certaines activités. En 2017, et particulièrement après l’épisode WannaCry, nous avons commencé à nous pencher sur les similarités de code pour essayer d’extraire des caractéristiques du code de malware afin de les utiliser pour en identifier d’autres versions, ou d’autres maliciels du même auteur, en s’appuyant sur la réutilisation d’éléments de code source.

Les premiers résultats ont été excellents. Mais la principale difficulté est d’appliquer cela à d’importants volumes d’échantillons. Nous n’en avons pas les moyens. Certains ont de très vastes fermes de serveurs dédiées à cela. Mais nous avons trouvé une façon de faire cela plus efficacement, avec Yara : en extrayant certaines caractéristiques de code intéressantes pour produire des règles Yara, nous pouvons utiliser nos infrastructures existantes afin de trouver des similarités de code. C’est quelque chose que nous faisons depuis plus de deux ans et demi.

Et ce système aide à l’attribution de nouveau code malveillant à des groupes malicieux connus – et nous nous arrêtons là ; au-delà, c’est du ressort des autorités. C’est par exemple ainsi que nous avons pu associer WannaCry avec le groupe Lazarus et les échantillons liés au détournement de fonds à la banque centrale du Bangladesh.

Parfois, cela peut même aider dans l’autre sens, pour identifier des leurres conçus pour emmener les analyses sur des pistes erronées. Cela a été le cas avec le célèbre Olympic Destroyer.

Tout me donne l’impression de règles permettant de détecter « l’inconnu connu », pour reprendre l’expression d’Art Coviello en ouverture de l’édition 2013 de RSA Conference. Mais les modèles obtenus par entraînement d’algorithmes d’apprentissage automatique ou profond promettent de débusquer aussi « l’inconnu inconnu ».

Oui. Mais je pense que Yara est si puissant qu’il permet de trouver bien plus que ne le permettraient, disons, des choses conventionnelles. Et il peut s’agir par exemple de trouver des anomalies lorsque l’on ne sait même pas ce que l’on cherche. Comme par exemple trouver des logiciels installés sur des machines sous Windows en anglais, mais embarquant des ressources en chinois : lorsque j’exécute Windows en anglais, je n’ai pas de raison d’avoir des exécutables compilés avec des ressources en chinois, et bien sûr non signés numériquement par Microsoft. Ce genre d’anomalies, c’est immédiatement une grosse lumière rouge.

On peut faire ce genre de choses avec Yara. Et au fil des ans, nous avons développé de telles règles qui permettent vraiment de chercher l’inconnu inconnu, à l’instar d’archives capables de s’auto-décompresser et qui téléchargent quelque chose d’Internet, ou des documents Word qui embarquent du code Shell, voire des fichiers Excel qui écrivent des fichiers sur le disque. Il y a beaucoup d’exemples comparables. Pour tout vous dire, une grande part de nos « pouvoirs magiques » vient de l’écriture de telles règles et de leur application au flux d’échantillons arrivant dans notre laboratoire de virologie.

Examiner les détections et chercher dedans des choses intéressantes demande beaucoup de travail. Certains d’entre nous examinent parfois 300 échantillons par jour, parfois plus, pour au final ne rien trouver d’intéressant. Mais de temps en temps, on arrive à attraper des « gros poissons » avec ces technologies.



Source link

Write a comment:
*

Your email address will not be published.