Современные вредоносные APK всё чаще мимикрируют под обычные приложения, и лишь детальный комплексный анализ с помощью ИИ способен выявить вредоносную составляющую, скрытую зачастую с помощью технологий обфускации. Как с этим справляется Рекрипториум?
ИИ-классификатор Рекрипториума работает полностью статически — без запуска приложения. Он извлекает код из всех DEX-файлов, строит граф вызовов между методами, анализирует последовательности API-вызовов и ошибки парсинга структуры APK, а также анализирует DEX обученным нами трансформером.
Разберёмся подробнее о том, что скрывают упакованные APK, почему традиционные методы классификации плохо работают и за счёт чего наша модель ИИ показывает хорошие результаты.
Что внутри APK
APK (Android Package) — это ZIP-архив, содержащий:
DEX-файлы (Dalvik Executable) — скомпилированный байт-код приложения, исполняемый в среде Android Runtime. Вредоносная логика сосредоточена именно здесь.
AndroidManifest.xml — декларация компонентов, разрешений, intent-фильтров.
Ресурсы и assets — изображения, строки, дополнительные файлы.
Сертификат разработчика — используется для проверки подлинности.
Современные вредоносные APK часто прибегают к упаковке (packing) и обфускации: реальный код скрыт внутри обфусцированных DEX или загружается динамически, а первый classes.dex содержит лишь пустую заглушку.
Что видят обычные антивирусные средства
Традиционные антивирусные решения опираются преимущественно на:
Сигнатуры — хеш-суммы файлов или их фрагментов, другие отличительные признаки. «Ломаются» при изменении байтов.
Простые эвристики — проверка разрешений (например, SEND_SMS + INTERNET), наличие подозрительных строк, анализ манифеста.
Поверхностный статический анализ — часто ограничивается первым DEX и не заглядывает внутрь упакованных или многодексовых приложений.
Динамический анализ (песочницы) — ресурсоёмок, может быть обнаружен вредоносным ПО, которое «засыпает» при обнаружении работы в изолированной среде.
В результате упаковка или незначительная модификация кода легко обходят такие механизмы обнаружения.
Что анализирует Рекрипториум
ИИ-классификатор Рекрипториума работает полностью статически, не требуя запуска приложения в изолированной среде (песочнице), и
при этом:
Извлекает код из всех DEX-файлов (включая classes2.dex, classes3.dex и пр. скрытые внутри ресурсов), что позволяет «увидеть» вредоносную нагрузку даже в упакованных и обфусцированных образцах
Строит полный граф вызовов (Call Graph) между всеми внутренними методами, что даёт структурированное представление логики приложения. Большинство антивирусных решений обычно не оперируют графовыми моделями.
Анализирует последовательности API-вызовов на уровне семейств пакетов, выявляя характерные паттерны поведения без эвристических правил.
Собирает информацию об ошибках парсинга (invalid strings, ошибки манифеста), которые часто коррелируют с обфускацией или намеренным повреждением структуры APK — сигнал, игнорируемый классическими сканерами.
Использует представление сырых байтов DEX в виде hex-строки, подаваемой на в обученный нами трансформер, позволяющий анализировать непосредственно код приложения.
Итог: почему наш ИИ показывает высокие результаты
Глубина анализа: мы не ограничиваемся первым DEX или манифестом, а восстанавливаем всю доступную кодовую базу.
Устойчивость к упаковке: использование полного графа вызовов, трансформера и признаков ошибок позволяет детектировать образцы, которые для традиционных средств выглядят «пустыми».
Обучаемые представления: вместо жёстких эвристик модель сама находит разделяющие паттерны, адаптируясь к эволюции угроз
Экспериментальное подтверждение: на отложенной выборке достигнуты высокие метрики при оптимальном пороге классификации. Высокий AUC (0.99) свидетельствует об отличной разделимости классов даже без тонкой настройки порога.
Наша система превосходит традиционные классификаторы по устойчивости к обфускации и упаковке, а также по способности извлекать семантически богатые признаки.