- PVSM.RU - https://www.pvsm.ru -

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

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

Да, если двухфакторная авторизация в 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 [3]"

Автор: g_i

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/121405

Ссылки в тексте:

[1] недавних громких взломов: http://mts-slil.info/

[2] сказал: http://echo.msk.ru/blog/echomsk/1758308-echo/

[3] Как «защищённые» мессенджеры защищены от кражи SMS: https://medium.com/digital-security-panda/%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D1%89%D0%B8%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B5%D1%81%D1%81%D0%B5%D0%BD%D0%B4%D0%B6%D0%B5%D1%80%D1%8B-%D0%B7%D0%B0%D1%89%D0%B8%D1%89%D0%B5%D0%BD%D1%8B-%D0%BE%D1%82-%D0%BA%D1%80%D0%B0%D0%B6%D0%B8-sms-2f7883d9166f#.am283zplj

[4] Источник: https://geektimes.ru/post/276238/