Бесплатно Экспресс-аудит сайта:

08.04.2023

Двухфакторная аутентификация и возможные способы её обойти

Передовые методы обеспечения безопасности учётных записей включают двухфакторную аутентификацию (2FA). Она используется повсеместно как для корпоративных, так и для личных аккаунтов пользователей по всему миру. В классическом понимании этот способ аутентификации подразумевает доставку на телефон или электронную почту специального кода, который необходимо ввести уже после ввода пароля от учётной записи. Однако существуют и другие формы 2FA, которые мы обсудим в этой статье.

Двухфакторная аутентификация обеспечивает дополнительный уровень защиты аккаунта от киберпреступников, но при большом желании злоумышленники всё равно найдут способ её обойти. Именно понимание того, каким образом хакеры обычно обходят 2FA, позволит не попасться на их возможные уловки и обезопасить свою учётную запись.

Что такое двухфакторная аутентификация?

2FA — это второй уровень аутентификации, который используется в дополнении к классической комбинации имени и пароля пользователя при входе в учётную запись. Двухфакторная аутентификация может быть настроена на абсолютно разные способы подтверждения владения аккаунтом. Всё зависит от конкретных потребностей самой системы или пользовательских предпочтений.

Иногда для определённого аккаунта необходим наивысший уровень защиты. Тогда на помощь приходит так называемая «многофакторная аутентификация» (MFA), включающая несколько факторов проверки. Например, пароль + физический токен + биометрия. Такой способ защиты учётной записи гораздо надёжнее классической двухфакторной аутентификации.

Какие типы двухфакторной аутентификации существуют?

Некоторые сервисы и приложения позволяют выбирать, какой тип проверки в дополнении к паролю использовать, а некоторые — нет. Рассмотрим же все возможные варианты 2FA.

2FA по СМС

Этот метод аутентификации требует, чтобы пользователь указал свой номер телефона при первой настройке профиля. Затем при каждом входе в систему (или первом для нового устройства), пользователь должен будет вводить одноразовый код подтверждения (One-Time Password, OTP), состоящий чаще всего из шести цифр. Такой код приходит в виде текстового сообщения на телефон.

Поскольку у большинства людей есть мобильные телефоны с поддержкой SMS, а дополнительных приложений устанавливать не требуется, этот метод проверки является сейчас, вероятно, самым популярным.

Проблемы с 2FA по СМС возникают только при потере сигнала сети или при наличии проблем с работоспособностью телефона.

2FA через голосовой вызов

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

2FA по электронной почте

2FA по электронной почте работает так же, как 2FA по СМС, но одноразовый код подтверждения приходит уже в виде электронного письма на почту пользователя. Одним из вариантов аутентификации по электронной почте является не ввод кода, а переход по уникальной ссылке, который и предоставляет доступ к учётной записи.

2FA по электронной почте требует обязательного подключения к Интернету для получения письма, хотя в современных реалиях можно и не считать это за недостаток. Однако, что точно не является достоинством данного метода, так это частое определение подобных писем как спама. Соответственно, на процесс авторизации из-за поиска письма может уходить больше времени.

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

2FA через TOTP-приложения для аутентификации

Алгоритм временных одноразовых паролей (Time-based One-time Password Algorithm, TOTP) — это форма проверки, которая требует от пользователя установки на смартфон специального приложения, такого как Microsoft Authenticator, Google Authenticator, Яндекс Ключ и т.п.

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

Одним из преимуществ приложений-аутентификаторов является то, что их легко внедрить и использовать. Пользователь сразу получает пароль для подтверждения, и ему не нужно ждать письма или СМС. Этот способ также надёжнее, чем 2FA по СМС, потому что код нельзя подсмотреть на экране блокировки или связанном по Bluetooth фитнес-браслете. Смартфон необходимо как минимум разблокировать, а может даже и ввести отдельный пароль для доступа к TOTP-приложению.

Если пользователь не настроил один PIN-код на все случаи жизни, то и взломать его при использовании TOTP-аутентификатора будет крайне непросто.

2FA через аппаратный ключ

Данный метод использует для авторизации физические устройства. Это может быть, например, USB-флешка, вставленная в компьютер, NFC-карта или TOTP-брелок, который генерирует код для авторизации каждые 30/60 секунд.

Аппаратные ключи не требуют подключения к интернету. Это один из самых простых и безопасных методов 2FA. Однако выпуск и обслуживание подобных устройств для каждого пользователя может быть дорогостоящим для бизнеса. А если критически важно, чтобы пользователь носил такой ключ с собой, добавляется ещё и риск потерять его.

6 способов обойти двухфакторную аутентификацию

Несмотря на все достоинства двухфакторной аутентификации, каждый из вышеописанных методов имеет и свои уязвимости. Ниже опишем способы, как именно хакеры могут обойти двухфакторную аутентификацию.

1. Обход 2FA с помощью социальной инженерии

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

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

2. Обход 2FA с помощью открытой авторизации (OAuth)

OAuth — это открытый протокол авторизации, предоставляющий приложениям и сервисам ограниченный доступ к данным пользователя без разглашения пароля. Например, для входа в приложение нужно дать разрешение на частичный доступ к учётной записи VK или Facebook. Таким образом выбранное приложение получает часть полномочий аккаунта, но не хранит в своих базах данные, связанные с паролей пользователя.

При так называемом «фишинге согласия» злоумышленник притворяется законным приложением с авторизацией OAuth и отправляет жертве сообщение с просьбой предоставить доступ. Если жертва даст такой доступ, злоумышленник сможет делать всё, что ему заблагорассудится, в пределах запрошенного доступа. Фишинг согласия позволяет злоумышленнику игнорировать учётные данные и обходить любую настроенную двухфакторную аутентификацию.

3. Обход 2FA с помощью Brute-Force

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

Препятствием для хакеров является то, что одноразовые коды, генерируемые такими брелоками, действительны только в течение короткого времени (30/60 секунд). Таким образом, у злоумышленников есть ограниченное количество кодов, которые можно успеть перебрать, прежде чем они изменятся. А если двухфакторная аутентификация настроена корректно, то реализовать атаку такого типа будет в принципе невозможно — пользователя заблокирует после нескольких неверно введённых OTP-кодов.

4. Обход 2FA сгенерированными ранее токенами

Некоторые платформы позволяют пользователям заранее генерировать 2FA-коды. Например, в настройках безопасности Google-аккаунта можно скачать документ с определенным числом резервных кодов, которые можно использовать в будущем для обхода 2FA. Это нужно, как правило, на случай потери устройства, используемого для аутентификации. Но вот если подобный документ или хотя бы один из резервных кодов попадёт в руки злоумышленнику, он легко получит доступ к учётной записи, не взирая на настроенную двухфакторную аутентификацию.

5. Обход 2FA с помощью Cookie-файлов сеанса

Кража cookie-файлов, также известная как захват сеанса, позволяет злоумышленникам получить доступ к аккаунту, не зная вообще никаких паролей или 2FA-кодов.

Когда пользователи входят на сайт, им не нужно каждый раз вводить пароль, потому что браузер хранит специальный cookie-файл сессии. Он содержит информацию о пользователе, поддерживает его аутентификацию в системе и отслеживает активность сеанса. Cookie-файлы сеанса остаются в браузере до тех пор, пока пользователь не выйдет из системы вручную. Таким образом, злоумышленник может использовать cookie в своих интересах для доступа к аккаунту пользователя.

Киберпреступникам известно множество методов захвата аккаунта, таких как перехват и фиксация сеанса, межсайтовый скриптинг и использование вредоносных программ. Кроме того, злоумышленники часто используют фреймворк Evilginx для атак типа « человек посередине ». С помощью Evilginx хакер отправляет пользователю фишинговую ссылку, которая перенаправляет его на страницу входа настоящего легитимного сайта, но через специальный вредоносный прокси. Когда пользователь входит в свою учётную запись с помощью 2FA, Evilginx фиксирует его учётные данные для входа, а также код аутентификации.

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

6. Обход 2FA с SIM-jacking

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

Контроль над номером телефона пользователя означает, что хакер может перехватывать одноразовые коды, отправленные через 2FA по СМС. А так как это самый популярный способ двухфакторной аутентификации, злоумышленник может взломать один за одним все ключевые учётные записи жертвы и заполучить полный доступ над необходимыми данными.

Как можно сделать 2FA ещё безопаснее?

Несмотря на уязвимости, обнаруженные хакерами, двухфакторная аутентификация по-прежнему является рекомендуемым способом защиты учётных записей в Интернете. Вот несколько советов по эффективному использованию 2FA:

  • по возможности используйте приложения-аутентификаторы вместо простой аутентификации по СМС, так как приложения гораздо безопаснее, и одноразовый код нельзя подсмотреть без полного доступа к смартфону;
  • никогда и никому не сообщайте одноразовые или резервные коды безопасности;
  • используйте длинные коды безопасности, содержащие более шести символов (если сервис допускает такие настройки);
  • не используйте для защиты аккаунта простые пароли, лучше сгенерировать пароль в генераторе и использовать его в связке с менеджером паролей;
  • не используйте один и тот же пароль в критически важных учётных записях;
  • используйте физические ключи безопасности в качестве альтернативной формы аутентификации;
  • ознакомьтесь с популярными тактиками социальной инженерии, чтобы не стать жертвой обмана;
  • если речь идёт о компании с определённым штатом сотрудников, не лишним будет воспользоваться услугами частного консультанта по безопасности.

Заключение

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