Энциклопедия мобильной связи

Двухфакторная аутентификация: методы и мифы. Как включить двухфакторную аутентификацию в Google

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

Для усиленной защиты своих онлайн-аккаунтов следует использовать второй фактор аутентификации. Многие интернет-сервисы, которые уже имели горький опыт взлома, ввели двухфакторную аутентификацию (2FA) для своих пользователей.

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

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

Все больше сервисов поддерживают специализированное приложение на смартфоне “Authenticator”. Пользователь предварительно должен настроить работу сервиса с этим приложением, использующим определенный набор кодов. Использовать приложение можно повсеместно, для его работы даже не требуется активное подключение к Интернету. Безусловным лидером среди таких приложений является Google Authenticator (распространяется бесплатно на Android и iOS). Authy и Duo Mobile предназначены для выполнения аналогичных задач и отличаются более привлекательным внешним видом. LastPass также запустил отдельный аутентификатор LastPass Authenticator для платформ iOS, Android, Windows 10 Mobile и Windows Phone 8.1. Коды безопасности в приложениях-аутентификаторах синхронизируются между учетными записями, поэтому вы можете просканировать QR-код на телефоне и получить шестизначный код доступа в браузере.

Обратите внимание, что настройка двухфакторной аутентификации (2FA) может нарушить работу других сервисов. Например, если вы настроили двухфакторную аутентификацию в Microsoft, то можете столкнуться с проблемами Xbox Live в Xbox 360. У интерфейса Xbox нет возможности принять второй код доступа. В этих случаях нужно применить пароль приложения - это пароль, который генерируется на основном веб-сайте для использования определенного приложения. Xbox Live с помощью паролей приложений поддерживает интеграцию Facebook, Twitter, Microsoft, Yahoo, Evernote и Tumblr. К счастью, потребность в паролях приложений.

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

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

Что собой являет двухфакторная защита?

Двухфакторная защиты - метод идентификации в каком-либо сервисе, при запросе двух разных типов аутентификации. Такая двухслойная защита обеспечит более безопасный вход в систему и затруднит перехват ваших данных третьими лицами. На практике это выглядит следующим образом: первый шаг, это логин и пароль; второй этап - специальный код, который приходит на Ваш мобильный или почту (реже используются специальные USB ключи или биометрические данные). Простыми словами: чтобы куда-то попасть, Вам нужно подтвердить факт того, что Вы совершаете санкционированный вход в систему. Знаете, как работает банк хранилище с индивидуальными сейфами, где один ключ у Вас, а другой в сотрудника банка? Так и здесь, один ключ у Вас в памяти, второй приходит на телефон или почту.

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

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

Где и в каких случая следует включить двухэтапную защиту?

Сколько логинов и паролей к различным аккаунтам и почтовым ящикам в открытом доступе? А сколько откровенных, личных фотографий известных личностей попали на общее обозрение? Даже такой простой пример показывает как ненадежен метод одного, постоянного пароля.

Если сервис, которым Вы пользуетесь, содержит важные, личные данные, и предлагает установить вам двухслойную степень защиты , то сделайте это не задумываясь. Впрочем, если это какой-то файлообменник или форум, то я вряд ли бы стал все усложнять. А вот на счет социальных сетей, интернет-банкинга, почтовых ящиков или служебных сервисов, то однозначно да. Может Вы замечали, что ведущие банки используют даже трехфакторную степень защиты? А именно: постоянный пароль, временный пароль (на сотовый), а так же звонок для подтверждения. Ведь такие учреждения больше всех несут убытки от незаконного проникновения в сервис.

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

Какие виды двухэтапной защиты существуют?

Как говорилось раньше, уважающие себя интернет-ресурсы и VPN-сети используют такие методы усиленной защиты, как код с помощью смс/звонок на мобильный, письма на почту, USB-ключи, смарт-карты, звонок. Но кроме них существуют еще и такие методы, как генератор кодов (брелок с кнопками и маленьким экраном), технология SecurID и другие специфические методы, которые используют преимущественно корпоративные секторы. Актуальны и более старые методы защиты, такие как TAN-пароли (Transaction Authentication Number — аутентификационный номер транзакции). Скорее всего вы имели дело с таким методом, когда пользуясь интернет-банкингом Вам выдали бумажку с заранее сформированными паролями (одноразовыми). К слову говоря, даже не самые прогрессивные банки используют двухфакторную защиту . Ведь для входа в сервис вы пользуетесь карточкой (первый ключ), и паролем, который у вас в голове (второй ключ).

Разберем еще более непривычные для нас способы аутентификации. Сканирование отпечатков пальцев, радужной оболочки глаз, есть даже такие, что ориентируются по "рисунку" сердцебиения. Хотя в обыденной жизни мы не сталкиваемся с такими методами, но все же они актуальны и необходимы в весьма серьезных учреждениях. Испытываются даже электромагнитные татуировки, которые по примеру радиочипов могут служить элементом двухфакторной защиты . Надеемся, что от идеи к воплощению пройдет не большой промежуток времени. Лично я бы не отказался от такого.

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

Двухфакторная аутентификация требует, чтобы пользователь имел два из трех типов идентификационных данных.

Вот эти типы:

  • Нечто, ему известное;
  • Нечто, у него имеющееся;
  • Нечто, ему присущее (биометрика).
Очевидно, что к первому пункту относятся различные пароли, пин-коды, секретные фразы и так далее, то есть что-то, что пользователь запоминает и вводит в систему при запросе.

Второй пункт – это токен , то есть компактное устройство, которое находится в собственности пользователя. Самые простые токены не требуют физического подключения к компьютеру – у них имеется дисплей, где отображается число, которое пользователь вводит в систему для осуществления входа – более сложные подключаются к компьютерам посредством USB и Bluetooth-интерфейсов.

Сегодня в качестве токенов могут выступать смартфоны, потому что они стали неотъемлемой частью нашей жизни. В этом случае так называемый одноразовый пароль генерируется или с помощью специального приложения (например Google Authenticator), или приходит по SMS – это максимально простой и дружественный к пользователю метод, который некоторые эксперты оценивают как менее надежный.

В ходе проведенного исследования, в котором приняли участие 219 человек разных полов, возрастов и профессий, стало известно, что более половины опрошенных используют двухфакторную SMS-аутентификацию в социальных сетях (54,48%) и при работе с финансами (69,42%).

Однако, когда дело касается рабочих вопросов, то здесь предпочтение отдается токенам (45,36%). Но вот что интересно, количество респондентов, пользующихся этими технологиями как добровольно, так и по приказу начальства (или вследствие других вынуждающих обстоятельств), примерно одинаково.

График популярности различных технологий по сферам деятельности

График заинтересованности респондентов в 2FA

Среди токенов можно выделить одноразовые пароли, синхронизированные по времени, и одноразовые пароли на основе математического алгоритма. Синхронизированные по времени одноразовые пароли постоянно и периодически меняются. Такие токены хранят в памяти количество секунд, прошедших с 1 января 1970 года, и отображают часть этого числа на дисплее.

Чтобы пользователь мог осуществить вход, между токеном клиента и сервером аутентификации должна существовать синхронизация. Главная проблема заключается в том, что со временем они способны рассинхронизироваться, однако некоторые системы, такие как SecurID компании RSA, дают возможность повторно синхронизировать токен с сервером путем ввода нескольких кодов доступа. Более того, многие из этих устройств не имеют сменных батарей, потому обладают ограниченным сроком службы.

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

Иногда 2FA реализуется с применением биометрических устройств и методов аутентификации (третий пункт). Это могут быть, например, сканеры лица, отпечатков пальцев или сетчатки глаза.

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

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

Насколько надежна двухфакторная аутентификация

Это хороший вопрос. 2FA не является непроницаемой для злоумышленников, однако она серьезно усложняет им жизнь. «Используя 2FA вы исключаете достаточно крупную категорию атак», – говорит Джим Фентон (Jim Fenton), директор по безопасности OneID. Чтобы взломать двухфакторную аутентификацию «плохим парням» придется украсть ваши отпечатки или получить доступ к cookie-файлам или кодам, сгенерированным токенами.

Последнего можно добиться, например, с помощью фишинговых атак или вредоносного программного обеспечения. Есть еще один необычный способ: доступ к аккаунту журналиста Wired Мэтта Хоннана (Matt Honnan) злоумышленники получили с помощью функции восстановления аккаунта.

Восстановление аккаунта выступает в качестве инструмента для обхода двухфакторной аутентификации. Фентон, после истории с Мэттом, лично создал аккаунт в Google, активировал 2FA и притворился, что «потерял» данные для входа. «Восстановление аккаунта заняло некоторое время, но через три дня я получил письмо, что 2FA была отключена», – отмечает Фентон. Однако и у этой проблемы есть решения. По крайней мере, над ними работают.

«Я считаю, что биометрия – это один из таких способов, – говорит технический директор Duo Security Джон Оберхайд (Jon Oberheide). – Если я потеряю свой телефон, то чтобы восстановить все аккаунты мне не хватит вечности. Если бы существовал хороший биотметрический метод, то он бы стал надежным и полезным механизмом восстановления». По сути, Джон предлагает использовать одну форму 2FA для аутентификации, а другую – для восстановления.

Где применяется 2FA

Вот несколько основных сервисов и социальных сетей, которые предлагают эту функцию – это Facebook, Gmail, Twitter, LinkedIn, Steam. Их разработчики предлагают на выбор: SMS-аутентификацию, список одноразовых паролей, Google Authenticator и др. Недавно 2FA ввел Instagram, чтобы защитить все ваши фотографии.

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

По большей части отношение к этому зависит от терпеливости пользователя и желания повысить безопасность аккаунта. Фентон высказал следующую мысль: «2FA – это хорошая штука, но она способна усложнить жизнь пользователям. Потому имеет смысл вводить её только для тех случаев, когда вход осуществляется с неизвестного устройства».

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

Что ждет 2FA

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

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

P.S. Кстати, совсем недавно мы внедрили двухфакторную аутентификацию, чтобы повысить безопасность личного кабинета 1cloud . После активации данного метода для входа в панель управления пользователю нужно не только ввести адрес электронной почты и пароль, но и уникальный код, полученный по SMS.

Это утверждение имеет смысл и относится, прежде всего, к компаниям финансового сектора, как, впрочем, и ряду компаний, выполняющих научно-исследовательские, опытно-конструкторские и технологические работы (НИОКР) в высокотехнологичных секторах рынка.

Применяя данный тип 2FA пользователь вводит на первом уровне аутентификации персональный пароль. На следующем этапе он должен ввести маркер ОТР, обычно отправляемый с помощью SMS на его мобильное устройство. Идея способа понятна. ОТР будет доступен только тому, кто, как предполагается в теории, ввел недоступный постороннему пароль.

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

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

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

Требования Федеральной службы по техническому и экспортному контролю по многофакторной аутентификации

В начале 2014 года Федеральная служба по техническому и экспортному контролю (ФСТЭК) утвердила методический документ о мерах защиты информации в государственных информационных системах. Документ прояснил многие аспекты, касающихся организационных и технических мер защиты информации, принимаемых в государственных информационных системах, в соответствии с утверждённым приказом ФСТЭК России от 11 февраля 2013 г. No17.

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

Примеры двухфакторной и многофакторной аутентификации

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

А вот пример, реализуемый с применением биометрических устройств и методов аутентификации: использование сканера отпечатка пальца, который имеется в ряде моделей ноутбуков. При входе в систему пользователь должен пройти процедуру сканирования пальца, а затем подтвердить свои полномочия паролем. Успешно завершенная аутентификация даст ему право на использование локальных данных конкретного ПК. Тем не менее, регламентом работы в ИС может быть предусмотрена отдельная процедура аутентификации для доступа к сетевым ресурсам компании, которая помимо ввода другого пароля может включать в себя целый ряд требований к представлению аутентификаторов субъекта. Но даже при такой реализации, защищенность системы, несомненно, усиливается.

Аналогичным образом могут быть использованы и другие биометрические аутентификаторы :

  • отпечатки пальцев;
  • геометрия кисти руки;
  • очертания и размеры лица;
  • характеристики голоса;
  • узор радужной оболочки и сетчатки глаз;
  • рисунок вен пальцев.

При этом конечно применяется соответствующее оборудование и программное обеспечение, а затраты на его приобретение и поддержку могут отличаться в разы.

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

Эти технологии в большей степени годятся для использования в корпоративных сетях.

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

Помимо технологий, связанных с использованием биометрических аутентификаторов, имеются также программно-аппаратные решения, такие как автономные ключи для генерации одноразовых паролей, считыватели RFID -меток, криптокалькуляторы, программные и аппаратные жетоны (токены), электронные ключи различных типов – Touch Memory и ключ/смарт-карта, а также биометрические идентификационные карты. Все перечисленные в рамках статьи системы и методы многофакторной аутентификации, а помимо них еще и системы контроля и управления доступом (СКУД) могут интегрироваться, комбинироваться, отрабатываться поочерёдно и в комплексе. Отсюда можно сделать вывод: на рынке России существует достаточное количество предложений для усиления защиты информационных систем, как от внутренних, так и внешних вторжений. У компаний имеется возможность выбора, ограничиваемая лишь размером бюджета.

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

При этом, частные компании и организации в мире, в целом, не очень охотно распространяются о внедрении у себя технологических новинок в сфере безопасности и защиты информации , по вполне понятным причинам. Гораздо больше известно о проектах в государственном секторе – с 2006 года публично известны успешно реализованные технологические решения в государственных учреждениях Канады, Саудовской Аравии, Испании , Дании и ряда других стран.

2019: Иск против Apple за «незаконное» включение двухфакторной аутентификации

11 февраля 2019 года стало известно, что житель Калифорнии Джей Бродски (Jay Brodsky) подал в суд на компанию Apple за «незаконное» включение двухфакторной аутентификации . Бродски жалуется на то, что двухфакторная аутентификация существенно усложняет жизнь пользователям, поскольку от них требуется не только помнить пароль, но еще и иметь доступ к доверенному телефону или телефонному номеру. Подробнее .

2017: Google отказывается от SMS при двухфакторной авторизации

В документе содержится прямое указание на то, что использование SMS -сообщений для двухфакторной аутентификации может являться «недопустимым» и «небезопасным» (секция документа 5.1.3.2).

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

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

Хотя документ рекомендует производителям использовать в своих приложениях токены и криптографические идентификаторы, авторы поправок также отмечают, что смартфон или другое мобильное устройство всегда могут быть украдены, или могут временно находиться в руках другого человека" - говорится в документе NIST.

Механизмов компрометации SMS паролей существует достаточно много, и они уже были неоднократно использованы в основном для похищения денежных средств клиентов российских банков. Достаточно перечислить лишь несколько методов взлома SMS паролей:

  • Замена SIM карты с использованием поддельных документов
  • Использование уязвимостей в протоколе OSS-7
  • Переадресация вызовов у оператора мобильной связи
  • Ложные базовые станции
  • Специализированные троянские программы для смартфонов , перехватывающие SMS пароли

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

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

Одноразовые пароли через SMS

  • задержки в доставке
  • возможность перехвата на уровне канала связи или ввода в систему
  • возможность перехвата на уровне оператора мобильной связи
  • возможность переоформления сим-карты клиента на мошенника по поддельной доверенности (и перехвата SMS)
  • возможность направления клиенту SMS-сообщений с подменного номера
  • рост операционных затрат пропорционально клиентской базе

Одноразовые пароли через PUSH

  • негарантированная доставка
  • прямой запрет Apple /Google /Microsoft на использование для передачи конфиденциальной информации
  • предназначение – только информирование

Исследователи продемонстрировали простую атаку для обхода двухфакторной аутентификации

Ученые из Амстердамского свободного университета Радхеш Кришнан Конот (Radhesh Krishnan Konoth), Виктор ван дер Вен (Victor van der Veen) и Герберт Бос (Herbert Bos) продемонстрировали практическую атаку на двухфакторную аутентификацию с использованием мобильного устройства. Исследователи продемонстрировали атаку «Человек в браузере» (Man-in-the-Browser) против смартфонов на базе Android и iOS .

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

Исследователи продемонстрировали атаку с использованием установки уязвимого приложения через Google Play . Им удалось успешно обойти проверку Google Bouncer и активировать приложение для перехвата одноразовых паролей.

Для атаки на iOS исследователи использовали новую возможность OS X под названием Continuity, позволяющую синхронизировать SMS -сообщения между iPhone и Mac. Если этот функционал активирован, злоумышленнику достаточно иметь доступ к компьютеру, чтобы прочитать все SMS сообщения.

Согласно исследователям, приложение для хищения одноразовых паролей было добавлено в Google Play 8 июля 2015 года и оставалось доступно для пользователей в течение двух месяцев, до выхода видео с демонстрацией атаки.

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

Каждый раз при вводе пин-кода (или при срабатывании Touch ID) в приложении генерируется уникальный одноразовый код, который действует 30 секунд. При этом часть кода генерируется из пин-кода, который знают только пользователь и «Яндекс», и часть - из данных приложения. В одноразовом коде зашифрованы оба «секрета». «Таким образом, исключается вариант, когда один из факторов был скомпрометирован и злоумышленник подбирает данные второго фактора», - добавили в «Яндексе».

Если считать QR-код не получается, например, не работает камера смартфона или нет доступа к интернету приложение «Яндекс.Ключ» создаст одноразовый пароль из символов. Он также будет действовать в течение только 30 секунд.

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

Сервер аутентификации объединит процессы проверки

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

В компании может быть несколько различных информационных систем, источников ресурсов, требующих аутентификации:

  • корпоративный портал,
  • электронная почта,
  • CRM -система,
  • удаленный VPN -доступ,

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

Разрешить вопросы и помочь в решении стоящих задач может сервер аутентификации - единый центр администрирования всех процессов проверки подлинности сразу для всех приложений/сервисов/ресурсов. Промышленные серверы такого типа поддерживают целый набор методов аутентификации. Как правило, это OATH HOTP, TOTP, OCRA, PKI-сертификаты, RADIUS, LDAP , обычный пароль, SMS , CAP/DPA и другие. Каждый ресурс, использующий сервер аутентификации, может использовать метод, который требуется именно ему.

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

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

В качестве примера: банк А проверял подлинность владельцев дебетовых или кредитных карт в клиент-банке по сертификатам на USB -токенах. Его платежные карты были исключительно с магнитной полосой, но в какой-то момент банк наладил выпуск карт с EMV-чипом, который, по сути, является микрокомпьютером. Карту с EMV-чипом можно использовать для аутентификации по алгоритму Master Card Chip Authentication Program (CAP). То есть теперь банк А может отказаться от применения для каждого пользователя дорогостоящих PKI-токенов и сменить этот метод аутентификации на CAP, для которого требуется только недорогой криптокалькулятор. Через некоторое время банк А начинает выпуск платежных карт с дисплеем и реализованным алгоритмом OATH TOTP и для того, чтобы избавить пользователя от использования дополнительного криптокалькулятора, настраивает аутентификацию TOTP для клиент-банка. Следует понимать, что помимо дистанционного банковского обслуживания в банке А есть множество других сервисов, как внутренних, так и предназначенных для клиентов или партнеров, требующих аутентификации. Для каждого приложения служба информационной безопасности может выдвинуть свои требования по необходимым методам проверки подлинности пользователей. Вся аутентификация банка А может производиться на сервере аутентификации. Нет никакой необходимости заниматься разработками для каждого приложения отдельно.

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

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

Windows , OS X, Linux и Chrome OS. Для работы с USB-ключом необходимо использовать браузер Google Chrome версии 38 и выше.

Использование USB-ключей полностью бесплатно, однако пользователи должны приобретать их за свой счет. Ключи отличаются дизайном. Самая дорогая модель за $60 оснащена технологией Java Card.

Двухфакторную аутентификацию с отсылкой SMS -сообщения с кодом подтверждения Google запустила в 2011 г. В январе 2013 г. корпорация сообщила, что планирует разработать и предложить физические средства подтверждения личности. В частности, именно тогда речь зашла о доступе к сервисам Google с помощью USB-ключей.

2013: Двухфакторная аутентификация мобильных транзакций

Лишь 34% опрошенных уверены, что сотрудники в состоянии сделать все необходимое для защиты компании от компьютерных угроз.

Редкий пост в блоге Яндекса, а особенно касающийся безопасности, обходился без упоминания двухфакторной аутентификации. Мы долго думали, как правильно усилить защиту пользовательских аккаунтов, да еще так, чтобы этим мог пользоваться без всех тех неудобств, которые включают в себя самые распространённые ныне реализации. А они, увы, неудобны. По некоторым данным, на многих крупных сайтах доля пользователей, включивших дополнительные средства аутентификации, не превышает 0,1%.

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

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

После включения двухфакторной аутентификации в Паспорте вам надо будет установить приложение Яндекс.Ключ в App Store или Google Play . В форме авторизации на главной странице Яндекса, в Почте и Паспорте появились QR-коды. Для входа в учётную запись необходимо считать QR-код через приложение - и всё. Если считать QR-код не получается, например не работает камера смартфона или нет доступа к интернету, приложение создаст одноразовый пароль, который будет действовать всего 30 секунд.

Расскажу о том, почему мы решили не использовать такие «стандартные» механизмы, как RFC 6238 или RFC 4226 . Как работают распространенные схемы двухфакторной аутентификации? Они двухэтапные. Первый этап ─ обычная аутентификация логином и паролем. Если он прошел успешно, сайт проверяет, «нравится» ему эта пользовательская сессия или нет. И, если «не нравится», просит пользователя «доаутентифицироваться». Распространенных методов «доаутентификации» два: отсылка SMS на привязанный к аккаунту номер телефона и генерация второго пароля на смартфоне. В основном для генерации второго пароля используется TOTP по RFC 6238. Если пользователь ввел второй пароль верно, сессия считается полностью аутентифицированной, а если нет, то сессия теряет и «предварительную» аутентификацию.

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

Что показалось нам проблемным в этой схеме?

Начнем с того, что компьютер среднестатистического пользователя не всегда можно назвать образцом защищенности: тут и выключение обновлений Windows, и пиратская копия антивируса без современных сигнатур, и ПО сомнительного происхождения ─ все это не повышает уровень защиты. По нашей оценке, компрометация компьютера пользователя ─ самый массовый способ «угона» учетных записей (и недавно тому было еще одно подтверждение), от нее в первую очередь и хочется защититься. В случае двухэтапной аутентификации, если считать, что компьютер пользователя скомпрометирован, ввод пароля на нем компрометирует сам пароль, являющийся первым фактором. Значит, злоумышленнику необходимо лишь подобрать второй фактор. В случае распространенных реализаций RFC 6238 второй фактор ─ это 6 десятичных цифр (а максимум, предусмотренный спецификацией, ─ 8 цифр). Согласно калькулятору bruteforce для OTP , за три дня атакующий в состоянии подобрать второй фактор, если ему каким-либо образом стал известен первый. Нет ясности, что сервис может противопоставить этой атаке, не нарушая нормальную работу пользователя. Единственный возможный proof of work ─ капча, что, на наш взгляд, является последним средством.

Вторая проблема ─ непрозрачность суждения сервиса о качестве пользовательской сессии и принятия решения о необходимости «доаутентификации». Хуже того, сервис не заинтересован в том, что бы сделать этот процесс прозрачным, ─ ведь тут фактически работает security by obscurity. Если злоумышленник знает, на основании чего сервис принимает решение о легитимности сессии, он может попытаться подделать эти данные. Из общих соображений можно заключить, что суждение делается на основе истории аутентификаций пользователя с учетом IP-адреса (и производных от него номера автономной системы, идентифицирующей провайдера, и местоположения на основе геобазы) и данных браузера, например заголовка User Agent и набора cookies, flash lso и html local storage. Это означает, что если злоумышленник контролирует компьютер пользователя, то он имеет возможность не только украсть все необходимые данные, но и воспользоваться IP-адресом жертвы. Более того, если решение принимается на основе ASN, то любая аутентификация из публичного Wi-Fi в кофейне может привести к «отравлению» с точки зрения безопасности (и обелению с точки зрения сервиса) провайдера этой кофейни и, например, обелению всех кофеен в городе. Мы рассказывали о работе системы обнаружения аномалий , и ее можно было бы применить, но времени между первым и вторым этапом аутентификации может оказаться недостаточно для уверенного суждения об аномалии. Кроме того, этот же аргумент разрушает идею «доверенных» компьютеров: злоумышленник может украсть любую информацию, влияющую на суждение о доверенности.

Наконец, двухэтапная аутентификация попросту неудобна: наши usability-исследования показывают, что ничто так не раздражает пользователей, как промежуточный экран, дополнительные нажатия на кнопки и прочие «неважные», с его точки зрения, действия.
Исходя из этого, мы решили, что аутентификация должна быть одноэтапной и пространство паролей должно быть намного больше, чем возможно сделать в рамках «чистого» RFC 6238.
При этом нам хотелось по возможности сохранить двухфакторность аутентификации.

Многофакторность в аутентификации определяется отнесением элементов аутентификации (собственно, они и называются факторами) к одной из трех категорий:

  1. Факторы знания (это традиционные пароли, пин-коды и все, что на них похоже);
  2. Факторы владения (в используемых OTP-схемах, как правило, это смартфон, но может быть и аппаратный токен);
  3. Биометрические факторы (отпечаток пальца ─ самый распространенный сейчас, хотя кто-то вспомнит эпизод с героем Уэсли Снайпса в фильме Demolition Man).

Разработка нашей системы

Когда мы начали заниматься проблемой двухфакторной аутентификации (первые страницы корпоративной вики по этому вопросу относятся к 2012 году, но кулуарно он обсуждался и раньше), первой идеей было взять стандартные способы аутентификации и применить их у нас. Мы понимали, что нельзя рассчитывать на то, что миллионы наших пользователей купят аппаратный токен, поэтому этот вариант отложили на какие-то экзотичные случаи (хотя полностью мы от него не отказываемся, возможно, нам удастся придумать что-то интересное). Способ с SMS тоже не мог быть массовым: это очень ненадежный способ доставки (в самый ответственный момент SMS может задержаться или не дойти вовсе), а рассылка SMS стоит денег (и операторы начали увеличивать их цену). Мы решили, что использование SMS ─ удел банков и прочих нетехнологичных компаний, а нашим пользователям хочется предложить что-то более удобное. В общем, выбор был невелик: использовать смартфон и программу в нем в качестве второго фактора.

Широко распространена такая форма одноэтапной аутентификации: пользователь помнит пин-код (первый фактор), имеет на руках аппаратный или программный (в смартфоне) токен, генерирующий OTP (второй фактор). В поле ввода пароля он вводит пин-код и текущее значение OTP.

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

Мы решили пойти другим путем: пароль целиком генерируется из секрета, но в смартфоне сохраняется только часть секрета, а часть вводится пользователем при каждой генерации пароля. Таким образом смартфон сам по себе является фактором владения, а пароль остается в голове пользователя и является фактором знания.

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

Итак, у нас есть программа для смартфона, куда пользователь вводит свою часть секрета, та смешивается с хранимой частью, результат используется в качестве ключа HMAC , которым подписывается текущее время, округленное до 30 секунд. Выход HMAC приводится к читаемому виду, и вуаля ─ вот и одноразовый пароль!

Как уже было сказано, RFC 4226 предполагает усечение результата работы HMAC до максимум 8 десятичных цифр. Мы решили, что пароль такого размера непригоден для одноэтапной аутентификации и должен быть увеличен. При этом нам хотелось сохранить простоту использования (ведь, напомним, хочется сделать такую систему, которой будут пользоваться обычные люди, а не только security-гики), так что в качестве компромисса в текущей версии системы мы выбрали усечение до 8 символов латинского алфавита. Кажется, что 26^8 паролей, действующих в течение 30 секунд, вполне приемлемо, но если security margin нас не будет устраивать (или на Хабре появятся ценные советы, как улучшить эту схему), расширим, например, до 10 символов.

Подробнее о стойкости таких паролей

В самом деле, для латинских букв без учета регистра число вариантов на один знак равно 26, для больших и малых латинских букв плюс цифры, число вариантов равно 26+26+10=62. Тогда log 62 (26 10) ≈ 7,9 то есть пароль из 10 случайных малых латинских букв почти такой же стойкий, как пароль из 8 случайных больших и малых латинских букв или цифр. Этого точно хватит на 30 секунд. Если говорить о 8-символьном пароле из латинских букв, то его стойкость log 62 (26 8) ≈ 6,3 , то есть немного больше 6-символьного пароля из больших, малых букв и цифр. Мы считаем, что это все еще приемлемо для окна в 30 секунд.

Магия, беспарольность, приложения и дальнейшие шаги

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

Поэтому мы начали работы над «магическим логином». С таким способом аутентификации пользователь запускает приложение на смартфоне, вводит в него свой пин-код и сканирует QR-код на экране своего компьютера. Если пин-код введен правильно, страница в браузере перезагружается и пользователь оказывается аутентифицирован. Магия!

Как это устроено?

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

Стало лучше, но и тут мы решили не останавливаться. Начиная с iPhone 5S в телефонах и планшетах Apple появился сканер отпечатков пальцев TouchID, а в iOS версии 8 работа с ним доступна и сторонним приложениям. На деле приложение не получает доступ к отпечатку пальца, но если отпечаток верен, то приложению становится доступен дополнительный раздел Keychain. Этим мы и воспользовались. В защищенную TouchID запись Keychain помещается вторая часть секрета, та, которую в предыдущем сценарии пользователь вводил с клавиатуры. При разблокировке Keychain две части секрета смешиваются, и дальше процесс работает так, как описано выше.

Зато пользователю стало невероятно удобно: он открывает приложение, прикладывает палец, сканирует QR-код на экране и оказывается аутентифицированным в браузере на компьютере! Так мы заменили фактор знания на биометрический и, с точки зрения пользователя, совсем отказались от паролей. Мы уверены, что обычным людям такая схема покажется куда более удобной, чем ручной ввод двух паролей.

Можно подискутировать, насколько формально двухфакторной является такая аутентификация, но на деле для успешного ее прохождения все еще необходимо иметь телефон и обладать правильным отпечатком пальца, так что мы считаем, что нам вполне удалось отказаться от фактора знания, заменив его биометрией. Мы понимаем, что полагаемся на безопасность ARM TrustZone , лежащей в основе iOS Secure Enclave , и считаем, что на настоящий момент эту подсистему можно считать доверенной в рамках нашей модели угроз. Разумеется, нам известны проблемы биометрической аутентификации: отпечаток пальца ─ не пароль и заменить его в случае компрометации нельзя. Но, с другой стороны, всем известно, что безопасность обратно пропорциональна удобству, и пользователь сам вправе выбрать приемлемое для него соотношение одного и другого.

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

Вот что у нас получилось. Кажется, вышло неплохо, но судить вам. Мы будем рады услышать отзывы и рекомендации, а сами продолжим работу над улучшением безопасности наших сервисов: теперь вместе с CSP , шифрованием транспорта почты и всего остального у нас появилась и двухфакторная аутентификация . Не забывайте, что сервисы аутентификации и приложения генерации OTP относятся к критичным и поэтому за обнаруженные в них ошибки в рамках программы Bug Bounty выплачивается двойная премия.

Теги: Добавить метки



Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!