О чем статья
Исследуем популярные в России Android-приложения и проверяем, можно ли повысить их защищенность с помощью протектора PT MAZE
Большинство Android-приложений легко поддаются реверсу: злоумышленнику достаточно воспользоваться бесплатными инструментами декомпиляции, чтобы получить близкий к исходному код и проанализировать его на предмет уязвимостей. Простота процесса открывает широкие возможности для автоматизации — в том числе с помощью сканеров, выполняющих статический анализ кода. Тем не менее мы можем усложнить жизнь злоумышленникам с помощью протекторов, реализующих разные техники обфускации, шифрования кода/файлов приложения, искажения графа потока управления и т. д.
Мы взяли 94 наиболее популярных в России мобильных приложения (по статистике на август 2025 г.) и на их примере проверили эффективность протектора PT MAZE для сокрытия потенциальных уязвимостей, а также механизмов защиты.
Методология
Для загрузки APK-файлов мы выбрали утилиту Apkdgo. В качестве сканера уязвимостей взяли Mobile Security Framework со встроенным модулем APKiD (автоматически выполняет сигнатурную проверку на наличие защитных техник). Для проведения шилдинга использовали PT MAZE, в конфигурацию которого входили следующие защитные механизмы:
- обфускация идентификаторов ресурсов;
- обфускация нативной библиотеки;
- шифрование значений ресурсов;
- шифрование сторонних библиотек;
- шифрование строк;
- упаковка и шифрование DEX-файлов;
- усиление безопасности SSL/TLS-соединений;
- удаление метаданных.
Чтобы сравнить эффективность протектора для разных типов приложений, мы разделили выбранные APK-файлы на восемь категорий (см. рис. 1). Важный момент: мы фокусировались на статическом анализе, поэтому не учитывали техники RASP и другие средства противодействия динамическому анализу, которые есть в арсенале PT MAZE.
Чтобы не раскрывать конфиденциальные данные, мы тестировали приложения локально. Результаты использовали только для сбора статистики: не сохраняли и не публиковали их на mobsf.live
Анализ уязвимостей
При оценке приложений MobSF выявляет следующие категории элементов, влияющие на безопасность софта:
- High — уязвимости высокого уровня риска. Их эксплуатация может привести к утечке конфиденциальных данных, компрометации приложения или обходу механизмов защиты. Например, ошибки в криптографических алгоритмах, небезопасные сетевые конфигурации, уязвимые параметры, неконтролируемый доступ к данным и др.
- Medium — уязвимости среднего уровня риска. Они указывают на небезопасные практики разработки и наличие конфигураций, которые могут привести к компрометации приложения или утечке данных. Например, слабые криптографические алгоритмы, опасные операции с файлами и БД, уязвимые реализации WebView и т. д.
- Info — недостатки, которые могут косвенно повлиять на безопасность приложения. Например, детали реализации кода (работа с каталогами и буфером обмена, использование криптографических библиотек и др.), сетевых конфигураций и внешних сервисов. Это не уязвимости, но MobSF учитывает их при расчете итоговой оценки безопасности.
- Secure — успешно реализованные защитные меры. Например, проверки на root и отладку, защита от tapjacking, контроль целостности среды (через специализированные API), SSL-пиннинг и безопасные параметры внешних сервисов.
Отметим, что для некоторых уязвимостей MobSF может генерировать ложноположительные
и ложноотрицательные срабатывания. Результаты автоматизированного анализа нужно проверять вручную, но мы сравнивали только необработанные отчеты и не проводили верификацию обнаруженных уязвимостей
После проведения первичного сканирования мы применили ко всем приложениям шилдинг с одинаковыми параметрами. Сравнительный анализ показал: благодаря протектору общее число уязвимостей, обнаруженных с помощью MobSF, сократилось на 40%. При этом количество элементов категории High снизилось на 67%, Medium — на 24%, Info — на 80%.
Отдельно остановимся на элементах категории Secure. После шилдинга видимость корректно реализованных мер безопасности снижается. Это приводит к ложноотрицательным результатам в отчетах MobSF: защитные механизмы сохраняются, но их уже нельзя выявить с помощью статического анализа. В среднем число выявленных элементов категории Secure сократилось на 67%.
Также анализ показал, что эффективность протектора при сокрытии уязвимостей варьируется в зависимости от категории приложения (см. рис. 5).
Вводим дополнительные метрики
Помимо анализа уязвимостей и недостатков защиты, MobSF фиксирует следующие элементы, формирующие потенциальные векторы атак:
- Hotspot — потенциально небезопасные практики разработки, требующие ручной проверки (домены, разрешения, сертификаты).
- Code Analysis — участки кода, в которых есть уязвимости и небезопасные методы.
- Behavior Analysis — потенциально опасное поведение приложения;
- Вызовы Android API — указывают на использование небезопасных функций.
- Зависимости SBOM — указывают на наличие известных уязвимостей в сторонних библиотеках.
- Количество строковых значений.
- Обнаруженные секреты (учетные данные, API-ключи, токены), домены и URL.
Анализ показал: после проведения шилдинга количество секретов, обнаруженных с помощью MobSF, сократилось на 71%. По остальным метрикам видимость недостатков снизилась в среднем на 90%.
Во время анализа мы зафиксировали несколько аномалий. Так, в категориях «Доставка еды и продуктов» и «Соцсети и общение» было по одному приложению, где после шилдинга количество обнаруженных секретов, наоборот, выросло. Такой результат объясняется особенностями MobSF: при работе с зашифрованными библиотеками сканер некорректно читает их содержимое и ошибочно интерпретирует фрагменты кода как строковые значения. Это повышает вероятность ложных срабатываний при поиске секретов с помощью регулярных выражений
Обнаружение защитных техник
Первичный анализ APK-файлов с помощью модуля APKiD показал, что во всех исследуемых приложениях использовались следующие защитные техники:
- anti_debug — защита от отладки;
- anti_disassembly — защита от дизассемблирования;
- anti_vm — защита от запуска в виртуальных машинах;
- obfuscator — обфускация исходного кода.
Наличие сигнатур этих механизмов в исходных файлах снижает эффективность защиты, ведь при их обнаружении злоумышленник может заранее подготовить инструменты и методы обхода. Сравнительный анализ показал, что после шилдинга число обнаруженных защитных техник сократилось на 60%.
Отметим, что из-за ложноположительных срабатываний сканера число обнаруживаемых строковых значений в среднем увеличилось в 10,3 раза
Результаты: эффективность протектора




