Бесплатно Экспресс-аудит сайта:

25.07.2024

Критическая уязвимость в Windows Hello: биометрия больше не спасет

Исследователь Иегуда Смирнов обнаружил серьезную уязвимость в системе аутентификации Windows Hello for Business (WHfB) от Microsoft . Его находка ставит под сомнение надежность биометрической защиты, которую многие считали непреодолимой.

WHfB, внедренная Microsoft в 2016 году для коммерческих и корпоративных версий Windows 10, была разработана как щит против фишинговых атак. Система использует криптографические ключи, встроенные в доверенный платформенный модуль (TPM) компьютера, и активируется с помощью биометрической верификации или PIN-кода. Однако Смирнов, работающий в команде «красных» (этичных хакеров) Accenture, обнаружил, что эту защиту можно обойти, изменяя параметры в запросе аутентификации.

Стоит отметить, что Иегуда не первый, кто обратил внимание на несовершенства платформы. Например, в 2019 году исследователи уже изучали векторы атак на WHfB, в частности, постоянный бэкдор Active Directory, который обходил средства обнаружения.

Защиту WHfB можно обойти, понизив уровень аутентификации. Смирнов использовал фреймворк Evilginx для атаки adversary-in-the-middle (AitM), чтобы перехватывать и изменять запросы к службам аутентификации Microsoft. В результате система переключалась на менее защищенные методы: обычные пароли или одноразовые SMS-коды.

Для осуществления атаки хакер модифицировал код Evilginx и создал специальный фишлет, чтобы автоматизировать процесс. Ключом к успеху атаки стало изменение параметра user-agent или «isFidoSupported» в запросе «/common/GetCredentialType».

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

При первой настройке Windows Hello на устройстве пользователя, система WHfB создает закрытый ключ и сохраняет его в защищенном модуле TPM компьютера. Поэтому для входа в систему требуется подтверждение личности с помощью биометрии или PIN-кода, совместимого с Windows Hello.

Microsoft создает запрос, который отправляется на устройство пользователя через API WebAuthn в браузере. Затем WebAuthn взаимодействует с Windows Hello, запрашивая подтверждение с помощью закрытого ключа. WebAuthn — это стандарт W3C, лежащий в основе современных методов аутентификации, таких как FIDO2 и passkeys.

В ответ на открытие Смирнова Microsoft в марте выпустила обновление. В портале Azure появилась новая функция под названием «authentication strength» (сила аутентификации). С ее помощью администраторы могут настроить систему так, чтобы сотрудники использовали только методы входа, устойчивые к фишингу.

Функция работает с приложениями Microsoft Entra ID и позволяет гибко настраивать уровень защиты. Администраторы могут учитывать различные факторы: важность защищаемых данных, уровень риска пользователя, требования регуляторов и даже местоположение пользователя.

Подробности исследования будут представлены на конференции Black Hat USA 2024 в Лас-Вегасе 8 августа.