Il y a actuellement plus de 7 260 000 000 000 d'appareils mobiles dans le monde , ce qui signifie que 91,54% de la population mondiale en a une . Environ 2 500 000 000 000 de ces appareils ont Android comme système d'exploitation.
Ce n'est un secret pour personne que ces appareils deviennent de plus en plus importants pour nous, ils sont avec nous pratiquement toute la journée et contiennent beaucoup d'informations personnelles, ce qui en fait une cible intéressante pour les acteurs malveillants.
L'analyse des logiciels malveillants peut être classé en 3 types principaux. Analyse statique , analyse dynamique et analyse hybride .
L'analyse statique est considérée comme une analyse qui n'a pas à exécuter le code pour l'analyser, elle est basée sur la recherche de modèles à travers des règles ou des heuristiques qui les rend extrêmement sûres car il n'y a aucune possibilité d'activer les logiciels malveillants involontairement. Ce type d'analyse est plus rapide que l'analyse dynamique et a un taux de détection élevé pour les logiciels malveillants connus de la nature même de son système de détection.
La numérisation dynamique, en revanche, est tout scan qui doit exécuter le logiciel malveillant pour l'analyser, ce qui signifie qu'une infrastructure plus grande doit être en place pour l'isoler afin que son exécution n'affecte pas les systèmes réels. Ce type de numérisation est plus fiable que le balayage statique et peut détecter les logiciels malveillants inconnus.
Enfin, une analyse qui utilise à la fois des techniques d'analyse statique et dynamique est connue sous le nom d'analyse hybride. Actuellement, des solutions anti-malware bien connues telles que Kaspersky, Avira ou Avast, entre autres, utilisent ce type d'analyse, la divisant en étapes distinctes.
Dans la catégorie de l'analyse statique se trouvent les règles YARA. Les règles YARA sont un type de signature de logiciels malveillants qui permet d'identifier et de classer les logiciels malveillants connus.

Les règles ont trois sections, une section de méta où les informations sur la règle elle-même sont généralement placées, la section des chaînes où les modèles sur lesquels nous allons comparer les logiciels malveillants sont définis et la section des conditions où la condition que le modèle doit se rencontrer pour que le fichier soit considéré comme des logiciels malveillants est définie. Les règles YARA peuvent être extrêmement complexes, donc je recommande de lire leur documentation si vous voulez comprendre plus en détail comment elles fonctionnent.
Un autre point favorable des règles de Yara est qu'ils sont une technique actuelle qui commence à être largement utilisée par les analystes, ce qui signifie qu'il existe un grand nombre de contributions.
Yaralyze est un outil de détection de logiciels malveillants pour les appareils Android qui utilise deux techniques d'analyse statique , l'une utilisant des règles YARA et l'autre sur la base de l'analyse des hachages . Il permet le stockage et la visualisation des rapports , il est conçu en utilisant une architecture client-serveur où le serveur peut être hébergé dans le cloud afin qu'il soit toujours disponible à partir de tout appareil mobile qui a installé le client et utilise des règles de Yara +130 000 et +500 000 hachages de logiciels malveillants obtenus à partir de Virusshare et GitHub (les règles et les hachages ne sont pas publiés dans le Répository).





Deux types de tests ont été effectués. Un type de test consistait à tester l'efficacité de l'outil dans la détection de logiciels malveillants connus, en utilisant des échantillons de brata , sharkbot , cerberus et flubot malwares, et l'autre était de tester la vitesse de l'analyse.


Comme on peut le voir dans les images, il parvient à détecter les fichiers malveillants et ne produit pas de faux positifs avec le vrai apk de Winrar.
| Apk | T1 | T2 | T3 | T4 | Moyenne |
|---|---|---|---|---|---|
| Flubot (malware) | 2.27S | 2.23S | 2.24S | 2.29S | 2.257 |
| Sharkbot (malware) | 2,54S | 2.51 | 2,53s | 2.56s | 2,535 |
| Winrar | 2.18S | 2,20 | 2.16S | 2.16S | 2.175 |
| Emplacement du hachage de la demande | T1 | T2 | T3 | T4 | Moyenne |
|---|---|---|---|---|---|
| DB du client | 0,079 | 0,081 | 0,078 | 0,077 | 0,0787 |
| DB du serveur | 0,088 | 0,085 | 0,087 | 0,091 | 0,0877 |
| Pas de coïncidence | 0,087 | 0,088 | 0,084S | 0,088 | 0,0867 |
Dans le premier tableau, nous pouvons voir qu'en termes de vitesse, on peut observer que les temps d'analyse moyens sont très similaires, c'est parce que tous les APK analysés passent par toutes les règles YARA même si elles ont déjà été marquées comme des logiciels malveillants car il peut y avoir des règles qui restreignent le type de logiciel malveillant que nous traitons. De plus, le temps d'analyse est également conditionné par la taille de l'APK à analyser, comme c'est logique. Ces APK n'avaient pas de tailles très différentes.
Dans le deuxième tableau, nous pouvons voir que les temps sont également très similaires et cela peut sembler étrange car lorsque le hachage est dans la base de données du serveur ou lorsqu'il n'y a pas de correspondance, le client est tenu de faire une demande au serveur, ce qui devrait ralentir la vitesse de l'analyse. Le temps égal peut être justifié par le fait qu'au moment du test, le serveur ne recevait qu'une seule demande afin qu'il ne disposait pas d'une charge de travail lourde et que la base de données n'a pas un nombre suffisamment grand de hachages pour accrocher trop les recherches.