Почему двухфакторная авторизация в Telegram не работает

в 13:54, , рубрики: telegram, двухфакторная аутентификация, двухэтапная аутентификация, информационная безопасность

После недавних громких взломов Telegram-аккаунтов в России, основатель сервиса Павел Дуров сказал, что двухфакторная авторизация «позволяет защитить важную информацию».

Да, если двухфакторная авторизация в Telegram включена, то атакующий, угнавший ваш аккаунт, не получит историю ваших переписок — но от самого угона эта двухфакторная не защищает, хотя вроде как должна бы.
То есть если атакующий может получить вашу SMS с кодом для входа, то он гарантированно может угнать ваш аккаунт независимо от того, включена ли у вас двухфакторная авторизация или нет.

Под «угнать» я понимаю «может войти в приложение Telegram под вашим номером телефона» и писать от вашего имени сообщения вашим контактам.

Происходит это следующим образом:

1. Атакующий у себя в приложении указывает номер телефона жертвы и пытается войти в аккаунт. Тут он видит сообщение, что код отправлен не по SMS, а на приложение, зарегистрированное на этот номер, на другом устройстве:

image

2. В этот момент жертва получает системное уведомление у себя в приложении (или приложениях) Telegram:

image

3. Атакующий нажимает «Didn’t get the code?» и Telegram отправляет код через SMS:

image

4. Тут атакующий вводит код из SMS и узнает, что в настройках аккаунта включена двухфакторная авторизация и что ему нужно ввести пароль (в данном случае «10» это подсказка для пароля, выбранная при включении двухфакторной):

Почему двухфакторная авторизация в Telegram не работает - 4

5. Далее атакующий притворяется, будто он забыл пароль — «Forgot password?». Тут атакующему сообщают, что код восстановления отправлен на электронную почту (если жертва при включении двухфакторной авторизации указала адрес электронной почты). Атакующий не видит адреса электронной почты — он видит лишь то, что после «собачки»:

Почему двухфакторная авторизация в Telegram не работает - 5

6. В этот момент жертва получает код для сброса пароля на адрес электронный почты (если она указала адрес электронной почты при включении двухфакторной авторизации):

Почему двухфакторная авторизация в Telegram не работает - 6

7. Атакующий нажимает «ok» и видит окошко, куда нужно ввести код для сброса пароля, который был отправлен на электронную почту. Тут атакующий говорит, что у него проблемы с доступом к своей почте — «Having trouble accessing your e-mail?». Тогда Telegram предлагает «reset your account»:

Почему двухфакторная авторизация в Telegram не работает - 7

8. Атакующий нажимает «ok» и видит два варианта — или ввести пароль, или нажать «RESET MY ACCOUNT». Telegram объясняет, что при «переустановке» аккаунта потеряется вся переписка и файлы из всех чатов:

Почему двухфакторная авторизация в Telegram не работает - 8

9. Атакующий нажимает «RESET MY ACCOUNT» и видит предупреждение, что это действие невозможно будет отменить и что при этом все сообщения и чаты будут удалены:

Почему двухфакторная авторизация в Telegram не работает - 9

10. Атакующий нажимает «RESET» и Telegram просит указать имя для «переустановленного» аккаунта:

Почему двухфакторная авторизация в Telegram не работает - 10

11. Собственно, все, атакующий успешно угнал аккаунт: он вошел под номером телефона жертвы и может писать от её имени сообщения:

Почему двухфакторная авторизация в Telegram не работает - 11

12. Жертва при этом видит приложение таким, каким оно было сразу после установки. Приветственный экран рассказывает о Telegram и предлагает зарегистрироваться или войти в уже существующий аккаунт:

Почему двухфакторная авторизация в Telegram не работает - 12

13. Когда атакующий пишет от имени жертвы кому-нибудь из контактов жертвы, этот контакт видит, что жертва только что присоединилась к Telegram (что подозрительно), а также новое сообщение (или сообщения) в новом чате от жертвы. Через 12–16 часов контакт также увидит, что в старых чатах вместо имени жертвы указано «Deleted Account»:

Почему двухфакторная авторизация в Telegram не работает - 13

Если жертва имеет возможность получать SMS на этот номер телефона, она может войти в приложение Telegram на своём устройстве. Если атакующий на угнанном аккаунте не включил двухфакторную авторизацию, жертва может войти и в меню Settings => Privacy and Security => Active Sessions прекратить все остальные сессии (то есть сессии атакующего):

Почему двухфакторная авторизация в Telegram не работает - 14

Если же атакующий на угнанном аккаунте включил двухфакторную авторизацию — жертва, в свою очередь, таким же образом может «угнать обратно» свой аккаунт.

Получается, что единственная польза от двухфакторной авторизации в Telegram — чтобы атакующий не получил переписку из обычных не секретных чатов (если угнать аккаунт без включенной двухфакторной, то атакующий получит всю историю переписок из несекретных чатов, из секретных чатов он и так и так ничего не получит). То есть Telegram с включённой двухфакторной авторизацией даёт приблизительно то же самое, что Signal и WhatsApp обеспечивают и так, без никакой двухфакторной авторизации.

Иными словами, двухфакторная авторизация в Telegram не совсем настоящая, Telegram все равно позволяет войти используя один лишь фактор — код из SMS.

Ситуация несколько анекдотичная: вот вам, юзеры, двухфакторная авторизация. Первый фактор — код из SMS (что у меня есть), второй фактор — пароль (что я знаю). Звучит супер, но когда юзер говорит — а я вот забыл пароль, Telegram говорит — ну ничего, бывает, заходи без пароля и пользуйся на здоровье :)

Это удалось выяснить экспериментальным путём в рамках немножко более масштабного исследования о Telegram, WhatsApp и Signal — "Как «защищённые» мессенджеры защищены от кражи SMS"

Автор: g_i

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js