Безопасность мобильного приложения: что вы проверяете
Вопрос
Какие меры безопасности вы закладываете в мобильное приложение по умолчанию?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Хранение: Keychain/Keystore, минимум данных, очистка при выходе
Сеть: только HTTPS, при необходимости pinning с запасными ключами
Аутентификация: OAuth с PKCE, короткие access-токены, ротация refresh
Нет секретов в бинарнике, решения принимает сервер
Логи и аналитика без персональных данных
Обфускация, аттестация и MASVS для чувствительных приложений
Что могут спросить следом
- Как вы сделаете безопасный вход по биометрии?
- Что вы будете делать при утечке ключа API из приложения?
Разбор
Базовый набор у меня такой. Токены храню в Keychain или зашифрованными ключом из Android Keystore, пароль не храню вообще, при выходе всё пользовательское стираю. Сеть только HTTPS с проверкой сертификатов, для банковских сценариев pinning публичного ключа с запасными пинами. Вход через OAuth Authorization Code с PKCE в системном браузере, access-токены короткие, refresh ротируется. В бинарнике нет секретов: всё, что требует секрета, делает сервер. Логи и аналитика без персональных данных. Для финтеха добавляю обфускацию, аттестацию устройства (Play Integrity, App Attest) с проверкой на сервере, защиту экрана и ориентируюсь на требования OWASP MASVS.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.