Комментарии 92
А вот если атакующий получит доступ к почте (к примеру, через то же восстановление пароля по смс, к которым уже есть доступ или любым другим способом каким там они получают доступ), то получит полный контроль и историю не секретных переписок?
если почту не указывать — то сразу предложит reset, без отправления кода для сброса пароля на почту.
И да-да, если атакующий получит код для сброса пароля из почты, то ему не нужно будет reset аккаунт, он просто войдет в него — и получит всю историю из несекретных чатов,
и как только он войдёт — ему надо будет быстро прекратить все остальные активные сессии,
а то жертва увидит уведомление о входе с нового устройства и сможет вылогинить атакующего
Как вы предлагаете реализовать этот механизм?
Просто вы описываете очень обычный сценарий полного сброса эккаунта, для которого достаточно просто по-прежнему быть владельцем телефонного номера (получать на него SMS).
То есть всё предельно просто — у кого доступ к SMS, того и аккаунт.
Система, я считаю, если уж пользователь включил у себя двухфакторную авторизацию, не должна предлагать reset аккаунта.
Забыли пароль? — вот вам код для сброса пароля на указанный адрес электронной почты,
не имеете доступа к этой почте? — тогда извините,
тогда или никак, или предусмотреть как вариант:
— доверенные контакты (как в Фейсбуке), которые могут подтвердить что ты это ты, и что ты действительно забыл пароль
— верификацию через отсылание копий своих документов например
— систему резервных кодов (они есть у фейсбука, гугла, вконтакта — практически у всех, у кого есть двухфакторная)
+, возможно, еще что-нибудь, я не претендую на всезнание.
Но двухфакторная должна быть настоящей двухфакторной, а не превращаться в однофакторную если юзер забыл второй фактор.
Единственный адекватный с точки зрения безопасности вариант — полностью отвязывать безопасный аккаунт от номера телефона. Делать ник (уже есть в телеге) + пароль + ещё другой второй фактор (почта?). Но тогда с юзабилити куча проблем. У такого аккаунта теряется преимущество всех мессенджеров нового поколения (Whatsapp и далее) — привязка к существующей адресной книге.
может быть, номер телефона может быть как опция для удобства с адресной книгой, но не делать из него фактор аутентификации, причем единственный?
В общем в итоге перенёс все на новый телефон с Новым номером с сохранением всех контактов и чатов.
Ставишь на новую мобилу мессенджер, а она такая "чтобы его использовать подождите 2 дня / неделю". Это полный суицид продукта, никто не будет таким мессенджером пользоваться.
Прямо так уж и не будет? Сейчас, если что, именно так и происходит (и в 2020-2021 тоже так было, я точно помню) - когда я покупаю новую сим-карту, ни телеграм, ни ВК не разрешают регистрацию, сообщая, что данный номер уже занят. При чём у меня есть подозрение, что они так делают для всех номеров в целях безопасности и уменьшения фейковых аккаунтов, а не только для тех, которые действительно недавно освободились. Приходится писать в техподдержку и просить разблокировать регистрацию на купленный номер.
Можно позволить пользователю привязать номер телефона вручную к своему аккаунту внутри Telegram. Не вижу проблемы
Получил я значит новый номер телефона от оператора. Пытаюсь привязать туда Telegram а мне говорят, что номер зареган. Я пытаюсь перепривязать, после чего мне говорят введите код отправленный на емейл, а емейл не мой. И все на этом номере пользоваться телеграмом нельзя.
Номер выдал оперетор после того как он освободился, и до этого кемто использовался.
Писал из рид&комент. Пока модерировали, EviGL написал тоже самое.
В мессенжрах надо давать возможность создавать "hardcore" аккаунты c паролем + одноразовым ключом через приложение типа google authenticator и без возможности восстановления. Интересно насколько востребованной будет такая фича.
ITшник менторским тоном: «Ты что, создала обычный аккаунт? Это не безопасно. Включи hardcore режим!»
…
Голосом тупой блондинки: «Мне говорили что hardcore режим безопаснее. Я сама использую и друзьям советую»
…
Недовольный бизнесмен ,fcjv: «Я не могу восстановить свой аккаунт. Все мои рабочие чаты потеряны. Ах, ах, ах. Пойду опять использовать skype.»
P.S. offtop:
Кстати, блондинки в среднем умнее русых…
Но тут подсказали ещё одну причину подобного: вчера симка была у Васи, а сегодня этим номером пользуется Петя. На законных основаниях. А воспользоваться ТГ не может — ТГ негодует и даёт возможность забрать аккаунт обратно.
Мораль: привязка аккаунта к номеру телефона — зло. Я поменял четыре номера и две страны проживания за эти годы, но мой gpg ключ всё тот же.
Предлагаю такой подход к интерфейсу (Дуров ведь наверняка читает хабр?): историю переписки надвое не делить, а покрасить другим цветом всю предыдущую переписку, дальше показать системное сообщение:
[Дата-Время сброса] Вася Пупкин, или кто-то имеющий доступ к его номеру телефона, сделал полный сброс учетной записи Telegram, будьте осторожны!
и дальше пошла вся новая переписка. Чтобы человек мог знать, что с другой стороны не обязательно находится Вася.
Все, которые не используют коды из SMS для авторизации :)
Wickr, например: там вы выбираете никнейм, придумываете пароль — и можете вообще не указывать ни адрес электронной почты, ни номер телефона.
Но тогда если вы забудете свой пароль — никакого восстановления, конечно, не будет.
… что Signal и WhatsApp обеспечивают и так, без никакой двухфакторной авторизации.
Повторюсь про повторное подвтерждение личности в Signal-е, чего нет в whatsapp и Ко. https://geektimes.ru/post/275204/#comment_922737
более того, когда ваш аккаунт в Signal угнан он вам ещё и не сообщает внятно об этом: вы себе заходите, смотрите свои чаты, а когда пытаетесь отправить сообщение — ошибка, при чем такая же, как когда проблемы с сетью.
… все оппоненты при попытке коммуникации с ним, будь то приватный, или групповой чат, получат ошибку отправления и сообщение о том что идентификатор изменился и, возможно, это больше не Петя Иванов. Вы должны сами решить и подтвердить. Причем если вы кликнули «ОК» в приватной беседе, это не перенимается автоматом на групповые чаты и наоборот.
Таким образом я позвоню Пете и поинтересуюсь что с его телефоном/аккаунтом, а не буду чатиться с кем попало выдающим себя за моего знакомого Петю. И этого нет в whatsapp и Ко.
Я сам на днях делал всё это, «угонял» аккаунты, писал контактам, смотрел кому что видно.
Выглядит оно так (контакт жертвы угнанного аккаунта получает сообщение от имени якобы жертвы, но пишет атакующй):

И юзеры, как правило, или просто игнорируют, или «принимают» новый ключ без проверки
Меня больше напрягает ситуация, когда «телеграмм» может «забыть» доставить пару сообщений, а потом в пылу другой переписки (благо с тем же абонентом) «случайно вставить» как тут и было.
там увидите все залогиненные устройства и можете вылогинить
Если у атакующего есть дубль моей симки (а у меня, значит, телефон должен сдохнуть), то у меня есть гораздо больше поводов беспокоится, чем угон телеграмы. Тем более, что история недоступна, а какие-то действительно серьезные вопросы решаются лично или видеозвонком.
Да и в целом тут на ГТ уже была серия статьей о том, что получить доступ к SMS сообщения жерты — это задача на пару тысяч долларов оборудования и немного стандартных операций. Ибо протоколы у ОпСоСов дырявей некуда и делать они с этим ничего не планируют.
Например, при содействии вашего мобильного оператора,
или без такового — https://habrahabr.ru/company/pt/blog/283052/
Как аналогия — можно сделать холодильник, который будет перегорать при малейшем перепаде напряжения, а потом говорить — ну как же, это не мы виноваты, это вот ваша электросеть плохая.
Есть вещи, от которых мессенджер не может защитить юзера (малвари на устройстве например), но от такого — может и должен
Решений проблемы несколько. Самое простое, которое можно реализовать вот прямо сейчас, не внося никаких серьезных правок в систему, — это задержка, чтобы аккаунт нельзя было сбросить сразу, а только подать запрос на сброс, который бы автоматом удовлетворялся через, например, неделю, если запрос не отозван. Если кто-то временно получил доступ к СМС, то он сможет только подать запрос. Владелец об этом узнает, запрос отзовет и примет другие меры.
Конечно, хотелось бы, чтобы была реализована возможность и полной отвязки аккаунта от номера телефона и привязки к логину/паролю. А номер телефона, чтобы использовался только максимум для поиска абонента.
С использованием номера только для поиска абонента тоже непонятно, люди ведь будут доверять этому номеру, это то к чему все привыкли в инфраструктуре whatsapp/telegram.
-Подтверждение владения номером.
-Возможность указать один номер только для одного аккаунта.
-Регулярное (раз в 3 месяца, например) подтверждение того, что номер все еще ваш.
Было бы неплохо, чтобы при этом к одному аккаунту можно было бы указать для поиска более одного номера. Это для тех, кто не хочет заводить несколько аккаунтов при наличии 2 и более симок.
Как раз вчера посетила меня светлая мысль — что, вот, хороший вариант — это «задержка, чтобы аккаунт нельзя было сбросить сразу»,
Поддерживаю)))
>>если атакующий может получить вашу SMS с кодом для входа
> То есть если атакующий может получить вашу SMS с кодом для входа, то он гарантированно может угнать ваш аккаунт
Если бы не было ни одного известного случая, да, можно было бы гадать и спорить,
но прецеденты есть, и их немало
Аккаунт, конечно, украсть могут, но вот прочитать сообщения — совсем никак не выйдет ))
Например, телефоны в зоне +8835 запрещены к использованию (а они, кстати, защищены от перехвата SMS, потому что не доставляют их по сотовой сети)
Соответственно, учёток без привязки к телефону от них ждать глупо.
если СМС — то легко украсть содержимое вашей переписки,
а тут можно лишь угнать аккаунт и писать вашим контактам от вашего имени, но прошлую вашу переписку атакующий не получит
Прошлые SMS тем более невозможно получить — они не хранятся в облаке.
Чтобы упереть сохранённые SMS на Андроиде, надо, чтобы жертва установила приложение. На Айфонах доступа к SMS нет даже у приложений.
Есть возможность перехватить SMS в момент передачи по сотовой сети. Но перехватывать входящие и исходящие SMS длительное время без ведома жертвы всё же сложнее, чем получить 1 SMS для авторизации
А отправленные и полученные сообщения в Signal, WhatsApp и Telegram secret chat — зашифрованы «из конца в конец».
Собственно, поэтому мы и говорим о такой категории как «защищённые мессенджеры».
И вот скажите мне такой кейс — кто-то зарегался в телеграмме, но больше сим-картой не владеет и вообще на неё забил с концами, а новый обладатель этой сим-картой по-вашему теперь может воспользоваться телеграмом только если узнает пароль прежнего владельца? Так чтоли получается?
На телефоне где приложение сейчас работает поступает нотификация, что запрошен сбор аккаунта, и далее либо юзер жмёт кнопку «харакири» (ака изменить номер), либо кнопку, «не согласен, меня пытаются взломать», и дальше выясняет, что и где, как кто-то левый получил смс с кодом.
Более того, можно привязываться не к номеру, а к IMEI, который будет меняться при перевыпуске сим карты. а для переноса аккаунта со старого IMEI на новый при смене симки — отдельную процедуру перерегистрации( например через звонок с этого номера роботу + пароль).
Банки в аналогичной ситуации работают внутри страны, через доверенный канал. Про международного агрегатора с доверенными каналами ко всем операторам — я не слышал.
Thanks but I don't think we're going to do this.
:)
Почему двухфакторная авторизация в Telegram не работает