Pass-ta-key: как малварь крадёт passkey из Google Password Manager

Passkey позиционируются как более безопасная альтернатива обычным паролям: вместо строки символов — криптографические ключи, которые хранятся на устройстве и подтверждаются PIN-кодом или биометрией. Однако исследователи Palo Alto Networks показали, что у такой защиты есть слабые места. Серия атак под названием Pass-ta-key позволяет получать доступ к аккаунтам, защищённым passkey, и даже похищать сами ключи.

Три сценария атак

Эксперты описали три варианта атаки. Все они эксплуатируют не криптографию, а механизмы доверия, регистрации и синхронизации учётных данных и нацелены на Chrome под Windows с модулем TPM и Google Password Manager. Компьютер жертвы должен быть уже скомпрометирован, но малвари не нужны права администратора, PIN-код, биометрия или действия пользователя.

  • Pass-ta-key — малварь выдаёт себя за доверенное устройство и запрашивает аутентификационный ответ для одного из passkey жертвы. Используя сохранённый Chrome-блоб с ключом идентификации устройства и обращаясь к TPM через Windows CNG, вредонос вынуждает облачный аутентификатор Google вернуть действительный ответ. Правда, без флага User Verified (UV), поэтому атака не срабатывает против сервисов, которые его проверяют: GitHub такой запрос отклонил, а eBay принял (проблему уже устранили).
  • Silver Pass-ta-key — малварь повреждает локальное состояние менеджера паролей и заставляет Chrome заново зарегистрироваться в облачном аутентификаторе. Атакующий успевает зарегистрировать собственный ключ с user-verification, и сервис принимает его как подтверждение разблокировки устройства. Дальше вход в аккаунты возможен с чужого устройства.
  • Golden Pass-ta-key — самый опасный сценарий. При повторной регистрации Chrome короткое время держит в памяти процесса мастер-ключ SDS (Security Domain Secret) в открытом виде. Малварь извлекает его, расшифровывает приватные ключи всех синхронизированных passkey, переносит их на другую систему и выдаёт себя за жертву. Похищенный SDS потенциально позволяет расшифровывать и ключи, которые появятся позже.

Что это значит

В отчёте нет идентификаторов CVE и данных о том, устранены ли проблемы в текущих версиях Chrome. Исследователи подчёркивают: passkey остаются безопаснее обычных паролей и не защищают лишь от малвари, которая уже получила контроль над устройством. Владельцам сайтов советуют всегда проверять флаг UV при аутентификации, а разработчикам менеджеров паролей — проверять происхождение новых ключей и не допускать появления мастер-ключей в памяти клиентских приложений.