RASP для Android
RASP на Android: защита, которая работает внутри приложения
Что такое самозащита во время выполнения на Android, что она обнаруживает и как внедрить её, не мешая реальным пользователям.
Короткий ответ
RASP (runtime application self-protection) — это код внутри приложения, который во время работы проверяет, можно ли доверять устройству и самому приложению: root, эмуляторы, отладчики, фреймворки для хукинга и изменённые копии. Затем политика определяет реакцию — от простого сообщения до завершения сеанса. RASP повышает стоимость атаки, но не делает приложение неуязвимым.
Зачем это Android-приложениям
Любой может скачать APK, распаковать, изменить и установить снова. На телефоне с root или с подключённым инструментом инструментирования злоумышленник читает память, обходит проверки и меняет то, что отправляет приложение. Правила на вашем сервере видят только пришедшие запросы, а не устройство, которое их создало.
Что проверяет RASP
Проверки смотрят на окружение (root, эмулятор, небезопасное состояние устройства), инструментирование (Frida, Xposed, перехваченные функции), отладку (подключённый отладчик, трассировка процесса) и целостность (подпись, изменённый код, переподписанные копии). По отдельности каждый сигнал слаб; вместе они дают пригодный вердикт.
Как внедрять безопасно
Начните с режима наблюдения: приложение сообщает, что сделало бы, и ничего не блокирует. Посмотрите на реальные события от ваших пользователей, затем переводите обнаружения по одному в режим предупреждения, блокировки или завершения сеанса. Сочетайте проверки во время выполнения с укреплением сборки (обфускацией), чтобы сами проверки было труднее найти и удалить.
Что говорят источники
OWASP MASVS-RESILIENCE-1 требует, чтобы приложение проверяло целостность платформы, на которой работает, а MASVS-RESILIENCE-4 — чтобы оно применяло техники против динамического анализа.
Источник · проверено
Frida, инструмент для изучения и изменения приложений во время работы, описывает себя как набор средств динамического инструментирования кода.
Источник · проверено
Play Integrity API от Google возвращает вердикты об устройстве, приложении и аккаунте, которые бэкенд может проверить вместе с сигналами самого приложения.
Источник · проверено
Что делает Moatgator
Runtime обнаруживает root, эмуляторы, Frida, Xposed, отладчики и модификацию внутри приложения.
Источник · проверено
Реакция на каждое обнаружение задаётся в moatgator.yml: наблюдать, предупредить, заблокировать или завершить сеанс, и каждое обнаружение начинается в режиме наблюдения.
Источник · проверено
Shield обфусцирует скомпилированное приложение в вашем конвейере и возвращает его неподписанным, поэтому ключи подписи остаются у вас.
Источник · проверено
Бесплатный план включает пять обнаружений в режимах наблюдения и предупреждения.
Источник · проверено
Где границы
Ни одна проверка сама по себе не является доказательством, а решительный злоумышленник, у которого есть время, может обойти клиентские проверки. RASP даёт сигнал и время; для действий с деньгами сочетайте его с проверкой на сервере (Attest или Play Integrity).
Часто задаваемые вопросы
RASP — это то же самое, что обфускация?
Нет. Обфускация затрудняет чтение кода до запуска, а RASP проверяет окружение во время работы. Лучше всего они работают вместе, потому что обфускация также скрывает проверки RASP.
Будет ли RASP блокировать честных пользователей?
Может, если включить блокировку слишком рано. Поэтому обнаружения должны начинаться в режиме наблюдения — чтобы увидеть реальный эффект до любой блокировки.
Нужно ли менять исходный код?
С Moatgator — нет. Защита добавляется в скомпилированное приложение в вашем конвейере сборки, а политика хранится в moatgator.yml.
Работает ли это на iOS?
Moatgator поддерживает Android и iOS (бета). Это руководство посвящено Android.
Узнайте, как защищено ваше приложение
Загрузите APK, AAB или IPA в бесплатный Scan и получите оценку без регистрации.