# Безопасность Телеграм: исследование на право владения аккаунтом

By [DeFi (in)security](https://paragraph.com/@defi-in-security) · 2022-01-14

---

*   `Суть`_: исследование вопроса — кто же на самом деле владеет Телеграм-аккаунтом с включенной двухфакторной аутентификацией. Получивший доступ к SMS/звонкам SIM-карты или имеющий пароль второго фактора._
    
*   `Результаты`_: В выводах будут представлены актуальные на данный момент сведения касаемо права владения на телеграм-аккаунт с 2ФА и даны рекомендации по улучшению безопасности таких аккаунтов._
    
*   `Целевая аудитория`_: владельцы телеграм-аккаунтов, для которых аккаунт представляет ценность._
    

**Подробности**: В Апреле 2015 года ([https://telegram.org/blog/sessions-and-2-step-verification](https://telegram.org/blog/sessions-and-2-step-verification)) в мессенджер была добавлена возможность защиты аккаунта с помощью второго фактора аутентификации — пароля, в дополонение к коду, полученному по SMS (или звонку). В случае утери пароля, согласно информации на официальном сайте Телеграм, — "теряется доступ к сообщениям на других устройствах". По состоянию на Декабрь 2021 года — эта информация не является полной.

> Как можно повлиять на аккаунт с 2ФА заполучив доступ к SMS/звонкам — основной вопрос данного исследования.

**По поводу резервной электронной почты**: имеется возможность указать E-mail для восстановления пароля. Технология E-mail была создана очень давно, без целей защиты прав на владение и считается слабозащищённой технологией на сегодня. К тому же данное действие передаст исключительное право на владение аккаунтом тому, кто сможет узнать E-mail адрес и/или получить доступ к письмам. Таким образом электронная почта будет слабым звеном и основной угрозой аккаунту, а пароль теряет свои защитные функции. Вопросы защиты E-mail вне темы данного исследования. Таким образом аккаунт с паролем в качестве второго фактора и без подключенного E-mail для восстановления пароля является оптимальным методом защиты на данный момент.

**Почему и кому это важно**: на сегодня Телеграм является одной из основных площадок для взаимодействия многих проектов. Включая проекты DeFi с большой суммой вложенных средств, до нескольких миллиардов ([читайте обзор на Curve Finance в Телеграм-канале @defisec](https://t.me/defisec/30)). Утеря доступа к телеграм-аккаунтам несёт не только репутационные, но и финансовые риски как обычных пользователей, так и управляющих проектами. Также многие пользователи владеют популярными каналами и получают доход от них.

**Порядок проведения исследования, соответствующие скриншоты:**

*   Создаём телеграм-аккаунт и задаём пароль для 2ФА, без резервной электронной почты. Завершение операции на скриншоте #00.
    
*   Заходим в аккаунт с нового устройства: подтверждаем SMS и открывается к обзору запрос пароля. Скриншот #01.
    
*   Нажимаем “`Забыли пароль?`” и получаем к обзору предложение вспомнить пароль или сбросить аккаунт. Скриншот #02.
    
*   Нажимаем "OK”, затем нажимаем “`СБРОСИТЬ МОЙ АККАУНТ`” и получаем к обзору Скриншот #03 с предложением сбросить аккаунт.
    
*   Нажимаем “`Сбросить аккаунт`” во всплывшем окне и открывается скриншот #04 с отсчётом в 7 дней до сброса.
    
*   Затем открываем другое залогиненное в этот аккаунт приложение и в чате “Служебные уведомления” видим предупреждение о сбросе. Скриншот #05.
    
*   Нажимаем на ссылку после слов о том, что не хотим, чтобы учётная запись была удалена и получаем запрос на подтверждение по SMS. Скриншот #06.
    

![Скриншот #00. При задании пароля 2ФА Телеграм утверждает, что доступ будет потерян вместе с ним если не задать также электронную почту для восстановления пароля 2ФА.](https://storage.googleapis.com/papyrus_images/df9825aed8fe23f9a7be8ea5156d5ebb744bd48f60d966f85481bbc78d64d708.png)

Скриншот #00. При задании пароля 2ФА Телеграм утверждает, что доступ будет потерян вместе с ним если не задать также электронную почту для восстановления пароля 2ФА.

![#01. Подтверждаем код из SMS и заявляем, что потеряли пароль.](https://storage.googleapis.com/papyrus_images/a03e99ceddc9e5f2895ecc2ab3e8e21bb8a7da7a1ea8c0930c4a8d058dab6a6a.png)

#01. Подтверждаем код из SMS и заявляем, что потеряли пароль.

![#02. Телеграм предлагает варианты: "вспомнить пароль или сбросить аккаунт".](https://storage.googleapis.com/papyrus_images/c45075c3ef7a0e695ce8c470599ce66fadfe553ecc741fa58445a97d71364593.png)

#02. Телеграм предлагает варианты: "вспомнить пароль или сбросить аккаунт".

![#03. Выбираем вариант "сбросить аккаунт", Телеграм сообщает, что "все сообщения и чаты будут удалены", подтверждаем нажатием "сбросить аккаунт".](https://storage.googleapis.com/papyrus_images/37aa5ea0ec975bcae6cd45569d08357a1a3ca25059fb8caf4ac84c53e1c24667.png)

#03. Выбираем вариант "сбросить аккаунт", Телеграм сообщает, что "все сообщения и чаты будут удалены", подтверждаем нажатием "сбросить аккаунт".

![#04. Телеграм сообщает, что аккаунт защищён паролем и включает таймаут в 7 дней.](https://storage.googleapis.com/papyrus_images/2e085ceeda5d0bea247ecf72ae0f933b05c9b5df2564182837cdda0fea1775af.png)

#04. Телеграм сообщает, что аккаунт защищён паролем и включает таймаут в 7 дней.

![#05. В этот момент в служебных сообщениях мы получаем уведомление с возможностью отмены данной операции.](https://storage.googleapis.com/papyrus_images/062f3cbb531313b6068dfa79af0de12cc5ff99eb0496b1a8e53ca24885d9b088.png)

#05. В этот момент в служебных сообщениях мы получаем уведомление с возможностью отмены данной операции.

![#06. Так выглядит попытка отмены операции "удаления и сброса" из залогиненного в аккаунт приложения, также предлагается вариант изменения номера телефона.](https://storage.googleapis.com/papyrus_images/e035159546beddf1aab36b42087306310873bfc5d12c066ba1d881afb5871d8f.png)

#06. Так выглядит попытка отмены операции "удаления и сброса" из залогиненного в аккаунт приложения, также предлагается вариант изменения номера телефона.

**Вывод**: в случае наличия у посторонних лиц доступа к SMS/звонкам — имеется возможность завладеть аккаунтом осуществив его полный сброс. Сохраняется ли при этом имя пользователя (username) и id аккаунта — данный вопрос остаётся открытым и подлежит дополнительному исследованию. Таким образом самые полные права на аккаунт имеются у приложения/приложений, с которого/которых осуществлён вход в аккаунт. При соответствующей реакции на служебные уведомления от Телеграм имеется возможность смены номера телефона в случае попытки "удаления" аккаунта через доступ к SMS/звонкам. Необходимо контролировать следующие моменты: что приложение полноценно залогинено в аккаунт и имеется доступ к этому приложению, а также контролировать поступление служебных уведомлений.

Про 7-дневный таймаут перед сбросом аккаунта почему-то указано лишь в документации для разработчиков: [https://core.telegram.org/api/srp#email-verification](https://core.telegram.org/api/srp#email-verification)

Всё, что есть по поводу двухфакторной аутентификации в документации для пользователей: [https://telegram.org/faq#q-how-does-2-step-verification-work](https://telegram.org/faq#q-how-does-2-step-verification-work)

> Рекомендации по защите:
> 
> *   Использовать сложный пароль и иметь его защищённую резервную копию.
>     
> *   Необходимо иметь отдельное защищённое устройство с залогиненым в аккаунт приложением.
>     
> *   Необходимо регулярно проверять работу залогиненного в аккаунт приложения и чат со служебными уведомлениями. Не реже одного раза в пять дней.
>     

**Дополнительно**: чем больше залогиненных устройств в аккаунт — тем выше риск компрометации аккаунта. Также залогиненное устройство является инструментом в обеспечении безопасности телеграм-аккаунта. Необходимо учитывать, что для сокрытия служебного уведомления от Телеграм о сбросе аккаунта может быть применён флуд таким образом, что чат со служебными уведомлениями и/или само сообщение о сбросе в чате будет сложно заметить.

---

*Originally published on [DeFi (in)security](https://paragraph.com/@defi-in-security/7ZubuktMDgLOG0AaYVBN)*
