СМС для 2FA? Может быть да, а может быть и нет…
Вышеупомянутая фраза была произнесена Пчеловодом, преступным вдохновителем, которого сыграл американский актер Уильям Шокли в финальной сцене «Искателей сокровищ», боевика категории B с участием русского бодибилдера Александра Невского, шотландского актера Стивена Брэнда, Дэвида Кэррадайна (звезда популярный сериал 70-х «Кунг-фу»), а также подборка преимущественно других российских актеров. Это один из наших любимых фильмов, когда мы устали и хотим посмотреть что-то, где мы знаем почти каждую строчку наизусть, чтобы нам не пришлось так много думать.
Это также не имеет почти ничего общего с кибербезопасностью или предметом этой статьи, за исключением того, что это может быть своевременным, возможно, из-за недавних кибератак, которые, по общему мнению, спонсируются Россией. Но это хороший способ поднять вопрос о том, является ли использование текстовых SMS-сообщений для двухфакторной аутентификации (2FA) хорошей идеей или нет. Потому что, на мой взгляд, ответ - ну, может быть.
Использование SMS для 2FA: польза
Положительным моментом является тот факт, что компаниям легко внедрить его, а пользователям легко использовать. В настоящее время у каждого есть смартфон, поэтому отправка им текста для подтверждения личности, когда они пытаются войти в онлайн-сервис, который вы им предлагаете, — это отличный способ убедиться, что они те, за кого себя выдают. Итак, если безопасность не является проблемой, но вы хотите сделать регистрацию или вход в систему немного более безопасными, использование SMS для 2FA — не такая уж плохая идея, верно? В конце концов, всегда есть некоторый компромисс между удобством использования и безопасностью, и вряд ли многие пользователи захотят постоянно носить с собой брелок или, что предпочтительнее, YubiKey.
Плохо
Однако другая сторона в этом вопросе может быть довольно убедительной в своем аргументе, что использование SMS для 2FA — это не только плохая идея, но и идея. Возьмем, к примеру, недавнюю статью Брайана Кребса, в заключение которой он сказал: «Теперь как никогда ясно, насколько глупо доверять SMS в чем бы то ни было». Брайан также советует людям «удалять телефонные номера из своих онлайн-аккаунтов везде, где это возможно, и избегать выбора SMS или телефонных звонков для второго фактора или одноразовых кодов». Он отмечает, что, хотя «большинство онлайн-сервисов требуют от пользователей указывать номер мобильного телефона при настройке учетной записи», они обычно «не требуют, чтобы номер оставался связанным с учетной записью после ее создания». Еще одно интересное чтение на тему уязвимости SMS к перехвату SS7 и другим атакам можно найти в этой статье анонимного ИТ-директора на Medium. Или эта статья нашего собственного Дерека Кортепетера, где он обсуждает конкретный случай спуфинга SMS, используемого для фишинговой аферы.
Какой-то бред
Позвольте мне немного поболтать об этом, так как я уже некоторое время изучаю этот вопрос.
Во-первых, определенную ответственность во всем этом несет перевозчик СМС. Тот факт, что кто-то отправляет вам по электронной почте расплывчатый JPEG-файл того, что кажется подписью, написанной на обычном телефонном счете, не означает, что теперь вы можете поверить в то, что у вас есть подтверждение его личности, и приступить к переносу его номера телефона с его текущий перевозчик для вашей компании, как они просили. Некоторые операторы действительно пытались в прошлом предлагать аппаратные токены для защиты обмена SMS-сообщениями для своих клиентов, но когда такие компании, как PayPal, сначала предложили поддержку таких токенов, а затем сделали их использование практически невозможным, продолжая предлагать SMS для 2FA, вряд ли можно винить клиент для использования этого. Конечно, PayPal теперь также поддерживает использование приложения-аутентификатора, такого как Google Authenticator или Microsoft Authenticator, вместо SMS для двухэтапной проверки входа в учетную запись, но не всем удобно позволять Microsoft или Google управлять своей идентификацией в Интернете. Не забывайте, что некоторые пользователи до сих пор пользуются функциональными телефонами, на которых такие приложения не поддерживаются. Кроме того, некоторые крупные предприятия, такие как банки или страховые компании, могут предпочесть выпускать свои собственные приложения для проверки подлинности для своих клиентов для использования в качестве 2FA для подтверждения своей личности (хотя они также обычно используют SMS для подтверждения транзакций, таких как депозиты и снятие средств).
Еще одна важная вещь, которую следует признать, заключается в том, что SMS изначально была разработана так, чтобы быть слабой в области аутентификации, когда она использовалась только сама по себе в качестве платформы для обмена сообщениями. Использование его в сочетании с аутентификацией по паролю в качестве второго фактора просто затрудняет злоумышленнику, который уже перехватил ваш пароль, получить контроль над вашей личностью в Интернете, если только они не нацелены конкретно на вас (например, с помощью целевого фишинга) и не хотят сделать дополнительную работу, чтобы скомпрометировать ваши SMS-сообщения. Так что, возможно, использование SMS для 2FA действительно примерно на том же уровне с точки зрения безопасности, что и использование одноразового пароля на основе времени (TOTP), для которого существует множество способов реализации.
Но в то время как SMS может обеспечить некоторую степень дополнительной безопасности за счет использования его для 2FA, остаются проблемы с его реализацией для этой цели, особенно если вы тот, кто много путешествует по миру. Например, вы можете застрять, когда хотите получить доступ к своему банковскому счету в Интернете в другой стране, потому что ваша SIM-карта не позволяет вашему телефону перемещаться там для обмена SMS-сообщениями, только для голосовых вызовов. Одним из решений (фактически взлома) этой проблемы может быть извлечение SIM-карты из телефона перед посадкой на рейс и вставка ее в резервный телефон, который вы даете доверенному члену семьи. Таким образом, они могут получать ваши SMS-коды 2FA, когда вам нужно снять деньги со своего счета, находясь за границей, поскольку вы можете позвонить члену своей семьи и попросить их произнести код, который они только что получили на одноразовый телефон.
Используете SMS для 2FA? Несколько практических советов
Если вам все же приходится использовать SMS для двухфакторной аутентификации для некоторых сайтов или онлайн-сервисов, полезно помнить следующие рекомендации Даррена Льюиса, ИТ-консультанта компании Fusion Systems: «При использовании многофакторной аутентификации на телефоне вам нужно безопасность вашего телефона и приложений. Убедитесь, что экран телефона заблокирован на случай, если вы его потеряете или оставите лежать без дела. Убедитесь также, что ваш телефон не рутирован». Даррен говорит, что он использует Authy вместо Google Authenticator везде, где это возможно, так как он имеет функцию автоматического резервного копирования и позволяет использовать ваш отпечаток пальца для открытия приложения. Но иногда SMS — единственная игра в городе, когда вам нужно сделать 2FA.