Android-клиент банка ВТБ показывает уведомления о всех операциях другого пользователя

Наблюдаемый эффект

Поступают уведомления обо всех операциях другого клиента банка ВТБ в виде всплывающих сообщений. При запуске приложения и до авторизации в нем (ввода PIN-кода) отображаются операции другого клиента, хотя в заголовке формы ввода PIN-кода указаны мои учетные данные. После ввода PIN-кода и до момента выхода из сессии отображаются только мои уведомления об операциях.

Немного деталей

PUSH-уведомления не активированы, в моменты отображения на экране телефона уведомлений о чужих операциях я не авторизован в личном кабинете, приложение оставалось запущенным «в фоне».

В случае, если на момент совершения операций «чужим» клиентом приложение ВТБ в фоне не работало, то на экране уведомление об операции в виде всплывающего окна не отображалось. Однако если запустить приложение, то в окне авторизации можно увидеть число пропущенных уведомлений у символа «колокольчик», по нажатию на который открываются пропущенные «чужие» уведомления.

Уведомления о моих операциях никогда не отображались в приложении (прим.: логичный вопрос — а кому же тогда поступают мои уведомления?)

Переустановка приложения с очисткой памяти и сменой пароля учетной записи не устранила проблему (история, разумеется, сбросилась, но «чужие» уведомления продолжали поступать).

Гипотезы

Предположу, что возможна ошибка в работе Android приложения, вследствие чего на сервер формируется запрос (идентификатор сессии) с признаком «другого клиента», а сервер не проверяя авторизацию выдает данные о транзакциях.

При этом вероятно наличие критической ошибки на стороне сервера, т.к. фактически без авторизации пользователя (пароль/PIN-код пользователем не вводится) предоставляется конфиденциальная информация.

Если так, то существует ненулевая вероятность, что «специальным образом» модифицированное приложение способно предоставлять злоумышленнику данные об операциях целевого клиента.

Примеры данных

  • «Карта *4716: Оплата 250.00 RUB; Сити Ресторант; 20.11.2018 15:59, Доступно 22903.61 RUB»
  • «Списано 2884,00р Счет *0885 получатель Иван У. Баланс 27925,11р 16:59» от 19.10.2020
  • 11.09.2020, 11:58, «Списано 50013,66 RUB Счет *1306 перевод между счетами/картами Баланс 0,00 RUB 11:58»

Вместо заключения

Надеюсь, что это поможет разработчикам найти и исправить ошибку.

Хотелось бы верить, что я ошибаюсь и наблюдаемый эффект — это только следствие неверной записи в базе данных пользователей.

Считаю возможным опубликовать эту информацию здесь с учетом того, что с 2019г. я уже четыре раза обращался по этому вопросу в техническую поддержку и мое лучшее достижение — ответ «Уважаемый клиент! Ваша заявка SD-*** в службу технической поддержки рассмотрена. С уважением, ВТБ (ПАО)»

4646
67 комментариев

Да это что, я 5 лет получал ВСЕ уведомлениях о начислениях по счету в ВТБ ДРУГОГО человека (при этом не будучи клиентом ВТБ). 
Три обращения в ВТБ по горячей линии не дали результата ("записали, рассмотрим, устраним, этого не может быть!")
Вот так я жил "второй" жизнью - получал уведомления о зарплате и авансе, платил кредиты и тратил много в Шоколаднице ))))

68
Ответить

Интересна пассивная позиция банка с учетом ст. 26 Банковская тайна ФЗ "О банках и банковской деятельности". И да, пакет "Привилегия" на работу техподдержки не влияет.
Думаю еще немного выждать и написать в Интернет-приемную Банка России.

18
Ответить

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

10
Ответить

У меня новое устройство из Европы, в РФ не было до меня. Вишенка - приложения заблокирована возможность сбора телеметрии, аналитики и т.п. (XPrivacy). Если, как вы говорите, программисты ВТБ привязываются к идентификатору телефона - это огромная брешь в безопасности, т.к. его можно легко менять, копировать и т.п.  Даже пародия на cookie тут была бы более безопасна.
Как проект зловреда - получаем список установленных у пользователя приложений, если есть ВТБ, то запрашиваем идентификатор телефона и выгружаем эти данные на внешний сервер. Профит. Дальше осталось подключиться к серверу и получать нужные данные.

6
Ответить

Это не совсем так. Андроид современных версий не даёт возможности получить доступа к несбрасываемым ID. Это раз.
Ещё со времён c2dm в документации было чётко сказано, что это не постоянный айди и нужно уметь его обновлять.

То есть да, клиент получил чужой id, но он не на железо завязан. ЛИБО, уже в порядке бреда, они реально завязываются на железо и получают хеш от слован UNKNOWN или оборачивают каокй-то Security Exception где-то внизу в какую-то STUB строку, а выше понятия не имеют, что там было исключение и считают этот стаб валидными данными.

Но это я реально уже в порядке бреда. Чтобы так сделать, нужно быть абсолютно, наглухо, ебическим образом отбитым дегенератом.

3
Ответить

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

2
Ответить

Только вот это не пиши. Тк они не активированы и не приходят при закрытом приложении. 

Ответить