С момента публикации первой статьи о 2FA прошло почти два года, и за это время я несколько раз порывался дополнить ее. Однако в итоге изменений набежало на отдельную запись.
Этот материал подразумевает, что вы прочли мою статью А вы защищаете свои аккаунты двухфакторной или двухэтапной аутентификацией? и вникли в ее содержимое.
[+] Сегодня в программе
SMS – фактор или нет
Напомню, что я провел границу между двухэтапной и двухфакторной аутентификацией по владению устройством и не счел SMS фактором. Это породило протесты в обсуждении, но все остались при своих.
Когда страсти уже отшумели, прилетела новость из национального института стандартов и технологий США (NIST), на чьи рекомендации ориентируется индустрия.
Эксперты NIST решили не рекомендовать SMS в качестве фактора и запланировали убрать этот способ аутентификации из будущих изданий руководства по цифровой идентификации личности.
Эта ремарка в черновике документа тоже породила протесты в обсуждении :) Представители индустрии выражали недовольство на GitHub, где публикуются предварительные версии руководства. В итоге авторы согласились, что развертывание альтернативных форм 2FA в глобальных масштабах займет длительное время и отказались от радикальной формулировки в финальной версии документа SP 800-63B, вышедшей летом 2017 года.
Короче, специалисты понимают небезопасность аутентификации по SMS, но отказ от нее влечет очень большие расходы для индустрии в целом. Прямо как в моей любимой картинке :)
Дальше я как раз буду рассматривать варианты аутентификации без SMS, к чему стремятся прогрессивные компании.
Аутентификация без SMS у популярных компаний
Я пройдусь фактически по тем же компаниям, что и в прошлой статье. Но в этот раз сделаю акцент на аутентификации не просто без SMS, но и без кодов и даже паролей!
Telegram
При наличии активных сессий код отправляется на устройства, где уже выполнен вход. Например, у вас есть Telegram на ПК, и вы устанавливаете приложение на смартфон. Код приходит на ПК.
Возможность получения кода в SMS сохраняется, конечно.
Twitter я не упоминал в прошлый раз, но за это время у компании произошел позитивный сдвиг. Раньше там можно было настроить 2FA с приложением для генерации кодов, но Twitter принудительно [и тупо] дублировал код в SMS. Теперь доставку кода в SMS можно отключить (на картинке видно, что у меня она не настроена).
Многочисленные журналисты подали это публике как новую возможность аутентификации с генератором кодов, из чего стало ясно, что себе они 2FA там не настраивали :)
Ранее я рассказывал про приложение Google Authenticator для генерации одноразовых кодов. С тех пор у компании появился еще один способ 2FA — Google Prompt (уведомления от Google), значительно упрощающий процесс.
В настройках 2FA Google вы регистрируете устройство (смартфон), на котором будет выводиться уведомление после ввода пароля на сайте или в каком-нибудь приложении. Вам остается лишь подтвердить запрос.
Здесь введенный на сайте пароль является первым фактором, а смартфон – вторым, поскольку вы им владеете. И никакой возни с кодами!
Важно отличать вход с уведомлением (Google Prompt) от внешне очень похожего входа в аккаунт с помощью телефона, который не является 2FA!
Казалось бы, вход в аккаунт с помощью телефона обладает всеми атрибутами 2FA и ничем не отличается от беспарольного входа в аккаунт Microsoft, который я разберу ниже↓ Для входа в аккаунт Google вы вводите почту или номер телефона, а для подтверждения сначала разблокируете телефон с помощью ПИН-кода или биометрии, а затем подтверждаете уведомление в телефоне.
Однако вход с помощью телефона не форсирует двухэтапную аутентификацию и позволяет войти в аккаунт по старинке с логином и паролем!
Я считаю, что вход с помощью телефона в масштабах экосистемы Google повышает безопасность аккаунтов. Вы не вводите пароль, поэтому исключается его сохранение на устройстве с последующей утечкой и перехват злоумышленниками. Но если пароль уже в их руках, этот способ не защитит от компрометации аккаунта. А при целевой атаке на конкретную личность возможна компрометация смартфона и подтверждение входа без ведома жертвы.
Microsoft
Компания пошла еще дальше и реализовала 2FA без ввода пароля в фирменном приложении Microsoft Authenticator для iOS и Android!
Сначала вы, как обычно, вводите логин — почтовый адрес учетной записи Microsoft. При первом входе с данного устройства вам показывают цифру, а на смартфоне появляется уведомление, в котором надо ее выбрать.
В дальнейшем при входе на этом же устройстве просто выводится уведомление, нажав на которое, вы одобряете вход (как и у Google Prompt).
После этого появляется еще один экран, где нужно ввести ПИН-код или приложить палец к сканеру отпечатков (с Face ID тоже должно работать).
Заметьте, что пароль нигде не вводится. Если он все же запрашивается после ввода учетной записи, переключитесь на вход с приложением (обратно так же).
Как ни странно, это – двухфакторная аутентификация!
Первый фактор – подтверждение уведомления на смартфоне, которым вы владеете. Второй фактор – знание ПИН-кода или биологическая особенность (отпечаток пальца, лицо). Процесс аутентификации фактически смещен с устройства, на котором осуществляется вход, на смартфон, где вы подтверждаете владение учетной записью.
Кстати, в инсайдерской сборке 17093 анонсировали аутентификацию этим способом во время установки системы и даже скрыли настройки пароля из параметров. Пока только для Windows 10 S и, очевидно, только с учетной записью Microsoft.
У меня длинный и сложный пароль к учетной записи Microsoft, поэтому фишка очень удобная. Жаль, что она работает только при входе в сервисы Microsoft, да и то не везде. Например, можно входить в Azure AD, но пока только с Surface Hub.
2FA в качестве защиты от фишинга
Я недавно в ВК/Telegram порекомендовал 2FA в качестве простой защиты от массового фишинга. Как минимум, 2FA позволяет избежать полной компрометации аккаунта.
Внезапно в ВК разгорелась дискуссия с читателем Антоном на тему того, что 2FA тоже можно обойти. Да, хорошо подготовленный злоумышленник может реализовать сбор не только пароля, но и одноразового кода с последующим вводом в целевом сервисе. Как по заказу, спустя несколько дней компания FireEye выложила на GitHub инструментарий ReelPhish, сопроводив это публикацией в блоге.
Однако я продолжаю считать, что такие решения используются в первую очередь для целевых атак, и FireEye как раз упоминает VPN-порталы организаций. Массовые сервисы (Google, Microsoft, Yandex) с одной стороны быстро узнают о масштабных атаках, а с другой — используют непрозрачные алгоритмы для определения аутентичности сессии. Например, если для аутентификации в Google у вас устоялся набор устройств, браузеров, провайдеров и геолокаций, то внезапный запрос на вход, условно говоря, в Firefox на Ubuntu из Бразилии будет выглядеть для сервиса очень подозрительно.
Советы
Google недавно опубликовала статистику, согласно которой лишь 10% ее пользователей включили 2FA. Надеюсь, вы входите в это число.
Используйте 2FA для всех своих значимых аккаунтов. Я включаю везде, где есть такая возможность.
Отключите доставку кодов в SMS по возможности. Да, эта рекомендация для параноиков, но тренд я вам показал. При этом сохраните в надежном месте резервные коды, иначе могут быть проблемы при утере устройства. Смотрите также раздел вопросов и ответов в прошлой статье.
Прививайте 2FA близким людям. Наши родственники зачастую не придают значения безопасности, в результате чего становятся жертвами взлома и мошенничества.
Смартфоны есть у многих, а процесс аутентификации со вторым фактором постепенно становится проще.
Дискуссия и опрос
Опросов я решил сделать два. Первый копирует опрос двухлетней давности для сравнения. Второй — о ваших близких. В комментариях расскажите, как обстоят дела с 2FA у вас в семье, предпринимали ли вы попытки привить 2FA близким, успешно ли.
У вас включена 2FA/2SV? (2018)
- Да, в ряде сервисов, и мне этого достаточно (35%, голосов: 144)
- Да, везде где это возможно (34%, голосов: 139)
- Да, в ряде сервисов, но теперь включу везде (10%, голосов: 40)
- Нет, но теперь начну пользоваться (9%, голосов: 38)
- Нет, и мне это не нужно (8%, голосов: 34)
- Моего варианта тут нет (4%, голосов: 16)
Проголосовало: 411 [архив опросов]
У ваших близких включена 2FA/2SV? (2018)
- Нет, им это не нужно (39%, голосов: 128)
- Нет, но теперь начну прививать им (27%, голосов: 90)
- Моего варианта тут нет (12%, голосов: 38)
- Да, в ряде сервисов, но буду прививать им везде (11%, голосов: 36)
- Да, в ряде сервисов, им достаточно (9%, голосов: 30)
- Да, везде где это возможно (2%, голосов: 6)
Проголосовало: 328 [архив опросов]
dartraiden
У меня Твиттер сразу же отключает 2-факторную авторизацию совсем (то есть, отключается и возможность пользоваться одноразовыми кодами из приложения на смартфоне), если отключить доставку кодов по SMS или вообще отвязать номер телефона от учётной записи.
Vadim Sterkin
Телефон я отвязывать не пробовал, но в остальном УМВР.
Oleg Krivbass
А если сломается/потеряется/утопится телефон, который привязан к 2FA Google, как тогда быть ?
Vadim Sterkin
У Google есть альтернативные варианты (SMS, e-mail). Прежде чем их отключать нужно сохранить резервные коды.
Михаил Корабельский
Если добавить в аккаунте Гугла 2ФА, то смогут ли сторонние приложения выполнить вход и проверить (получить ) почту?
Прежде всего клиент на смарте — Аква мейл, и мозилла тандерберд на ноуте?
Vadim Sterkin
Есть одноразовые пароли, см Вопросы и ответы в прошлой статье.
Сергей Казнадей
Справка Google
https://support.google.com/accounts/answer/185833?hl=ru
Vadim Sterkin
Судя по вялому обсуждению и промежуточным итогам опроса про близких, им 2FA не нужна. А у самих-то в 70% голосов 2FA включена :)
Между тем, я вспомнил, что не дописал в раздел статьи «2FA Microsoft», но просто оставлю это здесь. Метод 2FA без пароля супер-удобен как раз для самых неопытных пользователей. И хотя аутентификация двухфакторная, в самом гладком варианте ее использования — биометрическом — в ней отсутствует фактор знания. А он все-таки важен.
Дело даже не в том, что кто-то может приложить твой палец к сканеру — утюг тоже можно приложить. Просто в общем случае знание — это секрет, а отпечаток или лицо — нет.
Alex Shantaram
Геморрой, который еще и криво работает, через одно место, что автор и подтверждает…
У себя в компании, даже и не подумаю такую головную боль устраивать.
Alexey Volkov
Не знаю, что Вы понимаете под «кривизной». Пользуюсь 2FA с тех пор, как заполучил первый смартфон на Android. Терял устройства, по глупости делал сброс, не отвязав от аккаунтов — всегда легко и быстро восстанавливал доступ (альтернативные методы получения кода и списки резервных кодов — в помощь).
Vadim Sterkin
Эээ… где это я кривизну подтверждаю? Читатель зацепился за мой опыт Google Prompt? Так это локальная проблема моего устройства, надо полагать.
А доступ к ресурсам компании как раз и должен быть с 2FA. Надеюсь, найдется кто-то пограмотнее уровнем выше и внедрит.
Moscvich
У меня лично при первом входе на сайт браузер сам вставляет логин и пароль, затем на сотовый телефон приходит смска с паролем, который я в ручном режиме ввожу в окошко и только потом захожу на сайт. Это у меня происходит на сайтах Одноклассники, Google, где у меня есть Личный кабинет и Госуслуг России. Неудобств не ощущаю совсем. Зато спокоен всегда !
Сергей Казнадей
На Google настроенна. На Facebook и Yahoo она ущербная — только СМС. ВК и ОК не пользую, поскольку сами ущербные. Твиттер пользуюсь редко, ничего стоящего там нет — не жалко. И наконец о главном. Конечно взломать почту проще, чем смартфон, но считать это панацеей нельзя. Что мешает на ложном сайте сделать поле для ввода кода из того же Google Authenticator? После получения оного и доступа к вашему аккаунту — поменять способ авторизации — два клика. В общем, все это танцы с бубном. Как говорил мой учитель информатики в далеком 86 году — если есть физический доступ к устройству никакие пароли не спасут. Если это устройство — пользователь, то никакие защиты не спасут.
Vadim Sterkin
Нет, не два клика. Попробуйте войти в свой аккаунт гугл, а потом отключить 2FA или сменить пароль. Для этого Google на сайте Google требует второй фактор.
Я соглашусь с первой частью — это непреложный закон безопасности. И то, с оговоркой, что взлом зашифрованного устройства может быть очень дорогим.
Но не соглашусь со второй. Если пользователь грамотно реализовал защиту своего аккаунта, то на понт его не возьмешь. Придется долго и тщательно готовить целевую атаку, и не факт, что она сработает.