Безопасность мобильных приложений в 2025: что реально работает и как избежать типовых уязвимостей
В Инстадев мы закладываем безопасность ещё на этапе архитектуры, а не «прикручиваем» потом — это критично, потому что большинство уязвимостей дешевле предотвратить, чем чинить в продакшене.
Основные блоки мобильной безопасности
1. API и сеть
- Используем только https://, блокируем cleartext-трафик (android:usesCleartextTraffic="false")
- Включаем SSL pinning по SHA-256 публичного ключа сервера
- Проверяем и ротационно обновляем сертификаты
- Добавляем контроль числа запросов (rate limit)
- Запрещаем отправку токенов без Authorization-заголовка
2. Хранение данных
- Все токены и ключи — в flutter_secure_storage
- Локальные БД — через SQLCipher, с шифрованием файла
- Очистка сессии при выходе пользователя
- Никаких секретов и ключей в коде или репозитории — даже в .env на проде
3. Аутентификация и авторизация
- Политика паролей: длина 8 — 12+, цифры, символы, заглавная
- MFA на чувствительные действия (например, смена e-mail или платёжные операции)
- OAuth2/OIDC с корректной обработкой токенов (refresh при 401)
- Привязка сессий к устройству — доп. слой защиты
4. Код и приложение
- Обфускация (—obfuscate, ProGuard/R8, —split-debug-info)
- Удаление логов и отладочной информации
- Проверка подписи приложения и источника установки
- RASP (Runtime Application Self-Protection): защита от джейлбрейка, рута, отладки, хука
5. WebView и ввод
- Запрещаем JS, если не нужен (JavascriptMode.disabled)
- Навигация только на белый список доменов
- Запрещаем отладку WebView
- Санитизация ввода (особенно если рендерится HTML)
- Отключаем копипаст и автозаполнение в чувствительных полях
6. Разрешения и функции устройства
- Запрашиваем только нужные разрешения
- Скрываем экран от скриншотов и записи (FLAG_SECURE)
- Блокируем работу на рут/джейл устройствах и в эмуляторах
- Защищаем от наложений (tapjacking) и фонового снятия данных
7. Зависимости и обновления
- flutter pub outdated и flutter pub upgrade регулярно
- Проверка уязвимостей (Snyk, OWASP Dependency-Check)
- Удаление неиспользуемых пакетов
8. Мониторинг и обнаружение угроз
- Crashlytics/Sentry: не только падения, но и аномальное поведение
- Логи без PII (токены, пароли, личные данные)
- Сигналы безопасности — алерты и автоотключение сессий
Мини-чек-лист от Инстадев
- HTTPS + SSL pinning
- secure storage
- MFA и политика паролей
- обфускация и удаление логов
- WebView — только белые домены
- минимум разрешений и FLAG_SECURE
- проверка уязвимостей зависимостей
- краш-репорты и сигналы безопасности
Мы внедряем всё это до запуска MVP — это снижает время прохождения модерации и экономит в среднем 150–300 тыс. ₽ на доработках в продакшене.