Хитрая реализация двухфакторной аутентификации "Яндекса", когда вместо ввода пароля и уникального кода пользователь сканирует QR-код с экрана настольного компьютера мобильным приложением, сыграла с компанией злую шутку.
Уже на следующий день после запуска двухфакторной аутентификации "Яндекса" оказалось, что для входа в чужой аккаунт злоумышленнику достаточно перехватить этот QR-код (т.е. аутентификация оказалась не совсем двухфакторной):
Для получения куки используется тот же ID, что закодирован в QR-коде.
Обратите внимание на параметр track_id в ссылке и такой же параметр в POST-запросе.
Это значит, что злоумышленник может подсмотреть из-за плеча пользователя его QR-код, достать из него ID сессии, и, притворившись браузером, выполнять часто-часто такой же запрос.
В комментариях к записи об уязвимости на "Хабре" пользователь, представляющийся сотрудником "Яндекса", обещает исправить проблему.
(добавлено в 16:25) Комментарий пресс-службы "Яндекса":
Если стоять у человека за спиной, то можно читать его почту и без взлома. Ну или точно так же запомнить логин и пароль, и за несколько дней подобрать действующий код.
Этот способ было возможно воспроизвести только в лабораторных условиях. Необходимо было стоять за спиной, знать, что пользователь использует двухфакторную аутентификацию Яндекса и держать на готове специальный софт. В реальной жизни это вряд ли возможно.
Но мы запустили собственную технологию в режиме бета-тестирования, и готовы выплатить вознаграждение за найденный способ. Уже спустя 2 часа мы устранили возможность атаки таким нетривиальным образом.
Добавить 4 комментария
Если бы яндекс сделал бы реально ДВУХфакторную авторизацию, как это сделано у гугла или (прости господи) мыла, данной проблемы небыло бы. На самом деле это классическая авторизация, где паролем служит qr-код и всё.
Зачем нужно было придумывать весь этот геморрой, не понятно. смс доступней и проще.
Да Яндексу вообще везет как утопленнику в последние дни, вчера на Хабре сразу два поста подряд висело, один, про который выше, второй вот этот — http://habrahabr.ru/post/249747/
http://habrahabr.ru/company/yandex/blog/249771/#comment_8266205 а тут приведен конкретный кейс, как ломается их авторизация через незащищенную главную.
> Если стоять у человека за спиной, то можно читать его почту и без взлома. Ну или точно так же запомнить логин и пароль, и за несколько дней подобрать действующий код.
Суть TOTP в том, что можно стоять у человека за спиной, и это будет бесполезно. «За несколько дней подобрать действующий код» — ребята, не позорьтесь.
Кажется яндекс ввел новый термин — полуторафакуторная авторизация