Ответ вслух Senior Безопасность мобильных приложений обновлено

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

Вопрос

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

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с активов: деньги и операции, сессия пользователя, персональные данные, ключи и токены. Затем атакующие: тот, кто взял разблокированный телефон, вредоносное приложение на устройстве (оверлеи, перехват ввода), атакующий в сети, реверсер, который изучает клиент и подделывает запросы.

Что должно прозвучать в ответе

  • Активы: деньги, сессии, персональные данные, ключи

  • Атакующие: вор телефона, вредоносное приложение, MITM в сети, реверс клиента

  • Меры по каждому каналу: устройство, сеть, клиент, сервер

  • Серверная сторона как последняя линия: лимиты, антифрод, подтверждения

  • Процесс: ревью, пентест, MASVS, обновление при изменениях

Что могут спросить следом

  • Что делать, если устройство рутовано?
  • Как защититься от оверлеев и подмены экрана на Android?

Разбор

Начинаю с активов: деньги и операции, сессия пользователя, персональные данные, ключи и токены. Затем атакующие: тот, кто взял разблокированный телефон, вредоносное приложение на устройстве (оверлеи, перехват ввода), атакующий в сети, реверсер, который изучает клиент и подделывает запросы. Для каждого канала меры: на устройстве ключи в Keystore и Keychain, вход по биометрии через криптографию, тайм-аут сессии, защита экрана. В сети TLS и pinning. Для клиента обфускация и аттестация, но с пониманием, что клиент скомпрометировать можно. Поэтому последняя линия на сервере: подтверждение операций, лимиты, антифрод, привязка к устройству. Модель пересматриваю при каждой крупной фиче и проверяю пентестом по MASVS.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.