Исследователь из Египта Мохамед Басет (Mohamed Baset) опубликовал подробную информацию о новом векторе атак. Метод аутентификации на базе QR-кодов применяется во многих приложениях, к примеру, WeChat, Line и WhatsApp, и до недавнего времени он считался весьма надежным. Басет доказал, что безопасность QR-кодов переоценивают. Эксперты полагают, что методика Басета бросает тень на SQRL (Secure QR Logins, или Secure, Quick, Reliable Logins).

Басет назвал свой метод QRLJacking (Quick Response code Login Jacking). Фактически данная атака опирается на социальную инженерию, то есть для ее использования понадобится применить фишинг или другую сходную тактику, чтобы заставить жертву просканировать поддельный QR-код.

Attack_flow
Схема атаки

Суть меда проста: сначала злоумышленник должен сам инициировать клиентскую QR-сессию и клонировать код QR-логина на фишинговую страницу. Затем ссылку на данную страницу нужно прислать жертве и убедить ее, что ссылка ведет на легитимный и безопасный ресурс. Как только пользователь, попавшийся на удочку злоумышленника, отсканирует поддельный QR-код на странице, приложение отправит секретный токен, который должен завершить процесс аутентификации. Так как исходную клиентскую сессию инициировал хакер, подтверждение получит именно он и перехватит контроль над аккаунтом жертвы. То есть, по сути, для реализации атаки нужна добротно сделанная фишинговая страница и рефрешинг скрипт для QR-кода.

«Чтобы инициализировать QRLJacking, атакующему нужно будет написать скрипт, который будет регулярно клонировать временные QR-коды и обновлять их на фишинговом сайте, ведь как известно, процесс QR Login должен иметь четкие интервалы истечения срока действия для QR-кодов», — пишет исследователь.

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

Басет рассказал, что он протестировал QRLJacking на WhatsApp, WeChat, Line, Weibo, QQ Instant Messaging, QQ Mail, Alibaba и так далее. Во всех случаях атака завершилась успехом. Ниже можно увидеть видеодемонстрацию работы QRLJacking.

Другие эксперты уже оценили труд Басета по достоинству.

«Proof-of-concept исследователя иллюстрирует, что брешь в SQRL позволяет атакующему сделать своей мишенью WhatsApp-сессию конкретного пользователя, — говорят эксперты компании F-Secure. — Атакующий должен “присутствовать” [в онлайне] во время логина, чтобы атака сработала. Уровень профессионализма, которого требует вектор данной атаки, очень низок (это уровень скрипт кидди)».

«Респект исследователю. Такое нестандартное мышление позволяет обнаруживать новые векторы атак и улучшать безопасность, — заявляет директор PandaLabs Луис Корронос и предлагает возможное решение проблемы: — если ссылка активации может быть послана на устройство одновременно с генерацией кода, возможно, это осложнит жизнь атакующим».

Технические подробности можно найти на OWASP, а proof-of-concept Басет опубликовал на GitHub.

 

5 комментариев

  1. Аватар

    Igor_Kh

    02.08.2016 at 10:54

    Даже то что у автора написано что она блондинка не означает что можно писать что попало, во-первых не все что имеет QR код имеет отношение к SQRL, во вторых можно было бы и почитать что такое вообще SQRL и про то что в этом протоколе защита от тупого фишинга by design.

    • Alex G

      Alex G

      02.08.2016 at 11:44

      То есть эксперты F-Secure не правы и PoC не работает? Или в чем твоя претензия?

    • Мария Нефёдова

      Мария Нефёдова

      02.08.2016 at 23:52

      Спасибо за замечание, исправлено.
      Но в этом свете, конечно, удивляет комментарий F-Secure.

Оставить мнение