- Аутентификация через СМС
- Одноразовые коды TOTP
- Насколько безопасна аутентификация TOTP?
- Аутентификация с помощью телефона — Google Prompt
- Распечатка одноразовых кодов
- Google Security Key
- Пароли приложений
- Как злоумышлении взламывают двухфакторную аутентификацию
- Как защититься от взлома используя двухфакторную аутентификацию
Google защищает учетные записи пользователя с помощью двухфакторной аутентификации уже очень давно. Пользователям доступно множество способов получения одноразовых паролей и других методов подтверждения аутентичности запроса на вход в учетную запись.
Если вы используете мессенджер WhatsApp, то вам будет интересна статья «Двухфакторная аутентификация WhatsApp», в которой вы узнаете как улучшить защиту популярного мессенджера.
Аутентификация через СМС
Одноразовые коды могут быть высланы в СМС или звонком на верифицированный номер. В целом система работает так же, как у Apple, за одним исключением: Google не заставляет пользователей в обязательном порядке добавлять номер телефона, чтобы активировать двухфакторную аутентификацию.
Кроме того, push-уведомления на доверенные устройства приходят пользователям только в том случае, если в явном виде настроен вариант аутентификации с помощью телефона (Google Prompt, о нем ниже).
Одноразовые коды TOTP
Мы уже рассмотрели систему на основе time-based one-time passwords (TOTP) на примере Apple. В отличие от Apple, в Google придерживаются политики максимальной открытости. Компания использует совершенно стандартную реализацию протокола, позволяющую инициализировать приложения-аутентификаторы как разработки самой Google (приложение Google Authenticator, так и сторонние (например, Microsoft Authenticator). Благодаря этому двухфакторная аутентификация становится доступна пользователям практически всех
платформ.
Для инициализации приложения-аутентификатора Google использует QR-код, который нужно сканировать с помощью нового устройства. В отличие от Apple, здесь используется единственный разделяемый секрет: с помощью одного и того же QR-кода можно активировать любое количество приложений-аутентификаторов.
С одной стороны, это удобно: можно сохранить QR-код в виде изображения (достаточно сделать скриншот экрана), после чего использовать его для инициализации приложений-аутентификаторов на новых устройствах. С другой — отозвать доверенный статус с конкретного устройства не представляется возможным. Отозвать можно только все сразу в процессе генерации нового QR-кода.
Насколько безопасна аутентификация TOTP?
Алгоритм TOTP — стандарт в индустрии. Существует множество приложений-аутентификаторов, использующих этот алгоритм. А вот реализация TOTP для Android (а точнее — особенности самой системы Android) открывает потенциальные уязвимости, которых нет на других платформах:
- если на устройстве есть root, извлечь секрет из приложения Authenticator — дело нескольких минут;
- если загрузчик устройства разблокирован (в частности, практически все устройства на основе наборов системной логики MediaTek поставляются с незаблокированными загрузчиками), извлечь данные из устройства — дело нескольких минут (если не активировано шифрование).
Аутентификация с помощью телефона — Google Prompt
Google Prompt (в компании так и не смогли адекватно перевести название на русский язык, ограничившись термином «аутентификация с помощью телефона») — способ проверки в виде интерактивного уведомления, которое доставляется на доверенные устройства. В отличие от push-уведомлений Apple, здесь нет никаких кодов: пользователю просто предлагают подтвердить или отклонить попытку входа в учетную запись.
Пожалуй, этот вид двухфакторной аутентификации наиболее удобен для обычного пользователя. Отреагировать на запрос гораздо проще, чем генерировать и сканировать QR-код, открывать приложение-аутентификатор, вводить шестизначный код. Разумеется, работает эта схема только в том случае, если у доверенного устройства есть связь с сервером Google. Если это не так, то всегда можно воспользоваться любым другим способом аутентификации — например, ввести код из приложения-аутентификатора.
Еще раз отметим важные различия между Google Prompt и push-уведомлениями в двухфакторной аутентификации Apple. Если Apple шлет на доверенное устройство шестизначный код, который потребуется ввести на втором шаге аутентификации, то Google отправляет простой запрос «да — нет», который достаточно просто подтвердить на доверенном
устройстве.
Другое важное отличие в методе доставки уведомлений: если Apple полностью контролирует экосистему и может использовать встроенные в ОС механизмы для доставки сообщений, то в случае с Android мы имеем разнообразие версий и вариаций системы. Если учесть скорость обновлений Android у подавляющего числа производителей, у недавно разработанной системы аутентификации Google Prompt были все шансы остаться невостребованной в течение последующих двух-трех лет.
Поэтому в Google поступили иначе. Интерактивные уведомления доставляются по протоколу Google Cloud Messaging (GCM), а принимают эти уведомления либо Google Play Services (на Android), либо приложение Google (на iOS).
На этом моменте нужно заострить внимание. В отличие от «бесплатной ОС с открытым исходным кодом», как позиционируется Android, Google Play Services полностью контролирует компания Google. Эти сервисы автоматически поддерживаются в актуальном состоянии на всех устройствах под управлением Android (начиная с версии 2.3). Соответственно, с появлением нового механизма аутентификации доступ к нему сразу получили практически все пользователи.
Мы смогли протестировать работу этого механизма на устройствах, работающих под управлением Android 5.1, 6.0, 7.0 и 7.1. Как начальная настройка, так и последующая работа Google Prompt не вызывают вопросов. При этом мы смогли корректно настроить Google Prompt во время начальной настройки даже на еще не активированных устройствах под управлением Android 5.1 (Google Prompt в те времена не существовало). Вполне вероятно, что Google Play Services получают первое обновление еще на этапе настройки телефона после того, как пользователь установит сетевое соединение, и до того, как будут запрошены логин и пароль пользователя от учетной записи Google.
Доверенный статус Google Prompt можно отзывать независимо как из учетной записи Google через веб-браузер, так и с самого устройства.
Распечатка одноразовых кодов
Двухфакторная аутентификация начиналась с одноразовых кодов, распечатанных на листе бумаги. Этот вариант доступен пользователям Google. Распечатать можно десяток шестизначных одноразовых кодов. В любой момент все неиспользованные коды можно отозвать, просто сгенерировав новые. Формат распечатки совпадает с размерами стандартной визитки. Коды можно положить в бумажник и носить с собой. У таких кодов нет определенного срока действия; они остаются действительными до использования или до момента генерации нового набора кодов.
Google Security Key
Этот вид аутентификации уникален для Google. Впрочем, область его применения весьма ограничена.
Универсальные ключи FIDO Universal 2nd Factor (U2F) можно использовать исключительно для верификации в браузере Google Chrome и только на компьютерах (ноутбуках, хромбуках и планшетах) с поддержкой USB.
Пароли приложений
Google использует уникальные пароли для приложений, которые не поддерживают двухфакторную аутентификацию. К таким относятся, например, почтовые клиенты IMAP (включая старые версии Microsoft Outlook). Пароли генерируются по запросу и могут быть отозваны в любой момент в индивидуальном порядке. Ограничений на число активных паролей нет.
С помощью паролей приложений можно получить лишь ограниченный доступ к некоторым типам данных. Так что воспользоваться сервисом Google Takeout для извлечения информации из учетной записи с помощью такого пароля не удастся. Не получится и зайти в учетную запись с помощью браузера: система запросит пароль от аккаунта, после чего потребует ввести одноразовый код.
Как злоумышлении взламывают двухфакторную аутентификацию
В зависимости от того, какие именно возможности из перечисленных выше активны у пользователя, доступны следующие способы атаки.
- Если установлено приложение-аутентификатор: извлечь данные приложения, используя root или кастомный рекавери (к примеру, TWRP) либо используя режим сервисного обслуживания телефона (для Qualcomm — режим 9006 либо 9008, для MTK — SP Flash Tool, для всех телефонов LG — режим прямого доступа к памяти по протоколу LGUP). Последние два способа не сработают, если память телефона зашифрована.
- Если используется доставка кодов на SIM-карту: извлечь SIM-карту, вставить в другое устройство, профит. Или использовать любой другой механизм атаки для перехвата СМС.
Как защититься от взлома используя двухфакторную аутентификацию
Если для генерации одноразовых кодов используется приложение-аутентификатор, не поленитесь и зашифруйте раздел данных. Это пригодится, честное слово!
Обязательно используй безопасную блокировку экрана (PIN-код). Не используй Smart Lock (разблокировка по местоположению, по фотографии лица и подобные). По возможности не используй доставку одноразовых кодов через СМС.
Следуя этим простым правилам, можно обезопасить свою учетную запись в достаточной степени. Если же вы не используете безопасную блокировку экрана и шифрование раздела данных, то все прочие меры «безопасности» будут направлены исключительно на успокоение вашей нервной системы, но никак не на усиление безопасности как таковой.
Кстати, если вы используете сервисы Google, то вам следует знать о сайте «Google активность», на котором вы можете просмотреть и удалить всю вашу историю в Google, Youtube, Gmail, Google+ и т.д.
На сегодня все. Теперь вы знаете что такое двухфакторная аутентификация Google и как с ее помощью правильно защитить свой аккаунт.
В статье использованы материалы сайта Xaкер
Евгений Зобнин
Привязка к мобильной связи весьма опасна. В случае отключения сети оператора автоматически теряешь связь через аккаунт гугла.
С привязкой к Email нормально