Аннотация:
Рассмотрена задача многоуровневого анализа сходства приложений для платформы Android по статическим признакам в цифровых коллекциях мобильных приложений. В таких коллекциях встречаются дубликаты, ответвленные версии, перепакованные приложения и иные модифицированные варианты; вредоносная нагрузка рассматривается как возможный частный случай модификации, а не как синоним перепаковки.
Формализована функция сходства приложений по статическим признакам, построена статическая модель приложения и предложена архитектура анализа, разделяющая предварительный отбор кандидатов, углубленное сопоставление, интерпретацию результата и слой формирования заключения. Показано, что значимая информация о близости приложений содержится не только в байткоде classes.dex, но и в манифесте AndroidManifest.xml, ресурсах, APK-внутренних метаданных и библиотечных зависимостях. Численная оценка сходства вычисляется только при успешном построении статических моделей сравниваемых приложений; в противном случае фиксируется отдельный служебный технический статус с нормализованной причиной отказа.
На локальном пилотном наборе из пяти основных пар и двух граничных случаев наблюдалось, что явный учет библиотечных зависимостей и раздельная фиксация технических ограничений прототипа позволяют получить более интерпретируемый результат, однако эти данные следует рассматривать как предварительные и не дающие оснований для окончательной валидации архитектуры на больших коллекциях.