Разработка и запуск

​

Что проверить в безопасности мобильного приложения перед запуском

Создано 22.08.2026

Обновлено 06.10.2026

Чек-лист безопасности мобильного приложения перед запуском: данные, доступ, токены, локальное хранение, сеть, API, сборка и сопровождение.

Короткий ответ

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

Эта страница — рабочий чек-лист для команды, владельца продукта, архитектора или подрядчика. Его можно использовать перед релизом, передачей приложения в эксплуатацию или аудитом кода и архитектуры.

Проверку привязывают к конкретной версии сборки и серверной части, а результат подтверждают воспроизводимыми сценариями. API — программный интерфейс обмена данными; SDK — набор библиотек и инструментов, подключённых к приложению.

Когда применять и что подготовить

Когда применять

Проверка нужна, если приложение работает с персональными данными, документами, заявками, платежами, внутренними системами, корпоративными устройствами, ролями сотрудников или доступом без сети.

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

Что подготовить до проверки

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

До начала работы согласуйте тестовые учётные записи, допустимые действия и ограничения проверки. Используйте обезличенные данные. Зафиксируйте номер сборки, версию операционной системы, устройство, окружение сервера и настройки, которые отличают проверяемый вариант от поставки пользователям.

Как провести проверку безопасности мобильного приложения

Порядок проверки

  1. Выберите критичный пользовательский сценарий и запишите разрешённый результат: какие данные доступны и какие действия допускает роль.
  2. Выполните разрешённый сценарий на согласованной сборке. Затем проверьте запрещённый вариант и убедитесь, что отказ не сопровождается раскрытием данных или изменением на сервере.
  3. Проверьте, что остаётся на устройстве после выхода, смены пользователя и перехода в фоновый режим. Для приложения с автономной работой отдельно согласуйте правила доступа к локальным данным.
  4. Сопоставьте ответы API с содержимым экрана, локального хранилища, журналов и диагностических пакетов. Скриншот интерфейса не подтверждает поведение остальных слоёв.
  5. Для проблемы сохраните условия, шаги, фактический результат и затронутые данные. Для непроверенного сценария отметьте ограничение, а не успешное прохождение.
  6. После исправления повторите запрещённый сценарий и разрешённый контрольный тест на версии, предназначенной для поставки.

Проверка по слоям

СлойЧто проверитьЧто должно быть на выходе
ДанныеКакие персональные, финансовые, медицинские, корпоративные или документные данные попадают в приложение.Лишние поля убраны из API-ответов, чувствительные данные описаны и ограничены по сценариям.
Доступ и ролиПроверяет ли серверная часть права на каждом критичном действии, а не только мобильный клиент.Авторизация подтверждается сервером, ошибки доступа не раскрывают чужие данные.
Токены и секретыГде хранятся токены сессии, токены обновления, закрытые ключи и одноразовые коды.Секреты не лежат в обычных настройках, файлах, SQLite без защиты, логах или конфигурации сборки.
Локальное хранениеЧто остаётся в локальной базе данных, кэше, настройках и резервных копиях и режиме без сети.Для секретов и ключей выбраны платформенные средства защиты: Keychain на iOS, Android Keystore для ключей на Android. Защита данных, резервное копирование и очистка проверены.
Сеть и APIЗащищённый сетевой протокол TLS, доверенные сертификаты, App Transport Security, Network Security Config, настройки доверия для отладки и обработка ошибок API.Сборка для пользователей не использует доверие к отладочным сертификатам, API не отдаёт лишние данные и проверяет состояние операций.
Взаимодействие с платформойДанные уведомлений, снимки экрана, экран недавних приложений, буфер обмена, передача данных другим приложениям, ссылки прямого перехода, межпроцессные сообщения и встроенный браузер WebView.Чувствительные данные не раскрываются через системные функции и внешние точки входа.
Конфиденциальность и журналыЧто попадает в аналитику, отчёты о сбоях, пакеты поддержки, эксплуатационные журналы и диагностику инцидентов.Токены, документы и персональные данные не уходят в диагностику без необходимости.
Корпоративные политикиЛичные и корпоративные устройства, средства управления устройствами и приложениями, централизованные настройки, ограничения снимков экрана, буфера обмена, загрузки и передачи данных.Понятно, какие политики применяются на устройстве, в приложении и на уровне данных.
Сборка и зависимостиПрофиль выпуска, подпись сборки, разрешения, отладочные флаги, секреты в коде, SDK и проверка зависимостей.В поставку не попадают отладочные флаги, лишние разрешения, устаревшие SDK и секреты.
СопровождениеКак отзывать токены, обновлять приложение, закрывать сценарий, расследовать инцидент и проверять, не вернулись ли исправленные проблемы.Есть порядок реакции после запуска и список повторных проверок безопасности.

Серверную часть проверяют отдельно от защиты мобильного клиента: карта проверки безопасности API задаёт области риска, а проверка авторизации API — сценарии доступа к данным, полям и операциям.

Ошибки и границы проверки

  • Доверять мобильному клиенту

    Клиент можно анализировать, модифицировать и запускать в нестандартной среде. Критичные проверки должны подтверждаться сервером.

  • Хранить токены как обычные строки

    Обычные настройки приложения, открытая SQLite-база, файлы и отладочные журналы не подходят для секретов и длительно живущих токенов.

  • Проверять только собственный код

    Риски часто приходят через SDK, уведомления, аналитику, сбор отчётов о сбоях, разрешения и настройки окружений.

  • Забыть про эксплуатацию

    После запуска нужны отзыв доступа, повторные проверки безопасности, обновление SDK и правила безопасной диагностики.

Такой чек-лист помогает определить покрытие, но не заменяет углублённый анализ кода, тестирование серверного контура или проверку требований к обработке персональных данных. Невозможность исследовать хранилище, настройки поставки или ответы сервера должна оставаться явным ограничением результата.

Как подтвердить результат проверки

Артефакты и решение о выпуске

Результатом считается не общая формулировка «приложение безопасно», а список проверенных зон, найденных рисков, критичности, затронутых данных, рекомендаций и порядка исправления.

Решение о запуске принимают по согласованным критериям. Команда должна определить: что исправить до релиза, что можно включить в ближайший план, какие риски остаются осознанными и какие проверки нужно повторять после обновления SDK, API или корпоративных политик.

Условный пример выхода и смены пользователя

Предположим, приложение показывает сотруднику внутренние обращения. По согласованному правилу после выхода содержимое предыдущей сессии недоступно, а другой пользователь видит только свои обращения. Это учебный пример, не результат клиентского аудита.

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

СценарийОжиданиеДоказательство
Выход и повторное открытиеНет доступа к обращениям завершённой сессииШаги, состояние экрана и результат проверки локальных данных
Вход другого пользователяНет данных предыдущего пользователяОтвет API и состояние клиентского хранилища после смены записи
Повтор после исправленияЗапрещённый доступ исключён, разрешённый сценарий работаетНомер целевой сборки и повтор обоих контрольных тестов

Если экран очищен, но старые данные доступны через другой путь, проблему нельзя считать закрытой. В отчёте связывают находку, исправление и повторную проверку; ограничения автономного режима и недоступные доказательства указывают отдельно.

Что дальше

Соберите карту данных, критичных действий, API-методов, ролей, локального хранилища, SDK и диагностических потоков. После этого можно определить границы проверки: мобильный клиент, клиент вместе с API или полный контур приложения, сборки и сопровождения.

Если приложение уже работает или передаётся от другой команды, следующий шаг — аудит кода и архитектуры с отдельной границей по мобильной безопасности.

Источники и соседние практики

Для глубокой проверки используйте OWASP MASVS ↗, OWASP Mobile Top 10 ↗, MASVS-STORAGE ↗, Android security checklist ↗, Android Keystore ↗ и Apple Security Overview ↗.

Если нужно сначала понять общую рамку темы, откройте обзорный материал «Безопасность мобильных приложений».

Обсудить проект

Если хотите применить этот материал к вашему проекту, напишите нам. Поможем уточнить вводные, риски и следующий шаг: оценку, discovery, разработку, интеграцию или сопровождение.

Связаться