На прошлой неделе специалисты ФинЦЕРТ Центрального Банка России разослали в банки бюллетень с описанием новой схемы хищения средств со счетов пользователей. Реальные заливщики использовали для этого Систему быстрых платежей Центрального Банка (СБП) и уязвимость в одной из банковских систем. По словам участников рынка, это первый случай хищения средств с помощью СБП Центрального Банка.
Собственный источник в среде дроповодов пояснил, что через уязвимость реальный заливщик получил данные счетов клиентов. Затем он запустил мобильное приложение в режиме отладки, авторизовавшись как реальный клиент банка, отправил запрос на перевод средств в другой банк, но перед совершением перевода вместо своего счета отправителя средств указал номер счета другого клиента этого же банка. Система ДБО, не проверив, принадлежит ли указанный счет отправителю, направило в СБП ЦБ команду на перевод средств, который она и осуществила. Таким образом и были произведены заливы с чужих счетов банка на сумму около полумиллиона долларов США.
В бюллетене ФинЦЕРТ отмечалось, что номера счетов жертв реального заливщика были получены перебором в ходе успешной авторизации при использовании недокументированной возможности API системы дистанционного банковского обслуживания (ДБО).
«Проблема была выявлена в программном обеспечении одного банка (мобильное приложение и система ДБО) и носила краткосрочный характер. Она была оперативно устранена», — комментируют представители Центробанка России. При этом название банка в котором отработал реальный заливщик не раскрывается, но подчеркивается, что сама СБП надежно защищена.
Интересно, что, по имеющимся данным, уязвимость была настолько специфической, что обнаружить ее случайно было практически невозможно: «О ней мог знать кто-то хорошо знакомый с архитектурой мобильного банка этой кредитной организации. То есть либо кто-то внутри банка, либо разработчик программного обеспечения, либо тот, кто его тестировал», — сообщил источник обного из крупных обнальных форумов даркнета.
Само списание денежных средств с чужого счёта и залив на счёт дропа заключалось в том, что в мобильном приложении не проверялось поле отправителя. Реальный заливщик от своего имени осуществлял перевод, но вместо своего номера счета, с которого нужно списать средства, подставлял номер счета жертвы (в СБП можно указать номер телефона). В итоге в банк уходило сообщение о переводе с совершено чужого номера телефона на номер счёта дропа. И банк принимал эту операцию.
Проблема не в системе быстрых платежей, а в ее реализации в конкретном приложении конкретного банка, реальному заливщику удалось провернуть эту схему потому, что он внимательно изучил приложение мобильного банкинга и обнаружил, что поле отправителя не обновляется и его можно подменить. Есть ли у кого-то еще такие уязвимости? Надеюсь, что списание денежных средств со счетов клиентов банков таким вот образом не стало массовым, и такой баг — скорее исключение. К сожалению, в этой схеме пользователи не могут себя обезопасить, а вот банки могут и должны провести независимый аудит своих мобильных приложений и внедрить системы поведенческого анализа, которые защищают мобильный банкинг.