Когда-нибудь видели такое, что в социальных сетях ваша бывшая одноклассница Оля стала каким-то усатым Николаем? А в чужой групповой чат попадали по ошибке? Причем не просто какой-то спам, а реальный чат друзей, собирающихся на рыбалку или на день рождения? Может, получали сообщение в Telegram о новом пользователе с номером покойной бабушки Зины?

Что-то подобное может произойти после блокировки SIM-карты спустя определенный период бездействия (обычно от 60 до 365 дней в зависимости от оператора), когда номер вновь поступает в продажу.

А что произойдет, если новый владелец вашего прежнего номера попробует авторизоваться там, где ранее регистрировались вы? Чтобы ответить на этот вопрос, мы провели эксперимент.

Статья носит исключительно информационный характер и не является инструкцией или призывом к совершению противоправных действий. Наша цель — рассказать о существующих уязвимостях, которыми могут воспользоваться злоумышленники, предостеречь пользователей и дать рекомендации по защите личной информации в интернете. Авторы не несут ответственности за использование опубликованной информации. Помните, что нужно следить за защищенностью своих данных.

Эксперимент. Начало

Изначально мы составили список из 80 популярных в России сервисов и приложений. Среди них 56 были со входом по номеру телефона и паролю из СМС-сообщения. Половина таких приложений требовали ввести пароль, но позволяли сбросить его по коду из СМС-сообщения. Для упрощения задачи мы исключили приложения, для которых не было браузерной версии, и личные кабинеты мобильных операторов.

В итоге осталось 38 приложений, которые для удобства мы разделили на девять категорий. Больше половины из них составили личные кабинеты на сайтах компаний (24%), интернет-магазины и аптеки (16%) и сервисы доставки готовой еды и продуктов питания (16%). В отдельную категорию мы выделили сервисы SSO (10%) — они предоставляют единый аккаунт для всех приложений той или иной компании.

Категории онлайн-сервисов
Категории онлайн-сервисов

Следующим этапом стала покупка SIM-карт. Было решено приобрести 100 SIM-карт у пяти крупных операторов связи. Для чистоты эксперимента 30 SIM-карт были куплены традиционным способом в салонах сотовой связи («белые»), еще 50 SIM-карт приобретены через каналы в Telegram («серые»), остальные 20 номеров планировалось взять в аренду через специализированные онлайн-сервисы (виртуальные). В итоге удалось приобрести только 15 виртуальных SIM-карт вместо 20. Таким образом, всего было задействовано 95 номеров.

Когда был составлен список приложений и приобретены SIM-карты, пришло время приступить к эксперименту — проверить возможность авторизации в каждом из 38 приложений. Мы посчитали, что если на проверку каждого аккаунта вручную тратить примерно 5 минут, то на проведение эксперимента потребуется около 13 суток ? Чтобы сэкономить время, было решено купить SIM box — специальное устройство для приема и передачи СМС-сообщений и совершения звонков. Для нашего эксперимента мы использовали устройство на восемь SIM-карт с поддержкой 2G, что позволило нам принимать сообщения с паролями сразу на несколько номеров одновременно.

С каждым номером телефона мы проверяли возможность аутентификации в приложениях из ранее составленного списка, используя формы входа или восстановления пароля. После проверки 20% номеров мы сократили список до 13 сервисов с самой высокой вероятностью успешного входа. Благодаря такой оптимизации и использованию SIM box мы справились за один день.

Полезная брешь

Отдельно отметим, что каждое третье исследованное приложение (12 из 38) содержало уязвимость User Enumeration, которая позволила частично автоматизировать эксперимент и сократить время на его проведение.

В некоторых сервисах при вводе номера телефона существующего пользователя можно было увидеть сообщение «На ваш номер отправлено СМС-сообщение с кодом». И наоборот, при вводе номера телефона, для которого учетная запись ранее не была создана, мы видели слова «Пользователь с таким номером не найден» или аналогичные по смыслу. Из этого мы делали вывод, существует ли в системе аккаунт, привязанный к введенному номеру телефона, или нет. Аналогичные сообщения встречались также в формах регистрации и при восстановлении пароля. С точки зрения безопасности разное содержание сообщений — недостаток, который позволяет гипотетическому злоумышленнику определить, какие аккаунты существуют, чтобы продолжить атаку. Проверку аккаунтов в приложениях с таким недостатком можно автоматизировать.

Кроме того, на этапе подготовки к атаке, еще до покупки SIM-карт, злоумышленники могут предварительно составить список номеров, для которых существуют аккаунты, что дополнительно повысит шансы на успешный улов: они могут не покупать номера, на которые ранее не были зарегистрированы аккаунты.

Рисунок 5
Пример уязвимости User Enumeration

Не пропадать же ̶д̶о̶б̶р̶у̶ номерам

В ходе эксперимента мы выяснили, что почти половина (43%) номеров ранее уже использовались для регистрации в сервисах из нашего списка. Найти незаблокированный аккаунт прежнего владельца получалось в каждом третьем случае: для 37% всех номеров удалось найти активный аккаунт хотя бы в одном из сервисов, для 6% номеров ранее созданные аккаунты были заблокированы. Среди тех номеров, которые уже использовались для регистрации, в каждом четвертом случае (27%) подтвердилась возможность входа в аккаунты прежних владельцев минимум в двух сервисах.

Результаты эксперимента (доля номеров)
Результаты эксперимента (доля номеров)
Распределение номеров по количеству сервисов, в которых есть возможность входа в аккаунт прежнего владельца
Распределение номеров по количеству сервисов, в которых есть возможность входа в аккаунт прежнего владельца

Продавцы «серых» SIM-карт, узнавая цель покупки, давали советы по выбору операторов, номера телефонов которых лучше всего подходят для нашей задачи. Результаты эксперимента подтвердили их рекомендации.

У двух операторов из пяти доля успешных подтверждений возможности авторизации оказалась выше, чем у остальных. Один из пяти операторов, обнаружив активность, блокировал SIM-карты, поэтому успешная авторизация оказалась возможной только с одним из 18 номеров этого оператора. Блокировка происходила довольно быстро — СМС-сообщения с одноразовыми паролями переставали приходить после нескольких попыток.

Кроме того, было установлено, что при попытке входа в личный кабинет два оператора из пяти раскрывают Ф.И.О. человека, на которого оформлен номер. Это значит, что злоумышленник, воспользовавшийся «серым» номером для проведения той или иной атаки, может в дальнейшем использовать полученные персональные данные.

Рисунок 9
Количество номеров с возможностью входа в зависимости от оператора связи

В ходе эксперимента мы не выявили зависимости между возможностью успешной авторизации и категорией SIM-карты («серая», «белая» и виртуальная).

Количество номеров с возможностью входа в зависимости от категории SIM-карты
Количество номеров с возможностью входа в зависимости от категории SIM-карты

Ценные находки

Всего удалось подтвердить возможность доступа к 57 аккаунтам прежних владельцев номеров телефонов. При этом ни в одном из исследованных случаев не была подтверждена возможность доступа к банковскому аккаунту.

Срез по аккаунтам
Срез по аккаунтам
Категории сервисов, в отношении которых подтверждена возможность доступа к аккаунтам
Категории сервисов, в отношении которых подтверждена возможность доступа к аккаунтам

В ходе эксперимента мы заметили, что если номер ранее не использовался для регистрации в социальных сетях, то и в других сервисах аккаунты с этим номером обнаружены не были. Это значит, что злоумышленники могут использовать этот факт для оптимизации массовых атак на пользователей.

Что в итоге

Потеря телефона или длительная заграничная командировка — основные причины, по которым владелец номера мобильного телефона может потерять к нему доступ. Потеря номера — это одновременно и утрата доступа к онлайн-сервисам и приложениям, к которым этот номер был привязан. А это, в свою очередь, дает почву для атак злоумышленников, как только ваш прежний номер телефона вновь поступит в продажу. Мы подготовили рекомендации для абонентов, разработчиков приложений и операторов мобильной связи, которые помогут повысить ваш уровень защищенности.

Рекомендации

? Пользователям:

  • Сохраняйте доступ к своим номерам телефонов, не теряйте SIM-карты.

  • Вовремя пополняйте баланс и совершайте минимум одно платное действие раз в три месяца: отправьте СМС-сообщение или сделайте звонок.

  • Если доступ к номеру телефона утрачен и нет возможности своевременно его восстановить, перепривяжите ваши аккаунты к другому номеру, к которому у вас есть доступ.

  • Для критически важных приложений (мессенджеров, соцсетей, онлайн-банков) дополнительно используйте альтернативный способ авторизации, если это возможно, например через электронную почту.

  • Настройте двухфакторную аутентификацию, используя генератор одноразовых паролей, например Google Authenticator. Откажитесь от входа через код в СМС-сообщении, если это возможно.

  • Не выдавайте мобильным приложениям разрешения на чтение СМС-сообщений.

  • Никому не сообщайте одноразовые пароли.

  • В случае подозрительной активности обратитесь в службу поддержки приложения или вашего оператора сотовой связи.

✍️ Разработчикам приложений:

  • Предоставьте пользователям возможность выбрать способ авторизации. Добавьте вход по электронной почте или по протоколу OAuth.

  • Не используйте СМС-сообщение в качестве второго фактора аутентификации или добавьте опцию выбора генератора OTP в качестве второго фактора.

  • Не используйте СМС-сообщение как замену паролям при однофакторной аутентификации.

  • Раз в три месяца запрашивайте у пользователей подтверждение принадлежности им номера телефона.

  • Реализуйте безопасный процесс восстановления доступа к аккаунту в случае смены номера телефона.

  • В формах регистрации, авторизации и восстановления пароля не должна отображаться информация о наличии пользователя с указанным номером телефона.

  • Не допускайте восстановление пароля только по коду из СМС-сообщения.

  • Отслеживайте, откуда пользователи входят в аккаунт. Необычный IP-адрес или браузер должны вызывать подозрения у систем безопасности.

  • Уведомляйте пользователя о попытках входа из необычных мест.

  • Предоставьте пользователям возможность просматривать и завершать активные сессии. Необходимо завершать все активные сессии при смене пароля.

? Мобильным операторам:

  • Уведомляйте пользователей о скорой блокировке номера по электронной почте и по альтернативному номеру телефона.

  • Реализуйте возможность восстановить доступ к номеру телефона на сайте или в мобильном приложении.


Сталкивались ли вы с неожиданной сменой владельца номера? Может, это были вы сами?

Делитесь своими историями в комментариях ⬇️

Николай Анисеня

Руководитель отдела перспективных технологий, Positive Technologies

Яна Авезова

Старший аналитик, Positive Technologies

Комментарии (8)


  1. strvv
    07.11.2024 09:46

    Это реально проблема.
    Когда покупаешь симку, например у меня было, когда брал симку матери.
    Там писали коллекторы и банки. Как это заметил, отзвонился по публичным номерам банков, что данный номер уже не у того владельца, но всем пофиг. В итоге, для простоты решения - сдал симку обратно. Нервы дороже.


  1. Plesser
    07.11.2024 09:46

    Проблемы бывают и у новых владельцев.

    Недавно приобрел симку желтого оператора (без черных полосок). Создал телеграм эккаунт и открыл портал в ад. Посыпались каналы с порно, благо рядом не было жены. Позвонил оператору с претензией, какого черта и неужели трудно было деактивировать эккаунты мессенджеров привязанные к телефонному номеру? И понимают ли они, что окажись рядом жена, вечер перестал бы быть томным? В ответ мне сказали, что они такой ерундой не занимаются и могут выдать мне справку для жены о том, что ранее номер принадлежал кому то другому. Успокоили блин.

    Вы думаете на этом все закончилось? Я решил привязать этот номер к опорному банку этого оператора (с таким же желтым логотипом) и попробовать перевести деньги по СБП по этому номеру самому себе. Вы думаете у меня получилось? Нет. Деньги чуть не улетели старому владельцу номера. Ибо этот номер оказался по прежнему привязан к нему. Спасибо моей внимательности.


    1. ktori
      07.11.2024 09:46

      Повезло что телеграм аккаунт вообще удалось создать, а номер не оказался заранее под пермаментным баном. А заниматься поиском и деактивацией аккаунтов действительно не дело операторов.


      1. Plesser
        07.11.2024 09:46

        Не дело, но они могут это делать, если они пекутся о лояльности новых клиентов


    1. YMA
      07.11.2024 09:46

      Поэтому при переезде, когда пришлось менять номер телефона - убедился при покупке, что он из свежевыделенной емкости и точно никому раньше не принадлежал. :)

      Брать б/у номер смысла вообще нет, неизвестно, с каким наследством он идёт.


      1. Plesser
        07.11.2024 09:46

        ну вы же понимаете, что емкость конечна


  1. ktori
    07.11.2024 09:46

    Обязательная привязка номера к аккаунту - зло. Возможность имея только номер восстановить доступ к этому аккаунту - абсолютное зло. К сожалению, ничего из этого меняться в обозримом будущем не будет, потому что регистрация+вход через одну смс - удобно для среднего пользователя.


  1. titbit
    07.11.2024 09:46

    К номеру привязывают все что только можно (от госуслуг и банков до мессенджеров), но при этом сам номер человеку не принадлежит и может быть отобран в любой момент и не только из-за неактивности. И за последние 20 лет привязки стали только жестче, а вот хотя бы возможность закрепления номеров так и не появилась. Это же явная проблема, но похоже никто и не собирается ее решать. Поэтому, увы, можно только советовать "не класть все яйца в одну корзину", т.е. не привязывать к одному номеру слишком много всего.