Исследователи показали, как вредонос на Windows крадёт синхронизированные passkeys Google без пароля и биометрии

Passkeys задумывались как замена паролям: публичная криптография вместо общих секретов, на которые опираются фишинг и credential-stuffing. Но новое исследование Unit 42 (Palo Alto Networks), третья часть серии о безопасности passkeys, показывает: если вредонос уже сидит на скомпрометированном Windows-ПК, он способен перехватить синхронизированные passkeys Google и войти в аккаунты жертвы — без запроса пароля, PIN или отпечатка пальца.

В чём дыра: локальная база и «identity key»

Исследователи обнаружили, что Chrome хранит метаданные синхронизированных passkeys локально, в незашифрованной и легко читаемой базе данных. Для вредоноса это готовая «карта» всех сервисов, где жертва использует вход по passkey, — и для её чтения не нужны повышенные привилегии.

Ключевая проблема — в том, как Chrome управляет «identity key», аппаратным ключом, который должен доказывать владение устройством перед Google Cloud Authenticator. Ключ генерируется как временный экспортируемый blob, а не навсегда запирается внутри Trusted Platform Module (TPM). Вредонос может извлечь его и с помощью штатных криптографических API Windows подписывать запросы аутентификации точно так же, как это делает сам Chrome. Так выполняется полный вход по passkey — атака получила имя «Pass-ta-key» — молча, без разблокировки устройства и биометрического запроса.

Две более опасные вариации

«Silver Pass-ta-key» отключает проверку пользователя вовсе. Удалив или повредив локальный файл состояния passkey, атакующий заставляет Chrome заново пройти онбординг. В этом окне Cloud Authenticator принимает вновь зарегистрированный ключ проверки, принадлежащий злоумышленнику, не валидируя его происхождение. В результате нападающий получает постоянный, многократно используемый способ аутентифицироваться от имени жертвы со своей машины — даже для аккаунтов со строгой многофакторной аутентификацией.

Самая серьёзная техника — «Golden Pass-ta-key» — бьёт по мастер-ключу шифрования всех синхронизированных passkeys пользователя, security domain secret (SDS). Этот 32-байтовый секрет, как выяснили исследователи, ненадолго попадал во внутренние логи Chrome и остаётся доступным в памяти во время восстановления устройства. Завладев им, атакующий расшифровывает каждый passkey аккаунта — прошлый и будущий. Доступ сохраняется даже после обнаружения компрометации, потому что Google сейчас не предоставляет возможности ротации этого мастер-ключа.

Что делать защитникам

Авторы подчёркивают: сами passkey-криптографию атаки не ломают. Они эксплуатируют разрыв между проектными допущениями и реальной реализацией — доверие к клиентским устройствам и непоследовательную валидацию со стороны полагающихся сервисов. Часть сайтов, включая eBay, уже закрыла проверочные пробелы после ответственного раскрытия.

Рекомендованные меры: строго требовать проверку пользователя (user verification), валидировать аттестацию ключа устройства перед регистрацией, ограничивать локальный доступ к хранилищам учётных данных браузера и отслеживать неожиданные повторные запуски онбординга или восстановления.

Что это значит для тех, кто админит пароли клиентов

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

Источник: cybersecuritynews.com