Специалисты «Гарды» предупредили, что вход по QR-коду, который есть у банков, маркетплейсов и мессенджеров, при неудачной реализации позволяет увести аккаунт без всякого пароля. Такие ошибки они не раз встречали во время аудитов веб-приложений.
Хитрость в том, что пользователь сам подтверждает вход в настоящем официальном приложении. Поддельных сайтов тут нет, поэтому заметить подвох гораздо труднее, чем обычный фишинг.
Как устроена атака
Злоумышленник открывает страницу входа в сервис у себя и получает QR-код. Из него он достаёт глубокую ссылку (диплинк), которая открывает мобильное приложение сразу на экране подтверждения, и рассылает её через мессенджер или почту.
Жертва нажимает на ссылку, на телефоне запускается официальное приложение с запросом на вход, и одно нажатие «Подтвердить» отдаёт сессию на чужом компьютере вместе со всеми данными аккаунта.
Почему это опасно
Через такой доступ можно добраться до денег и личных данных в банке или на маркетплейсе. При этом в окне подтверждения часто не видно, с какого устройства и из какого места идёт вход, так что отличить свой запрос от чужого пользователю нечем.
Что советуют
Разработчикам предлагают разрешать QR-авторизацию только через встроенный сканер приложения и не принимать такие ссылки, открытые вручную. Пользователям советуют не подтверждать вход, который они сами не начинали, даже если запрос пришёл в настоящем приложении.
Наш комментарий
Если вы делаете вход по QR-коду на своём сайте, покажите на экране подтверждения устройство, браузер и примерный город, ограничьте жизнь кода минутой и привяжите его к сессии того, кто его запросил. Это несложно, а схема с пересланной ссылкой после этого почти теряет смысл. Подробнее в CNews.
