Рассмотрите риски по поверхностям: локальные данные и секреты, сетевой обмен, аутентификация и API, межкомпонентные взаимодействия, WebView, зависимости и модификация клиента. Приоритет зависит от активов и модели угроз. Мобильное приложение находится на устройстве пользователя, поэтому сервер не должен доверять клиентским проверкам прав или встроенным секретам.
Какие основные векторы атак нужно учитывать для мобильного приложения?
Поверхности риска мобильного клиента и его API: хранение данных, авторизация, сеть, платформенные компоненты, WebView и зависимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Начните с активов: учетная запись, персональные данные, платежные действия и доступные через приложение операции. Затем определите, где они обрабатываются и кому доверяет система.
Основные поверхности риска:
- Локальное хранение: лишние данные в логах, кеше, резервных копиях и файлах; неправильное обращение с ключами и токенами.
- Сеть: отсутствие корректной проверки защищенного соединения, передача чувствительных данных неподходящим способом.
- Сессии и API: слабое восстановление доступа, ошибки авторизации объектов, чрезмерное доверие переданным клиентом ролям и идентификаторам.
- Компоненты платформы: неправильно открытые компоненты, обработка внешних ссылок и сообщений без необходимой проверки.
- WebView и веб-контент: небезопасное соединение недоверенного содержимого с привилегированными функциями приложения.
- Поставка и зависимости: уязвимые библиотеки, небезопасная сборка или распространение неподлинной версии.
- Изменение клиента: попытки обойти локальные ограничения или извлечь встроенные секреты.
Систематизировать проверки помогает OWASP MASVS, выделяющий группы требований к мобильной безопасности. Однако список стандартных проверок не заменяет модель угроз конкретного продукта.
Ключевой принцип: серверные полномочия нельзя обеспечивать только интерфейсом мобильного приложения. Проверку права на действие выполняют на доверенной стороне. Обфускация и проверка целостности могут усложнить анализ клиента, но не превращают секрет внутри распространяемого приложения в надежный серверный секрет.
На интервью назовите не только угрозу, но и соответствующую защиту и способ проверки. Приоритизируйте по вероятности и последствиям для реальных активов, а не по эффектности названий атак.