Подробно рассматриваем достоинства и недостатки самого популярного способа защиты учётных записей в Интернете.
Передовые методы обеспечения безопасности учётных записей включают двухфакторную аутентификацию (2FA). Она используется повсеместно как для корпоративных, так и для личных аккаунтов пользователей по всему миру. В классическом понимании этот способ аутентификации подразумевает доставку на телефон или электронную почту специального кода, который необходимо ввести уже после ввода пароля от учётной записи. Однако существуют и другие формы 2FA, которые мы обсудим в этой статье.
Двухфакторная аутентификация обеспечивает дополнительный уровень защиты аккаунта от киберпреступников, но при большом желании злоумышленники всё равно найдут способ её обойти. Именно понимание того, каким образом хакеры обычно обходят 2FA, позволит не попасться на их возможные уловки и обезопасить свою учётную запись.
2FA — это второй уровень аутентификации, который используется в дополнении к классической комбинации имени и пароля пользователя при входе в учётную запись. Двухфакторная аутентификация может быть настроена на абсолютно разные способы подтверждения владения аккаунтом. Всё зависит от конкретных потребностей самой системы или пользовательских предпочтений.
Иногда для определённого аккаунта необходим наивысший уровень защиты. Тогда на помощь приходит так называемая «многофакторная аутентификация» (MFA), включающая несколько факторов проверки. Например, пароль + физический токен + биометрия. Такой способ защиты учётной записи гораздо надёжнее классической двухфакторной аутентификации.
Некоторые сервисы и приложения позволяют выбирать, какой тип проверки в дополнении к паролю использовать, а некоторые — нет. Рассмотрим же все возможные варианты 2FA.
Этот метод аутентификации требует, чтобы пользователь указал свой номер телефона при первой настройке профиля. Затем при каждом входе в систему (или первом для нового устройства), пользователь должен будет вводить одноразовый код подтверждения (One-Time Password, OTP), состоящий чаще всего из шести цифр. Такой код приходит в виде текстового сообщения на телефон.
Поскольку у большинства людей есть мобильные телефоны с поддержкой SMS, а дополнительных приложений устанавливать не требуется, этот метод проверки является сейчас, вероятно, самым популярным.
Проблемы с 2FA по СМС возникают только при потере сигнала сети или при наличии проблем с работоспособностью телефона.
Этот метод аутентификации подразумевает дозвон на телефон пользователя. При входе в какое-либо мобильное приложение самого факта звонка, как правило, уже достаточно для авторизации, и приложение автоматически подтверждает вход. Но в некоторых сервисах 2FA через телефонный звонок настроен таким образом, что на входящий вызов нужно обязательно ответить, прослушать шестизначный код, озвученный роботом, и затем указать его в форме.
2FA по электронной почте работает так же, как 2FA по СМС, но одноразовый код подтверждения приходит уже в виде электронного письма на почту пользователя. Одним из вариантов аутентификации по электронной почте является не ввод кода, а переход по уникальной ссылке, который и предоставляет доступ к учётной записи.
2FA по электронной почте требует обязательного подключения к Интернету для получения письма, хотя в современных реалиях можно и не считать это за недостаток. Однако, что точно не является достоинством данного метода, так это частое определение подобных писем как спама. Соответственно, на процесс авторизации из-за поиска письма может уходить больше времени.
К тому же, злоумышленникам элементарно взломать учётную запись с аутентификацией по электронной почте, если у них уже есть доступ к этой самой почте. Когда как аутентификация по СМС вынуждает злоумышленника находиться физически рядом с жертвой; украсть его телефон, чтобы подсмотреть код или прибегнуть к сложной атаке методом SIM-jacking.
Алгоритм временных одноразовых паролей (Time-based One-time Password Algorithm, TOTP) — это форма проверки, которая требует от пользователя установки на смартфон специального приложения, такого как Microsoft Authenticator, Google Authenticator, Яндекс Ключ и т.п.
Когда пользователь заходит в определённый онлайн-сервис с нового или неизвестного устройства, ему предлагается открыть приложение для проверки подлинности на своём мобильном телефоне. Приложение генерирует временный одноразовый код, длиной от шести до восьми цифр, который обновляется каждые 30 секунд. После ввода этого кода в соответствующую форму, пользователь получает доступ к аккаунту.
Одним из преимуществ приложений-аутентификаторов является то, что их легко внедрить и использовать. Пользователь сразу получает пароль для подтверждения, и ему не нужно ждать письма или СМС. Этот способ также надёжнее, чем 2FA по СМС, потому что код нельзя подсмотреть на экране блокировки или связанном по Bluetooth фитнес-браслете. Смартфон необходимо как минимум разблокировать, а может даже и ввести отдельный пароль для доступа к TOTP-приложению.
Если пользователь не настроил один PIN-код на все случаи жизни, то и взломать его при использовании TOTP-аутентификатора будет крайне непросто.
Данный метод использует для авторизации физические устройства. Это может быть, например, USB-флешка, вставленная в компьютер, NFC-карта или TOTP-брелок, который генерирует код для авторизации каждые 30/60 секунд.
Аппаратные ключи не требуют подключения к интернету. Это один из самых простых и безопасных методов 2FA. Однако выпуск и обслуживание подобных устройств для каждого пользователя может быть дорогостоящим для бизнеса. А если критически важно, чтобы пользователь носил такой ключ с собой, добавляется ещё и риск потерять его.
Несмотря на все достоинства двухфакторной аутентификации, каждый из вышеописанных методов имеет и свои уязвимости. Ниже опишем способы, как именно хакеры могут обойти двухфакторную аутентификацию.
Социальная инженерия — это нетехническая атака, с помощью которой злоумышленник обманом заставляет жертву неосознанно предоставить важную информацию о секретном коде. Уже имея на руках логин и пароль для входа, злоумышленник звонит или отправляет жертве сообщение с убедительным повествованием, призывая передать 2FA-код.
В других случаях злоумышленник уже обладает достаточной базовой информацией о жертве, чтобы позвонить от её имени в службу поддержки целевого сервиса. Преступник может выдать себя за пользователя и сказать, что его учётная запись заблокирована, или есть какие-то неполадки с приложением-аутентификатором. В случае успеха хакер как минимум получит одноразовый доступ к учётной записи жертвы, а если повезёт, то вообще сбросит и поменяет пользовательский пароль.
OAuth — это открытый протокол авторизации, предоставляющий приложениям и сервисам ограниченный доступ к данным пользователя без разглашения пароля. Например, для входа в приложение нужно дать разрешение на частичный доступ к учётной записи VK или Facebook. Таким образом выбранное приложение получает часть полномочий аккаунта, но не хранит в своих базах данные, связанные с паролей пользователя.
При так называемом «фишинге согласия» злоумышленник притворяется законным приложением с авторизацией OAuth и отправляет жертве сообщение с просьбой предоставить доступ. Если жертва даст такой доступ, злоумышленник сможет делать всё, что ему заблагорассудится, в пределах запрошенного доступа. Фишинг согласия позволяет злоумышленнику игнорировать учётные данные и обходить любую настроенную двухфакторную аутентификацию.
Иногда злоумышленники выбирают грубый метод «полного перебора», особенно если используется устаревшее или слабозащищённое оборудование. Например, некоторые старые TOTP-брелоки имеют длину кода всего в четыре цифры. Следовательно, их гораздо легче взломать.
Препятствием для хакеров является то, что одноразовые коды, генерируемые такими брелоками, действительны только в течение короткого времени (30/60 секунд). Таким образом, у злоумышленников есть ограниченное количество кодов, которые можно успеть перебрать, прежде чем они изменятся. А если двухфакторная аутентификация настроена корректно, то реализовать атаку такого типа будет в принципе невозможно — пользователя заблокирует после нескольких неверно введённых OTP-кодов.
Некоторые платформы позволяют пользователям заранее генерировать 2FA-коды. Например, в настройках безопасности Google-аккаунта можно скачать документ с определенным числом резервных кодов, которые можно использовать в будущем для обхода 2FA. Это нужно, как правило, на случай потери устройства, используемого для аутентификации. Но вот если подобный документ или хотя бы один из резервных кодов попадёт в руки злоумышленнику, он легко получит доступ к учётной записи, не взирая на настроенную двухфакторную аутентификацию.
Кража cookie-файлов, также известная как захват сеанса, позволяет злоумышленникам получить доступ к аккаунту, не зная вообще никаких паролей или 2FA-кодов.
Когда пользователи входят на сайт, им не нужно каждый раз вводить пароль, потому что браузер хранит специальный cookie-файл сессии. Он содержит информацию о пользователе, поддерживает его аутентификацию в системе и отслеживает активность сеанса. Cookie-файлы сеанса остаются в браузере до тех пор, пока пользователь не выйдет из системы вручную. Таким образом, злоумышленник может использовать cookie в своих интересах для доступа к аккаунту пользователя.
Киберпреступникам известно множество методов захвата аккаунта, таких как перехват и фиксация сеанса, межсайтовый скриптинг и использование вредоносных программ. Кроме того, злоумышленники часто используют фреймворк Evilginx для атак типа «человек посередине». С помощью Evilginx хакер отправляет пользователю фишинговую ссылку, которая перенаправляет его на страницу входа настоящего легитимного сайта, но через специальный вредоносный прокси. Когда пользователь входит в свою учётную запись с помощью 2FA, Evilginx фиксирует его учётные данные для входа, а также код аутентификации.
Поскольку срок действия одноразовых кодов ограничен, а один код нельзя использовать дважды, — хакерам гораздо проще воспользоваться именно методом захвата cookie для входа в систему и обхода двухфакторной аутентификации.
Атака SIM-jacking подразумевает получение злоумышленником полного контроля над телефонным номером жертвы. Преступники, например, могут заблаговременно получить ряд базовых данных о пользователе, а затем «прикинуться» этим самым пользователем в салоне оператора мобильной связи с целью выпуска новой SIM-карты. Также SIM-jacking возможен через вредоносные приложения, установленные на смартфон жертвы.
Контроль над номером телефона пользователя означает, что хакер может перехватывать одноразовые коды, отправленные через 2FA по СМС. А так как это самый популярный способ двухфакторной аутентификации, злоумышленник может взломать один за одним все ключевые учётные записи жертвы и заполучить полный доступ над необходимыми данными.
Несмотря на уязвимости, обнаруженные хакерами, двухфакторная аутентификация по-прежнему является рекомендуемым способом защиты учётных записей в Интернете. Вот несколько советов по эффективному использованию 2FA:
Несмотря на перечисленные в статье недостатки и методы обхода, двухфакторная аутентификация всё ещё остается одним из лучших способов защиты учётных записей. Достаточно следовать рекомендациям выше, чтобы не оставить злоумышленникам ни малейшего шанса на компрометацию аккаунта. Надеемся, что ваши учётные записи никогда не попадут в лапы мошенникам, а любые конфиденциальные данные останутся в полной безопасности.
Первое — находим постоянно, второе — ждем вас