Плохая проработка сценария аутентификации. Или нет?

На глаза попалась статья о том, как молодой банк запустил веб-приложение для обслуживания клиентов. Я — директор по маркетингу RooX (специализируемся на аутентификации и авторизации внешних пользователей), так что мне стало интересно, как банк реализовал вход.
Я не являюсь клиентом этого банка. Этот факт стал катализатором исследования.

За иллюстрацию спасибо macrovector / <a href="http://www.freepik.com" rel="nofollow noreferrer noopener" target="_blank">Freepik</a>.
За иллюстрацию спасибо macrovector / Freepik.

Логи проявленного любопытства

  • В веб-версии логин — это номер телефона.

  • Проверка на формат мобильного номера отрабатывает нормально — клавиатура откликается только на цифры, код +7 предпроставлен, больше 9 цифр ввести нельзя, при недостатке цифр появляется подсказка «Введи мобильный телефон» (можно было бы «Не хватает цифр в номере»).

  • Форма принимает номер не-клиента как должное. Кнопка «Продолжить» активна. Ведет на страницу ввода кода.

  • При вводе нескольких случайных номеров телефона капча ни разу себя не проявила.
  • Пришло sms c кодом подтверждения.
  • Блокировка перебора кода сработала после 6 или 7 неправильных комбинаций, отправили «на скамейку запасных» на 5 минут.
  • После ввода правильного кода перебросило на девственно белую страницу. Пожалуй, это был первый намек, что я не клиент )
  • Некоторое время на любую попытку «а давайте снова войдем» сразу, без промежуточных просьб ввести телефон и код, показывалась девственно белая страница. Куда-то меня всё же залогинило )

  • Сотрудник банка перезвонил довольно быстро: «Вы оставили номер телефона, но не указали данные о компании». Обсудили, как такое произошло )

Анализ

Казалось бы, сценарий «пришел не-клиент» недостаточно отработан: при вводе номера телефона не-клиента не отреагировали, на смску потратились, залогинили в никуда. Однако...

  1. Кейс «Потенциальный клиент логинится в личный кабинет, минуя регистрацию» не самый, честно скажем, частый случай поведения ЦА. При запуске MVP ресурсы на реализацию этого сценария можно не тратить.

  2. Информировать при вводе телефона «ой, вы же не клиент» плохо с точки зрения инфобеза. Злоумышленник может, зная телефон, точечно его проверить. А если капчи нет, может перебором составить базу телефонов клиентов.

  3. Отправить sms-код для входа не-клиенту — вполне рабочий ход. Человека можно залогинить в зону «уже-почти-клиент» и дальше прогревать его до клиента. Этого не произошло, но могло бы.

  4. В никуда логинить нехорошо, да. Скорее всего, это произошло следующим образом. Система аутентификации проверила OTP (код по sms) и выдала токен с номером телефона. В ДБО не было такого пользователя, но это уже, как говорится, не проблемы шерифа. Но есть и светлая сторона. В описанном поведении сайта есть косвенные признаки того, что система аутентификации отделена от системы ДБО, что круто с точки зрения дальнейшего развития и поддержки обеих систем.

  5. Сотрудник позвонил. И если бы я была странным человеком из п. 1, меня бы отловили и попытались сделать клиентом.

Выводы

  1. Личному кабинету не хватает зоны для приземления не-клиентов.

  2. Текущая реализация входа может быть уязвима в случае, если кто-то очень хочет разорить банк на sms.

  3. Если и дальнейшие операции проводятся с подтверждением по одному фактору (тем более, по sms), то это уже противоречит требованиям безопасности ЦБ.
2222
34 комментария

Комментарий недоступен

8
Ответить

Современный Директор по маркетингу это универсальный солдат!

3
Ответить

Знаете, каждый джун тоже своего рода директор

2
Ответить

:)

1
Ответить

Наталья, спасибо за оценку нашей работы. Если верно понял, вы упоминаете наш новый банк для предпринимателей https://blanc.ru/
От себя добавлю, что замечания принимаем, кейсы не реализовали умышленно, чтобы ускорить выпуск веб-версии банка – мы сделали его за +- 3 месяца, и больше внимания уделили внутренней архитектуре и функционалу.

Правильно подметили, что аутентификация у нас явлвяется отдельным микросервисом, что дает гибкости при его развитии. Желаю больше обзоров и открывайте у нас счет ;-)

4
Ответить

Да, это ваш банк стал источником вдохновения )

Умышленную не-реализацию отметила в первом пункте, как признак хорошей приоритезации. Тем более, мой случай вообще из ряда вон )

Аутентификация как отдельный микросервис — это респект. Всем рекомендуем.

Встречно желаю кратного роста! И приходите к нам в https://roox.ru за customer identity and access management ;)

1
Ответить

"Текущая реализация входа может быть уязвима в случае, если кто-то очень хочет разорить банк на sms." — мне кажется, нужно столько запросов, что у скорее сайт заддосится )

1
Ответить