{"id":14279,"url":"\/distributions\/14279\/click?bit=1&hash=4408d97a995353c62a7353088166cda4ded361bf29df096e086ea0bbb9c1b2fc","title":"\u0427\u0442\u043e \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435: \u0432\u044b\u0435\u0445\u0430\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0438\u043b\u0438 \u0437\u0430\u0435\u0445\u0430\u0442\u044c \u0440\u0430\u043d\u044c\u0448\u0435?","buttonText":"","imageUuid":""}

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-*** в службу технической поддержки рассмотрена. С уважением, ВТБ (ПАО)»

0
67 комментариев
Написать комментарий...
Аккаунт удален

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

Ответить
Развернуть ветку
Dmitry Myachin

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

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

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

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Dmitry Vedenko

Такого даже в gcm не было. Более того - у моторолы лет 10 назад был баг и у большого числа телефонов был одинаковый device id, работе пушей это никак не мешало.

Ответить
Развернуть ветку
64 комментария
Раскрывать всегда