Защита пользовательских аккаунтов — одна из важнейших задач современного IT. За 2022 год компании потеряли около 150 млн долларов на возмещении ущерба от утечек данных. О том, как построить надёжную систему киберзащиты и обезопасить профили своих клиентов от взлома, рассказывает Анастасия Иванова, технический писатель МТС Exolve (входит в экосистему МТС).
Что такое SMS-аутентификация без пароля
Это форма авторизации пользователей приложения без использования пароля. Проверка в этом случае проводится по телефонному номеру, на который высылается одноразовый код.
SMS-идентификация проводится на основании двух факторов:
фактор знания (наличие кода)
вещественный фактор (телефон с нужным номером)
Этот метод авторизации намного безопаснее однофакторного аналога (например, логин + пароль), поэтому его всё чаще выбирают крупные компании, к примеру Payme.
Внедрение беспарольной SMS-идентификации выгодно по двум причинам:
Удобство пользователей. В среднем один человек использует от 70 до 80 паролей — и каждый из них нужно записывать или постоянно держать в голове. Всё это занимает время и раздражает до 75% пользователей.
Поэтому большинство из них предпочли бы аутентификацию без ввода кода. Такая SMS-идентификация поможет управлять аккаунтом без задержек — это не только улучшит общий UX приложения (от регистрации до проведения оплат), но и повысит конверсию онлайн-сервиса до 200%.
Снижение затрат компании. Использование многоразовых кодов требует вложений: на содержание техотдела, контроль безопасности системы аутентификации, приобретение спецоборудования, софта и так далее. Согласно Forrester, такие расходы могут превысить 1 млн долларов.
Отказ от паролей поможет бизнесу сэкономить в долгосрочной перспективе и одновременно извлечь выгоду из других особенностей беспарольной аутентификации. Так, исследование Secret Double Octopus и Ponemon Institute показало, что бренды, которые перестали применять пароли, за два года сэкономили около 1,9 млн долларов.
Но основное преимущество беспарольной SMS-авторизации — это продвинутая киберзащита, которая намного лучше обходит хакерские ловушки.
В случае кибератаки можно сильно сократить затраты на исправление, судебные издержки и в целом ущерб для репутации. С помощью аутентификации без пароля можно снизить вероятность и влияние таких инцидентов.
Лучшая масштабируемость. Аутентификация без пароля более масштабируема, чем традиционная на основе пароля. Это связано с тем, что не нужно хранить учётные данные пользователей и управлять ими. По мере роста числа пользователей беспарольная аутентификация помогает контролировать расходы и упрощать весь процесс аутентификации.
Снижение затрат на привлечение и удержание клиентов. Пароли — общеизвестная причина оттока и ухода пользователей. В исследовании Baymard Institute более 18% пользователей Amazon и ASOS отказались от своей корзины из-за забытых паролей или неуклюжих процессов их сброса. Аутентификация без пароля повышает вероятность того, что пользователи вернутся в приложение: им не понадобится запоминать свой пароль.
Почему SMS-идентификация надёжнее простых паролей
По статистике, до 80% данных крадут из-за «слабых» кодов, а в 2 из 5 случаев — из-за повторяющихся паролей. «Нетология» выяснила, что 41% респондентов хотя бы раз подвергались взлому паролей.
Вместе с этим исследования LastPass от LogMeIn показали, что 59% пользователей дублируют свои пароли, притом что 91% юзеров понимают опасность таких действий.
Взломать многоразовый пароль несложно — обычно для этого используют:
Метод «грубой силы». Уже неоднократно писали, что миллионы пользователей защищают свои аккаунты комбинацией 123456. Кто-то просто вписывает названия продуктов. Такие пароли легко «ломаются» генератором случайных чисел и служат настоящим подарком для мошенников.
Вброс учётных записей. Тип кибератак, когда данные профиля (имя, пароль, email) используются для несанкционированного доступа к другим учётным записям одного и того же пользователя. Отсюда и опасность повторяющихся кодов.
Фишинг. Использование фейковых сообщений, ответы на которые раскрывают реквизиты аккаунта — например, письмо из банка о подтверждении номера карты.
Кейлоггинг. Установка на компьютер вредоносного ПО, отслеживающего порядок нажатия клавиш при вводе пароля.
Схема «Человек посередине». Более сложная форма взлома, которая перехватывает учётные данные через Wi-Fi, подмену HTTPS, отправку DNS и ARP-кеша.
SMS-авторизация сильно усложняет задачу мошенникам, поскольку ограниченный временем одноразовый код отследить практически невозможно. Единственный шанс добраться до SMS-идентификатора — взломать SMS API или украсть телефонный номер абонента (что намного сложнее стандартных хакерских уловок).
Как работает SMS-аутентификация без пароля
Чтобы пройти беспарольную авторизацию, человеку нужно:
Записать в предлагаемое поле свой номер телефона.
Получить текстовое сообщение с одноразовым паролем.
Ввести идентификатор в соответствующее приложение.
Если пользователь входит в систему впервые, под его номер создаётся новая учётная запись. Если телефон совпадает с уже существующим аккаунтом, человек проходит проверку и допускается в свой профиль.
Как внедрить SMS-аутентификацию без пароля
Шаг 1. Интегрируйте одноразовые пароли (OTP) в свою платформу. Для отправки нужен безопасный инструмент аутентификации. Например, SMS API от МТС Exolve.
Ниже — ещё ряд инструментов, которые вы можете изучить:
Вам, конечно, потребуются навыки разработки для интеграции механизма в вашу программу. И, возможно, стоит предусмотреть связку данных с CRM, будь это Битрикс24 или EnvyCRM, чтобы вы далее смогли работать с зарегистрированными пользователями.
Шаг 2. Настройте отправку одноразовых SMS-сообщений.
Как только ваш инструмент сгенерирует одноразовый пароль, вы сможете отправить SMS-сообщение на номер телефона клиента с помощью запроса SendSMS.
Просмотрите документацию по SMS API, чтобы точнее понять, как интегрировать SMS непосредственно в вашу платформу. Пример с 2FA мы уже описали в предыдущей статье, в ближайших материалах мы ещё покажем пример регистрации личного кабинета по SMS и использования SMS вместо пароля.
Шаг 3. Клиент входит в систему с помощью OTP.
Когда клиент получает свою SMS OTP, ему нужно только ввести его при входе в систему, чтобы подтвердить свою личность и получить доступ к своей учётной записи.
Почему не все компании перешли на беспарольные SMS
Несмотря на все преимущества, внедрение SMS-аутентификации — ответственный и трудоёмкий процесс, который требует:
Повышенный контроль безопасности. 100% защиты пользовательских данных не гарантирует ни одна из существующих систем — и беспарольная SMS-идентификация не исключение.
К примеру, если кибератаке подвергнется SMS API, под угрозой окажутся все телефонные номера пользователей, на которые мошенники смогут отправлять сообщения от имени приложения. Отчёт Solt за 2022 год показал, что у 95% компаний наблюдались проблемы с безопасностью API, а число кибератак за этот период выросло на 681%.
Кроме того, 40% опрашиваемых посчитали киберуязвимость главной проблемой API, хотя стратегия защиты от хакеров была только у 11% компаний.
Понимание строения API. Чтобы создать полноценный SMS API, необходимы сервисы для проектирования, разработки, размещения, тестирования и прочих операций с программным интерфейсом. Для управления этой инфраструктурой потребуется минимум один IT-специалист — и желательно штатный (чтобы своевременно реагировать на сбои программного интерфейса).
Кроме того, для обеспечения надёжной связи разработчикам нужно контактировать с мобильными операторами по всему миру, а это ставит перед выбором между повышенными затратами и ограниченным географическим охватом своего соединения.
Поскольку создание собственного API сопряжено с дополнительными затратами и рисками, многие компании используют CPaaS-платформы, например МТС Exolve. Такие сервисы уже имеют инструменты коммуникаций и опыт в API, поэтому могут помочь:
внедрить в приложение SMS-аутентификацию без пароля
настроить и обезопасить SMS-канал
интегрировать работающие решения в другие системы
Это помогает предприятиям избежать потенциальных проблем, связанных с обслуживанием и защитой аккаунтов своих пользователей.
Заключение
Таким образом, SMS-аутентификация без пароля — это не только высокоуровневая защита, но и способ оптимизировать опыт пользователей.
Переход на одноразовые пароли в несколько раз снижает риск утечки данных с аккаунтов приложения, поможет избежать лишних расходов и повысит общую конверсию онлайн-сервиса.
Комментарии (17)
Ndochp
31.08.2023 11:17+10Сижу в зоне отсутствия приема сотовой сети. Зато к дому дотянули оптику из ближайшего города (не дорого, разом весь СНТ окучили, так что с носа вышло норм, а абонентка от 500р)
Кроме "горите в аду" слов нет.
Rampages
31.08.2023 11:17+3Да, вот эти же слова крутятся) недавно еще умудрился аккаунт Authy потерять, так как он оказывается привязывается к телефону... короче потерял номер, а получить доступ к аутентификаторам без телефона невозможно в итоге тот же github 3 дня восстанавливал доступ... некоторые не смог восстановить или зависли на переписке с саппортом...
Revertis
31.08.2023 11:17+18О том, как построить надёжную систему киберзащиты и обезопасить профили своих клиентов от взлома
А то, что "перевыпуск" сим-карт стал способом взлома мессенджеров ещё лет 8 назад, это вы забыли? И то, что лидировал в этом МТС, тоже забыли?
alexxisr
31.08.2023 11:17+14а что за "фактор знания" в получении смс? там же только владеть телефоном/симкой надо
"знание" - это как раз пароль, который хранится в голове.
получается - идентификация через смс однофакторная, причем единственный фактор довольно ненадежный.
Rampages
31.08.2023 11:17+4С текущей геополитической ситуацией и перемещением между странами, получение SMS становится не самой простой задачей.
Пришлось перейти на аутентификаторы разные или вернуться к 2FA через почту, а некоторые аккаунты (такие как amazon и AWS утеряны безвозвратно! спасибо компаниям Amazon и Мегафон за клиентоориентированность!)
Если пользователь входит в систему впервые, под его номер создаётся новая учётная запись. Если телефон совпадает с уже существующим аккаунтом, человек проходит проверку и допускается в свой профиль.
Не самый лучший алгоритм, благодаря ему в том же мвидео у меня было 3 аккаунта, потому что я не мог запомнить какой из моих номеров прикреплен. То есть просто понять, создается ли новый аккаунт или используется старый невозможно... начинаешь прикреплять почту и тут выясняется что такой аккаунт уже есть с другим номером телефона...
2FA на основе почтовых сообщений предлагает тот же Cloudflare из коробки. Мне лично стало неудобно пользоваться SMS в условиях постоянных переездов и разъездов между разными странами и постоянно гадать придет ли SMS или не придет, будет ли тут работать роуминг или нет, а будет ли зарубежный сервис работать с российскими номерами, а будет ли турецкий номер работать в такой-то стране... лично я буду по максимуму уходить от SMS-аутентификации, может только для банковских транзакций оставлю, остальное даже не знаю...
Вот недавно кстати узнал что арендованный номер в Skype умеет получать SMS и внезапно аренда американского номера дешевле Российского...
savostin
31.08.2023 11:17+7С каких это пор отправка смс на каждый вход пользователя дешевле, чем один раз написаный сервис авторизации?
WondeRu
31.08.2023 11:17+15-10 р за смс) это самый лучший способ аутентификации для МТС)
zuek
31.08.2023 11:17+1Ну, справедливости ради, всё-таки 2-5 рублей за шаблонное сообщение, но всё равно - у нас в месяц выходит несколько сот тыров за рассылку уведомлений о статусе заказа, так что держать "Васяна", обслуживающего сервер авторизации (другие сервера ведь кто-то уже обслуживает?) - явно дешевле.
aborouhin
31.08.2023 11:17Статья - иллюстрация, как нормальный сервис можно скомпрометировать недобросовестным продвижением :) Рассказы, что это якобы повышает безопасность, что это у нас 2FA и т.п. - вызывают понятную реакцию.
А ведь сама по себе такая аутентификация имеет право на существование. Во-первых, если сервис не критичный (какой-нибудь онлайн-магазин - ну зачем его ломать? историю покупок посмотреть и бонусы на 100 рублей использовать? ну и потеряешь вход в аккаунт - так создашь новый, тоже не страшно) Во-вторых, если это не единственный способ, а одна из опций.
Пользователи Хабра, конечно, сразу проецируют на себя - и логично, что продвинутый пользователь такую опцию не выберет. Но так-то большинство рядовых обывателей ни про какие менеджеры паролей не слышали, электронная почта у них тоже не всегда под рукой (в тяжёлом случае они и пароль к ней забывают регулярно и заводят новую по несколько раз в год, когда она нужна для очередной регистрации где-то), - и им реально получить СМС проще всего. Так что пусть будет, если они осознанно выберут такой способ.
P.S. А вот за безальтернативную привязку к СМС (хоть вместо пароля, хоть вместе с ним) авторов такой схемы в аду ждёт бесконечное повторение одной и той же истории - они приезжают на другой конец света, там у них тут же подыхает СИМ-карта и они вынуждены разворачиваться и лететь обратно, чтобы её восстановить... и так до второго пришествия :)
Roland21
31.08.2023 11:17Интересно, почему есть так много сервисов одноразовых номеров для приема смс..
pyrk2142
31.08.2023 11:17+3SMS-идентификация проводится на основании двух факторов:
фактор знания (наличие кода)
вещественный фактор (телефон с нужным номером)
А при получении доступа к телефону СМС-код остается в тайне? И нужен ли доступ к телефону, если человек знает код? Это не выглядит как несколько факторов...
Но основное преимущество беспарольной SMS-авторизации — это продвинутая киберзащита, которая намного лучше обходит хакерские ловушки.
Не существует никаких "хакерских ловушек" и мифических "продвинутых киберзащит". Существуют конкретные технические проблемы, которые эксплуатируются злоумышленниками, и конкретные методы защиты. Тут нет магии и волшебных ловушек.
Использование многоразовых кодов требует вложений: на содержание техотдела, контроль безопасности системы аутентификации, приобретение спецоборудования, софта и так далее.
А СМС этого не требуют?
Если хотите построить безопасный сервис, то не читайте рекламные статьи на Хабре. А то следующая статья от другой компании будет рассказывать, как вы неправильно все сделали, что воспользовались не их инструментом.
salnicoff
31.08.2023 11:17+1SMS-идентификация проводится на основании двух факторов:
фактор знания (наличие кода)
вещественный фактор (телефон с нужным номером)Чтобы был фактор знания/наличия кода нужен этот самый код — то есть пароль, который знают обе стороны до начала операции.
Вещественный фактор в виде телефона — это не фактор, потому что вся переписка SMS'ками не является секретной. Ее видят все эти СОРМы и хранят по пол-года. Ну и генерировать SMS надо у себя на сайте, а не на каком-то левом сервере. Итог: в этой схеме нет ни одного фактора.
Batalmv
31.08.2023 11:17+1СМС стоит денег
Симку с некоторых контрактов увести не так уж и сложно
Вся безопасность строится на том, что смартфон клиента защищен на 146%
Сервис несложно затролить просто долбя логинами в три часа ночи, чтобы клиенты получили тонну СМС
Кстати, а чего сложного в реализации ОТП через СМС, или любой другой канал? Генерация? Дернуть API сервис провайдера для оправки сообщения?
У меня сложилось ощущение, что статья вообще не о том, а неудачная реклама сервиса
MrSmitix
31.08.2023 11:17+3Интересно услышать ответ МТС-а на вопрос: Раз вы считаете что авторизация по СМС такая классная, удобная, безопасная и по какой-то причине выгодная, почему бы не сделать её в своём же сервисе exolve? Логин и пароль по старинке. Как старомодно...
rlepricon
31.08.2023 11:17Думаю, для начала стоит разобраться с терминологией, а то судя по тексту идентификация и аутентификация - это одно и тоже и по тексту они взаимозаменяют друг друга. Но это разные понятия и за ними стоят разные процессы.
SanSYS
31.08.2023 11:17+1Ага, конечно...
Минусы СМС:
Должна быть сеть оператора (привет роуминг)
Захват симки или перехват СМС
Фишинговые сайты отлично нарисуют форму для ввода кода из СМС
Поди ещё дождись эту СМС
Что нужно:
Что-то, что работает в оффлайне
Основано на криптографии с открытым/закрытым ключом
И работает со множества устройств (т.е. факт потери одной симки не должен равняться потере доступа)
Не поддаётся фишинговой атаке
И работает так быстро, как быстро я могу приложить палец к телефону или компьютеру
Вот для этого и сделали FIDO2 WebAuthN, читайте тут https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API
Демо и код ищите тут https://webauthn.io/ или https://fido2-net-lib.passwordless.dev/passwordless#heroFoot
Некоторые сегодня вообще делают сие как замену паролю и второму фактуру, а если хотите по SCA по категориям оценить, то пасскей девайс = фактор владения, а пароль к нему = знание (или face id/touch id = биометрия)
А код из СМС это не фактор знания, только владение, ибо подтверждает лишь наличие у вас девайса, который СМС принимает. Знание оно чуть более константное (как пароль)
Так что эти СМС коды должны кануть в Лету, как страшный сон, а компании, которые через год или два СМС всё ещё будут навязывать – динозавры, клиентами коих быть нельзя
vesper-bot
В сочетании с этой новостью выглядит интригующе.