OWASP Mobile Top 10 — это список самых критичных рисков безопасности мобильных приложений. Он помогает разработчикам, тестировщикам и бизнесу понимать, где чаще всего происходят утечки данных, взломы и компрометация пользователей.
Кратко разберём каждую категорию и что с ней делать.
M1: Improper Credential Usage
Неправильная работа с учётными данными: токены, API-ключи, пароли хранятся или передаются небезопасно.
Риск: кража аккаунтов, доступ к backend-сервисам.
Что делать: не хранить секреты в коде, использовать short-lived токены, OAuth 2.0, secure storage.M2: Inadequate Supply Chain Security
Проблемы в библиотеках, SDK, CI/CD и сторонних зависимостях.
Риск: уязвимость может прийти не из вашего кода, а из подключённого пакета.
Что делать: вести SBOM, регулярно обновлять зависимости, проверять SDK, подписывать сборки.M3: Insecure Authentication/Authorization
Ошибки в логике входа и разграничения прав.
Риск: обход авторизации, доступ к чужим данным, захват сессий.
Что делать: MFA, серверная проверка прав, защита от brute force, корректная работа с refresh/access token.M4: Insufficient Input/Output Validation
Приложение плохо валидирует входные и выходные данные.
Риск: инъекции, подмена данных, эксплуатация backend-ошибок.
Что делать: валидировать всё на клиенте и сервере, экранировать вывод, не доверять внешним данным.M5: Insecure Communication
Небезопасная передача данных между приложением и сервером. 🌐
Риск: MITM-атаки, перехват логинов, токенов, персональных данных.
Что делать: TLS 1.2+, certificate pinning, запрет слабых шифров, защита от downgrade-атак.M6: Inadequate Privacy Controls
Слабая защита персональных данных и избыточный сбор информации.
Риск: утечка PII, нарушение GDPR/152-ФЗ, репутационные потери.
Что делать: собирать минимум данных, давать прозрачные consent-механизмы, шифровать чувствительную информацию.M7: Insufficient Binary Protections
Приложение легко декомпилировать, модифицировать или подделать.
Риск: реверс-инжиниринг, кража логики, обход защит.
Что делать: obfuscation, anti-tampering, проверка целостности, root/jailbreak detection.M8: Security Misconfiguration
Ошибки конфигурации приложения, серверов, облака или мобильной платформы. ⚙️
Риск: открытые debug-функции, небезопасные разрешения, тестовые endpoint’ы в проде.
Что делать: secure-by-default настройки, аудит конфигов, отключение debug, hardening окружения.M9: Insecure Data Storage
Данные хранятся на устройстве в открытом виде или в небезопасном месте.
Риск: утечка токенов, переписки, платёжной информации.
Что делать: Android Keystore, iOS Keychain, шифрование локальных БД, запрет хранения лишних данных.M10: Insufficient Cryptography
Криптография используется неправильно: слабые алгоритмы, плохое управление ключами. 🔑
Риск: данные формально «зашифрованы», но фактически читаемы.
Что делать: использовать современные алгоритмы, не писать криптографию вручную, хранить ключи в защищённых хранилищах.
Что важно запомнить ✅
Безопасность мобильного приложения — это не одна проверка перед релизом, а процесс:
- threat modeling на этапе проектирования
- SAST/DAST/MAST в CI/CD
- пентест перед выпуском
- контроль зависимостей
- безопасная работа с API и токенами
OWASP Mobile Top 10 полезен как чек-лист для аудита, разработки и подготовки к пентесту. Если мобильное приложение работает с платежами, персональными данными или корпоративным доступом, игнорировать эти пункты особенно опасно. 🚨
Подборку каналов про IT стоит посмотреть тем, кто следит за безопасной разработкой, архитектурой приложений и практикой DevSecOps.