Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Метод рекомендационного анализа Android-приложений на основе численной оценки сходства

Информационные технологии
04.02.2026
2
Поделиться
Аннотация
В контексте стремительного роста экосистемы Android-приложений актуальной задачей является автоматический поиск и ранжирование схожих пакетов для целей анализа безопасности, сравнения функциональности и рекомендации альтернатив. В данной статье предлагается метод рекомендационного анализа Android-приложений, ядром которого выступает численная мера структурного сходства, получаемая путём статического анализа APK-файлов. Метод формулирует задачу в терминах Top-N рекомендаций: для заданного приложения-запроса строится ранжированный список наиболее схожих кандидатов из корпуса. Ключевым вкладом работы является формализация подхода, включающая: определение комплементарных источников эталонных данных для оценки качества; применение стандартных для рекомендательных систем метрик оценки для строгого измерения точности, полноты и качества ранжирования; проектирование экспериментального дизайна, охватывающего сценарии анализа качества ранжирования в зависимости от параметров меры сходства, исследования масштабируемости метода и сравнения одноэтапной и двухэтапной схем обработки. Предложенный подход позволяет объединить достижения в области статического анализа Android-приложений и методологию оценки рекомендательных систем, открывая возможности для создания инструментов, полезных как в сфере безопасности, так и для аналитиков и конечных пользователей, решающих задачи поиска функционально близких альтернатив.
Библиографическое описание
Петров, В. В. Метод рекомендационного анализа Android-приложений на основе численной оценки сходства / В. В. Петров. — Текст : непосредственный // Молодой ученый. — 2026. — № 6 (609). — URL: https://moluch.ru/archive/609/133404.


Given the rapid growth of the Android app ecosystem, automated search and ranking of similar packages for security analysis, functionality comparison, and alternative recommendation is a pressing issue. This paper proposes a method for Android app recommendation analysis, the core of which is a numerical measure of structural similarity obtained through static analysis of APK files. The method formulates the problem in terms of Top-N recommendations: for a given query app, a ranked list of the most similar candidates from the corpus is constructed. The key contribution of the paper is the formalization of the approach, including: defining complementary sources of reference data for quality assessment; applying standard recommender system evaluation metrics for rigorous measurement of precision, recall, and ranking quality; and developing an experimental design covering ranking quality analysis scenarios depending on the similarity measure parameters, studying the method's scalability, and comparing one-stage and two-stage processing schemes. The proposed approach combines advances in static analysis of Android applications and methodology for evaluating recommender systems, opening up opportunities for creating tools useful both in the security field and for analysts and end users searching for functionally similar alternatives.

Keywords: recommender systems, Android applications, similarity analysis, static analysis, repackaging, Top-N recommendations, quality metrics, scalability.

Введение

Экосистема мобильных приложений Android характеризуется исключительным динамизмом и масштабом, с миллионами пакетов, доступных в официальных и альтернативных магазинах. Этот рост, с одной стороны, обеспечивает пользователям широкий выбор, а с другой — порождает ряд сложных проблем для исследователей безопасности, аналитиков и самих пользователей. К таким проблемам относятся массовое дублирование функциональности, репакетирование легитимных приложений с внедрением вредоносного кода или агрессивной рекламы, а также техника piggybacking, при которой злонамеренный модуль прикрепляется к популярному приложению [1, c. 12; 2, c. 1272]. В результате возникает потребность в эффективных методах автоматического обнаружения схожих приложений, будь то для выявления вредоносных клонов в целях безопасности или для поиска функциональных альтернатив и аналогов.

Традиционные исследования в области безопасности Android фокусируются преимущественно на задаче детектирования репакованных приложений, рассматривая её как проблему бинарной классификации [3]. Для этого разрабатываются и применяются методы статического анализа, основанные на вычислении численных мер сходства между приложениями. Эти методы работают с различными представлениями кода и ресурсов: от сравнения контрольных сумм и сигнатур до анализа графов вызовов, потоков данных и структурных особенностей манифеста [4, c. 7; 5, c. 313]. Однако, как правило, результатом такого анализа является бинарное решение («репак»/«не репак») или оценка сходства, используемая для прохождения через заданный порог.

В то же время, в смежной области информационного поиска и рекомендательных систем разработаны подходы для решения задач ранжирования и построения Top-N рекомендаций [6]. Их эффективность измеряется такими метриками, как Precision@K, Recall@K и nDCG@K, которые оценивают точность, полноту и качество порядка в результирующем списке [7].

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

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

Научный вклад работы заключается в следующем: переход от бинарной классификации к рекомендательной парадигме с построением ранжированного Top-N списка схожих приложений; формализация комплексной системы оценки на основе трехуровневой системы эталонных данных с адаптацией метрик рекомендательных систем; проектирование экспериментального дизайна для анализа масштабируемости метода, включая оценку производительности и исследование компромисса «качество-скорость» для двухэтапной схемы обработки.

Методы исследования

В рамках данной работы задача рекомендательного анализа Android-приложений формализуется как задача Top-N рекомендаций. Исходными данными является корпус Android-приложений. Для заданного приложения-запроса необходимо построить упорядоченный список из заранее заданного числа других приложений, которые наиболее близки к нему по степени структурного сходства. Ключевым элементом метода является численная мера сходства, которая вычисляется для каждой пары приложений и выражает степень их близости в диапазоне от 0 (полное различие) до 1 (полное совпадение).

Метод рекомендационного анализа формализуется как алгоритм TopN, принимающий на вход APK-файл приложения-запроса q , корпус приложений C={ c 1,…, c M }, параметры меры сходства w=( w m , w g , w s ), где w m + w g + w s =1 и желаемую длину списка N . На выходе возвращается ранжированный список R = [ r 1 ,…, r N ], где r i ∈C∖{ q } упорядочены по убыванию сходства S ( q , r i ).

Для заданного приложения-запроса и всего корпуса итоговый список Top-N рекомендаций формируется следующим образом.

Algorithm TopN-Recommendation(q, C, w, N):

Input: q — APK query app; C — corpus of M pre-extracted feature vectors;

w = (w_m, w_g, w_s) — weights; N — list length

Output: R — ranked list of N most similar apps

  1. Extract features from q: F_q = (M_q, G_q, S_q) // manifest, call-graph descriptors, strings
  2. similarities = empty list
  3. for each c_i in C:

F_i = features of c_i

sim_m = Jaccard(M_q, M_i) // or chosen metric

sim_g = Cosine(G_q, G_i)

sim_s = Jaccard(S_q, S_i)

S_i = w_m * sim_m + w_g * sim_g + w_s * sim_s

append (c_i, S_i) to similarities

4. Sort similarities descending by S_i

5. R = top N from sorted similarities

return R

Двухэтапный режим добавляет шаг 3': грубый фильтр. Метрики сходства выбраны стандартно для множеств и векторов

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

Таблица 1

Источники эталонных данных для оценки качества рекомендаций

Источник эталонных данных

Описание и способ получения

Что считается релевантным для запроса

Преимущества

Ограничения

Наборы «оригинал-репак»

Пары приложений из публичных датасетов, где одно приложение является репакованной версией другого

Для оригинального приложения релевантными являются его репакованные варианты, и наоборот

Реалистичные сценарии

Наборы могут быть смещены в сторону вредоносных случаев

Последовательные версии одного приложения

Группы APK, принадлежащие одному пакету и собранные из различных источников

Все другие версии того же пакета

Моделирует естественную эволюцию кода

Требует надёжной атрибуции; функциональность может значительно меняться

Синтетически модифицированные приложения

Автоматически сгенерированные варианты базового приложения с применением контролируемых преобразований

Все модифицированные варианты, порождённые от того же базового APK

Полный контроль над типом и степенью изменений

Может не покрывать все сложные техники репаковки

Для каждого приложения-запроса в эксперименте формируется эталонный список релевантных ему приложений в соответствии с выбранным источником. Для оценки эффективности метода используются стандартные метрики качества рекомендательных систем, адаптированные под задачу [6]. Метрики определяются на основе сравнения ранжированного списка, возвращённого системой, с эталонным списком.

– Precision@K — доля релевантных приложений среди первых K рекомендаций. Показывает чистоту верхней части результата;

– Recall@K — доля найденных релевантных приложений от общего их известного числа. Характеризует способность метода находить все похожие приложения;

– nDCG@K — оценивает качество ранжирования, учитывая, что релевантные приложения, находящиеся на более высоких позициях в списке, имеют большую ценность. Вычисляется как нормированная дисконтированная кумулятивная выгода.

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

Экспериментальный дизайн и методология оценки

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

Таблица 2

Сводный план экспериментальных сценариев

Сценарий

Варьируемые факторы

Измеряемые показатели

Методология и ожидаемый формат результатов

A. Качество ранжирования

1. Вес компонента меры сходства

2. Порог сходства

3. Длина списка

4. Тип эталонных данных

1. Precision@K

2. Recall@K

3. nDCG@K

Метод: Вычисление и усреднение метрик для каждого набора параметров отдельно

Ожидаемые результаты: Сводные таблицы средних значений метрик

B. Масштабируемость

Размер корпуса приложений

1. Среднее время ответа на запрос

2. Общее время на извлечение признаков для корпуса

3. Объем ОЗУ для хранения признаков и индексов

Метод: Замер времени и памяти на корпусах разного размера

Ожидаемые результаты: Графики «размер корпуса — время/память»

C. Сравнение режимов обработки

Режим обработки:

1. Одноэтапный

2. Двухэтапный

1. Качество: P@10, R@10, nDCG@10.

2. Латентность запроса

Метод: Сравнение качества и времени для двух режимов на корпусе

Ожидаемые результаты: Сравнительная таблица значений метрик и времени

Двухэтапный режим обеспечит значительное ускорение при незначительном падении метрик качества. Ключевым результатом станет рекомендация по выбору режима в зависимости от приоритетов задачи: максимальное качество или высокая скорость.

Ожидаемые результаты и их интерпретация

Данный раздел содержит спецификацию ожидаемых результатов в рамках разработанного экспериментального дизайна.

Сценарий A. Качество ранжирования в зависимости от параметров.

Анализ по данному сценарию направлен на проверку гипотез о влиянии параметров алгоритма на качество рекомендаций. Гипотеза 1 — оптимальный баланс весов в композитной мере сходства зависит от типа эталонных данных. Метод проверки — сравнение значений Precision@K, Recall@K, nDCG@K для различных конфигураций весов в разрезе источников данных. Конфигурация с повышенным весом меры на основе графа вызовов и строковых констант [8] проверяется на датасетах репаков, где злоумышленники часто сохраняют базовую логику приложения. Конфигурация с доминирующим весом меры по манифесту проверяется на данных о версиях, где ключевые атрибуты пакета стабильны. Гипотеза 2 — метрики демонстрируют предсказуемую динамику при изменении длины списка K. Метод проверки — построение графиков зависимости Precision@K, Recall@K, nDCG@K от K для фиксированных параметров. Анализ монотонного убывания Precision@K, роста Recall@K и наличия максимума у nDCG@K.

Сценарий B. Оценка масштабируемости.

Цель сценария — проверка гипотез о вычислительной эффективности метода. Гипотеза 3 — время предобработки корпуса линейно зависит от его размера. Метод проверки — замер времени извлечения признаков для корпусов возрастающего объёма и построение соответствующей регрессионной модели. Гипотеза 4 — использование двухэтапной схемы с индексацией обеспечивает сублинейный рост латентности запроса относительно размера корпуса, в отличие от линейной зависимости при одноэтапном расчёте [9]. Метод проверки — сравнение графиков «размер корпуса — время ответа» для двух режимов обработки. Гипотеза 5 — потребление памяти линейно зависит от размера корпуса. Метод проверки — замер объёма памяти, занимаемого признаковыми представлениями, для корпусов разного масштаба.

Сценарий C. Компромисс «Качество-Скорость» при разных режимах обработки.

Сценарий предназначен для проверки ключевой гипотезы об оптимизации. Гипотеза 6 — двухэтапный режим обработки обеспечивает статистически значимое сокращение времени формирования рекомендаций при допустимом снижении метрик качества по сравнению с одноэтапным режимом. Метод проверки — парное сравнение для фиксированного корпуса и набора запросов: измерение времени ответа и значений Precision@K, Recall@K, nDCG@K для одноэтапного и двухэтапного режима. Статистическая оценка значимости различий в скорости работы и метриках качества. На основе проверки данной гипотезы планируется сформулировать критерий выбора режима: одноэтапный режим для задач, требующих максимальной точности; двухэтапный — для интерактивных систем, где время отклика является критичным параметром.

Обсуждение

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

Следовательно, интерпретация результатов будущих экспериментов должна быть строго контекстуализирована: ожидается, что метод продемонстрирует высокую эффективность в задачах профилирования и кластеризации по происхождению кода, но для построения пользователь-ориентированных рекомендательных систем потребуется его гибридизация с методами, анализирующими функциональность на ином уровне [10, c. 77].

Предлагаемый метод занимает нишу между классическими системами детектирования репаков и классическими рекомендательными системами. По сравнению с детекторами репаков [11], его ключевое отличие — это переход от бинарного вывода к ранжированному списку. По сравнению с традиционными рекомендательными системами [12], основное отличие в природе вычисляемого сходства.

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

Несмотря на продуманный дизайн, метод имеет ряд присущих ограничений, так статический анализ DEX-кода может быть затруднён или искажён применением продвинутых техник обфускации. Путь смягчения заключается в интеграции признаков, устойчивых к обфускации более высокого уровня, таких как графы потоков данных или семантические вложения инструкций, как это делается в ряде современных работ по обнаружению вредоносного ПО [13].

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

Заключение

В ответ на ограниченность традиционных подходов, ориентированных преимущественно на бинарную классификацию, в работе предложен метод рекомендательного анализа, основанный на численной оценке сходства и переформулирующий задачу в терминах построения ранжированного списка Top-N аналогичных приложений.

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

  1. Формализацию задачи как Top-N рекомендаций, где ядром служит композитная численная мера сходства, вычисляемая на основе признаков манифеста, графа вызовов и строковых констант.
  2. Определение трёх комплементарных источников эталонных данных пар «оригинал-репак», последовательных версий одного приложения и синтетически модифицированных пакетов, что позволяет оценивать метод в контексте различных типов и степеней родства программных объектов.
  3. Адаптацию стандартных метрик рекомендательных систем для строгой количественной оценки точности, полноты и качества ранжирования формируемых списков.
  4. Разработку детального экспериментального дизайна, охватывающего сценарии анализа влияния параметров на качество рекомендаций, оценки масштабируемости метода и исследования компромисса между точностью и производительностью при использовании одноэтапной и двухэтапной схем обработки.

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

Литература:

  1. Rashidi, B. A Survey of Android Security Threats and Defenses / B. Rashidi, C. Fung // Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA). — 2015. — Vol. 6, № 3. — P. 3–35.
  2. Li, L. Understanding Android App Piggybacking: A Systematic Study of Malicious Code Grafting / L. Li, D. Li, T. F. Bissyandé et al. // IEEE Transactions on Information Forensics and Security. — 2017. — Vol. 12, № 6. — P. 1269–1284.
  3. Wu, Y. Android App Repackaging Detection: A Comprehensive Survey / Y. Wu, Z. Liu, Y. Lin et al. // Cyber Security and Applications. — 2026. — P. 100124. DOI: 10.1016/j.csa.2026.100124
  4. Arp, D. DREBIN: Effective and Explainable Detection of Android Malware in Your Pocket / D. Arp, M. Spreitzenbarth, M. Hübner et al. // Proceedings of the 21st Annual Network and Distributed System Security Symposium (NDSS 2014). — 2014. — 15 p.
  5. Suarez-Tangil, G. DroidSieve: Fast and Accurate Classification of Obfuscated Android Malware / G. Suarez-Tangil, J. E. Tapiador, P. Peris-Lopez // Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy (CODASPY '17). — 2017. — P. 309–320.
  6. Recommendation Systems — Evaluation Metrics and Loss Functions [Электронный ресурс]. — Aman.ai, 2022. — URL: https://aman.ai/recsys/metrics/ (дата обращения: 27.01.2026).
  7. About Recommenders Metrics — Jurity 1.3.2 documentation [Электронный ресурс]. — Fidelity Investments, 2023. — URL: https://fidelity.github.io/jurity/about_reco.html (дата обращения: 27.01.2026).
  8. Allix, K. AndroZoo: Collecting Millions of Android Apps for the Research Community / K. Allix, T. F. Bissyandé, J. Klein et al. // Proceedings of the 13th International Conference on Mining Software Repositories (MSR '16). — 2016. — P. 468–471.
  9. Leskovec, J. Mining of Massive Datasets / J. Leskovec, A. Rajaraman, J. D. Ullman. — 2nd ed. — Cambridge: Cambridge University Press, 2014. — 513 p.
  10. Adomavicius, G. Context-Aware Recommender Systems / G. Adomavicius, B. Mobasher, F. Ricci, A. Tuzhilin // AI Magazine. — 2011. — Vol. 32, № 3. — P. 67–80. DOI: 10.1609/aimag.v32i3.2364
  11. Serval Snt Uni Lu. Piggybacking: Ungrafting Malicious Code with Differential Analysis [Электронный ресурс]: GitHub-репозиторий. — 2018. — URL: https://github.com/serval-snt-uni-lu/Piggybacking (дата обращения: 27.01.2026).
  12. Piskachev, D. Revisiting Mining Android Sandboxes at Scale for Malware Detection [Электронный ресурс] / D. Piskachev, M. Pistoia // arXiv. — 2025. — URL: https://arxiv.org/html/2505.09501v1 (дата обращения: 27.01.2026).
  13. Wang, Z. Review of Android Malware Detection Based on Deep Learning / Z. Wang, Q. Liu, Y. Chi // IEEE Access. — 2020. — Vol. 8. — P. 181102–181126. DOI: 10.1109/ACCESS.2020.3028370
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Похожие статьи

Молодой учёный