Чем плоха СМС-аутентификация и как защититься от угона SIM-карты +13





Привет, Хабр! В прошлой статье мы затронули тему, что аутентификация по СМС – не самый лучший способ многофакторной аутентификации. Такой способ используют многие веб-сервисы: соцсети, почтовые клиенты, платежные системы. Вдобавок номер телефона используется в качестве логина: для регистрации ВКонтакте, в Telegram и так далее. 

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

В этой статье возьмем несколько популярных сервисов и заменим СМС-аутентификацию на более безопасные способы. Заодно разберемся, как дополнительно защитить аккаунты от угона и спать спокойно.

На статью нас вдохновил лонгрид MyCrypto, посвященный защите от SIM-джекинга (SimJacking). Мы изучили их рекомендации и составили актуальный список для России. 


Зачем избавляться от аутентификации по СМС


Злоумышленники могут получить СМС и зайти в чужой аккаунт сразу несколькими способами:

  1. Если смогут заполучить телефон с SIM-картой внутри. 
  2. Если перевыпустят SIM-карту по поддельным документам. Мошенники покупают слитые паспортные данные и подделывают доверенность или даже сам паспорт. Отправит ли оператор документы на проверку в службу безопасности, зависит от человеческого фактора. 
  3. Если угонят SIM-карту по сговору с сотрудниками оператора.   
  4. Если перехватят СМС с помощью уязвимостей в самой SIM-карте или в телефоне.

Второй и третий способ – самые массовые. Опасность в том, что потерпевший не сразу поймет, что симку угнали. У мошенника есть все шансы нажиться, до того как вы осознаете проблему и успеете восстановить доступ к своей SIM-карте. 

По каким признакам ясно, что симку угнали:


  • Оператор присылает СМС о замене SIM-карты.
  • На телефоне пропадает сеть оператора, перезагрузка не помогает.
  • На почту приходят письма о попытках переустановить пароль в разных сервисах.
  • Apple ID или аккаунт Google начинает требовать ввести пароль.
  • Приходят сообщения о привязке аккаунта к новому устройству.

  • Если где-то для двухфакторной аутентификации используются push-сообщения, то начнут приходить коды от разных сервисов. 

Как предупредить угон SIM-карты


  • Не выкладывайте в интернет сканы и номера персональных документов, в том числе на онлайн-диски, в соцсети, мессенджеры, обменники изображениями (исключений нет).
  • Зайдите в офис вашего сотового оператора и напишите заявление, которое запретит перевыпуск SIM-карты по доверенности. У операторов услуга называется «Запрет действий по нотариальной доверенности».
  • Усложните доступ к смартфону с помощью надежного пароля и аутентификации по отпечатку пальца/Face ID.
  • Купите отдельный мобильный телефон и выпустите симку, номер которой не известен никому. Это будет ваш «секретный номер» для СМС-кодов, если какой-то сервис не позволяет защитить аккаунт другим способом. Запретите перевыпуск симки по доверенности.   

Что делать, если все-таки угнали  


Если SIM-карту уже угнали, у вас будет не более суток на блокировку. Поэтому нужно держать под рукой сценарий быстрой блокировки:

  • придумайте способ позвонить оператору, если потеряли телефон, например, с ноутбука или планшета. К примеру, установите туда Skype или Viber;
  • пополните балансы для звонков;
  • найдите номер своего мобильного оператора и запишите его в журнал Skype или Viber;
  • отрепетируйте потерю телефона: вытащите симку и попробуйте позвонить оператору выбранными способами. 

Как избавиться от СМС-аутентификации и защитить аккаунты 


Наша общая рекомендация – откажитесь от СМС-аутентификации везде, где можно. Посмотрим, как это сделать для популярных веб-сервисов. 

Сначала рассмотрим те, где используется СМС-аутентификация. А потом защитим те, где сам сервис привязан к номеру телефона.

Google-аккаунт


  1. Зайдите в аккаунт Googlе и перейдите на вкладку «Безопасность».
  2. В пункте «Вход в аккаунт Google» включите двухэтапную аутентификацию. Во всплывающем окне пройдите повторную аутентификацию.

  3. Выберите второй фактор аутентификации.
    Разберем, что лучше выбрать. 
    • СМС или голосовое подтверждение: стоит отказаться от этого метода полностью.
    • Резервные коды: один из лучших способов для резервного входа, особенно если использовать его с максимальной осторожностью.
      Запишите их на бумагу, сделайте несколько копий и уберите в несколько безопасных мест. Так они будут в безопасности от онлайн-атак.
    • Google authenticator: довольно распространенный метод аутентификации, одноразовые пароли позволяют повысить безопасность вашего аккаунта.
      Но в свете последних событий, стоит тщательнее выбирать приложение.
    • Уведомление от Google: отправляет push-уведомление на ваш доверенный  девайс. 
    • Электронный ключ: идентификатор на физическом носителе. Это либо отдельное устройство, которое нужно вставить в USB-порт компьютера при входе в Google-аккаунт, либо встроенный в смартфон ключ, который передается по Bluetooth с вашего телефона на компьютер при входе в Google-аккаунт. Технология не лишена неудобств, но позволяет обеспечить высокий уровень безопасности, особенно если использовать отдельный девайс, а не смартфон. Это позволяет разделить все факторы на независимые сущности и не «класть все яйца в одну корзину».

  4. Выберите резервный способ на случай, если основной способ будет недоступен. Помните, что на одном мобильном не стоит использовать совместно push-уведомления, голосовые подтверждения и СМС (если вы все-таки не отказались от них совсем).


  5. Далее в списке есть выбор надежных устройств: для них второй фактор не требуется. Нужно проверить, защищены ли все доверенные устройства. Или очистить весь список и добавить по-настоящему нужные заново.



  6. Перейдем обратно к https://myaccount.google.com/security и пройдемся по всем пунктам



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


    • Ваши устройства: уберите все лишние.


    • Сторонние приложения с доступом к аккаунту: удалите все приложения, которыми не пользуетесь. 


    • Вход через аккаунт Google: удалите все, которыми не пользуетесь.
    • Доступ к связанным аккаунтам: в случае угона аккаунта можно упростить доступ к другим сайтам для злоумышленника. Удаляйте все.
    • Диспетчер паролей: перенесите пароли в отдельный Password Manager. Отключите автосохранение паролей.



Яндекс


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

  1. Войдите в ваш аккаунт на Яндексе и пролистайте до пункта «Пароли и авторизация».



    • Пароль: проверьте свой пароль на надежность и уникальность (см. выше)
    • Контрольный вопрос: выберите наиболее сложный и неочевидный потенциальному злоумышленнику ответ. Используйте нестандартные способы записи ответа и мнемонические техники запоминания.
    • Включить пароли приложений: отдельные приложения могут подключаться к вашему аккаунту Яндекс. Отключите эту функцию, если ею не пользуетесь. 



  2. Настройте двухфакторную аутентификацию: используйте «секретный номер». 


  3. Вернитесь к пункту "История входов и устройства". Выберите «Выход на всех устройствах».


  4. Перейдите к пункту «Почтовые ящики и номера телефонов». Уберите адреса для восстановления.


  5. Перейдите в настройки Яндекс Деньги ко вкладке «пароль».
    Здесь мы пройдемся по всем трем кнопкам.



    • Выпустить аварийные коды: перепишите и сохраните аварийные коды, так же, как сделали это для Google-аккаунта.


    • Перейти на пароли в приложении: выберите пункт «приложение с паролями» и проведите синхронизацию с одним из приложений.


    • Нажмите «Всегда спрашивать пароль».



Теперь теми же способами защитите ВСЕ сервисы, которые могут использовать СМС-аутентификацию. 

По возможности замените ее или привяжите к «секретному номеру» и добавьте вход по отпечатку пальца.

Вот чек-лист сервисов в порядке приоритета:
Личные:
  • Банковские и платежные сервисы.
  • Государственные сервисы: Госуслуги, ФНС и т. д. 
  • Менеджеры паролей: LastPass, 1Password и т. д.
  • Облачные хранилища: iCloud, Dropbox, OneDrive и т. д.
  • Электронная почта: Mail.ru и т. д.
  • Социальные сети: Vk, Facebook, Twitter, Instagram, LinkedIn, Medium и т. д.
  • Мессенджеры: iMessage, Skype, Slack, Facebook Messenger  и т. д.
  • Фотохостинги: iCloud, Google Photos и т. д.
  • Заметки: Evernote, Scribd  и т. д.
  • Форумы: Reddit, Stackoverflow и т. д.
  • Интернет-магазины и коммерческие сервисы и т. д.

Не забудьте про корпоративную информацию:
  • Репозитории исходного кода: Github, Bitbucket, Gitlab и т. д.
  • Хостинги и платформы для сайтов: Parking, Wordpress, AWS, Microsoft Azure, Digital Ocean и т. д. 
  • Таск-трекеры, CRM и другие платформы для работы: Jira, Mailchimp, Trello и т. д.

Telegram


Аккаунт мессенджера привязан к номеру телефона, поэтому, помимо двухфакторной  аутентификации, настроим дополнительную защиту. 

  1. Установите пароль и вход по отпечатку пальца: зайдите в Настройки безопасности и выберите passcode & touch id.


  2. Скройте номер телефона: в настройках безопасности найдите Privacy и для номера телефона задайте «nobody». Здесь же запретите звонки. Добавляйте исключения только для людей, которым доверяете.


  3. Включите двухфакторную аутентификацию по паролю. Не используйте основную почту для восстановления.




  4. Зайдите в Devices и закройте все активные сессии, которые кажутся подозрительными.



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

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (31):

  1. UnnamedUA
    /#21429604

    Замечу что двухфакторка таки хорошее дело, и вместо Google authenticator можно использовать сторонние приложения, например andOTP+
    Автор, я бы сделал коррекцию в тексте, а то по смыслу вы приносите негатив на технологию в общем.

    • avbykov
      /#21429654

      Исправили, спасибо за замечание.
      Конечно, не было цели переносить проблемы нескольких приложений на всю технологию.

  2. aborouhin
    /#21429736

    Я по итогам размышлений на эту тему для себя пришёл к выводу, что SIMке для 2FA (там, где оно без вариантов по SIMке) ещё очень неплохо быть не российской. Что и реализовал.
    Правда, сценарий закрытия границ из-за карантина, что воспрепятствует замене этой SIMки в случае утери/порчи, не учёл, по ходу :(

    • avbykov
      /#21429800 / +1

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

      • aborouhin
        /#21429806 / +1

        Просто сценарий «по поддельным документам / копиям / сговору с оператором выпустили дубликат СИМки» сильно сложнее реализовать, если для этого надо ехать в другую страну. Даже если там у операторов работают такие же продажные раздолбаи :)

    • gusev
      /#21430718

      Если атака не политического характера с перехватом смс на уровне оператора, то хороший сценарий замены сим карты реализован у ёты при смене / блокировке / перевыпуске сим карты ровно 24 часа не приходят любые смс сообщения.

      • Sly_tom_cat
        /#21431392

        По моему это сейчас у всех операторов так.

      • krundetz
        /#21432958

        Недавно перевыпускал сим карту МТС, пришло оповещение о том что в течение 24 часов смс от банков приходить не будут. Однако как показала практика они спокойно приходили все 24 часа.

        • vis_inet
          /#21432966

          Может быть имелось в виду не любые смс, а только с кодами?

          • gusev
            /#21433254

            На ёта при перевыпуске любые смс не приходят, проверял в декабре 2019

            • YotaRussia
              /#21433532

              Привет! Действительно, по техническим причинам SMS не доставляются после замены SIM-карты в течении 24 часов.

          • krundetz
            /#21433940

            Сообщение было:

            В течение 24 часов может быть ограничено поступление SMS от банков

            возможно ключевое слово здесь может.

  3. wtigga
    /#21429930

    «Купите отдельный мобильный телефон и выпустите симку, номер которой не известен никому. Это будет ваш «секретный номер» для СМС-кодов, если какой-то сервис не позволяет защитить аккаунт другим способом. Запретите перевыпуск симки по доверенности. „

    Удобство vs безопасность.
    Нужно теперь два телефона носить, заряжать, пополнять?
    Забыл взять/зарядить “редко нужный телефон, на который никогда никто не звонит» — именно в этот момент очередной сервис вдруг включит параноика и попросит код подтверждения. А он дома лежит в сейфе.

    Я пробовал заводить для таких целей отдельный телефон-звонилку с отдельным номером, но это добавляет столько головной боли, что пришлось от схемы отказаться, и ограничиться включением двухфакторки через приложение andOTP везде, где можно (~20 сервисов в списке), и регулярно делать шифрованный бэкап приложения в офлайн-хранилище дома.

    • avbykov
      /#21430038

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

    • aborouhin
      /#21430182

      Двухсимочный телефон неплохо помогает. Ну или носить вторую СИМку в кошельке и переставлять при острой необходимости.
      От сценария кражи/утери телефона/кошелька, конечно, не спасает (ну так и второй телефон, если он не в сейфе, — тоже), но если защищаемся в основном от риска перевыпуска карты — вполне.

  4. wtigga
    /#21430028

    Очень бесит, что в Яндекс только деньги умеют работать по Google Authenticator-совместимому приложению, для остальных сервисов нужно ставить их фирменный Яндекс.ключ. Который жуть какой неудобный, особенно со своими однаразовыми кодами из 8 случайных букв, заколебёшься вводить. Плюс во многих интерфейсах яндекса внятно не сказано, какой пароль нужно вводить — то ли одноразовый, то ли обычный.

    • TonyLorencio
      /#21432524

      В качестве решения проблемы они предлагали "отличный" способ — использовать только их приложение, Яндекс.Ключ умеет в том числе и в TOTP.

  5. D01
    /#21430160

    В Телеграмме можно включить пароль, который надо вводить при подключении нового устройства.
    В WhatsApp сделано нечто подобное, но ужасно бесючее: оно начинает спрашивать пароль постоянно)

  6. odiszapc
    /#21430468 / +1

    Основная проблема — банки. Кто знает возможен ли в Сбере способ подтверждения кроме СМС?

  7. PeterPP
    /#21430610

    Купите google voice — там можно смс принимать, а его защитите посильнее

    • czz
      /#21433552

      В случае google voice, достаточно украсть куки из браузера, чтобы попасть в аккаунт google и получить доступ к смс-кам.

  8. geoser
    /#21431238 / +1

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


    Ну или приведите, пожалуйста, пример, как можно похитить эккаунт, только завладев симкой, без применения социальной инженерии или троянов.

    • qyix7z
      /#21431762

      приведите, пожалуйста, пример, как можно похитить эккаунт, только завладев симкой
      whatsapp
      К переписке доступ не получишь, но акк — пожалуйста.

    • Dotarev
      /#21432378

      приведите, пожалуйста, пример, как можно похитить аккаунт, только завладев симкой
      Например, vk.com (Восстановление пароля через СМС)

      • Delion
        /#21434066

        Только что попробовал.
        ВК тотчас же отправил письмо-подтверждение на привязанную почту.
        Вот только этой почты не существует :D
        А дальше только через фото.

    • avbykov
      /#21432474 / +1

      Есть много сервисов, которые используют СМС как единственный фактор. Среди них есть банковские приложения и ритейл. Это, на мой взгляд, основная проблема.

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

  9. DaemonGloom
    /#21431908

    Хм. А вы сами сейчас можете пройти по шагам подключение TOTP (Google Authenticator) для учётки гугла? Потому что у меня предлагают или физический токен, или уведомление на телефон, или СМС. Добавить код из приложения нельзя.

    • avbykov
      /#21432490

      Да, вполне успешно проходит c нуля
      image

      • DaemonGloom
        /#21432638

        Телефон при этом уже был привязан ранее? Может, в этом разница есть?

  10. TonyLorencio
    /#21432532

    ЕМНИП, большинство сервисов все равно предлагает выслать код через SMS, если по какой-то причине недоступен TOTP (потеряно устройство или список резервных ключей). Так что совет с "секретным" номером телефона будет более актуальным

  11. GLeBaTi
    /#21432932

    Достаточно ли подключить «Запрет обслуживания по доверенности» и продолжать использовать двухфакторную аутентификацию на основе SMS?