Research Article

Amélioration de la détection des malwares Android grâce à l’intelligence en essaim et aux techniques d’autoencoder appliquées à l’analyse des appels API

DOI:

10.3791/69398

December 30th, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Un cadre hybride de détection des malwares Android est proposé, exploitant les représentations de caractéristiques apprises et les classificateurs traditionnels pour améliorer la précision de la détection, réduire l’ingénierie manuelle des fonctionnalités et contrer efficacement les menaces malveillantes en évolution.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

L’intelligence de sécurité des logiciels malveillants consiste à analyser les applications et leurs métadonnées afin d’identifier les menaces potentielles à la sécurité. Les appels d’interface de programmation d’applications (API) constituent une source précieuse d’informations pour détecter les logiciels malveillants. Réduire l’espace de fonctionnalités dans l’analyse des malwares améliore l’efficacité de l’identification des menaces. Cette recherche vise à identifier les fonctionnalités les plus significatives des appels API pour améliorer la précision de la détection des malwares Android. Trois techniques d’optimisation basées sur l’intelligence en essaim – l’optimisation des lucioles, l’optimisation de la recherche en coucou et l’optimisation des colonies de fourmis – sont employées parallèlement aux Auto-Encoders pour extraire les caractéristiques les plus significatives. Pour évaluer ces méthodes basées sur les enveloppes inspirées de la nature, des classificateurs d’apprentissage automatique populaires, notamment K-Nearest Neighbor (KNN), Random Forest (RF), Support Vector Machine (SVM), Decision Tree (DT) et Linear Regression (LR), sont utilisés. De plus, un classificateur neuronal artificiel hybride a démontré qu’il améliore les performances de la catégorisation des logiciels malveillants. L’efficacité de la méthode suggérée est démontrée par des résultats expérimentaux, qui montrent une précision de 98,87 % en utilisant seulement 7 fonctionnalités d’appels API sur 100.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le système d’exploitation mobile le plus populaire est Android, basé sur Linux et détenant une part de marché mondiale de 72,55%. Contrairement à d’autres systèmes d’exploitation soumis à des lois strictes et aux droits d’auteur, Android est une plateforme open source qui accueille les contributions de développeurs du monde entier. Mais en raison de sa grande base d’utilisateurs, les attaques virales le ciblent fréquemment. Le terme malveillant désigne des logiciels malveillants destinés à compromettre le fonctionnement des systèmes informatiques ou à exploiter des informations privées. La méthode la plus courante d’infiltration de logiciels malveillants dans l’écosystème Android est le téléchargement d’applications. Bien que les applications obtenues à partir de sources fiables soient généralement sécurisées, celles téléchargées depuis des plateformes non vérifiées ou malveillantes peuvent contenir des logiciels nuisibles. Les cybercriminels exploitent souvent les vulnérabilités de sécurité des appareils, déployant des logiciels malveillants pour compromettre leurintégrité 2.

À mesure que le nombre d’utilisateurs continue d’augmenter, le volume de données précieuses accessibles aux cyberattaquants augmente également. Un attaquant peut exploiter cela en distribuant une application malveillante sur les places de marché officielles d’applications mobiles. Une fois qu’un utilisateur sans méfiance installe l’application, il accorde involontairement à l’attaquant l’accès à son appareil. Compte tenu de la prévalence croissante de telles menaces, des techniques avancées de détection des logiciels malveillants sont essentielles pour contrer le grand nombre d’applicationsmalveillantes 3,4,5. Plusieurs technologies existantes ont été développées pour prédire les malwares Android 6,7. Cependant, ces approches reposent principalement sur la détection basée sur la signature, qui consiste à identifier des traces numériques intégrées dans le code de l’application. Extraites du kit Android Package Kit (APK) du logiciel, ces signatures sont comparées à une base de données de motifs hostiles connus. Bien que cette approche réussisse à détecter les malwares déjà signalés, elle ne parvient pas à reconnaître les nouvelles menaces qui n’ont pas encore été ajoutées à la base de données. 8

À mesure que les malwares continuent de se développer, avec la prévalence croissante des malwares, il est crucial de développer une solution capable de détecter avec précision différents types demalwares tout en optimisant le temps et les ressources de calcul. Pour améliorer la détection des malwares sur les smartphones Android, beaucoup de travail a été accompli. Les techniques conventionnelles de détection basées sur la signature associent la signature d’un fichier APK à des signatures malveillantes identifiées et stockées dans une base de données. Mais cette méthode ne fonctionne pas pour les malwares qui n’ont pas encore été détectés, ce qui souligne la nécessité de systèmes de détection plussophistiqués 10, 11, 12.

L’hypothèse que cet article vise à tester est la suivante : identifier les appels API suspects afin d’améliorer la précision de classification des applications Android bénignes et malveillantes. Développement et mise en œuvre d’un modèle de classification hybride qui intègre des Auto-Encoders avec des réseaux de neurones artificiels. Formuler une fonction d’objectif pour l’optimisation de l’intelligence en essaim, qui améliore le processus d’apprentissage en introduisant des pénalités facilitant la découverte de solutions quasi-optimales. Examiner plusieurs indicateurs de performance et sélectionner la méthode optimale pour la prédiction des malwares Android.

Travaux connexes

Une augmentation notable de la diversité et du volume des malwares a résulté de l’utilisation généralisée de la plateforme Android, ce qui a incité les chercheurs à créer des techniques efficaces de détection et de prévention13, 14, 15. Grâce à des recherches statistiques, Deckard et Rasoolzadegan16 ont abordé la question des ensembles de données déséquilibrés dans la détection de malwares Android. Pour prétraiter et équilibrer les données, ils ont utilisé la technique de suréchantillonnage synthétique des minorités (SMOTE), des techniques de sous-échantillonnage et de classement. En utilisant KNN, SVM et classificateurs Dichotomiseur Itératif 3 (ID3), leur modèle de détection a atteint une précision supérieure de 98,69 % lorsque l’approche SMOTE était associée au classificateurKNN 16.

L’utilisation de la fréquence des termes-fréquence inverse des documents (TF-IDF) pour l’identification des malwares Android a été étudiée par Priya etVisalakshi 17 dans une autre étude. Ils ont créé un correcteur d’autorisations pour noter et noter les permissions, qui ont ensuite été classifiées à l’aide de réseaux de neurones artificiels. Cette méthode a surpassé les systèmes existants avec une précision de 94,22 %. De plus, afin d’améliorer les performances de classification des malwares Android, basée sur la régression linéaire, une méthode de sélection des caractéristiques a été mise au point par Yildiz et al.18. Leur méthode réduisait le temps d’entraînement et produisait une augmentation de 96,1 % de la précision. Afin d’accroître la précision et l’efficacité de la détection des logiciels malveillants Android, cette recherche met collectivement en lumière l’importance de s’attaquer à des problèmes tels que la sélection de fonctionnalités et les ensembles de données déséquilibrés.

La sélection de caractéristiques récursive (RFS) et un classificateur d’ensemble ont été utilisés dans un modèle présenté par Al Sarahh et al.19 pour améliorer la détection des malwares Android. Dans cette méthode, l’algorithme LightGBM est utilisé pour classer les caractéristiques les plus pertinentes identifiées par RFS. Les résultats de l’expérience ont montré que le modèle était efficace, avec une précision de classification de 99,5 %. Pour la catégorisation des logiciels malveillants Android, Ding et al.20 ont également suggéré une architecture d’apprentissage profond utilisant un réseau neuronal convolutionnel (CNN). Dans leur processus, les fichiers bytecode sont extraits des APK Android et convertis en matrices bytecode bidimensionnelles. Ces matrices sont utilisées pour entraîner le modèle CNN, qui, lors des expériences, a atteint un taux de précision de 95,1 %. Cette recherche met en lumière comment les modèles d’apprentissage profond et les techniques de sélection de fonctionnalités peuvent être combinés avec des classificateurs d’ensemble pour augmenter la précision des systèmes de détection de malwares Android.

En utilisant des techniques d’apprentissage profond, Elayan et Mustafa21 ont surmonté les lacunes des méthodes conventionnelles de détection des malwares dans les systèmes Android mis à jour. Ils ont surpassé les techniques traditionnelles en utilisant une Unité À Courant Limité (GRU) pour différencier les applications malveillantes et bénignes, atteignant une précision de 98,2 %. Le Processus Hiérarchique Analytique (AHP) a également été intégré dans une technique floue basée sur le risque pour la détection des virus mobiles, proposée par Arif et al.22. En plus d’identifier les malwares, leur système évalue les niveaux de risque et les divise en quatre groupes : extrêmement faible, faible, moyen et élevé. Avec cette technique rigoureuse, la précision globale était de 90,54 %. L’efficacité de méthodes sophistiquées d’apprentissage automatique, telles que les frameworks AHP flous et les modèles d’apprentissage profond basés sur GRU, est démontrée par ces études.

Afin de surmonter les inconvénients des approches basées sur la signature, Mercaldo et Santone23 ont utilisé des techniques de traitement du signal audio pour extraire des informations numériques des exécutables applicatifs en les transformant en fichiers audio. Leur méthode, qui utilisait un classificateur de réseau de neurones, a produit une précision de détection de 95,2 %. Afin de surmonter les difficultés liées à l’ingénierie laborieuse des caractéristiques, Zhang et al.24 ont présenté TC-Droid, un cadre automatique qui utilise des techniques de classification de texte. Avec un taux de précision de 96,6 %, cette méthode analyse des séquences textuelles issues de rapports d’analyse d’application à l’aide de réseaux de neurones convolutionnels.

Avec une précision de 93,4 %, Imtiaz et al.25 ont présenté DeepAMD, une technique basée sur un réseau de neurones artificiels destinée à la catégorisation efficace et à la détection précoce des malwares Android. Firdaus et al.26 ont créé une technique de sélection de caractéristiques basée sur la recherche génétique pour l’analyse statique dans la détection de malwares Android. Avec un taux de précision de 95 %, les arbres fonctionnels ont surpassé les autres classificateurs d’apprentissage automatique lors des tests. Une méthode de sélection de caractéristiques appelée Delta_IDF a été présentée par Peynirci et al.27. Il calcule les valeurs inverses de fréquence des documents en fonction des occurrences de chaînes dans les fichiers APK. Comparés à d’autres algorithmes, leurs expériences ont donné des résultats encourageants.

Shi et al.28 ont proposé un cadre hybride CNN-DNN qui démontrait une forte précision de détection en combinant les forces des couches convolutionnelles et denses pour l’extraction et la classification des caractéristiques. De même, Shu et al.29 ont fourni une enquête complète sur les méthodes de détection des malwares Android basées sur CNN, mettant en avant leurs points forts pour capturer les dépendances spatiales au sein des séquences d’API et d’opcode. Dans le contexte de l’Internet des objets (IoT), Naeem et al.30 ont développé un ensemble superposé de réseaux convolutionnels profonds pour la classification des malwares, ce qui a amélioré la robustesse dans des environnements de menaces IoT hétérogènes. Plus récemment, Shu et Dong31 ont introduit LG-PN, une approche de fusion locale-globale dans des réseaux prototypiques, afin d’améliorer la détection des logiciels malveillants Android jusque-là inédits. Bien que ces méthodes aient rencontré un succès notable, elles reposent largement sur des architectures convolutionnelles profondes et nécessitent des ressources computationnelles substantielles. En revanche, le présent travail intègre l’intelligence en essaim avec la sélection de fonctionnalités basée sur l’autoencodeur afin de réduire la dimensionnalité et d’améliorer l’efficacité, offrant ainsi une alternative complémentaire et légère aux solutions profondes basées sur CNN.

Plusieurs études antérieures se sont également concentrées spécifiquement sur la détection de malwares Android par appels API, car les séquences API sont des indicateurs comportementaux forts d’activités malveillantes. Par exemple, Karbab et al.32 ont proposé d’utiliser l’apprentissage profond sur des séquences d’appels de méthodes API pour identifier des applications malveillantes, démontrant que les schémas temporels dans l’utilisation des API peuvent distinguer efficacement les malwares des applications bénignes. De même, Muzaffar et al.33 ont évalué divers modèles d’apprentissage automatique sur les fonctionnalités des appels API et ont souligné l’importance de la sélection et de la représentation des caractéristiques pour améliorer les performances de détection. Bien que ces travaux mettent en avant l’utilité des fonctionnalités au niveau API, la plupart reposent soit sur des modèles de séquences profonds, soit sur l’ingénierie des caractéristiques réalisée à la main, qui peut être coûteuse en calcul ou moins généralisable. En revanche, cette étude utilise des algorithmes d’intelligence en essaim combinés à des autoencodeurs pour réduire automatiquement la dimensionnalité des caractéristiques de l’API, puis emploie un Classificateur Neuronal Artificiel hybride pour améliorer la performance de détection. Cela positionne notre approche comme une alternative légère mais efficace qui répond directement aux défis des données d’appels API en haute dimension.

Grâce à l’intégration des réseaux de neurones artificiels (RNA), la méthodologie suggérée dans cette étude vise à améliorer la détection et la catégorisation des malwares Android. Premièrement, les auto-encodeurs sont utilisés dans des techniques de sélection de caractéristiques basées sur des enveloppes pour identifier les caractéristiques les plus importantes qui distinguent les applications dangereuses des applications bénignes. Pour augmenter l’efficacité de la classification des malwares Android, un classificateur neuronal artificiel unique combinant les RNA avec des classificateurs d’induction est ensuite évalué.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La méthode de sélection de caractéristiques basée sur des enveloppes utilisant des auto-encodeurs est utilisée dans l’architecture suggérée pour la détection de logiciels malveillants Android, comme montré à la Figure 1. Le jeu de données est divisé en sous-ensembles d’entraînement et de test 70:30. La classification et la sélection des caractéristiques sont les deux principales étapes du processus d’analyse des malwares.

Sélection des caractéristiques (FS) : Cette étape consiste à rechercher de manière itérative les meilleurs sous-ensembles de caractéristiques (voir Définition 1) en utilisant des algorithmes basés sur l’intelligence en essaim, notamment l’optimisation de recherche Cuckoo (CSO), l’optimisation des lions fourmis (ALO) et l’optimisation des lucioles (FO). Ensuite, les auto-encodeurs traitent les fonctionnalités choisies pour produire une représentation compressée des données entrantes. Une approche d’induction utilise ensuite la sortie des auto-encodeurs pour évaluer dans quelle mesure ces fonctionnalités différencient les applications dangereuses des applications bénignes. Afin de permettre une catégorisation précise des cas suivants, l’algorithme d’induction construit un classificateur en associant l’espace des caractéristiques à une collection d’étiquettes de classes.

Classification : En utilisant le classificateur neuronal artificiel suggéré et des méthodes d’induction bien connues, le jeu réduit de fonctionnalités à partir de la phase de sélection des caractéristiques est évalué à cette étape afin de voir dans quelle mesure il peut détecter les malwares Android.

En utilisant des approches sophistiquées de classification et en se concentrant sur les fonctionnalités les plus informatives, cette méthodologie vise à améliorer la précision et l’efficacité de la détection des malwares Android.

Sélection des fonctionnalités

Une étape cruciale de l’apprentissage automatique est la sélection de caractéristiques, qui consiste à déterminer quelles caractéristiques sont les plus fiables, pertinentes et non redondantes pour la construction de modèles. Réduire méthodiquement les ensembles de fonctionnalités devient plus crucial à mesure que les ensembles de données continuent de croître en taille et en complexité. L’objectif principal de la sélection de fonctionnalités est de maximiser la performance du modèle tout en réduisant les coûts de calcul. Les fonctionnalités répétitives et inutiles sont supprimées, permettant au processus de se concentrer sur les variables les plus significatives pour le modèle. Au lieu de dépendre de l’algorithme d’apprentissage automatique pour identifier des caractéristiques significatives, voici les avantages de la sélection des caractéristiques avant l’entraînement du modèle :

Modèles simplifiés : Réduire le nombre de variables d’entrée conduit à des modèles plus simples, plus faciles à interpréter et à comprendre.

Réduction de la variance : En se concentrant sur les caractéristiques essentielles, la sélection des caractéristiques aide à diminuer la variance du modèle, atténuant ainsi le surapprentissage et améliorant la généralisation vers de nouvelles données.

Réduction du temps d’entraînement : Un ensemble de fonctionnalités plus restreint réduit la charge de calcul, ce qui permet un entraînement et une évaluation plus rapides du modèle.

Atténuation de la malédiction de la dimensionnalité : Les données de haute dimension peuvent poser des défis tels qu’une complexité accrue et un surapprentissage ; La sélection des caractéristiques répond à ces problèmes en limitant l’espace des caractéristiques aux variables les plus informatives.

Définition 1 de la sélection des caractéristiques

Pensez à un inducteur I et à un jeu de données D qui a une distribution D sur un espace d’instance étiqueté et contient des caractéristiques (x 1,x 2,x 3,... ,x n). Le sous-ensemble des caractéristiques qui optimise la précision du classificateur C=I(D) est appelé le sous-ensemble optimal Xopt.

Dans la sélection non supervisée des fonctionnalités, les approches basées sur des enveloppes visent à identifier la combinaison optimale de fonctionnalités qui améliorent les performances du modèle. En ajoutant ou en supprimant systématiquement des fonctionnalités, souvent via des algorithmes avides, ces méthodes évaluent divers modèles afin de sélectionner les caractéristiques les plus impactantes pour le développement de modèles. Ce processus est illustré à la Figure 2.

Pour la sélection des caractéristiques, des algorithmes d’intelligence en essaim comme l’optimisation des lucioles (FO), l’optimisation de recherche cucou (CSO) et l’optimisation des lions fourmis (ALO) sont utilisés pour surpasser les tactiques avides conventionnelles. La fonction objectif sélectionnée lors de l’évaluation de la fitness a un impact significatif sur l’efficacité de ces algorithmes. La quantité de caractéristiques choisies et l’erreur du modèle à la fin de chaque itération sont prises en compte dans la procédure itérative de sélection de caractéristiques basée sur des enveloppes afin d’évaluer la pertinence des caractéristiques sélectionnées. L’équation (1) formalise cette évaluation.

Équation 3 (1)

La pénalité de l’algorithme d’apprentissage pour les erreurs commises lors de l’évaluation de la condition physique est représentée par τ dans cette équation, où τ ∈ [0,1]. La longueur du sous-ensemble de caractéristiques choisi est notée par la variable l, et le nombre total de caractéristiques est représenté par la variable u.

Encodeurs automatiques

Les réseaux de neurones spécialisés dans l’apprentissage des représentations compressées des données d’entrée sont appelés autoencodeurs. Un encodeur et un décodeur sont les deux parties principales de ces composantes. Pendant que le décodeur tente de récupérer l’entrée originale de cette forme compressée, il traite les données d’entrée et les comprime en une représentation en espace latent. L’entraînement des modèles en apprentissage automatique est facilité par la capacité de l’encodeur à extraire des fonctionnalités précieuses à partir de données non traitées une fois entraîné.

L’architecture d’autoencodeur proposée (comme montré à la Figure 3) comprend un encodeur composé d’une couche d’entrée avec N nœuds, suivie de deux couches cachées contenant respectivement N*2 et N nœuds. Il existe une seconde couche cachée avec N/2 nœuds appelée l’espace latent. Avec deux couches cachées de [N, N*2], le décodeur réplique cette structure, se terminant par une couche de sortie de N nœuds.

Chaque couche cachée est suivie d’une normalisation par lots pour accélérer et stabiliser le processus d’entraînement, et toutes les couches utilisent la fonction d’activation LeakyReLU pour gérer tout problème possible de gradient nul. L’équation (2) fournit une définition mathématique de la fonction d’activation de LeakyReLU :

Équation 4 (2)

Où hθ(x), est obtenu à l’aide de l’équation (3)

Équation 6(3)

Ici, xi=(x1,x 2,...,xn) représente les valeurs d’entrée des nœuds, tandis que wi=(w1,w 2,...,wn) désigne les poids associés à ces nœuds. Au cours du processus d’apprentissage, les poids sont ajustés après avoir été initialement attribués au hasard dans la plage [0,1]. Pour empêcher les paramètres de passer par l’origine, un terme de polarisation est ajouté à chaque couche. L’équation (4) définit le seuil, et si la sortie obtenue de l’équation (3) le dépasse, un nœud est déclenché.

Équation 9 (4)

Optimisation de la sélection de caractéristiques basée sur l’emballage de lions de fourmis (ALWFSO)

Modélisant le comportement prédateur naturel des fourmiliers, l’Optimeur de lions de fourmis (ALO) a été présenté pour la première fois par Seyed AliMirjalili 34. Cet algorithme d’optimisation identifie efficacement les solutions optimales indépendamment des valeurs initiales des paramètres. ALO présente une convergence rapide et gère efficacement à la fois les contraintes entières et discrètes. La capture de proies, la création de pièges, l’emprisonnement des fourmis, les mouvements aléatoires des fourmis et la réparation des pièges sont les étapes qui composent le processus de chasse dans ALO.

Dans le contexte de l’algorithme Ant Lion Optimizer (ALO), les fourmis représentent des solutions candidates effectuant des recherches aléatoires dans l’espace des solutions, tandis que les fourmilions correspondent aux pièges ou guides influençant les mouvements des fourmis en fonction des valeurs de fitness. Cette double population modélise le comportement prédateur naturel des fourmiliers capturant les fourmis. Au départ, les populations de fourmis et de fourmis sont initialisées de manière aléatoire. Les fourmiliers sont sélectionnés pour chaque fourmi à l’aide du mécanisme de sélection de la roulette, suivi d’un processus de marche aléatoire (comme montré dans l’Algorithme-1). L’équation (5) décrit alors comment cette marche est normalisée.

Équation 10 (5)

Au début, les populations de fourmis et de fourmiliers sont créées au hasard. Un fourmili est choisi pour chaque fourmi à l’aide d’un mécanisme de roulette, permettant une marche aléatoire normalisée à l’aide de formules prédéterminées. Ce processus garantit que les mouvements des fourmis sont influencés par la position des fourmiliers, simulant efficacement le processus naturel de chasse. La position de chaque fourmi est ensuite mise à jour en fonction de cette interaction, guidant la recherche vers des solutions optimales.

Grâce à son architecture, l’algorithme ALO peut efficacement parcourir des espaces de recherche complexes, ce qui en fait un outil puissant pour résoudre une variété de problèmes d’optimisation. La condition physique de chaque fourmi est évaluée à la fin de chaque répétition. Comme montré dans l’algorithme-1, la fourmi est remplacée par la fourmi si celle-ci est plus adaptée que sa seconde. Dans ce cas Équation 11, indique la position de la iième fourmi à l’itération t ; I est un ratio ; Équation 13 indique la position dela fourmili j à l’itération t ; Équation 15 est l’élite pour la marche aléatoire à l’itération t, choisie par la roulette ; et Équation 16 est la marche aléatoire de la fourmilier à l’itération t, qui est également déterminée par la roulette. Après chaque cycle, la solution globalement optimale, confirmée par le classificateur intégré des enveloppes, est restituée.

Algorithme 1 : ALWFSO
Définir la fonction objectif : f(x) :x=(x1,x 2,...,x d)
Initialisation aléatoire de la colonie de fourmis et de fourmiliers
Calcul de la condition physique des fourmis et des fourmilis
Choisissez les meilleurs fourmiliers et supposez qu’ils sont d’élite.
Répéter jusqu’à ce que la condition de terminaison soit remplie ou f(x) :x=(x1,x 2,...,xd)
Pour chaque sélection fourmi-fourmi : Utilisez un mécanisme de sélection de la roue de roulette pour choisir probabilisticement un fourmili-lion qui influencera le déplacement de la fourmi
X(t) = [0,cum_sum(2r(t 1) - 1),cum_sum(2r(t 2) - 1),...,cum_sum(2r(t n)-1)]
Équation 21
Équation 22
Fin de la boucle de fourmi
Évaluation de la condition physique : Recalculez les valeurs de fitness de toutes les fourmis en fonction de leurs nouvelles positions.
Remplacer les fourmiliers par des fourmis si celles-ci démontrent une meilleure forme physique
Si un fourmilier devient plus apte, alors
Équation 23
Fin tandis que

Optimisation de la sélection de caractéristiques basée sur des enveloppes de recherche cuckoo (CSWFSO)

Inspirés par le comportement parasitaire de la couvée de certaines espèces de coucous, qui déposent leurs œufs dans les nids d’autres oiseaux hôtes, Xin-She Yang et SusahDeb 35 ont créé l’algorithme de recherche du coucou en 2009. Dans cette procédure, chaque coucou pond un œuf dans un nid choisi au hasard. Les générations futures hériteront des nids contenant les meilleurs œufs. La probabilité qu’un oiseau hôte repère un œuf extraterrestre est nulle, et il n’y a qu’un certain nombre de nids hôtes accessibles.

Algorithme 2 : CSWFSO

Définir la fonction objectif : f(x) :x = (x 1,x 2,...,xd)
Générer aléatoirement une population initiale de n nids d’hôtes, chacun correspondant à une solution candidate xi (i=1,2,3,...,n)
Répéter jusqu’à ce que la condition d’arrêt soit satisfaite ou (tPour un coucou i sélectionné au hasard, produire une nouvelle solution candidate en utilisant le vol de Lévy
Équation 27
Calculer la fitness de la nouvelle solution générée Fi [Pour maximiser, Fi α f(xi)]
Sélectionnez aléatoirement un nid d’hôtes j parmi la population n
si (Fi >Fj) alors j est remplacé par une nouvelle solution
fin si
Abandonner une partie des filets les plus mauvais par une fraction (pa)
De nouveaux nids sont construits en fraction abandonnée (pa) en utilisant Équation 34
Mettez de côté les meilleures solutions ou nids.
En les classant, choisissez le meilleur nid ou la meilleure solution disponible en ce moment.
La génération suivante hérite de la meilleure solution disponible aujourd’hui.
Fin tandis que

Au départ, tous les nids sont initialisés de manière aléatoire. Au fil des itérations, chaque coucou modifie sa position dans l’espace des solutions via des vols de Lévy, comme décrit dans l’Algorithme 2. La taille du pas est ajustée par ∝, et une opération sigmoïde convertit les valeurs continues générées par l’optimisation de la recherche cuckoo (CSO) en format binaire, comme illustré dans les équations (6) et (7).

Équation 35 (6)

Équation 36(7)

Comme montré dans l’Algorithme 2, où Équation 37 et Équation 38 sont des nids choisis au hasard et δ ∈ [0,1], à la fin de chaque itération, certains nids sont abandonnés et rafraîchis avec de nouvelles solutions candidates.

Inspiré par le parasitisme de la couvée du coucou, l’algorithme d’optimisation de recherche du coucou (CSO) s’est avéré être un outil utile pour les tâches de sélectionde caractéristiques 35. La technique commence par initialiser une population de nids, chacun représentant une solution possible dans le contexte de la sélection de caractéristiques CSO basée sur des enveloppes. Une fonction objectif prédéfinie est utilisée pour évaluer la valeur de ces nids. À l’aide d’évaluations d’aptitude, l’algorithme détermine la solution optimale — appelée la meilleure globale — à chaque itération. Pour mieux explorer l’espace de solutions, une partie du nid, représentée par un pois, est supprimée et remplacée par de nouvelles selon le protocole CSO. Le classificateur enveloppant intégré confirme que l’algorithme fournit la réponse globalement optimale une fois toutes les itérations terminées.

Optimisation de la sélection de caractéristiques basée sur le wrapper Firefly (FWFSO)

Algorithme 3 : FWFSO
Définissons la fonction objectif : f(x) :x = (x1,x 2,...,xd)
Générer un essaim initial de n lucioles, chacune représentant une solutionx i (i = 1,2,3,...,n)
Déterminez l’intensité lumineuse I de chaque luciole en fonction de la valeur de la fonction objectif
Définissez le coefficient d’absorption de la lumière γ
Répéter jusqu’à ce que la condition d’arrêt soit remplie ou (t < MaxGeneration)
Pour chaque luciole I (∀ i=1,2,3,... ,n)
pour chaque luciole j (∀ j=1,2,3,... ,i)
Obtenez des intensités lumineuses de Ii etI j
sije i <j j alors
Équation 48
     Équation 49
sinon
Déplacez aléatoirement le luciole i pour explorer l’espace de recherche
fin si
L’attractivité diminue avec la distance comme Équation 51
Évaluez la solution mise à jour et ajustez l’intensité de la luciole en conséquence
fin pour
fin pour
Classez les lucioles selon leur intensité lumineuse et identifiez celle avec la plus grande luminosité comme la meilleure solution actuelle

L’algorithme d’optimisation des lucioles, introduit par George Lindfield et JohnPenny 36, émule le comportement naturel des lucioles pour attirer d’autres lucioles. Dans cet algorithme, l’attractivité d’une luciole est directement proportionnelle à sa luminosité, tandis que la distance entre deux lucioles est inversement proportionnelle à leur attractivité. Si aucune luciole plus brillante n’est à proximité, une luciole se déplacera de façon aléatoire.

Deux lucioles sont attirées l’une par l’autre en fonction de leur luminosité ; Une luciole moins brillante se tournera vers une plus brillante. Le mouvement aléatoire est utilisé lorsqu’il n’y a pas de luciole plus brillante. Avec β0 désignant la beauté, la distance r=0 entre deux lucioles est utilisée pour calculer leur attractivité. La séparation rjk entre les lucioles j et k est calculée comme suit : Équation 55 ici, rji et rki notent en aparté les composantes spatiales de la iième dimension pour les lucioles jth et kth, respectivement, et n représente le nombre de dimensions. Le déplacement d’une luciole vers une autre est régi par le degré d’attraction entre elles : Équation 60. Dans cette équation, rj est la position actuelle de la luciole j, γ est la lumière Ranard est un nombre aléatoire entre 0 et 1, α est le taux de mutation et le coefficient d’absorption. S’il n’y a plus de lucioles brillantes, celle-ci se déplacera au hasard selon αα. Après chaque itération, le classificateur enveloppeur intégré valide la solution minimale globale, qui est ensuite retournée.

Classificateur

Les ensembles de données structurés et non structurés peuvent être classés en les décomposant en groupes ou classes discrets. L’objectif est d’utiliser les attributs des nouveaux points de données pour prévoir leur classe ou leur label. Cette procédure détermine la catégorie à laquelle appartiennent les données fraîches en approximant une fonction de correspondance des variables d’entrée vers des variables de sortie discrètes.

Les forêts aléatoires, arbres de décision, K-plus proches voisins, régression logistique et machines à vecteurs de support font partie des algorithmes d’induction ou de classification utilisés pour évaluer la solution de détection de malware Androidsuggérée 37. De plus, ce travail présente le Classificateur Neuronal Artificiel, un classificateur hybride révolutionnaire qui combine des algorithmes d’induction conventionnels avec des réseaux neuronaux artificiels.

Classificateur neuronal artificiel

La conception suggérée d’un Classificateur Neuronal Artificiel (ANC) combine un classificateur d’induction et des réseaux neuronaux artificiels (RNA), comme on le voit à la Figure 4. Selon cette architecture, l’ANN est instruit à identifier les motifs et corrélations entre les caractéristiques d’entrée. Le classificateur d’induction utilise les informations acquises par l’ANN pour améliorer la précision de l’identification des logiciels malveillants des logiciels sûrs.

Après des tests approfondis, l’ANN à l’intérieur de l’ANC a été configuré avec trois couches cachées entièrement connectées, chacune avec M nœuds, suivant une couche d’entrée avec N nœuds. Il existe une couche de sortie qui est connectée au classificateur d’induction après une couche cachée entièrement connectée avec M/2 nœuds. L’équation (8) détermine le nombre de nœuds dans les couches cachées :

Équation 62 (8)

où M désigne le nombre de nœuds dans une couche cachée, N représente le nombre de caractéristiques d’entrée, et α est un paramètre allant de 2 à 10. La fonction d’activation (telle que montrée dans l’équation (9)) joue un rôle crucial dans la détermination de l’activation d’un neurone, à condition que la sortie dépasse un seuil spécifié.

Équation 64 (9)

Ici, hθ(x) est calculé selon l’équation (3). L’ANC utilise l’optimiseur Adam pour ajuster les poids du réseau et les taux d’apprentissage. Dans Adam, les taux de désintégration pour l’estimation Équation 65 du premier moment et l’estimation Équation 66 du second moment pour chaque poids ωij sont notés respectivement β1 et β2. Soit N le taux d’apprentissage. Les règles de mise à jour pour Adam sont présentées dans les équations (10) et (11) :

Équation 70 (10)

Équation 71 (11)

Les estimations corrigées du premier et du second moment, Équation 72 et Équation 73, sont calculées à l’aide des équations (12) et (13) :

Équation 74 (12)

Équation 75 (13)

Ces calculs garantissent que l’optimiseur maintient des taux d’apprentissage appropriés pour chaque poids, facilitant un entraînement efficace et efficace de l’ANC.

La règle de mise à jour du poids pour chaque connexion dans le réseau de neurones est définie par l’équation (14) :

Équation 76 (14)

Après mise à jour des poids du réseau de neurones, la performance est évaluée à l’aide d’une fonction de perte qui mesure l’écart entre les sorties prédites et réelles. Dans ce modèle, l’erreur absolue moyenne (MAE), telle que définie dans l’équation (15), est utilisée à cette fin.

Équation 77 (15)

Dans ce contexte, yi représente la sortie réelle, Équation 79 désigne la sortie prédite, et n est le nombre total d’instances de sortie. Après que le réseau de neurones a été entraîné sur un nombre défini d’époques, les représentations apprises de l’espace des caractéristiques sont transférées au classificateur d’induction pour distinguer les logiciels malveillants et les logiciels bénins.

Le Classificateur Neuronal Artificiel (ANC) proposé fonctionne comme un cadre hybride qui combine les capacités d’apprentissage des caractéristiques d’un réseau neuronal artificiel (RNA) avec les forces décisionnelles des classificateurs d’induction traditionnels, tels que la forêt aléatoire et l’arbre décisionnel. Dans cette conception, l’ANN traite d’abord les caractéristiques sélectionnées obtenues à partir de l’autoencodeur afin d’apprendre des motifs complexes et des corrélations entre les attributs d’entrée. Les représentations obtenues apprises sont ensuite transmises au classificateur d’induction, qui effectue la classification finale des applications Android comme bénignes ou malveillantes. De cette manière, l’ANC agit comme un enveloppement, améliorant les classificateurs conventionnels avec des encadrements profonds de caractéristiques tout en préservant leur interprétabilité. Ce mécanisme hybride permet à l’ANC de tirer parti à la fois de l’abstraction de caractéristiques de haut niveau de l’ANN et de la prise de décision robuste issue des classificateurs d’apprentissage automatique établis, ce qui entraîne une amélioration de la précision et de la généralisation de la détection.

Installation expérimentale

Un système d’exploitation Windows 10 64 bits, avec un processeur i5 - 2,30 GHz, 8 Go de RAM et un disque dur de 2 To, a été utilisé dans la configuration expérimentale. Python 3.7 a été utilisé comme langage de programmation, et la plateforme Jupyter a été conçue pour permettre l’apprentissage automatique et les paquets d’apprentissage profond.

Le Dataport IEEE fournissait les données de séquence d’appels API de l’expérience, qui comprenaient 43 876 séquences – dont 42 797 classées comme malwares et 1 079 comme goodware. Virus Total était utilisé pour la vérification, et l’environnement Cuckoo Sandbox était utilisé pour la collecte de données. Le tableau 1 offre une explication complète des séquences d’appels API.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Plusieurs indicateurs de performance, tels que l’erreur quadratique moyenne (MSE), l’erreur quadratique moyenne (RMSE), la précision, le rappel, le score F1 et la précision, sont utilisés dans le système de détection des malwares Android proposé pour évaluer la précision de la classification. Voici une définition de ces mesures.

Équation 80

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les menaces de malwares Android augmentent, les adversaires employant des techniques d’évasion de plus en plus sophistiquées. Les systèmes et applications mobiles basés sur Android jouent un rôle crucial dans les villes intelligentes et les environnements industriels. Garantir la sécurité de ces systèmes, en particulier dans des domaines aussi critiques, nécessite des mécanismes robustes de détection des malwares. Récemment, la recherche sur la détection des malwares basée sur l’apprenti...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Aucun conflit d’intérêts ni influence extérieure n’a affecté les résultats de ce travail. Toutes les méthodes, résultats et interprétations présentés sont originaux et impartiaux

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Je tiens à exprimer ma sincère gratitude à mon guide et à KLU, qui ont soutenu ce travail. Leurs conseils, leurs retours et leurs encouragements ont été inestimables tout au long du développement de ce projet.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Anaconda NavigatorAnaconda, Inc.Navigator-2023
Google ColabGoogle LLCN/A
Cahier JupyterProjet JupyterN/A
PythonFondation Python Software>=3,9
PyTorchRecherche sur l’IA sur Facebook>=2,0
Scikit-learnAnimé par la communauté>=1.0
TensorFlowGoogle Brain>=2,8
Système d’exploitation WindowsMicrosoft Corporation11

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Stat Counter. Mobile operating systems' market share worldwide. , https://gs.statcounter.com/os-market-share/mobile/worldwide (2025).
  2. Daj, A. C., Mateescu, A., Endre-Laszlo, A., Baciu, A., Flondor, E. Malicious-google-play-apps-bypassed-android-security. , https://www.bitdefender.com/en-us/blog/labs/malicious-google-play-apps-bypassed-android-security (2025).
  3. Han, Q., Subrahmanian, V. S., Xiong, Y. Android Malware Detection via (Somewhat). IEEE Trans Inf Forensics Secur. 15, 3511-3525 (2020).
  4. De Lorenzo, A., Martinelli, F., Medvet, E., Mercaldo, F., Santone, A. Visualizing the outcome of dynamic analysis of Android malware with VizMal. J Info Security Appl. 50, 102423(2020).
  5. Xu, J., Li, Y., Deng, R., Xu, K. SDAC: A Slow-Aging Solution for Android Malware Detection Using Semantic Distance Based API Clustering. IEEE Trans Dependable Secure Comput. , 1-15 (2020).
  6. Mahindru, A., Sangal, A. L. A feature selection technique to detect malware from Android using Machine Learning Techniques. Multimed Tools Appl. 80 (9), 13271-13323 (2021).
  7. Hasan, H., Ladani, B. T., Zamani, B. MEGDroid: A model-driven event generation framework for dynamic android malware. Info Soft Tech. 135, 106569(2021).
  8. Premkumar, G., Santhosh, C. Automated Android Malware Detection Using Artificial Intelligence and Machine Learning. Int J Res Publicat Rev. 5 (4), 1950-1954 (2024).
  9. Liu, X., Du, X., Lei, Q., Liu, K. Multifamily Classification of Android Malware With a Fuzzy Strategy to Resist Polymorphic Familial Variants. IEEE Access. 8, 156900-156914 (2020).
  10. Detection of Malware under Android Mobile Application. Hani, S. I., Sahib, N. M. 3rdInt Conf Eng Tech Appl, , 179-184 (2020).
  11. Jiang, J., et al. Android Malware Family Classification Based on Sensitive Opcode. IEEE Symp Comp Comm (ISCC). , 1-7 (2019).
  12. Xiong, P., Wang, X., Niu, W., Zhu, T., Li, G. Android malware detection with contrasting permission patterns. China Comm. 11 (8), 1-14 (2014).
  13. Daoudi, N., Allix, K., Bissyandé, T. F., Klein, J. Lessons Learnt on Reproducibility in Machine Learning Based Android Malware Detection. Emp Soft Eng. 26, 74(2021).
  14. Qaisar, Z. H., Li, R. Multimodal information fusion for android malware detection using lazy learning. Multimed Tools Appl. 81, 12077-12091 (2021).
  15. Rathore, H., Sahay, S. K., Nikam, P., Sewak, M. Robust android malware detection system against adversarial attacks using q-learning. Info Sys Front. 23, 867-882 (2021).
  16. Dehkordy, D. T., Rasoolzadegan, A. A new machine learning-based method for android malware detection on imbalanced dataset. Multimed Tools Appl. 80, 24533-24554 (2021).
  17. Dharmalingam, V. P., Palanisamy, V. A novel permission ranking system for android malware detection-the permission grader. J Ambient Intell Humanized Comput. 12, 5071-5081 (2021).
  18. Yildiz, O., Doğru, I. A. Permission-based Android malware detection system using feature selection based on genetic algorithm. Int J Soft Eng Knowledge Eng. 29 (2), 245-262 (2019).
  19. Sarah, N. A., Rifat, F. Y., Hossain Md, S., Narman, H. S. An Efficient Android Malware Prediction Using Ensemble machine learning algorithm. Procedia Comp Sci. 191, 184-191 (2021).
  20. Ding, Y., Zhang, X., Hu, J., Xu, W. Android malware detection method based on bytecode Image. J Ambient Intell Humanized Comp. 14, 6401-6410 (2020).
  21. Elayan, O. N., Mustafa, A. M. Android Malware Detection Using Deep Learning. Procedia Comp Sci. 184, 847-852 (2021).
  22. Arif, J. M., et al. Android mobile malware detection using fuzzy AHP. J Info Secur Appl. 61, 102929(2021).
  23. Mercaldo, F., Santone, A. Audio signal processing for Android malware detection and family identification. J Comp Virol Hacking Techs. 17, 139-152 (2021).
  24. Zhang, N., Tan, Y., Yang, C., Li, Y. Deep learning feature exploration for Android malware detection. Appl Soft Comp. 102, 1568-4946 (2021).
  25. Imtiaz, S. I., et al. DeepAMD: Detection and identification of Android malware using high-efficient Deep Artificial Neural Network. Future Generat Comp Syst. 115, 844-856 (2021).
  26. Firdaus, A., Anuar, N. B., Karim, A., Razak, M. F. A. Discovering optimal features using static analysis and a genetic search-based method for Android malware detection. Front Info Technol Elect Eng. 19, 712-736 (2018).
  27. Peynirci, G., Eminağaoğlu, M., Karabulut, K. Feature Selection for Malware Detection on the Android Platform Based on Differences of IDF Values. J Comp Sci Technol. 35 (4), 946-962 (2020).
  28. Dong, S., Shu, L., Nie, S. Android malware detection method based on CNN and DNN bybrid mechanism. IEEE Transact Ind Info. 20 (5), 7744-7753 (2024).
  29. Shu, L., Dong, S., Su, H., Huang, J. Android malware detection methods based on convolutional neural network: A survey. IEEE Trans Emerging Top Comp Intell. 7 (5), 1330-1350 (2023).
  30. Naeem, H., Cheng, X., Ullah, F., Jabbar, S., Dong, S. A deep convolutional neural network stacked ensemble for malware threat classification in internet of things. J Circuits Sys Comp. 31 (17), 2250302(2022).
  31. Shu, L., Dong, S. Enhanced unknown Android Malware Detection using LG-PN: A local-global fusion approach in prototypical networks. J Info Security Appl. 91, 104062(2025).
  32. Karbab, E. B., Debbabi, M., Derhab, A., Mouheb, D. Android Malware Detection using Deep Learning on API Method Sequences. arXiv. , (2017).
  33. Android Malware Detection Using API Calls: A Comparison of Feature Selection and Machine Learning Models. Muzaffar, A., Ragab Hassan, H., Lones, M. A., Zantout, H. Proc Int Conf Appl Cyber Security (ACS), , 3-12 (2021).
  34. Mirjalili, S. The Ant Lion Optimizer. Adv Eng Sof. 83, 80-98 (2015).
  35. Yang, X. Y., Deb, S. Cuckoo Search via Lévy flights. arXiv. , (2009).
  36. Yang, X. S. Nature-Inspired Optimization Algorithms. , Academic Press. (2017).
  37. Gerard, A. Detecting malicious content from extracted API call sequence by applying deep learning and machine learning algorithm. , National College of Ireland. Ireland. (2020).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Android Malware DetectionSwarm IntelligenceAPI Call AnalysisAutoencoder TechniquesFeature SelectionFirefly OptimizationCuckoo Search OptimizationAnt Colony OptimizationMachine Learning ClassifiersNeural Network Classifier

Related Articles