Двухфакторка по-человечески: какая защита работает, а какая только кажется
16 августа израильский криптоброкер Bits of Gold сообщил, что злоумышленник добрался до клиентских записей через систему подрядчика: имена, номера удостоверений, адреса почты, телефоны, IP-адреса и банковские реквизиты примерно 200 000 человек. Пароли и сканы документов не тронуты, и это звучит успокаивающе, пока не посмотришь на состав украденного. Телефон плюс номер удостоверения плюс настоящий адрес - это ровно тот набор, с которым уговаривают оператора связи перенести ваш номер на новую SIM-карту. А номер телефона у большинства людей до сих пор работает вторым фактором.
Три ступени, и они очень разные
Всё, что продаётся под названием двухфакторной защиты, делится на три группы, и расстояние между ними куда больше, чем кажется по интерфейсу.
Код по SMS
- Привязан к номеру телефона, а не к вам.
- Падает от перевыпуска SIM: номер уехал, коды уехали следом.
- Всё равно лучше, чем ничего, и лучше, чем совсем без второго фактора.
Приложение-генератор
- Шесть цифр считаются на самом устройстве, сеть не нужна.
- Угнанный номер телефона не даёт злоумышленнику ничего.
- Но код можно отдать на поддельном сайте: вы вводите его руками.
Ключ или passkey
- Сам проверяет настоящий адрес сайта, прежде чем ответить.
- На похожем домене просто молчит, и фишинг обрывается.
- Нечего вводить и нечего продиктовать по телефону.
Почему первым ломается именно SMS
Перевыпуск SIM - это не взлом в техническом смысле. Человек обращается к вашему оператору, называет имя, номер документа и достаточно подробностей, чтобы звучать убедительно, сообщает о потере телефона и просит номер на новую карту. Через несколько минут ваш телефон теряет сеть, а коды приходят в другое место. Каждая утечка вроде описанной выше удешевляет этот разговор, поэтому новости про утечки и угоны аккаунтов приходят на одной неделе.
Есть и вторая, менее заметная проблема. Код, который вы вводите руками, у вас можно выпросить. Убедительная копия страницы входа спрашивает пароль, потом код и за секунды передаёт и то и другое на настоящий сайт. Поэтому и важна третья ступень: ключ или passkey сам сверяет домен и на подделке не срабатывает, как бы вы ни были уверены.
Что сделать сегодня вечером
- Начните с почты, а не с банка. Кто владеет вашим почтовым ящиком, тот сбросит пароль почти везде, поэтому ей нужна самая сильная защита из тех, что вы готовы настроить.
- Переведите все аккаунты, где это возможно, с SMS на приложение-генератор. В настройках безопасности это обычно один экран с QR-кодом, минута на аккаунт.
- Сохраните резервные коды офлайн. Распечатайте или перепишите и положите туда, где лежат документы. Хранить их только внутри того же менеджера паролей, где лежит пароль, значит потерять оба сразу вместе с устройством.
- Заведите второй фактор про запас: недорогой аппаратный ключ или passkey на втором устройстве. Где поддерживается один, поддерживается и второй, и именно запасной спасает, когда телефон пропал.
- Проверьте настройки восстановления. Старый номер телефона или заброшенный запасной ящик - это вход, который переживёт все остальные ваши старания.
- Там, где предлагают «войти по passkey», соглашайтесь. Это та же защита, что у аппаратного ключа, только хранится на телефоне или в менеджере паролей, и она убирает пароль из процесса, а не добавляет ещё один шаг.
- Завершите сеансы, которых не узнаёте, в том же разделе настроек. Второй фактор не помогает против сессии, открытой год назад.
Перед сменой телефона. Коды в приложении-генераторе живут на устройстве, а не в облаке само собой, поэтому стёртый телефон уносит их с собой. Порядок такой: перенесите или выгрузите данные приложения на новый телефон, пока старый ещё работает, проверьте, что два-три аккаунта действительно открываются, и только потом стирайте старый. Если этот шаг пропущен, обратной дорогой остаются резервные коды - ровно поэтому они и должны существовать на бумаге.
Что именно ставить
Названия тут важны меньше, чем три свойства: коды можно перенести на новый телефон, код программы кто-то смотрел кроме автора, и она работает на всех ваших устройствах. Под это подходят открытые и бесплатные приложения: Ente Auth работает на телефонах и компьютере со сквозным шифрованием синхронизации, Aegis - обычный выбор на Android с зашифрованной резервной копией, 2FAS хранит копию в вашем же iCloud или Drive. Встроенные варианты Apple и Google удобны и достаточно надёжны, но с оговоркой: коды после этого живут внутри одной экосистемы и уходят из неё тяжело.
Одно предупреждение про известное имя. Authy закрыл настольное приложение и до сих пор не даёт выгрузить коды, поэтому добавленные там аккаунты фактически привязаны к нему. Если вы им пользуетесь, паниковать не нужно, но новые аккаунты заводите в другом месте, а старые перенесите, когда будет свободный вечер.
Менеджеры паролей вроде Bitwarden, 1Password и Proton Pass тоже умеют хранить коды и passkey, и это правда удобно. Понимайте размен: пароль и второй фактор в одном хранилище означают, что оба защищены одним мастер-паролем. Для самых важных аккаунтов держите их врозь.
С аппаратными ключами рынок маленький и скучный, и это хорошо. YubiKey 5 с NFC и USB-C - вариант по умолчанию, работает и с телефоном, и с компьютером; Google Titan - прямая альтернатива; Token2 и Nitrokey заметно дешевле. Берите сразу два, зарегистрируйте оба, запасной положите туда, где лежат документы. Покупайте у производителя или авторизованного продавца, а не лотом на маркетплейсе: ключ - ровно та вещь, которая не должна проходить через чужие руки.
Что такое passkey на самом деле
Passkey - это пара ключей: один остаётся на вашем устройстве, второй хранится у сервиса. Вход означает, что телефон или компьютер доказывает владение своей половиной, а разблокируется она отпечатком или лицом. Вводить нечего, значит нечего и продиктовать по телефону или вписать в копию сайта, и нет общего секрета, который может утечь из чужой базы. Практическая тонкость одна - переносимость: passkey синхронизируются внутри экосистемы или менеджера паролей, поэтому прежде чем на него полагаться, убедитесь, что доберётесь до него со второго устройства.
Если вход всё-таки потерян
Восстановление - та часть, которую все пропускают и которая потом всем нужна. Заранее выясните, куда вас отправит каждый сервис: резервные коды, второй зарегистрированный ключ, запасной ящик или форма поддержки с проверкой документов. Для двух-трёх самых важных аккаунтов запишите ответ. Это десять минут сейчас вместо очень плохого вечера потом, и делать это стоит, пока доступ есть, а не пока вы доказываете поддержке, что вы это вы.
Ничего из перечисленного не делает аккаунт неприступным, да и не должно. Оно выводит вас из группы, которую можно обнести одним утёкшим номером телефона, а после лета с утечками вроде той, где вскрылись 24 миллиарда паролей, поток идёт именно туда.