Настройки шифрования¶
Режимы шифрования¶
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 - факт нарушения фиксируется в журнале, приложение продолжает работу (для диагностики).
Самозащита не требует настройки и не влияет на штатную работу приложения - на корректно собранном и подписанном приложении она не срабатывает.