{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

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 строку, а выше понятия не имеют, что там было исключение и считают этот стаб валидными данными.

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

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

С учетом того, что у автора стоит xposed+xprivacy, он мог вполне выдавать приложению мусорные данные такие же, как у другого пользователя xprivacy, благодаря чему произошел такой интересный айди-шеринг.

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