Research Article

Aprimorando a Detecção de Malware Android por Meio de Inteligência em Enxame e Técnicas de Autoencoder Aplicadas à Análise de Chamadas de API

DOI:

10.3791/69398

December 30th, 2025

In This Article

Summary

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

É proposto um framework híbrido de detecção de malware para Android, aproveitando representações de características aprendidas e classificadores tradicionais para aumentar a precisão da detecção, reduzir a engenharia manual de recursos e combater ameaças de malware em evolução de forma eficaz.

Abstract

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

A Inteligência de Segurança de Malware envolve a análise de aplicações e seus metadados para identificar potenciais ameaças à segurança. Chamadas de Interface de Programação de Aplicações (API) servem como uma fonte valiosa de informações para detectar malware. Reduzir o espaço de recursos na análise de malware aumenta a eficiência da identificação de ameaças. Esta pesquisa busca identificar os recursos mais significativos de chamadas de API para aprimorar a precisão da detecção de malware Android. Três técnicas de otimização baseadas em inteligência de enxame — Otimização Firefly, Otimização de Busca Cuco e Otimização em Colônia de Formigas — são empregadas junto com Auto-Codificadores para extrair as características mais significativas. Para avaliar esses métodos baseados em wrappers inspirados na natureza, classificadores populares de aprendizado de máquina, incluindo K-Nearest Neighbor (KNN), Random Forest (RF), Support Vector Machine (SVM), Decision Tree (DT) e Linear Regression (LR). Além disso, um classificador neural artificial híbrido demonstrou melhorar o desempenho da categorização de malware. A eficácia do método sugerido é demonstrada por resultados experimentais, que mostram uma precisão de 98,87% usando apenas 7 de 100 recursos de chamadas API.

Introduction

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

O sistema operacional móvel mais popular é o Android, que é baseado no Linux e possui uma participação global de mercado de 72,55%. Em contraste com outros sistemas operacionais sujeitos a leis rigorosas e direitos autorais, o Android é uma plataforma de código aberto que recebe contribuições de desenvolvedores do mundo todo. Mas, devido à sua grande base de usuários, ataques de vírus o atacam frequentemente. Malware é o termo para software malicioso destinado a comprometer o funcionamento de sistemas de computador ou a aproveitar informações privadas. O método mais comum de infiltração de malware no ecossistema Android é por meio do download de aplicativos. Embora aplicações obtidas de fontes confiáveis sejam geralmente seguras, aquelas baixadas de plataformas não verificadas ou maliciosas podem conter softwares prejudiciais. Cibercriminosos frequentemente exploram vulnerabilidades de segurança em dispositivos, implantando malware para comprometer suaintegridade 2.

À medida que o número de usuários continua crescendo, o volume de dados valiosos acessíveis aos ciberatacantes também aumenta. Um atacante pode explorar isso distribuindo um aplicativo malicioso em marketplaces oficiais de aplicativos móveis. Uma vez que um usuário desavisado instala o aplicativo, ele concede inadvertidamente ao atacante acesso ao seu dispositivo. Dada a crescente prevalência dessas ameaças, técnicas avançadas de detecção de malware são essenciais para combater o vasto número de aplicaçõesmaliciosas 3,4,5. Várias tecnologias existentes foram desenvolvidas para prever malwareAndroid 6,7. No entanto, essas abordagens dependem principalmente da detecção baseada em assinatura, que envolve identificar trilhas digitais embutidas no código da aplicação. Extraídas do Android Package Kit (APK) do software, essas assinaturas são comparadas a um banco de dados de padrões hostis conhecidos. Embora essa abordagem seja bem-sucedida em detectar malwares já relatados, ela não consegue reconhecer novas ameaças que ainda não foram adicionadas ao banco de dados. 8

À medida que o malware continua se desenvolvendo, com a crescente prevalência do malware, é crucial desenvolver uma solução capaz de detectar com precisão vários tipos de malware, otimizando o tempo e os recursos computacionais. Para melhorar a detecção de malware em smartphones Android, muito trabalho foi feito. Técnicas convencionais de detecção baseadas em assinatura correspondem à assinatura de um arquivo APK com assinaturas maliciosas que foram identificadas e armazenadas em um banco de dados. Mas esse método não funciona para malwares que ainda não foram encontrados, o que enfatiza a necessidade de sistemas de detecção maissofisticados 10, 11, 12.

A hipótese que este artigo pretende testar é: identificar chamadas de API suspeitas para melhorar a precisão da classificação de aplicativos Android benignos e maliciosos. Desenvolvimento e implementação de um modelo híbrido de classificação que integra Auto-Encoders com Redes Neurais Artificiais. Formulando uma função objetivo para otimização da inteligência em enxame, que aprimora o processo de aprendizado ao introduzir penalidades para facilitar a descoberta de soluções quase ótimas. Examinando várias métricas de desempenho e selecionando o método ideal para previsão de malware Android.

Trabalhos relacionados

Um aumento notável na diversidade e volume de malware resultou do uso generalizado da plataforma Android, o que levou pesquisadores a criar técnicas eficientes de detecção e prevenção13, 14, 15. Por meio de pesquisas estatísticas, Deckard e Rasoolzadegan16 abordaram a questão dos conjuntos de dados desbalanceados na detecção de malware Android. Para pré-processar e balancear os dados, eles usaram a Técnica de Superamostragem Sintética de Minorias (SMOTE), subamostragem e técnicas de ranking. Usando classificadores KNN, SVM e Iterative Dichotomiser 3 (ID3), seu modelo de detecção alcançou uma precisão maior de 98,69% quando a abordagem SMOTE foi pareada ao classificadorKNN 16.

O uso da Frequência de Termos-Frequência Inversa de Documento (TF-IDF) para identificação de malware Android foi investigado por Priya eVisalakshi 17 em outro estudo. Eles criaram um avaliador de permissões para pontuar e avaliar permissões, que foram posteriormente classificadas usando redes neurais artificiais. Esse método superou sistemas existentes com uma precisão de 94,22%. Além disso, para melhorar o desempenho da classificação de malware do Android, baseado em regressão linear, um método de seleção de características foi desenvolvido por Yildiz et al.18. O método deles reduziu o tempo de treinamento e produziu um aumento de 96,1% na precisão. Para aumentar a precisão e a eficiência na detecção de malware Android, esta pesquisa destaca coletivamente a importância de enfrentar questões como seleção de recursos e conjuntos de dados desequilibrados.

Seleção de Recursos Recursivos (RFS) e um classificador de conjunto foram usados em um modelo apresentado por Al Sarahh et al.19 para melhorar a detecção de malware em Android. Nesse método, o algoritmo LightGBM é usado para classificar as características mais relevantes que o RFS identificou. Os resultados do experimento mostraram que o modelo foi eficaz, com uma precisão de classificação de 99,5%. Para categorização de malware Android, Ding et al.20 também sugeriram uma arquitetura de deep learning que utiliza uma Rede Neural Convolucional (CNN). Em seu processo, arquivos de bytecode são extraídos de APKs do Android e convertidos em matrizes de bytecode bidimensionais. Essas matrizes são usadas para treinar o modelo CNN, que, em experimentos, alcançou uma taxa de precisão de 95,1%. Esta pesquisa destaca como modelos de deep learning e técnicas de seleção de recursos podem ser combinados com classificadores de conjunto para aumentar a precisão dos sistemas de detecção de malware Android.

Ao utilizar técnicas de aprendizado profundo, Elayan e Mustafa21 superaram as limitações dos métodos convencionais de detecção de malware em sistemas Android atualizados. Eles superaram técnicas tradicionais ao usar uma Unidade Recorrente Bloqueada (GRU) para diferenciar entre aplicativos maliciosos e benignos, alcançando uma precisão de 98,2%. O Processo de Hierarquia Analítica (AHP) também foi integrado a uma técnica fuzzy baseada em risco para detecção de vírus móveis, proposta por Arif et al.22. Além de identificar malwares, o sistema avalia os níveis de risco e os divide em quatro grupos: extremamente baixo, baixo, médio e alto. Com essa técnica minuciosa, a precisão geral foi de 90,54%. A eficácia de métodos sofisticados de aprendizado de máquina, como frameworks fuzzy AHP e modelos de deep learning baseados em GRU, em melhorar a precisão e a resiliência dos sistemas de detecção de malware Android é demonstrada por esses estudos.

Para superar as desvantagens das abordagens baseadas em assinatura, a Mercaldo e a Santone23 utilizaram técnicas de processamento de sinais de áudio para extrair informações numéricas dos executáveis da aplicação transformando-as em arquivos de áudio. O método deles, que utilizava um classificador de redes neurais, produziu uma precisão de detecção de 95,2%. Para superar as dificuldades associadas à trabalhosa engenharia de características, Zhang et al.24 apresentaram o TC-Droid, uma estrutura automática que utiliza técnicas de classificação de texto. Com uma taxa de precisão de 96,6%, este método analisa sequências de texto de relatórios de análise de aplicações usando redes neurais convolucionais.

Com uma precisão de 93,4%, Imtiaz et al.25 apresentaram o DeepAMD, uma técnica artificial baseada em rede neural destinada à categorização eficaz e à detecção precoce de malwares Android. Firdaus et al.26 criaram uma técnica de seleção de características baseada em busca genética para análise estática na detecção de malware Android. Com uma taxa de precisão de 95%, as árvores funcionais superaram outros classificadores de aprendizado de máquina nos testes. Um método de seleção de características chamado Delta_IDF foi apresentado por Peynirci et al.27. Ele calcula valores inversos de frequência de documentos com base nas ocorrências de strings em arquivos APK. Comparados a outros algoritmos, seus experimentos produziram resultados animadores.

Shi et al.28 propuseram uma estrutura híbrida CNN-DNN que demonstrou forte precisão de detecção ao combinar as forças das camadas convolucional e densa para extração e classificação de características. Da mesma forma, Shu et al.29 forneceram uma pesquisa abrangente sobre métodos de detecção de malware Android baseados em CNN, destacando suas qualidades na captura de dependências espaciais dentro de sequências de API e opcodes. No contexto da Internet das Coisas (IoT), Naeem et al.30 desenvolveram um conjunto empilhado de redes convolucionais profundas para classificação de malware, que melhoraram a robustez em ambientes heterogêneos de ameaça IoT. Mais recentemente, Shu e Dong31 introduziram o LG-PN, uma abordagem de fusão local-global em redes prototípicas, para aprimorar a detecção de malwares Android até então inéditos. Embora esses métodos tenham alcançado sucesso notável, eles dependem em grande parte de arquiteturas convolucionais profundas e exigem recursos computacionais substanciais. Em contraste, o presente trabalho integra inteligência de enxame com seleção de características baseada em autoencoder para reduzir a dimensionalidade e melhorar a eficiência, oferecendo assim uma alternativa complementar e leve às soluções profundas baseadas em CNN.

Vários estudos anteriores também focaram especificamente na detecção de malware Android baseada em chamadas de API, já que sequências de API são fortes indicadores comportamentais de atividade maliciosa. Por exemplo, Karbab et al.32 propuseram o uso de deep learning em sequências de chamadas de métodos de API para identificar aplicações maliciosas, demonstrando que padrões temporais no uso da API podem distinguir efetivamente malwares de aplicativos benignos. De forma semelhante, Muzaffar et al.33 avaliaram vários modelos de aprendizado de máquina sobre recursos de chamadas de API e destacaram a importância da seleção e representação de características na melhoria do desempenho da detecção. Embora esses trabalhos destaquem a utilidade das funcionalidades em nível de API, a maioria depende de modelos de sequência profundos ou engenharia de características artesanal, que pode ser computacionalmente cara ou menos generalizável. Em contraste, este estudo utiliza algoritmos de inteligência em enxame combinados com autoencoders para reduzir automaticamente a dimensionalidade das características da API e, em seguida, emprega um Classificador Neuronal Artificial híbrido para melhorar o desempenho da detecção. Isso posiciona nossa abordagem como uma alternativa leve, porém eficaz, que enfrenta diretamente os desafios dos dados de chamadas API de alta dimensão.

Por meio da integração de Redes Neurais Artificiais (RNAs), a metodologia sugerida neste estudo busca melhorar a detecção e categorização de malware Android. Primeiro, auto-codificadores são usados em técnicas de seleção de características baseadas em wrappers para encontrar as características mais importantes que distinguem apps perigosos de aplicativos benignos. Para aumentar a eficácia da classificação de malware Android, um Classificador Neuronal Artificial único que combina ANNs com classificadores de indução é então avaliado.

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

Protocol

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

O método de seleção de características baseado em wrappers, usando auto-encoders, é usado na arquitetura sugerida para detecção de malware Android, conforme mostrado na Figura 1. O conjunto de dados é dividido em subconjuntos 70:30 de treinamento e teste. Classificação e seleção de características são as duas principais etapas no processo de análise de malware.

Seleção de recursos (FS): Esta etapa consiste em buscar iterativamente os melhores subconjuntos de características (veja Definição 1) usando algoritmos baseados em inteligência de enxame, notadamente Otimização de Busca Cuckoo (CSO), Otimização de Leão Formiga (ALO) e Otimização Firefly (FO). Depois disso, os auto-codificadores processam as características escolhidas para produzir uma representação comprimida dos dados recebidos. Uma abordagem de indução então usa a saída dos auto-codificadores para avaliar o quão bem esses recursos diferenciam entre apps perigosos e benignos. Para permitir a categorização precisa dos casos subsequentes, o algoritmo de indução constrói um classificador mapeando o espaço de características para uma coleção de rótulos de classe.

Classificação: Utilizando o Classificador Neuronal Artificial sugerido e métodos de indução bem conhecidos, o conjunto reduzido de recursos da fase de seleção de características é avaliado nesta fase para ver quão eficazmente ele pode detectar malware Android.

Ao utilizar abordagens sofisticadas de classificação e focar nas características mais informativas, essa metodologia busca melhorar a precisão e a eficiência da detecção de malware no Android.

Seleção de recursos

Uma etapa crucial no aprendizado de máquina é a seleção de características, que envolve determinar quais características são mais confiáveis, pertinentes e não redundantes para a construção de modelos. Reduzir conjuntos de recursos de forma metódica torna-se mais crucial à medida que os conjuntos de dados continuam a crescer em tamanho e complexidade. O principal objetivo da seleção de recursos é maximizar o desempenho do modelo enquanto reduz os custos computacionais. Recursos repetitivos e desnecessários são removidos, permitindo que o processo se concentre nas variáveis mais significativas para o modelo. Em vez de depender do algoritmo de aprendizado de máquina para identificar características significativas, os seguintes são os benefícios da seleção de características antes do treinamento do modelo:

Modelos simplificados: Reduzir o número de variáveis de entrada leva a modelos mais diretos, mais fáceis de interpretar e compreender.

Redução da variância: Ao focar em características essenciais, a seleção de características ajuda a diminuir a variância do modelo, mitigando assim o sobreajuste e aprimorando a generalização para novos dados.

Redução do tempo de treinamento: Um conjunto de recursos menor reduz a carga computacional, resultando em treinamento e avaliação de modelos mais rápidos.

Mitigação da Maldição da Dimensionalidade: Dados de alta dimensão podem apresentar desafios como aumento da complexidade e superajuste; a seleção de características resolve essas questões limitando o espaço de características às variáveis mais informativas.

Definição 1 de seleção de características

Pense em um indutor I e um conjunto de dados D que tem uma distribuição D sobre um espaço de instância rotulado e contém características (x 1,x 2,x 3,... ,x n). O subconjunto de características que otimiza a precisão do classificador C=I(D) é conhecido como subconjunto ótimo de características Xopt.

Na seleção de características não supervisionada, abordagens baseadas em wrappers visam identificar a combinação ótima de características que melhoram o desempenho do modelo. Ao adicionar ou remover sistematicamente funcionalidades, muitas vezes por meio de algoritmos gulosos, esses métodos avaliam vários modelos para selecionar as características mais impactantes para o desenvolvimento do modelo. Esse processo é representado na Figura 2.

Para seleção de características, algoritmos de inteligência de enxame como Otimização Firefly (FO), Otimização de Busca de Cuco (CSO) e Otimização de Leão Formiga (ALO) são usados para superar táticas gananciosas convencionais. A função objetivo selecionada na etapa de avaliação da aptidão tem um impacto significativo na eficácia desses algoritmos. Tanto a quantidade de características escolhidas quanto o erro do modelo ao final de cada iteração são levados em conta no procedimento iterativo de seleção de características baseado em wrappers para avaliar a adequação das características selecionadas. A equação (1) formaliza essa avaliação.

Equação 3 (1)

A penalidade do algoritmo de aprendizado para erros cometidos durante a avaliação de aptidão é representada por τ nessa equação, onde τ ∈ [0,1]. O comprimento do subconjunto de características escolhido é denotado pela variável l, e o número total de características é representado pela variável u.

Codificadores automáticos

Redes neurais especializadas em aprender representações comprimidas de dados de entrada são chamadas de autoencoders. Um codificador e um decodificador são as duas partes principais deles. Enquanto o decodificador tenta recuperar a entrada original dessa forma comprimida, o codificador processa os dados de entrada e os comprime em uma representação no espaço latente. O treinamento de modelos de aprendizado de máquina é facilitado pela capacidade do codificador de extrair recursos valiosos de dados não processados após o treinamento.

A arquitetura proposta de autoencoder (conforme mostrado na Figura 3) apresenta um codificador composto por uma camada de entrada com N nós, seguida por duas camadas ocultas contendo N*2 e N nós, respectivamente. Existe uma segunda camada oculta com N/2 nós chamada espaço latente. Com duas camadas ocultas de [N, N*2] nós, o decodificador replica essa estrutura, terminando com uma camada de saída de N nós.

Cada camada oculta é seguida por normalização em lote para acelerar e estabilizar o processo de treinamento, e todas as camadas utilizam a função de ativação LeakyReLU para lidar com possíveis problemas de gradiente nulo. A equação (2) fornece uma definição matemática da função de ativação do LeakyReLU:

Equação 4 (2)

Onde hθ(x), é obtido usando a Equação (3)

Equação 6(3)

Aqui, xi=(x1,x 2,...,xn) representa os valores de entrada para os nós, enquanto wi=(w1,w 2,...,wn) denota os pesos associados a esses nós. Durante o processo de aprendizado, os pesos são ajustados após serem inicialmente alocados aleatoriamente dentro da faixa [0,1]. Para evitar que os parâmetros passem pela origem, um termo de viés é adicionado em cada camada. A Equação (4) define o limiar, e se a saída obtida da Equação (3) o ultrapassar, um nó é acionado.

Equação 9 (4)

Otimização de seleção de características baseada em envolvimento de leão formiga (ALWFSO)

Modelando o comportamento predatório natural do formigueiro, o Otimizador de Leão Formiga (ALO) foi apresentado pela primeira vez por Seyed AliMirjalili 34. Esse algoritmo de otimização identifica eficientemente soluções ótimas, independentemente dos valores iniciais dos parâmetros. ALO apresenta convergência rápida e gerencia efetivamente tanto restrições inteiras quanto discretas. Captura de presas, criação de armadilhas, aprisionamento de formigas, movimento aleatório de formigas e reparo de armadilhas são as etapas que compõem o processo de caça em ALO.

No contexto do algoritmo Ant Lion Optimizer (ALO), formigas representam soluções candidatas realizando buscas aleatórias no espaço de soluções, enquanto formigas correspondem às armadilhas ou guias que influenciam os movimentos das formigas com base nos valores de aptidão física. Essa população dupla modela o comportamento predatório natural das formigas que capturam formigas. No início, as populações tanto de formigas quanto de antlions são inicializadas aleatoriamente. Formigas são selecionadas para cada formiga usando o mecanismo de seleção da roleta, seguido por um processo de caminhada aleatória (como mostrado no Algoritmo-1). A equação (5) então descreve como essa caminhada é normalizada.

Equação 10 (5)

No início, populações de formigas e formigas são criadas aleatoriamente. Um formiga é escolhido para cada formiga usando um mecanismo de roleta, permitindo uma caminhada aleatória que é normalizada usando fórmulas predeterminadas. Esse processo garante que os movimentos das formigas sejam influenciados pelas posições dos formigueiros, simulando efetivamente o processo natural de caça. A posição de cada formiga é então atualizada com base nessa interação, guiando a busca para soluções ótimas.

Devido à sua arquitetura, o algoritmo ALO pode percorrer efetivamente espaços de busca complexos, tornando-se uma ferramenta poderosa para resolver uma variedade de problemas de otimização. A aptidão de cada formiga é avaliada ao final de cada repetição. Como mostrado no Algoritmo-1, o formigão é substituído pela formiga se ela for mais adequada que sua contraparte. Neste caso Equação 11, indica a localização da formiga iésima na iteração t; I é uma proporção; Equação 13 indica a localizaçãodo formigão j na iteração t; Equação 15 é a elite para a caminhada aleatória na iteração t, que é escolhida pela roleta; e Equação 16 é a caminhada aleatória do formiga no Iteração T, que também é determinada pela roleta. Após cada ciclo, a solução globalmente ótima, confirmada pelo classificador integrado de wrappers, é devolvida.

Algoritmo 1: ALWFSO
Defina função objetivo: f(x):x=(x1,x 2,...,xd)
Inicialização aleatória da colônia de formigas e formiguadas
Cálculo de Aptidão das Formigas e dos Formigueiros
Escolha os melhores formigueiros e assuma que eles são de elite.
Repita até que a condição de término seja cumprida ou f(x):x=(x1,x 2,...,x d)
Para cada seleção formiga-formiga: Use um mecanismo de Seleção da Roda da Roleta para escolher probabilisticamente um formigão que influenciará o movimento da formiga
X(t) = [0,cum_sum(2r(t 1) - 1),cum_sum(2r(t 2) - 1),...,cum_sum(2r(t n)-1)]
Equação 21
Equação 22
Fim do laço da formiga
Avaliação de Aptidão Física: Recalcule os valores de aptidão de todas as formigas com base em suas novas posições.
Substitua formigas por formigas se as formigas demonstrarem aptidão superior
Se um formigueiro se torna mais apto, então
Equação 23
Fim enquanto

Otimização de seleção de características baseada em wrappers de busca cuco (CSWFSO)

Inspirados pelo comportamento parasitista da ninhada de algumas espécies de cucos, que depositam seus ovos nos ninhos de outras aves hospedeiras, Xin-She Yang e SusahDeb 35 criaram o algoritmo Cuckoo Search em 2009. Nesse procedimento, todo cuco põe um ovo em um ninho que é selecionado aleatoriamente. As gerações futuras herdarão ninhos com os melhores ovos. A probabilidade de uma ave hospedeira avistar um ovo alienígena é zero, e há apenas um certo número de ninhos de hospedeiros acessíveis.

Algoritmo 2: CSWFSO

Defina função objetivo: f(x):x = (x1,x 2,...,xd)
Gerar aleatoriamente uma população inicial de n ninhos de hospedeiros, cada um correspondendo a uma solução candidata xi (i=1,2,3,...,n)
Repita até que a condição de parada seja satisfeita ou (tPara um cuco i selecionado aleatoriamente, produza uma nova solução candidata usando voo de Lévy
Equação 27
Calcule a aptidão da solução recém-gerada Fi [Para maximizar, Fi α f(xi)]
Selecione aleatoriamente um ninho de hospedeiro j da população n
se (Fi >F j) então j é substituído por uma nova solução
fim se
Abandone parte das redes piores por fração (p a)
Novos ninhos são construídos em fração abandonada (pa) usando Equação 34
Reserve as melhores soluções ou ninhos.
Ao classificá-los, escolha o melhor ninho ou solução disponível no momento.
A geração seguinte herda a melhor solução disponível atualmente.
Fim enquanto

No início, todos os ninhos são inicializados aleatoriamente. À medida que as iterações avançam, cada cuco modifica sua posição dentro do espaço de soluções por meio de voos de Lévy, conforme descrito no Algoritmo 2. O tamanho do passo é ajustado por ∝, e uma operação sigmoide converte os valores contínuos gerados pela Otimização de Busca Cuckoo (CSO) em um formato binário, conforme mostrado nas Equações (6) e (7).

Equação 35 (6)

Equação 36(7)

Como mostrado no Algoritmo 2, onde Equação 37 e Equação 38 são ninhos escolhidos aleatoriamente e δ ∈ [0,1], ao final de cada iteração, alguns ninhos são abandonados e atualizados com novas soluções candidatas.

Inspirado pelo parasitismo da cria do pássaro cuco, o algoritmo de Otimização de Busca para Cuco (CSO) provou ser uma ferramenta útil para tarefas de seleção de características35. A técnica começa inicializando uma população de ninhos, cada um dos quais representa uma possível solução no contexto da seleção de características CSO baseada em wrappers. Uma função objetivo pré-definida é usada para avaliar a aptidão desses ninhos. Usando avaliações de aptidão física, o algoritmo determina a solução ótima — chamada de melhor global — a cada iteração. Para explorar melhor o espaço de solução, uma parte do ninho, representada por ervilha, é retirada e substituída por novas de acordo com o protocolo CSO. O classificador de wrapper embutido confirma que o algoritmo fornece a resposta globalmente ótima após todas as iterações serem concluídas.

Otimização de seleção de características baseada em wrapper Firefly (FWFSO)

Algoritmo 3: FWFSO
Defina a função objetivo: f(x):x = (x1,x 2,...,xd)
Gerar um enxame inicial de n vaga-lumes, cada um representando uma solução xi (i = 1,2,3,...,n)
Determine a intensidade luminosa I de cada vaga-lume com base no valor da função objetivo
Defina o coeficiente de absorção de luz γ
Repita até que a condição de parada seja cumprida ou (t < MaxGeneration)
Para cada vagalume i (∀ i=1,2,3,... ,n)
para cada vaga-lume j (∀ j=1,2,3,... ,i)
Obtenha intensidades de luz de Ii eI j
seeu < j então
Equação 48
     Equação 49
senão
Mova aleatoriamente o vaga-lume i para explorar o espaço de busca
fim se
A atratividade diminui com a distância à medida que Equação 51
Avalie a solução atualizada e ajuste a intensidade do vaga-lume de acordo
fim para
fim para
Classifique os vagalumes com base em suas intensidades de luz e identifique aquele com maior brilho como a melhor solução atual

O algoritmo de Otimização de Vaga-lumes, introduzido por George Lindfield e JohnPenny 36, emula o comportamento natural dos vaga-lumes para atrair outros. Neste algoritmo, a atratividade de um vaga-lume é diretamente proporcional ao seu brilho, enquanto a distância entre dois vaga-lumes é inversamente proporcional à sua atratividade. Se não houver vaga-lumes mais brilhantes por perto, um vaga-lume se move aleatoriamente.

Dois vaga-lumes são atraídos um pelo outro com base em seu brilho; Um vaga-lume menos brilhante vai se aproximar de um mais brilhante. Movimento aleatório é usado quando não há vaga-lume mais brilhante. Com β0 denotando beleza, a distância r=0 entre dois vaga-lumes é usada para calcular sua atratividade. A separação rjk entre vaga-lumes j e k é calculada da seguinte forma: Equação 55 Aqui, rji e rki observam os componentes espaciais dai-ésima dimensão para vaga-lumes jth e kth, respectivamente, e n representa o número de dimensões. O movimento de um vaga-lume em direção a outro é governado pelo grau de atração entre eles: Equação 60. Nesta equação, rj é a posição atual do vagalume j, γ é a luz Ranard é um número aleatório entre 0 e 1, α é a taxa de mutação e o coeficiente de absorção. Se não houver mais vaga-lumes brilhantes, o vaga-lume se moverá aleatoriamente de acordo com αα. Após cada iteração, o classificador de wrapper embutido valida a solução mínima global, que é então retornada.

Classificador

Tanto conjuntos de dados estruturados quanto não estruturados podem ser classificados dividindo-os em grupos ou classes discretos. O objetivo é usar os atributos dos novos pontos de dados para prever sua classe ou etiqueta. Esse procedimento determina a categoria à qual os dados frescos pertencem aproximando uma função de mapeamento das variáveis de entrada para as variáveis discretas de saída.

Florestas Aleatórias, Árvores de Decisão, K-Vizinhos Mais Próximos, Regressão Logística e Máquinas Vetoriais de Suporte estão entre os algoritmos de indução ou classificação usados para avaliar a solução sugerida de detecção de malwarepara Android 37. Além disso, este trabalho apresenta o Artificial Neuronal Classifier, um classificador híbrido revolucionário que combina algoritmos convencionais de indução com Redes Neurais Artificiais.

Classificador neuronal artificial

O design sugerido de Classificador Neuronal Artificial (ANC) combina um classificador de indução e Redes Neurais Artificiais (ANN), como visto na Figura 4. De acordo com essa arquitetura, o RNA é ensinado a identificar padrões e correlações entre as características de entrada. O classificador de indução utiliza as informações que a RNA aprendeu para melhorar a precisão na identificação de softwares maliciosos de softwares seguros.

Após testes extensivos, o ANN dentro do ANC foi configurado com três camadas ocultas totalmente conectadas, cada uma com M nós, seguindo uma camada de entrada com N nós. Há uma camada de saída que é conectada ao classificador de indução após uma camada oculta totalmente conectada com M/2 nós. A equação (8) determina o número de nós nas camadas ocultas:

Equação 62 (8)

onde M denota o número de nós em uma camada oculta, N representa o número de características de entrada, e α é um parâmetro que varia entre 2 e 10. A função de ativação (conforme mostrado na Equação (9)) desempenha um papel crucial na determinação de se um neurônio é ativado, dependendo de a saída ultrapassar um limiar especificado.

Equação 64 (9)

Aqui, hθ(x) é calculado conforme a Equação (3). O ANC utiliza o otimizador Adam para ajustar pesos de rede e taxas de aprendizado. Em Adam, as taxas de decaimento para a estimativa Equação 65 do primeiro momento e da estimativa do segundo momento Equação 66 para cada peso ωij são denotadas por β1 e β2, respectivamente. Seja N a taxa de aprendizado. As regras de atualização para Adão são mostradas nas Equações (10) e (11):

Equação 70 (10)

Equação 71 (11)

As estimativas corrigidas pelo viés do primeiro e segundo momento, Equação 72 e Equação 73, são calculadas como usando as Equações (12) e (13):

Equação 74 (12)

Equação 75 (13)

Esses cálculos garantem que o otimizador mantenha taxas de aprendizado adequadas para cada peso, facilitando o treinamento eficiente e eficaz do ANC.

A regra de atualização de peso para cada conexão na rede neural é definida pela Equação (14):

Equação 76 (14)

Após atualizar os pesos da rede neural, o desempenho é avaliado usando uma função de perda que mede a discrepância entre as saídas previstas e reais. Neste modelo, o Erro Absoluto Médio (MAE), conforme definido na Equação (15), é empregado para esse propósito:

Equação 77 (15)

Nesse contexto, yi representa a saída real, Equação 79 denota a saída prevista, e n é o número total de instâncias de saída. Após a rede neural ser treinada ao longo de um número definido de épocas, as representações aprendidas do espaço de características são transferidas para o classificador de indução para distinguir entre malware e software benigno.

O proposto Classificador Neuronal Artificial (ANC) funciona como uma estrutura híbrida que combina as capacidades de aprendizado de características de uma Rede Neural Artificial (RNA) com as forças de tomada de decisão dos classificadores de indução tradicionais, como Random Forest e Decision Tree. Neste projeto, o RNA primeiro processa as características selecionadas obtidas do autocodificador para aprender padrões complexos e correlações entre atributos de entrada. As representações resultantes aprendidas são então encaminhadas para o classificador de indução, que realiza a classificação final dos aplicativos Android como benignos ou maliciosos. Dessa forma, o ANC atua como um wrapper, aprimorando classificadores convencionais com embeddings profundos de características, preservando sua interpretabilidade. Esse mecanismo híbrido permite que o ANC aproveite tanto a abstração de características de alto nível do ANN quanto a tomada de decisão robusta de classificadores de aprendizado de máquina estabelecidos, resultando em maior precisão e generalização na detecção.

Configuração experimental

Um sistema operacional Windows 10 de 64 bits, com processador i5 - 2,30 GHz, 8 GB de RAM e um disco rígido de 2 TB, foi usado na configuração experimental. Python 3.7 foi usado como linguagem de programação, e a plataforma Jupyter foi configurada para permitir pacotes de aprendizado de máquina e deep learning.

O IEEE Dataport forneceu os dados de sequência de chamadas de API do experimento, que incluíam 43.876 sequências – 42.797 das quais foram classificadas como malware e 1.079 como goodware. O Virus Total foi usado para verificação, e o ambiente Cuckoo Sandbox foi usado para coleta de dados. A Tabela 1 fornece uma explicação abrangente das sequências de chamadas da API.

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

Results

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

Vários indicadores de desempenho, como Erro Quadrático Médio (MSE), Erro Quadrático Médio Raiz (RMSE), Precisão, Recordação, Pontuação F1 e Precisão, são usados no sistema proposto de detecção de malware Android para avaliar a precisão da classificação. A seguir está uma definição dessas medidas.

Equação 80

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

Discussion

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

As ameaças de malware para Android estão aumentando, com adversários empregando técnicas de evasão cada vez mais sofisticadas. Sistemas e aplicativos móveis baseados em Android desempenham um papel crucial em cidades inteligentes e ambientes industriais. Garantir a segurança desses sistemas, especialmente em domínios tão críticos, exige mecanismos robustos de detecção de malware. Recentemente, pesquisas de detecção de malware baseadas em aprendizado de máquina ganharam atenção significat...

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

Disclosures

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

Nenhum conflito de interesse ou influências externas afetou os resultados deste trabalho. Todos os métodos, resultados e interpretações apresentados são originais e imparciais

Acknowledgements

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

Gostaria de expressar minha sincera gratidão ao meu guia e à KLU, que apoiaram este trabalho. A orientação, o feedback e o incentivo foram inestimáveis durante todo o desenvolvimento deste projeto.

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.Navegador-2023
Google ColabGoogle LLCN/A
Caderno JupyterProjeto JúpiterN/A
PythonFundação de Software Python>=3,9
PyTorchPesquisa em IA do Facebook>=2.0
Scikit-learnImpulsionado pela Comunidade>=1.0
TensorFlowGoogle Brain>=2,8
Sistema Operacional 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