Лицо админа = вы: подмена SID ломает модель персональной биометрии в Windows Hello. Эксплоит в паблике

Microsoft знает об уязвимости, но не спешит её исправлять.


hi707ujwtmpcto0dm6ia7xsc92aycbzs.jpg


На фоне усиливающейся цифровизации, Windows Hello for Business (WHfB) продолжает позиционироваться Microsoft как современная альтернатива паролям в корпоративной среде. Однако архитектура этого решения порождает уязвимости, которые при определённых условиях позволяют нарушить основную защитную модель — и фактически обойти принципы персональной идентификации. Новое исследование раскрывает именно такие изъяны в реализации WHfB.

WHfB использует биометрию — лицо, отпечаток пальца или PIN-код — для «разблокировки» криптографического ключа, хранящегося на клиентском устройстве. Этот ключ затем применяется для создания подписи в процессе аутентификации по Kerberos в доменной среде или при подключении к облачному Entra ID. На первый взгляд, такая схема кажется продвинутой и безопасной. Однако архитектурные компромиссы порождают критические риски.

Главная проблема — отсутствие внешней энтропии при генерации криптографических ключей. В отличие от паролей, биометрия не предоставляет непосредственного источника случайности, что снижает криптографическую стойкость. Более того, структура хранения биометрических шаблонов в Windows оказывается уязвимой для административных атак. База данных шаблонов делится на три части: зашифрованный заголовок с ключом, незашифрованный мета-заголовок и записи с зашифрованными шаблонами пользователей. Зашифрованный заголовок использует функцию CryptProtectData, зависящую от системных параметров, а не от внешнего секрета. Это означает, что привилегированный пользователь может расшифровать содержимое, включая ключи и контрольные суммы.

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

Обнаруженная уязвимость была раскрыта Microsoft, но, по оценке команды, компания вряд ли предпримет шаги по её устранению. Похожее поведение наблюдалось и ранее, особенно учитывая, что в WHfB уже существует опциональная функция Enhanced Sign-in Security, минимизирующая такие угрозы, но не включённая по умолчанию.

Обсуждая потенциальные улучшения, некоторые предложили задействовать TPM (Trusted Platform Module) для хранения шаблонов. Однако и здесь есть ограничения: TPM либо не сможет вместить объём данных, либо не обеспечит надёжную защиту от локального чтения. Единственный надёжный способ — использовать биометрические данные в качестве источника энтропии, как это уже реализовано для PIN. Но такая реализация требует радикального пересмотра всей архитектуры WHfB и погружения в сферу биометрической криптографии, находящейся пока в стадии научной разработки.

Ситуация демонстрирует фундаментальный конфликт между удобством и безопасностью в безпарольной аутентификации. WHfB остаётся уязвимой при наличии административного доступа, а значит, для по-настоящему защищённых сред её использование требует дополнительных мер — как минимум, обязательного включения расширенной защиты входа и более жёстких политик контроля доступа к локальной системе.