Mastodon Mastodon Mastodon Mastodon

Pass-ta-key: как вредоносное ПО обходит защиту passkey в Google Password Manager на Windows

Фото автора

CyberSecureFox Editorial Team

Опубликовано:

Исследователи Palo Alto Networks Unit 42 опубликовали исследование трёх постэксплуатационных техник, позволяющих вредоносному ПО, работающему с правами обычного пользователя на Windows-системе с TPM, выполнять аутентификацию в учётных записях жертвы, защищённых passkey, — без биометрии, PIN-кода и каких-либо уведомлений на экране. Атаки направлены против Google Password Manager в браузере Chrome и не ломают криптографию WebAuthn, а эксплуатируют особенности хранения ключей, логики повторной регистрации устройства и проверки флага верификации пользователя на стороне веб-сервисов. Случаев эксплуатации в реальных атаках не зафиксировано, CVE-идентификаторы не присвоены, а полный статус исправлений остаётся неизвестным.

Архитектурные предпосылки атак

Все три метода — Pass-ta-key, Silver Pass-ta-key и Golden Pass-ta-key — требуют предварительного запуска вредоносного кода на устройстве жертвы. Это постэксплуатационные техники: они описывают, что атакующий может сделать на уже скомпрометированной машине, а не способ первоначального проникновения.

По данным исследователей, Chrome хранит синхронизированные учётные данные в каталоге %LocalAppData%\Google\Chrome\User Data\<Profile>\Sync Data\LevelDB, и непривилегированный процесс способен прочитать метаданные, включая идентификаторы сервисов (relying party), имена пользователей, идентификаторы учётных данных и зашифрованный материал закрытых ключей.

Ключевая архитектурная особенность подтверждается исходным кодом Chromium: Chrome создаёт TPM-ключ без имени (что, согласно комментарию в коде, предотвращает его сохранение на диск), экспортирует его как непрозрачный блоб и затем загружает повторно. При подписании используется флаг NCryptSignHash, подавляющий любые пользовательские запросы. В том же файле присутствует TODO-комментарий со ссылкой на задачу Chromium 398125799, предлагающую маркировать такие ключи.

Три вектора атаки

Pass-ta-key: обход без верификации пользователя

Первый метод извлекает обёрнутый ключ идентификации устройства Chrome и через Windows CNG API запрашивает у того же TPM подпись для контролируемого атакующим запроса. Облачный аутентификатор Google возвращает валидное утверждение (assertion), отличающееся от легитимного лишь одним битом — флагом User Verified (UV), который остаётся неустановленным.

Согласно спецификации Web Authentication Level 3, если сервис устанавливает параметр userVerification в значение «required», он обязан отклонить аутентификацию при отсутствии UV-бита. По данным Unit 42, GitHub корректно выполнял эту проверку, тогда как eBay принимал такие утверждения до тех пор, пока не устранил проблему после раскрытия информации.

Silver Pass-ta-key: подмена ключа верификации

Второй метод нацелен на процесс повторной регистрации устройства. Вредоносное ПО принудительно инициирует перерегистрацию Chrome, и в возникающем временном окне — когда браузер ещё не создал ключ верификации пользователя — атакующий регистрирует собственный ключ. Исходный код Chromium подтверждает существование состояния deferred_uv_key_creation для вновь зарегистрированных устройств.

По утверждению исследователей, серверная сторона не проверяет, получен ли вновь зарегистрированный ключ от аппаратного модуля безопасности. Утверждения, подписанные подставным ключом, несут установленный UV-флаг, что, как сообщается, позволяет выполнять аутентификацию с устройства атакующего без доступа к машине жертвы. Однако публичный код Chromium не позволяет независимо верифицировать серверную часть этой атаки для текущей стабильной версии Chrome.

Golden Pass-ta-key: извлечение мастер-секрета

Наиболее серьёзный третий метод направлен на 32-байтовый Security Domain Secret (SDS) — мастер-ключ, используемый для расшифровки синхронизированных закрытых ключей passkey. По данным Unit 42, вредоносное ПО инициирует перерегистрацию и считывает секрет из памяти процесса Chrome в момент, когда он кратковременно находится там в открытом виде.

Исходный код Chromium подтверждает, что Chrome создаёт или получает 32-байтовые секреты домена безопасности в структурах данных клиентского процесса. Тем не менее надёжность извлечения, возможность захвата учётной записи и сохранение доступа при смене эпох секрета остаются неподтверждёнными независимыми источниками.

Исследователи сообщают, что Google удалил ранее существовавшую утечку SDS через FIDO-логи Chrome, однако секрет по-прежнему попадает в память клиента, что не закрывает описанный вектор.

Неопределённость со статусом исправлений

Раскрытие не устанавливает, закрыты ли все три вектора атаки. Исследование не содержит CVE-идентификаторов, списка затронутых версий Chrome и полного статуса исправлений. Публичная документация Google позволяет пользователям сменить PIN-код Google Password Manager или удалить все данные менеджера паролей, но не описывает механизм ротации или отзыва SDS. Остаётся открытым критический вопрос: аннулирует ли смена PIN-кода или удаление данных секрет, уже извлечённый атакующим.

Оценка воздействия

Область воздействия ограничена пользователями Chrome на Windows с TPM, использующими Google Password Manager для синхронизации passkey. Два из трёх методов (Silver и Golden Pass-ta-key), по данным исследователей, обеспечивают повторный доступ из среды атакующего после первоначальной компрометации — это превращает разовый инцидент в устойчивый канал доступа к учётным записям жертвы.

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

Рекомендации

Для операторов веб-сервисов (relying party):

  • Установить параметр userVerification в значение required и проверять наличие UV-бита в возвращаемом утверждении — это единственная мера, полностью контролируемая на стороне сервиса и блокирующая первый вектор атаки.
  • Не полагаться исключительно на настройку запроса — валидировать фактический ответ аутентификатора.

Для поставщиков учётных данных (credential providers):

  • Проверять аппаратную аттестацию при регистрации новых ключей верификации.
  • Усилить проверки при повторной регистрации и восстановлении устройств.
  • Ограничить доступ к локальному состоянию passkey и исключить попадание мастер-секретов в логи и доступную память.

Для конечных пользователей:

  • Обеспечить защиту конечных точек от вредоносного ПО — это обязательное условие для всех трёх атак.
  • При подозрении на компрометацию устройства — сменить PIN-код Google Password Manager и рассмотреть удаление данных менеджера паролей, хотя эффективность этих мер в отношении уже извлечённого SDS не подтверждена документацией Google.

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


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.