Research Article

Mejora de la detección de malware en Android mediante inteligencia en enjambre y técnicas de autocodificador aplicadas al análisis de llamadas API

DOI:

10.3791/69398

December 30th, 2025

In This Article

Summary

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

Se propone un marco híbrido de detección de malware para Android, que aprovecha representaciones de características aprendidas y clasificadores tradicionales para mejorar la precisión de la detección, reducir la ingeniería manual de características y contrarrestar eficazmente las amenazas de malware en evolución.

Abstract

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

La inteligencia de seguridad contra malware consiste en analizar aplicaciones y sus metadatos para identificar posibles amenazas de seguridad. Las llamadas a la Interfaz de Programación de Aplicaciones (API) sirven como una valiosa fuente de información para detectar malware. Reducir el espacio de características en el análisis de malware mejora la eficiencia en la identificación de amenazas. Esta investigación busca identificar las características más significativas de llamadas API para mejorar la precisión de la detección de malware en Android. Se emplean tres técnicas de optimización basadas en inteligencia de enjambre —Optimización Firefly, Optimización de Búsqueda Cuco y Optimización de Colonias de Hormigas— junto con Auto-Encoders para extraer las características más significativas. Para evaluar estos métodos basados en envoltorios inspirados en la naturaleza, se utilizan clasificadores populares de aprendizaje automático, incluyendo K-Nearest Neighbor (KNN), Random Forest (RF), Support Vector Machine (SVM), Decision Tree (DT) y Linear Regression (LR). Además, se ha demostrado que un clasificador neural artificial híbrido mejora el rendimiento de la categorización de malware. La eficacia del método sugerido se demuestra mediante resultados experimentales, que muestran una precisión del 98,87% utilizando solo 7 de cada 100 características de llamadas API.

Introduction

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

El sistema operativo móvil más popular es Android, que está basado en Linux y tieneuna cuota de mercado global del 72,55%. A diferencia de otros sistemas operativos sujetos a leyes estrictas y derechos de autor, Android es una plataforma de código abierto que acepta contribuciones de desarrolladores de todo el mundo. Pero debido a su gran base de usuarios, los ataques de virus lo atacan con frecuencia. Malware es el término que se refiere a software malicioso destinado a comprometer el funcionamiento de sistemas informáticos o a aprovecharse de información privada. El método más común de infiltración de malware en el ecosistema Android es a través de la descarga de aplicaciones. Aunque las aplicaciones obtenidas de fuentes confiables suelen ser seguras, aquellas descargadas de plataformas no verificadas o maliciosas pueden contener software dañino. Los ciberdelincuentes suelen explotar vulnerabilidades de seguridad en los dispositivos, desplegando malware que compromete suintegridad 2.

A medida que el número de usuarios sigue creciendo, también incrementa el volumen de datos valiosos accesibles para los ciberatacantes. Un atacante puede explotar esto distribuyendo una aplicación maliciosa en los mercados oficiales de aplicaciones móviles. Una vez que un usuario desprevenido instala la aplicación, concede inadvertidamente al atacante acceso a su dispositivo. Dada la creciente prevalencia de estas amenazas, las técnicas avanzadas de detección de malware son esenciales para contrarrestar el gran número de aplicacionesmaliciosas 3,4,5. Se han desarrollado varias tecnologías existentes para predecir malwareen Android 6,7. Sin embargo, estos enfoques se basan principalmente en la detección basada en firmas, que implica identificar rastros digitales incrustados en el código de la aplicación. Extraídas del Android Package Kit (APK) del software, estas firmas se comparan con una base de datos de patrones hostiles conocidos. Aunque este enfoque tiene éxito detectando malware ya reportado, no puede reconocer nuevas amenazas que aún no se hayan añadido a la base de datos. 8

A medida que el malware sigue desarrollándose, con su creciente prevalencia, es crucial desarrollar una solución capaz de detectar con precisión diversos tipos de malware9 optimizando el tiempo y los recursos computacionales. Para mejorar la detección de malware en smartphones Android, se ha hecho mucho trabajo. Las técnicas convencionales de detección basadas en firma emparejan la firma de un archivo APK con firmas maliciosas que han sido identificadas y almacenadas en una base de datos. Pero este método no funciona para malware que aún no se ha detectado, lo que pone de manifiesto la necesidad de sistemas de detección mássofisticados 10, 11 y 12.

La hipótesis que este artículo pretende probar es: Identificar llamadas sospechosas a la API para mejorar la precisión de clasificación de aplicaciones Android benignas y maliciosas. Desarrollo e implementación de un modelo híbrido de clasificación que integra Auto-Encoders con Redes Neuronales Artificiales. Formulando una función objetivo para la optimización de la inteligencia en enjambre, que mejora el proceso de aprendizaje introduciendo penalizaciones para facilitar el descubrimiento de soluciones casi óptimas. Examinar varias métricas de rendimiento y seleccionar el método óptimo para la predicción de malware en Android.

Trabajo relacionado

Un notable aumento en la diversidad y volumen de malware ha resultado del uso generalizado de la plataforma Android, lo que ha llevado a los investigadores a crear técnicas eficientes de detección y prevención 13,14,15. A través de investigaciones estadísticas, Deckard y Rasoolzadegan16 abordaron el problema de los conjuntos de datos desequilibrados en la detección de malware en Android. Para preprocesar y equilibrar los datos, utilizaron la Técnica de Sobremuestreo de Minorías Sintéticas (SMOTE), submuestreo y técnicas de clasificación. Utilizando clasificadores KNN, SVM y Iterative Dichotomizer 3 (ID3), su modelo de detección alcanzó una mayor precisión del 98,69% cuando el enfoque SMOTE se emparejaba con el clasificadorKNN 16.

El uso de la frecuencia de términos-frecuencia inversa de documentos (TF-IDF) para la identificación de malware en Android fue investigado por Priya yVisalakshi 17 en otro estudio. Crearon un evaluador de permisos para puntuar y calificar permisos, que posteriormente se clasificaron usando redes neuronales artificiales. Este método superó a los sistemas existentes con una precisión del 94,22%. Además, para mejorar el rendimiento en la clasificación de malware de Android, basado en regresión lineal, Yildiz et al.18 ideó un método de selección de características. Su método redujo el tiempo de entrenamiento y produjo un aumento del 96,1% en la precisión. Para aumentar la precisión y eficiencia en la detección de malware en Android, esta investigación pone de manifiesto la importancia de abordar cuestiones como la selección de características y los conjuntos de datos desequilibrados.

Se utilizaron la Selección de Características Recursivas (RFS) y un clasificador de conjunto en un modelo presentado por Al Sarahh et al.19 para mejorar la detección de malware en Android. En este método, el algoritmo LightGBM se utiliza para clasificar las características más relevantes que RFS ha identificado. Los resultados del experimento mostraron que el modelo fue efectivo, con una precisión de clasificación del 99,5%. Para la categorización de malware Android, Ding et al.20 también sugirieron una arquitectura de aprendizaje profundo que utiliza una Red Neuronal Convolucional (CNN). En su proceso, los archivos de bytecode se extraen de APKs de Android y se convierten en matrices bytecode bidimensionales. Estas matrices se utilizan para entrenar el modelo CNN, que en experimentos logró una tasa de precisión del 95,1%. Esta investigación pone de manifiesto cómo los modelos de aprendizaje profundo y las técnicas de selección de características pueden combinarse con clasificadores de conjunto para aumentar la precisión de los sistemas de detección de malware en Android.

Mediante el uso de técnicas de aprendizaje profundo, Elayan y Mustafa21 superaron las carencias de los métodos convencionales de detección de malware en sistemas Android actualizados. Superaron a las técnicas tradicionales utilizando una Unidad Recorrente Restringida (GRU) para diferenciar entre aplicaciones maliciosas y benignas, alcanzando una precisión del 98,2%. El Proceso de Jerarquía Analítica (AHP) también se integró en una técnica difusa basada en riesgos para la detección de virus móviles propuesta por Arif et al.22. Además de identificar malware, su sistema evalúa los niveles de riesgo y los divide en cuatro grupos: extremadamente bajo, bajo, medio y alto. Con esta técnica exhaustiva, la precisión global fue del 90,54%. La eficacia de métodos sofisticados de aprendizaje automático, como los frameworks fuzzy AHP y los modelos de aprendizaje profundo basados en GRU, para mejorar la precisión y resiliencia de los sistemas de detección de malware en Android, queda demostrada por estos estudios.

Para superar las desventajas de los enfoques basados en firmas, Mercaldo y Santone23 utilizaron técnicas de procesamiento de señales de audio para extraer información numérica de los ejecutables de la aplicación convirtiéndolos en archivos de audio. Su método, que utilizaba un clasificador de redes neuronales, produjo una precisión de detección del 95,2%. Para superar las dificultades asociadas a la laboriosa ingeniería de características, Zhang et al.24 presentaron TC-Droid, un marco automático que utiliza técnicas de clasificación de texto. Con una tasa de precisión del 96,6%, este método analiza secuencias de texto de informes de análisis de aplicaciones utilizando redes neuronales convolucionales.

Con una precisión del 93,4%, Imtiaz et al.25 presentaron DeepAMD, una técnica basada en redes neuronales artificiales destinada a la categorización eficaz y la detección temprana de malware Android. Firdaus et al.26 crearon una técnica de selección de características basada en la búsqueda genética para el análisis estático en la detección de malware en Android. Con una tasa de precisión del 95%, los árboles funcionales superaron a otros clasificadores de aprendizaje automático en las pruebas. Un método de selección de características llamado Delta_IDF fue presentado por Peynirci et al.27. Calcula valores inversos de frecuencia de documentos basándose en las ocurrencias de cadenas en archivos APK. En comparación con otros algoritmos, sus experimentos produjeron resultados alentadores.

Shi et al.28 propusieron un marco híbrido CNN-DNN que demostró una alta precisión en la detección combinando las fortalezas de capas convolucionales y densas para la extracción y clasificación de características. De manera similar, Shu et al.29 ofrecieron una encuesta exhaustiva sobre los métodos de detección de malware en Android basados en CNN, destacando sus fortalezas para capturar dependencias espaciales dentro de secuencias de API y opcodes. En el contexto del Internet de las Cosas (IoT), Naeem et al.30 desarrollaron un conjunto apilado de redes convolucionales profundas para la clasificación de malware, lo que mejoró la robustez en entornos de amenazas IoT heterogéneos. Más recientemente, Shu y Dong31 introdujeron LG-PN, un enfoque de fusión local-global en redes prototípicas, para mejorar la detección de malware Android inédito hasta entonces. Aunque estos métodos lograron un éxito notable, dependen en gran medida de arquitecturas convolucionales profundas y requieren recursos computacionales sustanciales. En cambio, el trabajo actual integra inteligencia de enjambre con selección de características basada en autocodificador para reducir la dimensionalidad y mejorar la eficiencia, proporcionando así una alternativa complementaria y ligera a las soluciones profundas basadas en CNN.

Varios estudios previos también se han centrado específicamente en la detección de malware en Android basada en llamadas API, ya que las secuencias de API son indicadores de comportamiento fuertes de actividad maliciosa. Por ejemplo, Karbab et al.32 propusieron usar aprendizaje profundo en secuencias de llamadas a métodos API para identificar aplicaciones maliciosas, demostrando que los patrones temporales en el uso de APIs pueden distinguir eficazmente el malware de las aplicaciones benignas. De manera similar, Muzaffar et al.33 evaluaron varios modelos de aprendizaje automático sobre características de llamadas API y destacaron la importancia de la selección y representación de características para mejorar el rendimiento de detección. Aunque estos trabajos destacan la utilidad de las características a nivel API, la mayoría dependen de modelos de secuencias profundos o de ingeniería de características artesanal, que pueden ser computacionalmente costosas o menos generalizables. En cambio, este estudio utiliza algoritmos de inteligencia en enjambre combinados con autocodificadores para reducir automáticamente la dimensionalidad de las características de la API y luego emplea un clasificador neuronal artificial híbrido para mejorar el rendimiento de detección. Esto posiciona nuestro enfoque como una alternativa ligera pero eficaz que aborda directamente los retos de los datos de llamadas API de alta dimensión.

Mediante la integración de Redes Neuronales Artificiales (RNA), la metodología sugerida en este estudio busca mejorar la detección y categorización de malware en Android. En primer lugar, los autocodificadores se utilizan en técnicas de selección de características basadas en envoltorios para encontrar las características más importantes que distinguen a las aplicaciones peligrosas de las benignas. Para aumentar la eficacia de la clasificación de malware en Android, se evalúa un clasificador neuronal artificial único que combina ANNs con clasificadores de inducción.

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

Protocol

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

El método de selección de características basado en envoltorios que utiliza auto-codificadores se utiliza en la arquitectura sugerida para la detección de malware en Android, como se muestra en la Figura 1. El conjunto de datos se divide en subconjuntos 70:30 de entrenamiento y prueba. La clasificación y la selección de características son los dos pasos principales en el proceso de análisis de malware.

Selección de características (FS): Este paso consiste en buscar iterativamente los mejores subconjuntos de características (véase Definición 1) utilizando algoritmos basados en inteligencia de enjambre, especialmente Cuckoo Search Optimization (CSO), Ant Lion Optimization (ALO) y Firefly Optimization (FO). Después de eso, los autocodificadores procesan las características elegidas para producir una representación comprimida de los datos recibidos. Un enfoque de inducción utiliza entonces la salida de los autocodificadores para evaluar qué tan bien diferencian estas características entre aplicaciones peligrosas y benignas. Para permitir una categorización precisa de casos posteriores, el algoritmo de inducción construye un clasificador mapeando el espacio de características a una colección de etiquetas de clase.

Clasificación: Utilizando el Clasificador Neuronal Artificial sugerido y métodos de inducción bien conocidos, se evalúa en esta fase el conjunto reducido de características de la fase de selección de características para ver cuán eficazmente puede detectar malware de Android.

Mediante el uso de enfoques sofisticados de clasificación y la atención a las características más informativas, esta metodología busca mejorar la precisión y eficiencia de la detección de malware en Android.

Selección de características

Un paso crucial en el aprendizaje automático es la selección de características, que implica determinar cuáles características son más fiables, pertinentes y no redundantes para la construcción de modelos. Reducir los conjuntos de características de manera metódica se vuelve más crucial a medida que los conjuntos de datos siguen creciendo en tamaño y complejidad. El objetivo principal de la selección de características es maximizar el rendimiento del modelo mientras se reducen los gastos computacionales. Se eliminan características repetitivas e innecesarias, permitiendo que el proceso se centre en las variables más significativas para el modelo. En lugar de depender del algoritmo de aprendizaje automático para identificar características significativas, los siguientes son los beneficios de la selección de características antes del entrenamiento del modelo:

Modelos simplificados: Reducir el número de variables de entrada conduce a modelos más sencillos y más fáciles de interpretar y entender.

Reducción de la varianza: Al centrarse en características esenciales, la selección de características ayuda a disminuir la variación del modelo, mitigando así el sobreajuste y mejorando la generalización a nuevos datos.

Reducción del tiempo de entrenamiento: Un conjunto de características más pequeño reduce la carga computacional, lo que resulta en un entrenamiento y evaluación de modelos más rápidos.

Mitigación de la maldición de la dimensionalidad: Los datos de alta dimensión pueden plantear desafíos como mayor complejidad y sobreajuste; La selección de características aborda estos problemas limitando el espacio de características a las variables más informativas.

Definición 1 de selección de características

Piensa en un inductor I y un conjunto de datos D que tiene una distribución D sobre un espacio de instancia etiquetado y contiene características (x 1,x 2,x 3,... ,x n). El subconjunto de características que optimiza la precisión del clasificador C=I(D) se conoce como subconjunto óptimo de características Xopt.

En la selección no supervisada de características, los enfoques basados en envoltorios buscan identificar la combinación óptima de características que mejoran el rendimiento del modelo. Añadiendo o eliminando sistemáticamente características, a menudo mediante algoritmos codiciosos, estos métodos evalúan varios modelos para seleccionar las características más impactantes para el desarrollo de modelos. Este proceso se muestra en la Figura 2.

Para la selección de características, se utilizan algoritmos de inteligencia en enjambre como Firefly Optimization (FO), Cuckoo Search Optimization (CSO) y Ant Lion Optimization (ALO) para superar las tácticas codiciosas convencionales. La función objetivo seleccionada en la etapa de evaluación de aptitud tiene un impacto significativo en la efectividad de estos algoritmos. Tanto la cantidad de características seleccionadas como el error del modelo al final de cada iteración se tienen en cuenta en el procedimiento iterativo de selección de características basado en envoltorios para evaluar la idoneidad de las características seleccionadas. La ecuación (1) formaliza esta evaluación.

Ecuación 3 (1)

La penalización del algoritmo de aprendizaje por errores cometidos durante la evaluación de aptitud se representa por τ en esta ecuación, donde τ ∈ [0,1]. La longitud del subconjunto de características elegida se denota por la variable l, y el número total de características se representa con la variable u.

Codificadores automáticos

Las redes neuronales que se especializan en aprender representaciones comprimidas de datos de entrada se denominan autocodificadores. Un codificador y un decodificador son las dos partes principales de ellos. Mientras el decodificador intenta recuperar la entrada original de esta forma comprimida, procesa los datos de entrada y los comprime en una representación en espacio latente. El entrenamiento de modelos de aprendizaje automático se facilita gracias a la capacidad del codificador para extraer características valiosas de datos no procesados una vez entrenado.

La arquitectura propuesta de autocodificador (como se muestra en la Figura 3) presenta un codificador compuesto por una capa de entrada con N nodos, seguida de dos capas ocultas que contienen N*2 y N nodos, respectivamente. Existe una segunda capa oculta con N/2 nodos llamada espacio latente. Con dos capas ocultas de nodos [N, N*2], el decodificador replica esta estructura, terminando en una capa de salida de N nodos.

Cada capa oculta es seguida por una normalización por lotes para acelerar y estabilizar el proceso de entrenamiento, y todas las capas utilizan la función de activación LeakyReLU para gestionar cualquier posible problema de gradiente nulo. La ecuación (2) proporciona una definición matemática de la función de activación de LeakyReLU:

Ecuación 4 (2)

Donde hθ(x), se obtiene usando la ecuación (3)

Ecuación 6(3)

Aquí, xi=(x1,x 2,...,xn) representa los valores de entrada de los nodos, mientras que wi=(w1,w 2,...,wn) denota los pesos asociados a estos nodos. Durante el proceso de aprendizaje, los pesos se ajustan tras asignarse inicialmente al azar dentro del rango [0,1]. Para evitar que los parámetros pasen por el origen, se añade un término de sesgo en cada capa. La ecuación (4) define el umbral, y si la salida obtenida de la ecuación (3) lo supera, se activa un nodo.

Ecuación 9 (4)

Optimización de selección de características basada en envoltorio de león hormiga (ALWFSO)

Modelando el comportamiento depredador natural del hormiguero león, el Optimizador de León Hormiga (ALO) fue presentado por primera vez por Seyed AliMirjalili 34. Este algoritmo de optimización identifica eficientemente soluciones óptimas independientemente de los valores iniciales de los parámetros. ALO exhibe convergencia rápida y gestiona eficazmente tanto restricciones enteras como discretas. La captura de presas, la creación de trampas, el atrapamiento de hormigas, el movimiento aleatorio de las hormigas y la reparación de trampas son los pasos que conforman el proceso de caza en ALO.

En el contexto del algoritmo Ant Lion Optimizer (ALO), las hormigas representan soluciones candidatas que realizan búsquedas aleatorias en el espacio de soluciones, mientras que los antlions corresponden a las trampas o guías que influyen en los movimientos de las hormigas basándose en los valores de aptitud. Esta doble población modela el comportamiento depredador natural de las hormigas que capturan hormigas. Al principio, las poblaciones tanto de hormigas como de hormigueras se inicializan aleatoriamente. Se seleccionan hormigas para cada hormiga usando el mecanismo de selección de la ruleta, seguido de un proceso de paseo aleatorio (como se muestra en el Algoritmo-1). La ecuación (5) describe entonces cómo se normaliza esta caminata.

Ecuación 10 (5)

Al principio, las poblaciones de hormigas y hormigueras se crean al azar. Se elige un hormiga para cada hormiga mediante un mecanismo de ruleta, permitiendo un paseo aleatorio normalizado mediante fórmulas predeterminadas. Este proceso asegura que los movimientos de las hormigas estén influenciados por la posición de las hormigas leonas, simulando eficazmente el proceso natural de caza. La posición de cada hormiga se actualiza en función de esta interacción, guiando la búsqueda hacia soluciones óptimas.

Debido a su arquitectura, el algoritmo ALO puede recorrer eficazmente espacios de búsqueda complejos, lo que lo convierte en una herramienta poderosa para resolver una variedad de problemas de optimización. La aptitud de cada hormiga se evalúa al concluir cada repetición. Como se muestra en el Algoritmo-1, el hormiguero se sustituye por la hormiga si la hormiga está más en forma que su contraparte. En este caso Ecuación 11, indica la ubicación de la iésima hormiga en la iteración t; I es una proporción; Ecuación 13 indica la ubicación delj-ésimo hormiga en la iteración t; Ecuación 15 es la élite para la caminata aleatoria en la iteración t, que se elige con la ruleta; y Ecuación 16 es el paseo aleatorio del hormiga león en la iteración t, que también está determinado por la ruleta. Tras finalizar cada ciclo, se devuelve la solución globalmente óptima, confirmada por el clasificador integrado de envoltorios.

Algoritmo 1: ALWFSO
Define función objetivo: f(x):x=(x1,x 2,...,xd)
Inicialización aleatoria de la colonia de hormigas y hormigueras
Cálculo de la aptitud de hormigas y hormigas
Elige las mejores hormigas y asume que son élite.
Repetir hasta que se cumpla la condición de terminación o f(x):x=(x1,x 2,...,x d)
Para cada selección hormiga-hormiguera: Utiliza un mecanismo de selección de ruleta para elegir probabilísticamente un hormiga que influirá en el movimiento de la hormiga
X(t) = [0,cum_sum(2r(t 1) - 1),cum_sum(2r(t 2) - 1),...,cum_sum(2r(t n)-1)]
Ecuación 21
Ecuación 22
Fin del bucle de hormigas
Evaluación de aptitud: Recalcular los valores de aptitud de todas las hormigas en función de sus nuevas posiciones.
Sustituye a las hormigas por hormigas si estas demuestran una mejor forma física
Si un hormiga se vuelve más apto, entonces
Ecuación 23
Fin mientras

Optimización de selección de características basada en envoltorios de búsqueda Cuckoo (CSWFSO)

Inspirados por el comportamiento parasitario de cría de algunas especies de cuco, que depositan sus huevos en los nidos de otras aves hospedadoras, Xin-She Yang y Susah Deb35 crearon el algoritmo de búsqueda de cuco en 2009. En este procedimiento, cada cuco pone un huevo en un nido que se selecciona al azar. Las futuras generaciones heredarán nidos con los mejores huevos. La probabilidad de que un ave huésped vea un huevo alienígena es cero, y solo hay un número limitado de nidos hospedadores disponibles.

Algoritmo 2: CSWFSO

Define la función objetivo: f(x):x = (x1,x 2,...,xd)
Genera aleatoriamente una población inicial de n nidos de huéspedes, cada uno correspondiente a una solución candidata xi (i=1,2,3,...,n)
Repite hasta que se cumpla la condición de parada o (tPara un cuco i seleccionado al azar, se produce una nueva solución candidata usando vuelo de Lévy
Ecuación 27
Calcular la aptitud de la solución recién generada Fi [Para maximizar, Fi α f(xi)]
Seleccionar aleatoriamente un nido de hospedadores j de la población n
si (Fi >F j) entonces j se reemplaza por una nueva solución
fin si
Abandona parte de las peores redes por una fracción (pa)
Se construyen nuevos nidos en fracción abandonada (pa) utilizando Ecuación 34
Reserva las mejores soluciones o nidos.
Al clasificarlos, elige el mejor nido o solución disponible en ese momento.
La siguiente generación hereda la mejor solución disponible actualmente.
Fin mientras

Al principio, todos los nidos se inicializan aleatoriamente. A medida que avanzan las iteraciones, cada cuco modifica su posición dentro del espacio de soluciones mediante vuelos de Lévy, como se describe en el Algoritmo 2. El tamaño del paso se ajusta por ∝, y una operación sigmoide convierte los valores continuos generados por la Optimización de Búsqueda Cuckoo (CSO) en un formato binario, como se muestra en las Ecuaciones (6) y (7).

Ecuación 35 (6)

Ecuación 36(7)

Como se muestra en el Algoritmo 2, donde Ecuación 37 y Ecuación 38 son nidos seleccionados aleatoriamente y δ ∈ [0,1], al final de cada iteración, algunos nidos se abandonan y se refrescan con nuevas soluciones candidatas.

Inspirado por el parasitismo de la cría del pájaro cuco, el algoritmo de Optimización de Búsqueda del Cucú (CSO) ha demostrado ser una herramienta útil para tareas de selección de características35. La técnica comienza inicializando una población de nidos, cada uno de los cuales representa una posible solución en el contexto de la selección de características CSO basada en envoltorios. Se utiliza una función objetivo preestablecida para evaluar la aptitud de estos nidos. Utilizando evaluaciones de aptitud, el algoritmo determina la solución óptima—denominada la mejor global—en cada iteración. Para explorar mejor el espacio de soluciones, se elimina una parte del nido, representada por guisante, y se reemplaza por otras nuevas conforme al protocolo CSO. El clasificador de envoltorio incrustado confirma que el algoritmo da la respuesta globalmente óptima una vez finalizadas todas las iteraciones.

Optimización de selección de características basada en envoltorios de Firefly (FWFSO)

Algoritmo 3: FWFSO
Defina la función objetivo: f(x):x = (x1,x 2,...,xd)
Generar un enjambre inicial de n luciérnagas, cada una representando una solución xi (i = 1,2,3,...,n)
Determina la intensidad de luz I de cada luciérnaga basándose en el valor de la función objetivo
Defina el coeficiente de absorción de luz γ
Repite hasta que se cumpla la condición de parada o (t < MaxGeneration)
para cada luciérnaga i (∀ i=1,2,3,... ,n)
para cada luciérnaga j (∀ j=1,2,3,... ,i)
Consigue intensidades de luz de Ii eI j
siyo i <j entonces
Ecuación 48
     Ecuación 49
si no,
Mueve aleatoriamente la luciérnaga i para explorar el espacio de búsqueda
fin si
La atractividad disminuye con la distancia como Ecuación 51
Evalúa la solución actualizada y ajusta la intensidad de la luciérnaga en consecuencia
fin para
fin para
Clasifica las luciérnagas según su intensidad de luz e identifica la que tenga mayor brillo como la mejor solución actual

El algoritmo de Optimización de Luciérnagas, introducido por George Lindfield y JohnPenny 36, emula el comportamiento natural de las luciérnagas para atraer a otras. En este algoritmo, la atractividad de una luciérnaga es directamente proporcional a su brillo, mientras que la distancia entre dos luciérnagas es inversamente proporcional a su atractivo. Si no hay luciérnagas más brillantes cerca, una se moverá aleatoriamente.

Dos luciérnagas se sienten atraídas por su brillo; una luciérnaga menos brillante se inclinará hacia una más brillante. El movimiento aleatorio se usa cuando no hay una luciérnaga más brillante. Con β0 denotando belleza, la distancia r=0 entre dos luciérnagas se utiliza para calcular su atractivo. La separación rjk entre luciérnagas j y k se calcula de la siguiente manera: Ecuación 55 Aquí, rji y rki aparte, los componentes espaciales de la idimensión para luciérnagas jth y kth, respectivamente, y n representa el número de dimensiones. El movimiento de una luciérnaga hacia otra está gobernado por el grado de atracción entre ellas: Ecuación 60. En esta ecuación, rj la posición actual de Firefly j, γ es la luz Ranard es un número aleatorio entre 0 y 1, α es la tasa de mutación y el coeficiente de absorción. Si no hay más luciérnagas brillantes, la luciérnaga se moverá al azar según αα. Tras cada iteración, el clasificador wrapper incrustado valida la solución mínima global, que luego se devuelve.

Clasificador

Tanto los conjuntos de datos estructurados como los no estructurados pueden clasificarse dividiéndolos en grupos o clases discretos. El objetivo es utilizar los atributos de los nuevos datos para predecir su clase o etiqueta. Este procedimiento determina la categoría a la que pertenecen los datos frescos aproximando una función de mapeo de variables de entrada a variables de salida discretas.

Bosques aleatorios, árboles de decisión, K-vecinos más cercanos, regresión logística y máquinas de vectores de soporte están entre los algoritmos de inducción o clasificación utilizados para evaluar la solución sugerida de detección de malwarepara Android 37. Además, este trabajo presenta el Clasificador Neuronal Artificial, un clasificador híbrido revolucionario que combina algoritmos de inducción convencionales con Redes Neuronales Artificiales.

Clasificador neuronal artificial

El diseño sugerido de Clasificador Neuronal Artificial (ANC) combina un clasificador de inducción y Redes Neuronales Artificiales (RNA), como se muestra en la Figura 4. Según esta arquitectura, se enseña al NA a identificar patrones y correlaciones entre las características de entrada. El clasificador de inducción utiliza la información que el ANN ha aprendido para mejorar la precisión en la identificación de software malicioso de software seguro.

Tras extensas pruebas, el ANN dentro del ANC se configuró con tres capas ocultas totalmente conectadas, cada una con M nodos, siguiendo una capa de entrada con N nodos. Hay una capa de salida que se conecta al clasificador de inducción tras una capa oculta adicional completamente conectada con M/2 nodos. La ecuación (8) determina el número de nodos en las capas ocultas:

Ecuación 62 (8)

donde M denota el número de nodos en una capa oculta, N representa el número de características de entrada, y α es un parámetro que varía entre 2 y 10. La función de activación (como se muestra en la Ecuación (9)) desempeña un papel crucial para determinar si una neurona está activada, dependiendo de que la salida supere un umbral especificado.

Ecuación 64 (9)

Aquí, hθ(x) se calcula según la ecuación (3). El ANC utiliza el optimizador Adam para ajustar los pesos de la red y las tasas de aprendizaje. En Adam, las tasas de decaimiento para la estimación Ecuación 65 del primer momento y la estimación del segundo momento Ecuación 66 para cada peso ωij se denotan por β1 y β2, respectivamente. Sea N la tasa de aprendizaje. Las reglas de actualización para Adán se muestran en Ecuaciones (10) y (11):

Ecuación 70 (10)

Ecuación 71 (11)

Las estimaciones de primer y segundo momento corregidas por sesgo, Ecuación 72 y Ecuación 73, se calculan como se calcula usando las Ecuaciones (12) y (13):

Ecuación 74 (12)

Ecuación 75 (13)

Estos cálculos aseguran que el optimizador mantenga tasas de aprendizaje adecuadas para cada peso, facilitando un entrenamiento eficiente y eficaz del ANC.

La regla de actualización de peso para cada conexión en la red neuronal se define mediante la Ecuación (14):

Ecuación 76 (14)

Tras actualizar los pesos de la red neuronal, el rendimiento se evalúa utilizando una función de pérdida que mide la discrepancia entre las salidas previstas y reales. En este modelo, se emplea el Error Absoluto Medio (MAE), tal como se define en la Ecuación (15), para este propósito:

Ecuación 77 (15)

En este contexto, yi representa la salida real, Ecuación 79 denota la salida predicha y n es el número total de instancias de salida. Después de que la red neuronal ha sido entrenada durante un número definido de épocas, las representaciones aprendidas del espacio de características se transfieren al clasificador de inducción para distinguir entre malware y software benigno.

El propuesto Clasificador Neuronal Artificial (ANC) funciona como un marco híbrido que combina las capacidades de aprendizaje de características de una Red Neuronal Artificial (RNA) con las fortalezas de toma de decisiones de los clasificadores de inducción tradicionales, como el Bosque Aleatorio y el Árbol de Decisión. En este diseño, el RNA primero procesa las características seleccionadas obtenidas del autocodificador para aprender patrones complejos y correlaciones entre atributos de entrada. Las representaciones resultantes aprendidas se pasan luego al clasificador de inducción, que realiza la clasificación final de las aplicaciones Android como benignas o maliciosas. De este modo, el ANC actúa como un envoltorio, mejorando los clasificadores convencionales con incrustaciones profundas de características mientras preserva su interpretabilidad. Este mecanismo híbrido permite al ANC aprovechar tanto la abstracción de características de alto nivel del ANN como la toma de decisiones robusta de clasificadores de aprendizaje automático establecidos, lo que resulta en una mayor precisión y generalización en la detección.

Montaje experimental

En la configuración experimental se utilizó un sistema operativo Windows 10 de 64 bits, con un procesador i5 - 2,30 GHz, 8 GB de RAM y un disco duro de 2 TB. Se utilizó Python 3.7 como lenguaje de programación, y la plataforma Jupyter se configuró para habilitar paquetes de aprendizaje automático y deep learning.

El IEEE Dataport proporcionó los datos de secuencias de llamadas API del experimento, que incluían 43.876 secuencias, de las cuales 42.797 fueron clasificadas como malware y 1.079 como goodware. Virus Total se utilizó para la verificación, y el entorno Cuckoo Sandbox para la recopilación de datos. La Tabla 1 ofrece una explicación completa de las secuencias de llamadas a la API.

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

Results

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

Varios indicadores de rendimiento, como el Error Cuadrático Medio (MSE), el Error Cuadrático Medio Raíz (RMSE), Precisión, Recordatorio, Puntuación F1 y Precisión, se utilizan en el sistema propuesto de detección de malware Android para evaluar la precisión de la clasificación. A continuación se presenta una definición de estas medidas.

Ecuación 80

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

Discussion

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

Las amenazas de malware en Android están aumentando, con adversarios empleando técnicas de evasión cada vez más sofisticadas. Los sistemas y aplicaciones móviles basados en Android desempeñan un papel crucial en las ciudades inteligentes y en entornos industriales. Garantizar la seguridad de estos sistemas, especialmente en dominios tan críticos, requiere mecanismos robustos de detección de malware. Recientemente, la investigación sobre detección de malware basada en aprendizaje automáti...

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

Disclosures

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

Ningún conflicto de intereses ni influencias externas afectó los resultados de este trabajo. Todos los métodos, resultados e interpretaciones presentados son originales e imparciales

Acknowledgements

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

Quisiera expresar mi sincero agradecimiento a mi guía y a KLU, que apoyaron este trabajo. Su orientación, comentarios y ánimo fueron inestimables durante el desarrollo de este proyecto.

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.Navegante-2023
Google ColabGoogle LLCN/A
Cuaderno JupyterProyecto JupyterN/A
PythonFundación de Software Python>=3,9
PyTorchInvestigación en IA en Facebook>=2,0
Scikit-learnImpulsado por la comunidad>=1.0
TensorFlowGoogle Brain>=2,8
Sistema operativo 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