Один фактор взломал "двухфакторную" аутентификацию Яндекса

5/02/2015 03:10

3 февраля Яндекс и Mail.Ru синхронно запустили двухфакторную аутентификацию, призванную повысить безопасность своих пользователей. И если в случае Mail.Ru все было более-менее традиционно, с отправкой кода через SMS, то в Яндексе посчитали эту схему ненадежной и предпочли ей свой велосипед, предусматривающий вывод на экран QR-кода и его сканирование подтверждающим смартфоном. При невозможности считывания кода используется схема, основанная на TOTP (периодически обновляющиеся временные пароли), хотя и несовместимая с популярными реализациями ("ура, мы тоже написали свой Google Authenticator"). На следующий день на Хабрахабре уже появилась заметка, описывающая процедуру взлома этой схемы. Для ее реализации оказалось достаточно отсканировать тот же QR-код (например, из-за спины пользователя), извлечь из него идентификатор сессии и успеть отправить запрос авторизации раньше жертвы. К чести Яндекса, довольно очевидную ошибку (браузеру все-таки не стоило использовать один в один идентификатор из QR-кода) оперативно залатали (добавив еще один уникальный хэш/id, соответствующего каждому отданному QR - прим. источника), но старт получился несколько смазанным. И, конечно, очень отдельные вопросы вызывает "двухфакторность", целиком унесенная на одно устройство, как это вытекает из описания.
Источник