Перейти к содержанию

Настройки шифрования

Режимы шифрования

Debug

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

Release

Используется для создания продуктовой версии приложения. Логирование не проводится, выполняются выбранные проверки, а при нарушении какой-либо из проверок приложение завершает работу или просто не запускается. В последнем случае для пользователя это будет выглядеть как бесконечно висящий экран-заставка (сплэш-скрин), который отображается при запуске приложения.

Проверки безопасности

Непрерывный мониторинг

Данная проверка осуществляет непрерывный мониторинг фоновой активности приложения и окружения для выявления инжекций, подмены и аномалий во время выполнения.

Обнаружение инструментов Frida

Данная проверка осуществляет обнаружение инструментов динамического анализа Frida (frida-server, frida-gadget): характерные процессы/порты, библиотеки и артефакты.

Проверка на наличие root

Данная проверка осуществляет проверки на наличие root и эскалации привилегий: su/busybox, Magisk/сокрытие, изменённые системные свойства и пути.

Обнаружение запуска в эмуляторе

Данная проверка обнаруживает признаки запуска в эмуляторе (AVD/Genymotion/QEmu): характеристики устройства, build.prop, сетевые и файловые артефакты.

Детектирование отладчика

Данная проверка осуществляет детектирование подключённого отладчика и отладочной среды: TracerPid/ptrace, системные флаги отладки, подозрительные сигналы/поведение.

Обнаружение фреймворков хука на базе Zygote

Данная проверка осуществляет обнаружение фреймворков хука на базе Zygote: Zygisk/LSPosed/EdXposed и их артефактов/модулей.

Самозащита (контроль целостности)

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

  • изменение нативной библиотеки защиты (например, попытка пропатчить её код, чтобы отключить проверки или извлечь данные приложения);
  • переупаковку и переподпись приложения чужим ключом.

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

  • Release - приложение немедленно завершает работу (защищаемый код не раскрывается);
  • Debug - факт нарушения фиксируется в журнале, приложение продолжает работу (для диагностики).

Самозащита не требует настройки и не влияет на штатную работу приложения - на корректно собранном и подписанном приложении она не срабатывает.