Изначально дополнительная авторизация, выступающая в качестве пароля, служит для защиты от несанкционированного входа в аккаунт, когда SMSка с кодом авторизации была перехвачена или получен физический доступ к SIM-карте.
До недавних пор нигде, кроме как при входе в аккаунт, пароль не запрашивался. Дела изменились тогда, когда добавили возможность передачи канала другому аккаунту, а сегодня и передачу ботов. Мало того, что для трансфера необходимо соответствовать критериям, например, иметь включенную 2FA и просидеть с ней 7 дней, не менять пароль и прочее, дык ещё и повторно ввести пароль при переносе статуса владельца канала. И это замечательно!
Каково было моё удивление, когда я решил сменить мобильный номер на своём основном аккаунте. Следите за действиями: зашёл в настройки, нажал на редактирование, тапнул по номеру, подтвердил намерения, ввёл новый номер, ввёл код, который пришёл SMSской на новый номер, всё…
Чего-то не хватает… Как-то слишком просто… Ах, да, а где 2FA как при передаче канала? Она же у меня включена! Ладно если бы я ей не пользовался!
И что это получается. Человек, который получил доступ к нашему девайсу, насильно приложив ваш пальчик/воспользовавшись вашим личиком смог полностью отобрать у вас аккаунт, без необходимости знания пароля и доступа к вашему старому номеру.
Теперь никто не может войти в аккаунт. После смены номера человек закрыл все сессии на ваших других девайсах, оставив только тот, что отобрал. Вы не в силах войти в аккаунт, так как вам нужен код с SMS на номер, который вы не знаете. Злоумышленник не в силах войти с другого устройства, так как ему нужен пароль от 2FA, но у него есть доступ к вашему аккаунту! Больше ему и не надо!
Очевидно, было бы просто замечательно добавить при смене номера подтверждение паролем, когда он установлен. Случай не только с насильным отбором телефона, но и сценарий «дал почитать человеку пост» тоже лишит аккаунта всех. Сменит номер и закроет все сессии, в том числе и активную.
В Telegram есть механизмы по удалению аккаунтов, когда сотовый оператор передал номер другому владельцу, а номер оказался зарегистрированным и с 2FA. Столкнулся с этим лично. У меня было 7 дней для отмены всей процедуры. Чтобы её отменить необходимо ввести код из SMS с номера, доступа к которому у меня уже не было. Другим вариантом было сменить номер телефона на другой. Я просто перенёс всё с того аккаунта на другие ии… его удалили.
Понятно, что просить подтверждение старого номера для смены на новый – плохая идея. Это убивает решения разных проблемных случаев. Активные сессии и 2FA должны быть гарантом, а от привязки телефонов вообще надо куда-то уходить, но пока некуда…
Только что вышло обновление Bot API 5.0! Очень сочно, за это отдельное спасибо, но помимо этого довели до прода возможность передачи прав на ботов между аккаунтами. И даже несмотря на то, что всё управление через BotFather'a (официального бота), оно умудряется запрашивать 2FA! Такой тип inline кнопки не задокументирован. При нажатии всплывает окошко с вводом пароля.
Посмотрев на всевозможные случаи, увидев разные подходы в Telegram, можно попросить Павла (@durov) только об одном… Давайте использовать подтверждение 2FA не только при входе и смене владельца бота/канала, но и при смене номера телефона и удалении аккаунта хотя бы тогда, когда она включена.
Конечно, что уж тут говорить про возможность удаления аккаунта без 2FA, когда его всё ещё можно удалить с помощью переименования аккаунта в «Saved Messages».
Моя самая маленькая статья, поэтому без привычного «спасибо, что дочитали аж до сюда».
P.S. Не используем Face ID, сканеры отпечатков пальцев. Не храним пароли в голове. Генерируйте случайные, храните в парольных менеджерах. Хоть что-то, хоть как-то. Идеально не будет никогда.
P.S.S. Спасибо Олегу, за удаление двух аккаунтов для видеоматериала данной статьи.
До недавних пор нигде, кроме как при входе в аккаунт, пароль не запрашивался. Дела изменились тогда, когда добавили возможность передачи канала другому аккаунту, а сегодня и передачу ботов. Мало того, что для трансфера необходимо соответствовать критериям, например, иметь включенную 2FA и просидеть с ней 7 дней, не менять пароль и прочее, дык ещё и повторно ввести пароль при переносе статуса владельца канала. И это замечательно!
Каково было моё удивление, когда я решил сменить мобильный номер на своём основном аккаунте. Следите за действиями: зашёл в настройки, нажал на редактирование, тапнул по номеру, подтвердил намерения, ввёл новый номер, ввёл код, который пришёл SMSской на новый номер, всё…
Чего-то не хватает… Как-то слишком просто… Ах, да, а где 2FA как при передаче канала? Она же у меня включена! Ладно если бы я ей не пользовался!
И что это получается. Человек, который получил доступ к нашему девайсу, насильно приложив ваш пальчик/воспользовавшись вашим личиком смог полностью отобрать у вас аккаунт, без необходимости знания пароля и доступа к вашему старому номеру.
Теперь никто не может войти в аккаунт. После смены номера человек закрыл все сессии на ваших других девайсах, оставив только тот, что отобрал. Вы не в силах войти в аккаунт, так как вам нужен код с SMS на номер, который вы не знаете. Злоумышленник не в силах войти с другого устройства, так как ему нужен пароль от 2FA, но у него есть доступ к вашему аккаунту! Больше ему и не надо!
Очевидно, было бы просто замечательно добавить при смене номера подтверждение паролем, когда он установлен. Случай не только с насильным отбором телефона, но и сценарий «дал почитать человеку пост» тоже лишит аккаунта всех. Сменит номер и закроет все сессии, в том числе и активную.
В Telegram есть механизмы по удалению аккаунтов, когда сотовый оператор передал номер другому владельцу, а номер оказался зарегистрированным и с 2FA. Столкнулся с этим лично. У меня было 7 дней для отмены всей процедуры. Чтобы её отменить необходимо ввести код из SMS с номера, доступа к которому у меня уже не было. Другим вариантом было сменить номер телефона на другой. Я просто перенёс всё с того аккаунта на другие ии… его удалили.
Понятно, что просить подтверждение старого номера для смены на новый – плохая идея. Это убивает решения разных проблемных случаев. Активные сессии и 2FA должны быть гарантом, а от привязки телефонов вообще надо куда-то уходить, но пока некуда…
Только что вышло обновление Bot API 5.0! Очень сочно, за это отдельное спасибо, но помимо этого довели до прода возможность передачи прав на ботов между аккаунтами. И даже несмотря на то, что всё управление через BotFather'a (официального бота), оно умудряется запрашивать 2FA! Такой тип inline кнопки не задокументирован. При нажатии всплывает окошко с вводом пароля.
Скриншот всплывающего окна в процессе передачи прав
Посмотрев на всевозможные случаи, увидев разные подходы в Telegram, можно попросить Павла (@durov) только об одном… Давайте использовать подтверждение 2FA не только при входе и смене владельца бота/канала, но и при смене номера телефона и удалении аккаунта хотя бы тогда, когда она включена.
Конечно, что уж тут говорить про возможность удаления аккаунта без 2FA, когда его всё ещё можно удалить с помощью переименования аккаунта в «Saved Messages».
Видео с удалением аккаунт при переименовании
Моя самая маленькая статья, поэтому без привычного «спасибо, что дочитали аж до сюда».
P.S. Не используем Face ID, сканеры отпечатков пальцев. Не храним пароли в голове. Генерируйте случайные, храните в парольных менеджерах. Хоть что-то, хоть как-то. Идеально не будет никогда.
P.S.S. Спасибо Олегу, за удаление двух аккаунтов для видеоматериала данной статьи.
ne_kotin
То есть для того, чтобы убить недругу возможность пользоваться Телеграмом с его номера — надо всего-то его (недруга) набухать и воспользовавшись пальчиком переименовать его (телеграм-аккаунт) в «Saved Messages»?
Я правильно понял?
Аккаунт будет скоропостижно удален, а номер поеден в перманентный бан?
MarshalX Автор
Да, всё правильно. Данная киллерфича появилась ~7 августа для борьбы с мошенничеством. Люди заводили аккаунты, похожие на сохранённые сообщения и ставили соответствующие аватарки. При кнопке «Поделиться» другие пользователи ошибались чатом и отправляли то, что не хотели отправлять другим… Telegram придумал вот такое вот решение для борьбы с этим. Честно говоря, выходя за рамки ответа на комментарий, я без понятия почему нельзя было просто запретить устанавливать такое имя… Что так решение на серверной стороне, что этак
furtaev
Оффтоп: а вы часто бухаете с недругами, причём так, всерьёз, до отключки?
Даже боюсь спрашивать, а с друзьями чем занимаетесь?
GraDea