На протяжении многих лет главным способом идентификации пользователя являлся ввод логина и пароля. Если данные или хеши совпали с эталонными, доступ к информации предоставляется, в противном случае можно позволить пользователю ввести логин и пароль повторно. Все чаще используется аутентификация со вторым шагом — введением кода из SMS. Но этот метод аутентификации не всегда безопасен. Почему?

Почему одного шага недостаточно?

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

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

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

SMS под угрозой

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

Но главное — протокол сигнальной системы SS7, который используется для передачи сообщений в мобильных сетях, имеет серьезные уязвимости. Еще в 2014 году была опубликована схема, иллюстрирующая перехват SMS в сотовых сетях. Атака основана на регистрации жертвы в зоне действия поддельного центра мобильной коммутации. Идентификационный номер абонента злоумышленник может получить специально подготовленным запросом: выполнить его как раз и позволяет уязвимость в SS7. Как только жертва регистрируется в сети поддельного оператора, он перестает получать звонки и сообщения. Данные при этом поступают злоумышленникам, подготовившим атаку. Способ атаки, конечно, непростой, но уже известно, что им пользовались и хакеры, и спецслужбы разных стран мира, перехватывая SMS-коды от Gmail, Telegram, Facebook, банков.

В 2016 году Национальный институт стандартов и технологий США официально признал аутентификацию с помощью SMS небезопасной. Специалисты указали, что в будущих версиях руководств по цифровой аутентификации этот способ не будет включаться в число рекомендуемых.

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

Что использовать вместо SMS?

На данный момент существует несколько альтернатив, которые можно использовать вместо SMS-кодов. Самый простой — одноразовые коды, наподобие тех, которые умеют формировать банкоматы для входа в интернет-банк. Эти коды можно хранить в менеджерах паролей наподобие KeePass. Главное — чтобы коды не потерялись или не были украдены.

Также можно использовать приложения-аутентификаторы, такие как Google Authenticator, Яндекс.Ключ или FreeOTP. После установки приложения на смартфон надо войти в настройки аутентификации в нужном вам сервисе. Выбираем аутентификацию с помощью приложения — сервис должен показать нам QR-код, который сканируется установленным приложением. После успешного сканирования кода вы сможете войти в свой аккаунт. Чтобы данный способ сработал, необходимо, чтобы время на вашем устройстве и на сервере, где расположен нужный сайт, отличалось не более чем на 30 секунд.

Еще один альтернативный вариант аутентификации — это USB-ключ с записанным на нем цифровым сертификатом. Этот способ достаточно безопасен: для получения доступа к данным необходимо не только знать пароль (обычно сложный), но и владеть ключом. Хотя брелок с записанным ключом, увы, можно потерять или устройство может сломаться.

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

К сожалению, аутентификацию по отпечатку пальца тоже нельзя назвать панацеей: многие сканеры отпечатков можно обмануть с помощью тонкого накладного отпечатка, выполненного из токопроводящего материала. Да и обладателя настоящего отпечатка можно напоить или «угостить» снотворным и получить доступ к его данным (увы, и подобные преступления не так уж редки).

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