Модель угроз для банковского мобильного приложения
Вопрос
Как бы вы построили модель угроз для мобильного банковского приложения?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Активы: деньги, сессии, персональные данные, ключи
Атакующие: вор телефона, вредоносное приложение, MITM в сети, реверс клиента
Меры по каждому каналу: устройство, сеть, клиент, сервер
Серверная сторона как последняя линия: лимиты, антифрод, подтверждения
Процесс: ревью, пентест, MASVS, обновление при изменениях
Что могут спросить следом
- Что делать, если устройство рутовано?
- Как защититься от оверлеев и подмены экрана на Android?
Разбор
Начинаю с активов: деньги и операции, сессия пользователя, персональные данные, ключи и токены. Затем атакующие: тот, кто взял разблокированный телефон, вредоносное приложение на устройстве (оверлеи, перехват ввода), атакующий в сети, реверсер, который изучает клиент и подделывает запросы. Для каждого канала меры: на устройстве ключи в Keystore и Keychain, вход по биометрии через криптографию, тайм-аут сессии, защита экрана. В сети TLS и pinning. Для клиента обфускация и аттестация, но с пониманием, что клиент скомпрометировать можно. Поэтому последняя линия на сервере: подтверждение операций, лимиты, антифрод, привязка к устройству. Модель пересматриваю при каждой крупной фиче и проверяю пентестом по MASVS.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.