После прошлой статьи про бытовые ошибки в переводах по номеру телефона я получил две основные реакции:

  1. «Да почему вообще нужен сторонний сервис, если можно просто переслать номер?»

  2. «Я не доверяю никакому боту — вдруг он подменит номер получателя?»

Эта статья — технический разбор безопасности бытовых переводов:

  • какие реальные угрозы существуют;

  • почему пересылка номера в мессенджерах тоже небезопасна;

  • что можно сделать, чтобы полностью исключить подмену получателя;

  • и как это реализовано в современных надстройках для переводов.

вид визитки для отправителя
вид визитки для отправителя

1. Главная проблема: мы передаём деньги, но используем каналы связи, не предназначенные для передачи платёжных реквизитов

Особенность бытовых переводов в том, что:

  • деньги идут через банк → это безопасно;

  • реквизиты передаются через мессенджер → это НЕ безопасно.

Мессенджеры не предназначены для коммуникации «получатель → плательщик».
Поэтому возникают:

  • подмены номера,

  • ошибки в одной цифре,

  • фишинговые визитки,

  • MITM-атаки через предпросмотр ссылок,

  • редактирование сообщений задним числом,

  • пересылка старых неактуальных номеров.

Именно передача реквизита ломает процесс.

2. Что чаще всего ломается в реальной жизни: модель угроз

Вот список реальных атак, которые происходят не в банках, а «между людьми»:

1) Подмена номера в мессенджере

  • редактирование сообщения,

  • удаление и новая отправка,

  • поддельный аккаунт,

  • расширения/боты в групповых чатах.

2) MITM при предпросмотре ссылки

Если вы отправили человеку ссылку на платёжную визитку, мессенджер открывает её для генерации превью.
В этот момент злоумышленник (или скомпрометированное расширение) может подменить номер.

3) Фишинговые визитки

Сделать поддельную визитку на бесплатном хостинге — проще простого.
Подмена происходит «в одну кнопку», и визуально отличить сложно.

4) Ошибки в цикле “копирую → вставляю → открываю банк”

UX-хрупкость: буфер очистился, выбрали старый номер, вставили в неправильное поле.

5) Компрометация чата

Телефоном пользуются родственники, сотрудники, дети, клоны аккаунтов.
Редактировать отправленные сообщения можно до 48 часов (в некоторых мессенджерах — бесконечно).

И вот важное — ни одна из этих атак не относится к банкам или СБП.

Все происходят до попадания пользователя в банк.

3. Почему «просто номер» — не всегда безопасно

Пересылка обычного номера кажется простой, но на самом деле:

  • мессенджеры — слабое звено,

  • номер не имеет контрольной суммы,

  • нет механизма проверки подлинности,

  • номер можно подменить в пути,

Без дополнительного уровня защиты у нас нет способа отличить настоящий реквизит от поддельного.

4. Как решается проблема: механизм «защитной фразы»

И вот здесь появляется то, что в обсуждениях под второй статьёй вызвало интерес.

Что такое защитная фраза?

Это короткая фраза, которую отправитель задаёт в своём профиле.
Например:

  • «Оранжевый автобус»

  • «Пингвин на сноуборде»

  • «Справедливость 2025»

Как она работает?

  1. Отправитель заходит в визитку любого получателя.

  2. Визитка показывает защитную фразу, взятую из его собственного профиля, а не из профиля получателя.

  3. Плательщик видит:
    «Да, это мой сервис. Это не фишинг. Это официальная визитка.»

  4. Подменить фразу невозможно, потому что она хранится на стороне отправителя.

Важный момент:
Защитная фраза не защищает получателя.
Она защищает плательщика, который не может попасть на поддельную ссылку даже в теории.

? Для тех, кто хочет увидеть механизм в действии

(как рекомендовали в комментариях к прошлой статье)

Вот ссылка на бот:
https://t.me/qrperevod_bot

После авторизации вы сразу увидите свою фразу на визитках — это демонстрация защиты в реальном режиме.

5. Что хранится в базе и что НЕ хранится

Данные

Хранятся?

Зачем

Номер получателя

Да

Создание визитки

Номер отправителя

Нет

Сервис не является посредником

Сумма платежа

Нет

Не требуется

Банковские операции

Нет

Деньги идут напрямую через банк

Защитная фраза

Да

Для защиты отправителя

История переводов

Да

Только факт, без банковских данных

Сервис не получает доступ:
— к СБП,
— к банковскому приложению,
— к операциям,
— к сумме.

Он лишь генерирует ссылку и фиксирует факт перевода через кнопку «Я оплатил» (кстати, может назвать кнопку "Отправить уведомление получателю о переводе") - вместо того чтобы спрашивать каждый раз: "Я отправил, пришло..?".

6. Архитектура защиты (коротко и понятно)

  • Номер хранится в базе в зашифрованном виде

  • Визитки динамически генерируются и не могут быть подменены пользователем

  • Защитная фраза привязана к отправителю

  • QR-код неизменен, но всегда ведёт на актуальные данные

  • Для переходов используются прямые deeplink-и банков

  • Никаких промежуточных редиректов между визиткой и банком нет

7. Почему сервис безопаснее пересылки номера в мессенджере

Сравнение по реальным угрозам, а не теории:

Угроза

Мессенджер

Сервис

Подмена номера

Часто

Невозможна

Редактирование старых сообщений

Да

Не относится к визиткам

MITM предпросмотров

Да

Не критично из-за защитной фразы

Фишинговые визитки

Да

Невозможны из-за фразы

Ошибки в номере

Да

Нет, номер подставлен автоматически

Утечка номера

Высокий риск

Минимальный

Перевод не туда

Часто

Почти исключён

8. Публичный roadmap по безопасности

В следующих версиях уже планируются:

  • проверка подписи визитки,

  • PWA-режим с локальным кешированием реквизитов,

  • расширенная защита QR через цифровую подпись,

  • автоматическая сверка реквизитов при повторном переводе,

  • журнал безопасности для пользователей.

Если у вас есть предложения — пишите, я собираю идеи из комментов.

Итог

Переводы по номеру — безопасны.
Мессенджеры — нет.
Поэтому защита нужна не переводу, а передаче реквизита.

Защитная фраза — это надстройка, которая полностью закрывает:

  • фишинг,

  • подмену номера,

  • MITM,

  • ошибки,

  • старые реквизиты.

Сервис не касается ваших денег.
Он делает бытовые переводы безопаснее и проще.


? Попробовать защитную фразу и увидеть визитку:
https://t.me/qrperevod_bot

Если хотите следить за обновлениями, обновлениями безопасности и разбором новых угроз — подписывайтесь на канал проекта: https://t.me/qrperevod

Комментарии (17)


  1. Cas_on
    02.12.2025 08:59

    Очередной опус как сделать бытовые переводы более сложными?

    Единственная проблема при переводах по номеру телефона - ошибка в самом номере. Но она нивелируется обычно проверкой ФИО при отправке денег.


    1. inkelyad
      02.12.2025 08:59

      Единственная проблема при переводах по номеру телефона

      Да нет. Как показала практика проблема с ними (да и вообще со всеми переводами) - это когда перевод делается, и даже без ошибок в наборе атрибутов и даже с проверкой ФИО, но не тем и не по тому поводу.
      Как автор пытается это решить (включая фишинг) - я не понял.

      Потому что никаких разумных способов проверить, что корм для кошек, что покупается, продает Иван Иванович, а не Петр Петрович - нет. Особенно если тот из них, что жулик, усиленно делает вид, что он таковым не является.


      1. xSVPx
        02.12.2025 08:59

        В смысле "нету"? Я вот плачу некоторым контрагентам через сбп, и я проверяю их фио. Вы можете сколько угодно прикидываться, но я петру не переведу, я знаю что получатель иван.


        1. inkelyad
          02.12.2025 08:59

           но я петру не переведу, я знаю что получатель иван.

          Это работает, когда вы откуда-то узнали, что получатель должен быть иван.

          А если еще не знаете и петр будет достаточно убедителен, занимаясь фишингом - переведете ему.


          1. xSVPx
            02.12.2025 08:59

            Конечно нет. До перевода я узнаю кому я перевожу ивану или петру. Обычно это можно проверить по независимым каналам.

            Какой у вас кейс, что вы не знаете кому переводите ? Что кому и за что вы платите ?


            1. inkelyad
              02.12.2025 08:59

              Какой у вас кейс, что вы не знаете кому переводите

              Некий продающий (которого я не знаю) пытается меня убедить (по удаленным каналам) оплатить что-нибудь ну очень (по его мнению) мне нужное переводом. Проверить, что он действительно это продает, а не пытается меня заболтать - нельзя. Потому перевода и не будет.


              В сценарии, что пытается предложить автор статьи - будет то же самое. Там с этой точки зрения ничего не исправляется.
              И вообще это справедливо для приблизительно любой формы платежных атрибутов 'переводи сюда'. Если занудствовать - оно осуществимо даже в розничном магазине. Это сценарий, когда продавец себе наличность как-то прикарманивает, обворовывая хозяина. Но с последним другими способами борются, а не тем, что покупатели проверяют, что 'на этом месте чек должен быть от ИП ФИО/ИНН такой-то'.


              1. xSVPx
                02.12.2025 08:59

                Некий продающий по каким каналам что ? В поставленной вами схеме вопрос не в количестве реквизитов, а в количестве идиотизма у оплачивающего, если он непонятно кому деньги переводит.

                В жизни обычно этот некто известен. К примеру не так давно я оплачивал услуги подобного некты, получил реквизиты в телеграм, сходил на его сайт и там нашел их и проверил, что они одинаковые. Еще вейбек машиной проверил что давно не менялись.

                И если бы я их на сайте не нашел яб платить без дополнительных пруфов не стал.

                Обычно у всех кто что-то продает онлайн реквизиты есть. Ну т.е. со мной ещё не было случаев, чтобы их не было, правда иногда это только фио. В любом случае всегда можно по второму каналу получить подтверждение.

                В магазине чеки не проверяю, и трудовые договора с продавцов не требую. Но там я получаю свой товар в обмен на деньги прям сразу.


                1. inkelyad
                  02.12.2025 08:59

                  К примеру не так давно я оплачивал услуги подобного некты, получил реквизиты в телеграм, сходил на его сайт и там нашел их и проверил, что они одинаковые.

                  Угу. Проверку прошло только то, что тот что в телеграм и то, чей сайт - это одно лицо.
                  А то что он действительно продает заявленное, а не вся конструкция служит для привлечения доверчивых - проверить можно только после того, как товар действительно приедет и именно тот, что просил.

                  Более того, эта ситуация (когда просят оплатить переводом) - вообще красный флаг. Ладно разовый случайный платеж. Но тут явно бизнесом занимаются (сайт вон сделали). Но при этом не потрудились оформить получение денег именно как оплату? Сервисов же полно, включая эту самую СБП. А чего это так? Уж не потому ли, что для переводов механизма возврата 'оплаты' не предусмотрено?


                  1. xSVPx
                    02.12.2025 08:59

                    А больше никто ничего и не проверял. Вася утверждает что он продает самокаты, есть изрядно людей которые утверждают что покупали у него самокаты, все это доится не один год, самокат недорогой.

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

                    Имея сотни контрагентов я имею ноль проблем за наверное десятки тысяч сделок в последние 20-30 лет... Да с маркетплейсами больше проблем...


                    1. inkelyad
                      02.12.2025 08:59

                      Возврат возможен всегда. Необоснованное обогащение и вот это вот всё.

                      Это какой-то другой квест, отдельный от того, что в процедуру платежа при покупке встроен. Чеки, опять же.
                      А насколько 'Необоснованное обогащение' работает - смотри все закручивание гаек с мошенниками. Деньги уходят с концами.
                      Нет, при оформлении покупки - тоже возможно, но явно меньше, тк. все телодвижения большей частью про переводы.

                      У них кроме самозанятости и сбп ничего и нету.

                      Да сколько угодно. Но покупкой. Через то же сбп. А не переводом.


                      1. xSVPx
                        02.12.2025 08:59

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


                      1. inkelyad
                        02.12.2025 08:59

                        Вы живете в другом мире. 

                        Я живу в мере где даже транзакция покупки(карточная) была на днях отклонена, потому что продавец (уже несколько лет на точке торгует) был в каком-то списке Финмониторинга. И вообще банки (и не только) неприятно дергаются и меры принимают, когда шевельнёшься не так. Так что ну их, переводы эти.


                      1. xSVPx
                        02.12.2025 08:59

                        PS. Вы когда-нибудь фото своего пластика с двух сторон посылали продавцу :)? А мне приходилось.


  1. aGGre55or
    02.12.2025 08:59

    Автор аккуратно обошёл вопрос компрометации самого сервиса. Его сравнение "по реальным угрозам, а не теории" можно принимать во внимание только при теоретической добросовестности и паталогической честности Васи Пупкина написавшего этот сервис.


    1. Cas_on
      02.12.2025 08:59

      Да там и угрозы несущественны и "притянуты за уши". Если скомпрометирован мессенджер, то никакой внешний сервис не поможет.


  1. inkelyad
    02.12.2025 08:59

    Предложения все страньше и страньше.

    Атаки вида "отредактировали сообщение прямо в мессенджере" - это серьёзно? Если это включать в угрозы то быстро выяснится, что это самое обсуждение было про "не выиграл, а проиграл... <и дальше по известном тексту>" и поэтому вообще все, что там написано, можно не учитывать, т.е. сделки и не будет.


  1. dumbaq
    02.12.2025 08:59

    «Боже как же хочется пропихнуть свою бесполезную инновационную идею»