Research Article

Улучшение обнаружения вредоносного ПО на Android с помощью интеллекта роя и техники автоэнкодеров, применяемые к анализу вызовов API

DOI:

10.3791/69398

December 30th, 2025

In This Article

Summary

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

Предлагается гибридный фреймворк обнаружения вредоносного ПО на Android, использующий изученные представления признаков и традиционные классификаторы для повышения точности обнаружения, сокращения ручной работы по разработке функций и эффективного противодействия эволюционным угрозам вредоносного ПО.

Abstract

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

Анализ безопасности вредоносного ПО включает анализ приложений и их метаданных для выявления потенциальных угроз безопасности. Вызовы интерфейса программирования приложений (API) служат ценным источником информации для обнаружения вредоносного ПО. Сокращение объёма функций при анализе вредоносного ПО повышает эффективность идентификации угроз. В данном исследовании направлено на выявление наиболее значимых функций вызовов API, которые повысят точность обнаружения вредоносного ПО на Android. Три метода оптимизации на основе интеллекта роя — Оптимизация Светлячками, Оптимизация поиска Кукушкой и Оптимизация Муравьиной Колонии — используются вместе с авто-кодерами для извлечения наиболее значимых функций. Для оценки этих методов, вдохновлённых природой, используются популярные классификаторы машинного обучения, такие как K-ближайший сосед (KNN), случайный лес (RF), поддерживающая векторная машина (SVM), дерево принятия решений (DT) и линейная регрессия (LR). Кроме того, гибридный искусственный нейронный классификатор способен улучшать производительность классификации вредоносных программ. Эффективность предлагаемого метода демонстрируется экспериментальными результатами, которые показывают точность 98,87% при использовании только 7 из 100 функций вызова API.

Introduction

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

Самая популярная мобильная операционная система — Android, основанная на Linux и имеющаядолю мирового рынка 72,55%. В отличие от других операционных систем, подчинённых строгим законам и авторским правам, Android — это платформа с открытым исходным кодом, которая принимает вклад разработчиков со всего мира. Но из-за большой базы пользователей вирусные атаки часто направлены на него. Вредоносное ПО — это термин для вредоносного ПО, предназначенного для компрометации работы компьютерных систем или использования личной информации. Самый распространённый способ проникновения вредоносного ПО в экосистему Android — это загрузка приложений. Хотя приложения, полученные из надёжных источников, обычно безопасны, те, что скачиваются с непроверенных или вредоносных платформ, могут содержать вредоносное программное обеспечение. Киберпреступники часто используют уязвимости безопасности устройств, применяя вредоносное ПО для подрыва ихцелостности 2.

По мере роста числа пользователей увеличивается и объем ценных данных, доступных кибер-злоумышленникам. Злоумышленник может воспользоваться этим, распространяя вредоносное приложение на официальных маркетплейсах мобильных приложений. Как только ничего не подозревающий пользователь устанавливает приложение, он случайно предоставляет злоумышленнику доступ к своему устройству. Учитывая растущую распространённость таких угроз, передовые методы обнаружения вредоносных программ необходимы для противодействия огромному числу вредоносныхприложений 3,4,5. Разработано несколько существующих технологий для прогнозирования вредоносного ПОAndroid 6,7. Однако эти подходы в основном основаны на обнаружении по подписи, что включает идентификацию цифровых следов, встроенных в код приложения. Извлечённые из Android Package Kit (APK) программного обеспечения, эти сигнатуры сопоставляются с базой данных известных враждебных паттернов. Хотя этот подход успешно обнаруживает уже зарегистрированное вредоносное ПО, он не может распознать новые угрозы, которые ещё не добавлены в базу данных. 8

По мере того как вредоносное ПО продолжает развиваться, с ростом его распространения, крайне важно разрабатывать решение, способное точно обнаруживать различные типы вредоносных программ9, оптимизируя время и вычислительные ресурсы. Для улучшения обнаружения вредоносного ПО на Android-смартфонах было проведено много работы. Обычные методы обнаружения на основе подписей сопоставляют подпись APK-файла с вредоносными подписями, которые были идентифицированы и сохранены в базе данных. Однако этот метод не работает для вредоносного ПО, которое ещё не было обнаружено, что подчёркивает необходимость более сложных систем обнаружения10, 11, 12.

Гипотеза, которую эта статья направлена на проверку, такова: выявление подозрительных вызовов API для повышения точности классификации безобидных и вредоносных Android-приложений. Разработка и реализация гибридной модели классификации, интегрирующей авто-кодировщики с искусственными нейронными сетями. Формулировка целевой функции для оптимизации интеллекта роя, которая усиливает процесс обучения, вводя штрафы для облегчения поиска почти оптимальных решений. Анализ нескольких показателей производительности и выбор оптимального метода прогнозирования вредоносного ПО на Android.

Связанные работы

Значительный рост разнообразия и объёма вредоносного ПО стало возможным благодаря широкому использованию платформы Android, что побудило исследователей разработать эффективные методы обнаружения ипредотвращения 13, 14 и 15. В ходе статистических исследований Декард иРасулзадеган 16 занялись проблемой несбалансированных наборов данных при обнаружении вредоносного ПО на Android. Для предварительной обработки и балансировки данных они использовали технику синтетического перевыбора меньшинств (SMOTE), недовыборку и ранжирование. Используя классификаторы KNN, SVM и итеративного дихотомизатора 3 (ID3), их модель обнаружения достигла более высокой точности — 98,69% при сочетании подхода SMOTE с классификаторомKNN 16.

Использование частотно-обратной частоты документа (TF-IDF) для идентификации вредоносного ПО на Android было исследовано Прией иВисалакши 17 в другом исследовании. Они создали оценитель разрешений для оценки и оценки разрешений, которые впоследствии классифицировались с помощью искусственных нейронных сетей. Этот метод превзошёл существующие системы с точностью 94,22%. Кроме того, для повышения эффективности классификации вредоносных программ Android на основе линейной регрессии был разработан метод выбора признаков Йылдыза и др. 18. Их метод сократил время обучения и обеспечил повышение точности на 96,1%. Для повышения точности и эффективности обнаружения вредоносного ПО на Android это исследование в совокупности подчёркивает важность решения таких проблем, как выбор функций и несбалансированные наборы данных.

Рекурсивный выбор признаков (RFS) и ансамблевой классификатор использовались в модели, представленной Аль Сарахом и др.19 , для улучшения обнаружения вредоносного ПО на Android. В этом методе алгоритм LightGBM используется для классификации наиболее значимых признаков, выявленных RFS. Результаты эксперимента показали эффективность модели с точностью классификации 99,5%. Для классификации вредоносного ПО на Android Ding и др. также предложили архитектуру глубокого обучения, использующую сверточную нейронную сеть (CNN). В процессе файлы байткодов извлекаются из Android APK и преобразуются в двумерные матрицы байткодов. Эти матрицы используются для обучения модели CNN, которая в экспериментах достигла точности 95,1%. Это исследование показывает, как модели глубокого обучения и методы выбора признаков могут сочетаться с ансамблевыми классификаторами для повышения точности систем обнаружения вредоносного ПО на Android.

Используя технологии глубокого обучения, Элаян иМустафа 21 преодолели недостатки традиционных методов обнаружения вредоносного ПО в обновлённых системах Android. Они превзошли традиционные методы, используя Gated Recurrent Unit (GRU) для различия вредоносных и безобидных приложений, достигнув точности 98,2%. Процесс аналитической иерархии (AHP) также был интегрирован в метод нечеткого обнаружения мобильных вирусов, основанный на рисках, предложенный Арифом и др.22. Помимо выявления вредоносного ПО, их система оценивает уровни риска и делит их на четыре группы: чрезвычайно низкий, низкий, средний и высокий. С помощью этой тщательной техники общая точность составила 90,54%. Эффективность сложных методов машинного обучения, таких как неясные фреймворки AHP и модели глубокого обучения на базе ГРУ, в повышении точности и устойчивости систем обнаружения вредоносного ПО на Android демонстрируется этими исследованиями.

Чтобы преодолеть недостатки подходов на основе подписей, Меркальдо иСантоне 23 использовали методы обработки аудиосигналов для извлечения числовой информации из исполняемых файлов приложений путём превращения их в аудиофайлы. Их метод, использующий классификатор нейронных сетей, обеспечивал точность обнаружения 95,2%. Чтобы преодолеть трудности, связанные с трудоёмкой инженерией признаков, Чжан и др.24 представили TC-Droid — автоматический фреймворк, использующий методы классификации текста. С точностью 96,6% этот метод анализирует текстовые последовательности из отчётов по анализу приложений с использованием сверточных нейронных сетей.

С точностью 93,4% Имтиаз и др.25 представили DeepAMD — искусственную нейронную сеть, предназначенную для эффективной категоризации и раннего обнаружения вредоносного ПО Android. Фирдаус и др.26 создали генетический поисковый метод выбора признаков для статического анализа в обнаружении вредоносного ПО на Android. С точностью 95% функциональные деревья превзошли другие классификаторы машинного обучения в тестах. Метод выбора признаков, называемый Delta_IDF, был представлен Пейнирчи и др.27. Он вычисляет обратные значения частоты документа на основе появления строк в файлах APK. По сравнению с другими алгоритмами, их эксперименты дали обнадёживающие результаты.

Ши и др.28 предложили гибридную структуру CNN-DNN, которая демонстрировала высокую точность обнаружения, сочетая сильные стороны сверточных и плотных слоёв для извлечения и классификации признаков. Аналогично, Шу и др.29 представили всесторонний обзор методов обнаружения вредоносного ПО на Android на базе CNN, подчеркнув их сильные стороны в фиксации пространственных зависимостей в API и последовательностях операций. В контексте Интернета вещей (IoT) Naeem и др.30 разработали комплексный комплекс глубоких сверточных сетей для классификации вредоносного ПО, что повысило устойчивость в гетерогенных средах угроз IoT. В более недавнее время Shu иDong 31 представили LG-PN — локально-глобальный подход слияния в прототипных сетях, чтобы улучшить обнаружение ранее неизвестного вредоносного ПО на Android. Хотя эти методы добились заметного успеха, они в основном опираются на глубокие сверточные архитектуры и требуют значительных вычислительных ресурсов. В отличие от этого, настоящая работа интегрирует интеллект роя с выбором признаков на основе автоэнкодеров для снижения размерности и повышения эффективности, предоставляя тем самым дополнительную и лёгкую альтернативу решениям на основе глубоких CNN.

Несколько предыдущих исследований также были сосредоточены именно на обнаружении вредоносного ПО на основе API, поскольку последовательности API являются сильными поведенческими индикаторами вредоносной активности. Например, Карбаб и др.32 предложили использовать глубокое обучение в последовательностях вызовов методов API для выявления вредоносных приложений, демонстрируя, что временные паттерны использования API могут эффективно отличать вредоносное ПО от безобидных приложений. Аналогично, Музаффар и др.33 оценили различные модели машинного обучения на основе функций вызовов API и подчеркнули важность выбора и представления признаков для повышения эффективности обнаружения. Хотя эти работы подчёркивают полезность функций на уровне API, большинство из них опираются либо на глубокие последовательности, либо на ручную инженерию признаков, что может быть вычислительно затратным или менее обобщаемым. В отличие от этого, в этом исследовании используются алгоритмы интеллекта роя в сочетании с автоэнкодерами для автоматического снижения размерности признаков API, а затем применяется гибридный искусственный классификатор нейронов для повышения эффективности обнаружения. Это позиционирует наш подход как лёгкую, но эффективную альтернативу, которая напрямую решает задачи, связанные с данными вызовов API-вызовов с высокой размерностью.

Благодаря интеграции искусственных нейронных сетей (ANN) предлагаемая методология в данном исследовании направлена на улучшение обнаружения и классификации вредоносного ПО на Android. Во-первых, авто-кодировщики используются в техниках выбора признаков на основе обёртки для выявления наиболее важных характеристик, отличающих опасные приложения от безобидных. Для повышения эффективности классификации вредоносного ПО на Android оценивается уникальный Искусственный нейронный классификатор, объединяющий ANN с индукционными классификаторами.

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

Protocol

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

Метод выбора признаков на основе обёртки с авто-кодировщиками используется в предлагаемой архитектуре обнаружения вредоносного ПО на Android, как показано на рисунке 1. Набор данных разделён на подмножества для обучения и тестирования в формате 70:30. Классификация и выбор признаков — два основных этапа в процессе анализа вредоносного ПО.

Выбор функций (FS): Этот этап заключается в итеративном поиске лучших подмножеств признаков (см. Определение 1) с использованием алгоритмов на основе интеллекта роя, в частности Cuckoo Search Optimization (CSO), Ant Lion Optimization (ALO) и Firefly Optimization (FO). После этого автокодировщики обрабатывают выбранные признаки для создания сжатого представления входящих данных. Индукционный подход затем использует выходные данные авто-энкодеров для оценки того, насколько эти функции различают опасные и безобидные приложения. Для обеспечения точной категоризации последующих случаев алгоритм индукции строит классификатор, сообразяя пространство признаков в набор меток классов.

Классификация: Используя предложенный Искусственный нейронный классификатор и известные методы индукции, на этом этапе оценивается ограниченный набор функций на этапе выбора признаков, чтобы определить, насколько эффективно он может обнаруживать вредоносное ПО Android.

Используя сложные методы классификации и сосредотачиваясь на самых информативных функциях, эта методология стремится повысить точность и эффективность обнаружения вредоносного ПО на Android.

Выбор функций

Ключевым этапом машинного обучения является выбор признаков, который включает в себя определение наиболее надёжных, релевантных и неизбыточных для построения моделей. Методическое сокращение наборов признаков становится всё более важным по мере роста размера и сложности наборов данных. Основная цель выбора признаков — максимизация производительности модели при снижении вычислительных затрат. Удаляются повторяющиеся и ненужные признаки, что позволяет процессу сосредоточиться на наиболее значимых для модели переменных. Вместо того чтобы полагаться на алгоритм машинного обучения для выявления значимых признаков, следующие преимущества выбора признаков перед обучением модели:

Упрощённые модели: Уменьшение количества входных переменных приводит к более простым моделям, которые проще интерпретировать и понимать.

Снижение дисперсии: Сосредотачиваясь на ключевых признаках, выбор признаков помогает снизить дисперсию моделей, тем самым смягчая перенагонку и улучшая обобщение новых данных.

Сокращение времени обучения: Меньший набор функций снижает вычислительную нагрузку, что приводит к более быстрому обучению и оценке моделей.

Смягчение проклятия размерности: Данные с большими размерностями могут создавать такие проблемы, как повышение сложности и перенастройка; Выбор признаков решает эти проблемы, ограничивая пространство признаков самыми информативными переменными.

Определение 1 выбора признаков

Представьте себе индуктор I и набор данных D, который имеет распределение D по помеченному пространству экземпляров и содержит признаки (x 1,x 2,x 3,... ,x n). Подмножество признаков, оптимизирующее точность классификатора C=I(D), называется оптимальным подмножеством признаков Xopt.

В неконтролируемом выборе признаков подходы на основе обёртки направлены на выявление оптимального сочетания признаков, повышающих производительность модели. Систематически добавляя или удаляя признаки, часто с помощью жадных алгоритмов, эти методы оценивают различные модели для выбора наиболее значимых признаков для разработки моделей. Этот процесс показан на рисунке 2.

Для выбора признаков используются алгоритмы интеллекта роя, такие как Firefly Optimization (FO), Cuckoo Search Optimization (CSO) и Ant Lion Optimization (ALO), которые превосходят традиционные жадные тактики. Целевая функция, выбранная на этапе оценки приспособленности, существенно влияет на эффективность этих алгоритмов. В итеративной процедуре выбора признаков на основе обёртки учитываются как количество выбранных признаков, так и ошибка модели в конце каждой итерации для оценки уместности выбранных признаков. Уравнение (1) формализует эту оценку.

Уравнение 3 (1)

Штраф алгоритма обучения за ошибки, допущенные при оценке приспособленности, представлен τ в этом уравнении, где τ ∈ [0,1]. Длина выбранного подмножества признаков обозначается переменной l, а общее число признаков — переменной u.

Авто-энкодеры

Нейронные сети, специализирующиеся на изучении сжатых представлений входных данных, называются автоэнкодерами. Энкодер и декодер — две основные их часть. Пока декодер пытается восстановить исходный вход из этой сжатой формы, он обрабатывает входные данные и сжимает их в латентное пространственное представление. Обучение моделей машинного обучения облегчается возможностью кодировщика извлекать ценные функции из необработанных данных после их обучения.

Предлагаемая архитектура автоэнкодера (как показано на рисунке 3) включает входный слой с N узлами, за которым следуют два скрытых слоя, содержащих соответственно N*2 и N. Существует второй скрытый слой с N/2 узлами, называемый латентным пространством. С двумя скрытыми слоями узлов [N, N*2] декодер воспроизводит эту структуру, заканчиваясь выходным слоем из N узлов.

За каждым скрытым слоем следует пакетная нормализация для ускорения и стабилизации процесса обучения, и все слои используют функцию активации LeakyReLU для решения возможных проблем с нулевой градиентом. Уравнение (2) даёт математическое определение функции активации LeakyReLU:

Уравнение 4 (2)

Где hθ(x) получается с помощью уравнения (3)

Уравнение 6(3)

Здесь xi=(x1,x 2,...,xn) представляет входные значения для узлов, а wi=(w1,w 2,...,w n) обозначает веса, связанные с этими узлами. В процессе обучения веса корректируются после первоначального случайного распределения в диапазоне [0,1]. Чтобы предотвратить прохождение параметров через начало координат, на каждом слое добавляется смещённый член. Уравнение (4) определяет порог, и если выход, полученный из уравнения (3), его превышает, срабатывает узел.

Уравнение 9 (4)

Оптимизация выбора признаков на основе обёртки муравьев (ALWFSO)

Моделируя естественное хищническое поведение муравьёвого льва, Муравьиный Лев Оптимизатор (ALO) впервые был представлен Сейедом АлиМирджалили, 34 года. Этот алгоритм оптимизации эффективно определяет оптимальные решения независимо от начальных значений параметров. ALO демонстрирует быструю сходимость и эффективно управляет как целочисленными, так и дискретными ограничениями. Поимка добычи, создание ловушек, ловушка муравьёв, случайное перемещение муравьёв и ремонт ловушек — вот этапы, составляющие охотничий процесс в ALO.

В контексте алгоритма Ant Lion Optimizer (ALO) муравьи представляют собой кандидатные решения, выполняющие случайный поиск в пространстве решений, тогда как муравьи соответствуют ловушкам или направляющим, влияющим на движения муравьёв на основе значений приспособленности. Эта двойная популяция моделирует естественное хищническое поведение муравьёв, ловящих муравьёв. В начале популяции как муравьёв, так и муравьевых львов случайным образом инициализуются. Муравьиные львы выбираются для каждого муравья с помощью механизма выбора колеса рулетки, за которым следует процесс случайной ходьбы (как показано в Алгоритме-1). Уравнение (5) затем описывает, как нормализуется эта прогулка.

Уравнение 10 (5)

Сначала популяции муравьёв и муравьёв формируются случайно. Для каждого муравья выбирается муравьёвый лев с помощью механизма рулетки, что позволяет случайно ходить, нормализуемый с помощью заранее заданных формул. Этот процесс гарантирует, что движения муравьёв зависят от их положения, эффективно имитируя естественный охотничий процесс. Положение каждого муравья затем обновляется на основе этого взаимодействия, направляя поиск оптимальных решений.

Благодаря своей архитектуре, алгоритм ALO эффективно перемещается через сложные поисковые пространства, что делает его мощным инструментом для решения различных задач оптимизации. Приспособленность каждого муравья оценивается в конце каждого повторения. Как показано в Алгоритме 1, муравьевой лев заменяется муравьем, если муравей более приспособлен, чем его аналог. В этом случае Уравнение 11, указывает на расположениеi ant на итерации t; I — это отношение; Уравнение 13 указывает расположениеJ-го муравьёна на итерации T; Уравнение 15 — элита для случайного шага на итерации t, который выбирается колесом рулетки; и Уравнение 16 — случайная ходьба муравьёна на итерации t, которая также определяется рулеткой. После завершения каждого цикла возвращается глобально оптимальное решение, подтверждённое интегрированным классификатором обёртки.

Алгоритм 1: ALWFSO
Определим целевую функцию: f(x):x=(x1,x 2,...,x d)
Инициализация колонии муравьёв и муравьевых львов случайным образом
Расчёт приспособленности муравьёв и муравьёв
Выбирайте лучших муравьиных львов и считайте их элитными.
Повторять до выполнения условия завершения или f(x):x=(x1,x 2,...,xd)
Для каждого выбора муравьё-муравьё: Используйте механизм выбора рулетки, чтобы вероятностно выбрать муравьёвого льва, который будет влиять на его движение
X(t) = [0,cum_sum(2r(t1) - 1),cum_sum(2r(t2) - 1),...,cum_sum(2r(tn)-1)]
Уравнение 21
Уравнение 22
Конец муравьиного цикла
Оценка приспособленности: пересчитайте значения приспособленности всех муравьёв в зависимости от их новых позиций.
Замените муравьёв на муравьёв, если муравьи демонстрируют превосходную приспособленность
Если муравьёвый лев становится более приспособленным, то
Уравнение 23
Конец пока

Оптимизация выбора признаков на основе обёртки по поиску Cuckoo (CSWFSO)

Вдохновлённые паразитизмом потомства некоторых видов кукушек, которые откладывают яйца в гнёздах других птиц-хозяев, Синь-Ше Ян иСуса Деб, 35 лет, создали алгоритм поиска кукушки в 2009 году. В этой процедуре каждая кукушка откладывает яйцо в случайным образом выбранное гнездо. Будущие поколения унаследуют гнёзда с лучшими яйцами. Вероятность того, что птица-хозяин заметит инопланетное яйцо, равна нулю, и доступно только определённое количество гнёзд.

Алгоритм 2: CSWFSO

Определим целевую функцию: f(x):x = (x1,x 2,...,xd)
Случайным образом генерируйте начальную популяцию из n гнёзд хозяев, каждое из которых соответствует кандидатному решению xi (i=1,2,3,...,n)
Повторять, пока условие остановки не будет выполнено или (tДля случайно выбранной кукушки i получите новое кандидатное решение с использованием полёта Леви
Уравнение 27
Вычислим приспособленность новогенерированного решения Fi [Для максимизации Fi α f(xi)]
Случайным образом выберите гнездо-хозяина j из популяции n
если (Fi >F j), то j заменяется новым решением
конец, если
Откажитесь от части худших сеток на долю (pa)
Новые гнёзда строятся в заброшенной дроби (pa) с помощью Уравнение 34
Отложите лучшие решения или гнёзда.
Оценивая их, выберите лучшее гнездо или решение, доступное прямо сейчас.
Следующее поколение унаследовало лучшее решение, доступное сейчас.
Конец пока

В начале все гнёзда инициализируются случайным образом. По мере прохождения итераций каждая кукушка изменяет своё положение в пространстве решений через полёты Леви, как описано в Алгоритме 2. Размер шага корректируется на ∝, а сигмоидная операция преобразует непрерывные значения, генерируемые оптимизацией поиска кукушки (CSO), в бинарный формат, как показано в уравнениях (6) и (7).

Уравнение 35 (6)

Уравнение 36(7)

Как показано в алгоритме 2, где Уравнение 37 и Уравнение 38 — случайно выбранные внёзды, а δ ∈ [0,1], в конце каждой итерации некоторые гнёзда оставляются и обновляются новыми кандидатами решений.

Вдохновлённый паразитизмом выводка кукушки, алгоритм Cuckoo Search Optimization (CSO) оказался полезным инструментом для задач выборапризнаков 35. Техника начинается с инициализации популяции вложений, каждое из которых представляет собой возможное решение в контексте выбора признаков CSO на основе обертки. Для оценки приспособленности этих гнёзд используется заранее установленная целевая функция. Используя оценки приспособленности, алгоритм определяет оптимальное решение — называемое глобальным лучшим — на каждой итерации. Для лучшего изучения пространства решений часть гнезда, представленная горохом, убирается и заменяется новыми в соответствии с протоколом CSO. Встраиваемый классификатор оболочки подтверждает, что алгоритм даёт глобально оптимальный ответ после завершения всех итераций.

Оптимизация выбора признаков на основе оболочки Firefly (FWFSO)

Алгоритм 3: FWFSO
Определим целевую функцию: f(x):x = (x1,x 2,...,x d)
Создайте начальный рой из n светлячков, каждая из которых представляет решение xi (i = 1,2,3,...,n)
Определите интенсивность света I каждого светлячка на основе значения функции цели.
Определите коэффициент поглощения света γ
Повторяйте, пока не будет выполнено условие остановки или (t < MaxGeneration).
для каждого светлячка i (∀ i=1,2,3,... ,n)
для каждого светлячка j (∀ j=1,2,3,... ,i)
Получайте лёгкую интенсивностьI i иi j
еслия < яj , то
Уравнение 48
     Уравнение 49
Другое
Случайным образом переместите светлячка i, чтобы исследовать пространство поиска
конец, если
Привлекательность уменьшается с расстоянием по мере Уравнение 51
Оцените обновлённый раствор и соответственно скорректируйте интенсивность светлячка
конец для
конец для
Ранжуйте светлячков по интенсивности света и определите того, с наибольшей яркостью, как текущее лучшее решение

Алгоритм оптимизации светлячков, введённый Джорджем Линдфилдом иДжоном Пенни 36, имитирует естественное поведение светлячков, чтобы привлечь других. В этом алгоритме привлекательность светлячка прямо пропорциональна его яркости, а расстояние между двумя светлячками обратно пропорционально их привлекательности. Если рядом нет ярких светлячков, светлячок будет двигаться случайным образом.

Два светлячка притягиваются друг к другу благодаря своей яркости; менее яркий светлячок тянется к более яркому. Случайное движение используется, когда нет ярчего светлячка. Поскольку β0 означает красоту, расстояние r=0 между двумя светлячками используется для расчёта их привлекательности. Разделение rjk между светлячками j и k вычисляется следующим образом: Уравнение 55 здесь rji и rki отмечуют пространственные компонентыi-го измерения для светлячков jth и kth соответственно, а n — количество измерений. Движение светлячка к другому зависит от степени притяжения между ними: Уравнение 60. В этом уравнении rj — текущее положение светлячка j, γ — светлое число Ранара — случайное число между 0 и 1, α — скорость мутации и коэффициент поглощения. Если ярких светлячков больше не останется, светлячок будет двигаться случайным образом по αα. После каждой итерации встраиваемый классификатор обёртки подтверждает глобальное минимальное решение, которое затем возвращается.

Классификатор

Как структурированные, так и неструктурированные наборы данных можно классифицировать, разбивая их на дискретные группы или классы. Цель — использовать атрибуты новых точек данных для прогнозирования их класса или метки. Эта процедура определяет категорию, к которой относятся свежие данные, приближая функцию отображения от входных переменных к дискретным выходным переменным.

Случайные леса, деревья решений, K-ближайшие соседи, логистическая регрессия и машины поддерживающего вектора — это среди алгоритмов индукции или классификации, используемых для оценки рекомендуемого решения для обнаружения вредоносного ПО на Android37. Кроме того, в этой работе представлен искусственный нейронный классификатор — революционный гибридный классификатор, который объединяет традиционные индукционные алгоритмы с искусственными нейронными сетями.

Искусственный нейронный классификатор

Предлагаемая конструкция искусственного нейронного классификатора (ANC) сочетает индукционный классификатор и искусственные нейронные сети (АНС), как показано на рисунке 4. Согласно этой архитектуре, ANN обучается выявлять закономерности и корреляции между входными признаками. Индукционный классификатор использует информацию, полученную ANN, для повышения точности выявления вредоносного ПО от безопасного ПО.

После тщательного тестирования ANN внутри ANC был настроен с тремя полностью связанными скрытыми слоями, каждый из которых содержал M узлов, следуя за входным слоем с N узлами. Существует выходной слой, который соединяется с индукционным классификатором после дополнительного полностью связанного скрытого слоя с узлами M/2. Уравнение (8) определяет количество узлов в скрытых слоях:

Уравнение 62 (8)

где M обозначает количество узлов в скрытом слое, N — количество входных признаков, а α — параметр от 2 до 10. Функция активации (как показано в уравнении (9)) играет ключевую роль в определении активации нейрона в зависимости от превышения определённого порога выхода.

Уравнение 64 (9)

Здесь hθ(x) вычисляется по уравнению (3). ANC использует оптимизатор Adam для регулировки весов сети и скоростей обучения. В Adam скорости затухания для оценки Уравнение 65 первого момента и второй момента Уравнение 66 для каждого весаω ij обозначаются соответственноβ 1 и β2. Пусть N представляет скорость обучения. Правила обновления для Адама приведены в уравнениях (10) и (11):

Уравнение 70 (10)

Уравнение 71 (11)

Скорректированные по смещению оценки Уравнение 72 первого и второго моментов, и Уравнение 73, вычисляются с помощью уравнений (12) и (13):

Уравнение 74 (12)

Уравнение 75 (13)

Эти вычисления обеспечивают поддержание оптимальных скоростей обучения для каждого веса, что способствует эффективной и результативной тренировке ANC.

Правило обновления веса для каждого соединения в нейронной сети определяется уравнением (14):

Уравнение 76 (14)

После обновления весов нейронных сетей производительность оценивается с помощью функции потерь, измеряющей несоответствие между прогнозируемыми и фактическими результатами. В этой модели для этой цели используется средняя абсолютная ошибка (MAE), определенная в уравнении (15):

Уравнение 77 (15)

В этом контексте yi представляет фактический выход, Уравнение 79 обозначает предсказанный выход, а n — общее количество экземпляров выхода. После обучения нейронной сети за определённое количество эпох изученные представления из пространства признаков передаются в индукционный классификатор для различия вредоносного ПО от безобидного ПО.

Предлагаемый Искусственный нейронный классификатор (ANC) функционирует как гибридная структура, сочетающая возможности обучения признакам искусственной нейронной сети (АНК) с сильными сторонами принятия решений традиционных индукционных классификаторов, таких как Random Forest и Decision Tree. В этой конструкции ANN сначала обрабатывает выбранные функции, полученные от автоэнкодера, чтобы изучить сложные закономерности и корреляции между входными атрибутами. Полученные представления затем передаются индукционному классификатору, который выполняет окончательную классификацию Android-приложений как доброкачественных или вредоносных. Таким образом, ANC выступает в роли обёртки, улучшая традиционные классификаторы глубокими вложениями признаков и сохраняя их интерпретируемость. Этот гибридный механизм позволяет ANC использовать как высокоуровневую абстракцию признаков из ANN, так и надёжное принятие решений из устоявшихся классификаторов машинного обучения, что приводит к повышенной точности обнаружения и обобщения.

Экспериментальная установка

В экспериментальной конфигурации использовалась 64-битная операционная система Windows 10 с процессором i5 — 2,30 ГГц, 8 ГБ оперативной памяти и жестким диском на 2 ТБ. Python 3.7 использовался в качестве языка программирования, а платформа Jupyter была настроена для поддержки пакетов машинного обучения и глубокого обучения.

IEEE Dataport предоставил данные последовательности вызовов API эксперимента, которые включали 43 876 последовательностей — 42 797 из которых были классифицированы как вредоносное ПО и 1 079 — как качественное ПО. Для верификации использовался Virus Total, а среду песочницы Cuckoo — для сбора данных. Таблица 1 даёт полное объяснение последовательностей вызовов API.

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

Results

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

В предлагаемой системе обнаружения вредоносного ПО на Android используются несколько показателей эффективности, таких как среднеквадратическая ошибка (MSE), корнёвая средняя квадрат ошибки (RMSE), точность, отзыв, оценка F1 и точность, которые используются в предлагаемой Android системе обнаружения вредоносного ПО. Ниже приведено определение этих показателей.

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

Discussion

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

Угрозы вредоносного ПО на Android растут, а противники применяют всё более сложные методы уклонения. Мобильные системы и приложения на базе Android играют ключевую роль в умных городах и промышленной среде. Обеспечение безопасности этих систем, особенно в таких критически важных областях, требует надёжных механизмов обнаружения вредоносного ПО. В последнее время исследования обнаружения вредоносного ПО на основе машинного обучения привлекли значительноевнимание 18...

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

Disclosures

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

Никакие конфликты интересов или внешние влияния не повлияли на результаты этой работы. Все представленные методы, результаты и интерпретации являются оригинальными и беспристрастными

Acknowledgements

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

Я хотел бы выразить искреннюю благодарность своему гиду и KLU, которые поддержали эту работу. Их руководство, обратная связь и поддержка были неоценимы на протяжении всей разработки этого проекта.

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.Навигатор-2023
Google ColabGoogle LLCН/Д
Блокнот JupyterПроект JupyterН/Д
PythonФонд программного обеспечения Python>=3,9
PyTorchFacebook AI Research>=2.0
Scikit-learnСообщество управляемое>=1.0
TensorFlowGoogle Brain>=2,8
Операционная система 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