Уязвимость в банкоматах Тинькофф: как я потерял деньги из-за ошибки в интерфейсе

В стремлении упростить взаимодействие с клиентами компании иногда пренебрегают базовыми принципами безопасности. На собственном горьком опыте я убедился, к чему это может привести. Результатом "оптимизации" клиентского сценария в банкоматах Тинькофф стала потеря моих денег, возбуждение уголовного дела в МВД и потенциальные проблемы для человека, который, возможно, сам не до конца понимал, что совершает.

Как всё началось: неожиданное опустошение счёта

В современном мире наличные — редкий гость в кошельке, и я обычно сразу же отправляю их на счёт. Именно с этой целью я оказался у банкоматов Тинькофф в торговом центре МЕГА Химки. Поскольку у нас с супругой общий бюджет, она взяла 10 000 рублей и пошла к терминалу, пока я занимался своими делами.

Спустя несколько минут я получил push-уведомление о зачислении средств и звонок от жены: задача выполнена, но банкомат не принял несколько купюр номиналом 2000 рублей. Время было около 17:00. Жена, решив, что операция завершена, отправилась по магазинам.

Я нашёл её в примерочной. Из-за жары она подобрала лёгкое платье и попросила меня его оплатить, чтобы сразу переодеться. На кассе я столкнулся с неприятным сюрпризом: карта показала недостаток средств. Насторожившись, я оплатил покупку другой картой и, возвращаясь, зашёл в мобильный банк. Было 17:25.

На экране я увидел шокирующую картину: почти сразу после пополнения с карты через тот же банкомат были сняты все деньги. Первой мыслью была шутка со стороны жены, но её реакция и испуганный взгляд сразу развеяли сомнения. К счастью, по привычке я не храню на карте крупные суммы, поэтому потеря составила около 20 000 рублей, а не все сбережения.

Экстренные меры: обращение в банк и полицию

Мы немедленно позвонили в службу поддержки Тинькофф, сообщили о краже и, следуя инструкциям оператора, отправились в отделение полиции. Для нас это был первый подобный опыт, и мы чувствовали растерянность. Сотрудники первого отдела полиции УМВД России по г.о. Химки проявили понимание, помогли правильно составить заявление и успокоили супругу. К 18:30 у нас на руках уже было талон-уведомление о приёме заявления.

Собственное расследование: в поисках уязвимости

По роду деятельности я занимаюсь проектированием цифровых сервисов, в том числе думаю об их безопасности. Покинув полицию, мы вернулись к банкомату. Мне было критически важно понять, как злоумышленник получил доступ к средствам.

Обратите внимание: Брать или не брать: личное мнение о кредитке Тинькофф Платинум.

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

Как должно работать: стандартный сценарий

Сначала я проверил корректный процесс внесения денег:

  1. Выбираю на главном экране «Пополнить».
  2. Прохожу двухфакторную аутентификацию: прикладываю телефон (NFC) и ввожу PIN-код.
  3. После успешной авторизации открывается купюроприёмник.
  4. Вношу тестовые купюры (1000 и 2000 рублей).
  5. Банкомат принимает 1000 рублей, возвращает 2000 (так как не поддерживает этот номинал).
  6. Операция завершается. Любая следующая операция требует новой авторизации.

Всё выглядело логично и безопасно: одна авторизация — одна операция. Но где же тогда слабое место? Я попросил жену детально восстановить её действия.

Где кроется опасность: сценарий с отменой операции

Ключевой деталью в её рассказе была попытка повторно внести купюры в 2000 рублей после того, как банкомат их не принял. Увидев, что операция невозможна, она отменила её. Я смоделировал этот сценарий и обнаружил критическую уязвимость:

  1. Выбираю «Пополнить», прохожу аутентификацию (телефон + PIN).
  2. Открывается купюроприёмник. Нажимаю кнопку «Назад».
  3. Возвращаюсь в меню выбора валюты. Снова нажимаю «Назад».
  4. Попадаю на экран с опциями «Пополнить эту карту» и «Всё остальное». Ещё одно нажатие «Назад»...
  5. ...и я оказываюсь на главном экране, где доступны операции «Снять», «Перевести», «Оплатить».
  6. Выбираю «Снять» — и банкомат, без какой-либо дополнительной проверки, позволяет снять ранее внесённые 1000 рублей!

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

Обсудив с женой детали, моя догадка подтвердилась: она не нажала кнопку «Уйти», думая, что просто отменила операцию. В результате её авторизованная сессия осталась активной. Следующий клиент получил полный доступ к нашему счёту. Вполне возможно, он даже не осознавал, что снимает не свои деньги, а чужие, оставленные на карте. Но теперь этот человек, независимо от его намерений, может столкнуться с уголовным преследованием.

Выводы и рекомендации: кто виноват и как защититься

Проанализировав ситуацию, я пришёл к следующим заключениям:

  1. СМС-оповещения в данном случае бесполезны. Если деньги сняты, единственный законный способ их вернуть — обращение в полицию. Уговоры или требования к злоумышленнику чаще всего не работают.
  2. Команда Тинькофф, на мой взгляд, допустила серьёзную ошибку в проектировании интерфейса. Система позволяет после отмены одной авторизованной операции (например, пополнения) выполнять другие действия (снятие, перевод) без повторной проверки личности. Как специалист в области UX/UI и безопасности, я считаю эту уязвимость критической. За подобный просчёт в моей команде спросили бы строго.
  3. Пользователям стоит быть предельно внимательными. Подходя к банкомату, всегда проверяйте, не активна ли чужая сессия. Помните: почти все банкоматы и зоны вокруг них находятся под видеонаблюдением. При расследовании найти человека по записям с камер — вопрос техники.
  4. Для повышения безопасности рекомендую использовать для аутентификации не только NFC с телефона, но и физическую карту (желательно без технологии pay pass) или биометрию. Эти факторы сильнее привязывают операцию к конкретному человеку в конкретный момент времени. Идеально — комбинация из нескольких факторов.

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

В этой истории сложно однозначно назвать виновного. Возможно, это был целенаправленный грабёж, а может — честная ошибка человека, запутавшегося в неочевидном интерфейсе. Как пострадавшая сторона, я могу быть субъективен.

Однако стечение обстоятельств — несовершенство процесса в банке и человеческий фактор — привело к реальным последствиям: потере денег, утрате доверия к банку и возбуждению уголовного дела. Надеюсь, что моя история закончится возвратом средств, а команда Тинькофф оперативно исправит этот опасный баг в интерфейсе. А пока — будьте бдительны у банкоматов и всегда завершайте сессию явно.

Больше размышлений о IT, дизайне и безопасности можно найти в моём Telegram-канале An Log.

​P.S. Тинькофф банк, если хотите получить детальный разбор ситуации, я готов к диалогу.

Больше интересных статей здесь: Банки.

Источник статьи: Как потерять деньги используя банкоматы Тинькофф.