Если вы включили ключи доступа для своей учётной записи Google, то, вероятно, уже слышали основные аргументы: не нужно вводить пароль, нечего выманивать с помощью фишинга, и в базе данных ничего не лежит, ожидая утечки. В основном это правда. Но теперь исследователи описали метод, получивший прозвище «Pass-ta-key», который показывает, что вредоносная программа на вашем собственном устройстве всё же может добраться до ключей доступа, хранящихся в Google Менеджере паролей. Важно точно понимать, что это значит, а что — нет, поскольку решение проблемы заключается не в том, чтобы «перестать использовать ключи доступа».

Кратко о том, как на самом деле работают ключи доступа

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

Сложность заключается в слове «синхронизированные». Чтобы ключ доступа работал на телефоне, ноутбуке и планшете, Google Менеджер паролей шифрует и синхронизирует ключи доступа через вашу учётную запись Google, вместо того чтобы привязывать каждый ключ к одному физическому устройству. Это удобство также означает большую поверхность атаки по сравнению с ключом доступа, физически привязанным к одному аппаратному ключу безопасности или одному устройству.

На что на самом деле указывает исследование Pass-ta-key

Согласно публикациям об этом исследовании (через Malwarebytes), его вывод заключается в том, что вредоносная программа, работающая на устройстве с разблокированным Google Менеджером паролей, может захватить учётные записи, защищённые ключами доступа, — не взламывая лежащую в основе криптографию с открытым ключом, а злоупотребляя программным уровнем, который хранит, разблокирует и синхронизирует ключи. Иными словами, математика, лежащая в основе ключей доступа, не взломана. Атаке подвергается всё вокруг этой математики — локальное хранилище, процесс разблокировки и канал синхронизации.

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

Почему это не отменяет преимущества ключей доступа

Соблазнительно прочитать такой заголовок как «ключи доступа не сработали». Но это не так: они пресекли конкретную, чрезвычайно распространённую атаку — удалённый фишинг, при котором злоумышленник из любой точки мира обманом заставляет вас ввести пароль или одноразовый код на поддельном сайте. Настоящему ключу доступа такая атака по-прежнему не угрожает. Pass-ta-key демонстрирует другую, более старую модель угроз: злоумышленник уже располагает кодом, работающим на вашем устройстве. Такая угроза существовала всегда, а для паролей она была, вероятно, ещё опаснее: кейлоггер или программа для кражи данных на заражённом компьютере с такой же лёгкостью могли перехватить введённый пароль и файл cookie сеанса. Ключи доступа сужают поверхность атаки, но не устраняют категорию угрозы «ваше устройство скомпрометировано».

Что именно проверить и сделать

Несколько конкретных шагов, которые можно проверить, примерно в порядке их важности:

  • Знайте, какие из ваших ключей доступа синхронизируются, а какие привязаны к устройству. В Google Менеджере паролей (passwords.google.com, в разделе «Ключи доступа») можно увидеть, что хранится и синхронизируется с вашей учётной записью. Ключ доступа, созданный и подтверждённый с помощью физического ключа безопасности (например, YubiKey), который вы не синхронизировали, привязан к этому оборудованию и не подвержен этому классу атак в той же степени.
  • Для наиболее важных учётных записей — основной электронной почты, банковского счёта, рабочей системы единого входа — отдавайте предпочтение аппаратному ключу безопасности, а не синхронизированному ключу доступа. Это немного менее удобно (нужен физический ключ), зато он вообще не взаимодействует с облачной синхронизацией, что полностью устраняет эту поверхность атаки для данной учётной записи.
  • Поддерживайте чистоту самого устройства, поскольку теперь именно оно является полем боя. Своевременно устанавливайте обновления ОС и браузера, не устанавливайте приложения или расширения из неофициальных источников и не игнорируйте предупреждения антивируса или системы защиты конечных точек — заражение вредоносной программой является необходимым условием для такого рода атаки, поэтому безопасность устройства решает сразу две задачи.
  • Включите Программу расширенной защиты Google, если вы можете быть вероятной целью (журналист, активист, руководитель, администратор или человек, которого уже пытались атаковать). Она ужесточает правила восстановления доступа к учётной записи и входа именно для защиты от подобных сценариев захвата учётной записи.
  • Периодически проверяйте раздел «Недавние события безопасности» в своей учётной записи Google и подключённые устройства и удаляйте всё, что вам неизвестно или чем вы больше не пользуетесь, включая старые синхронизированные ключи доступа, оставшиеся на устройствах, которые вы с тех пор заменили.
  • Не отказывайтесь от резервного способа аутентификации. Сохраните способ восстановления (резервные коды, второй ключ доступа на устройстве другого типа), который не зависит от того же устройства, чтобы не лишиться доступа, если вам всё же придётся полностью очистить заражённый компьютер.

Коротко: ключи доступа по-прежнему лучше паролей, а слово «нефишинговые» по-прежнему точно описывает их защиту от удалённого фишинга. Pass-ta-key напоминает, что «нефишинговый» никогда не означал «защищённый от скомпрометированного устройства», а защита от второй угрозы скучна и проста: устанавливайте исправления на устройства, следите за вредоносными программами и защищайте самые важные учётные записи аппаратными ключами, привязанными к устройству, а не синхронизированными.