Исследователям безопасности из Blackwing Intelligence удалось обойти аутентификацию по отпечатку пальца Windows Hello на устройствах с тремя наиболее используемыми в Windows датчиками отпечатков пальцев
Исследователи получили задачу протестировать различные датчики снятия отпечатков пальцев для биометрической аутентификации Windows Hello от отдельного подразделения Microsoft под названием Offensive Research and Security Engineering.
В тестировании принимали участие следующие ноутбуки: Dell Inspiron 15, Lenovo ThinkPad T14 и Microsoft Surface Pro Type Cover с Fingerprint ID.
В отчете исследователи сначала объяснили, как работают датчики отпечатков пальцев текущего поколения. Все они представляют собой сенсоры Match on Chip (MoC). В датчиках используются встроенные микропроцессоры для выполнения запросов на аутентификацию. Windows Hello требует, чтобы датчики отпечатков пальцев поддерживали технологию MoC.
Двумя потенциальными векторами атак на MoC являются подмена связи и воспроизведение предыдущего записанного трафика, подтверждающего подлинность запросов.
Microsoft была осведомлена об этих недостатках при создании Windows Hello и для противодействия им разработала протокол безопасного подключения устройства (Secure Device Connection Protocol, SDCP). По сути, протокол обеспечивает доверие к устройству считывания отпечатков пальцев и защиту связи между устройством считывания и хост-системой.
Подробности каждой из атак предоставлены далее. Первой целью стал ноутбук Dell Inspiron 15. Используемый сенсор от Goodix поддерживает Windows Hello, SDCP и также поддерживается в Linux.
Версия для Linux предоставила исследователям подсказки относительно реализации и обхода. В ОС Windows, в отличие от Linux, выполняется процесс регистрации спецификации SDCP. Основное отличие заключается в том, что на Windows идентификатор генерируется как «MAC-операция на хосте и проверяется на сенсоре». Это предотвращает использование произвольных идентификаторов. В Linux идентификатор генерируется драйвером хоста и отправляется в датчик для хранения.
После некоторых экспериментов исследователи обнаружили, что для аутентификации можно использовать базу данных шаблонов Linux (и, соответственно, ID). Потребовалась атака «человек посередине», чтобы переписать конфигурационные пакеты, но в итоге они попали в устройство.
На втором устройстве Lenovo Thinkpad T14 нужно было применить другой подход. Исследователи обнаружили, что SDCP отключен на чипе, хотя поддерживается. Датчик Synaptic использовал собственный стек TLS для безопасного обмена данными между хостом и датчиком.
В результате был разработан план прямой атаки на TLS. Таким способом можно было взаимодействовать с TLS и считывать данные сертификата и ключа клиента. Эти данные зашифрованы, и, покопавшись в них, исследователи выяснили, что ключ шифрования генерируется из названия и серийного номера машины.
Выяснив это, инженеры создали атаку, которая позволила прочитать и расшифровать зашифрованные данные, провести TLS-сессию с датчиком, перечислить действительные IDS-шаблоны отпечатков пальцев, подделать действительные IDS и загрузиться в Windows по поддельному отпечатку.
В последнем случае, на устройстве Microsoft Surface Pro, использовался чип компании ELAN. Исследователи с удивлением обнаружили, что в нем не используется SDCP, применяется обмен данными по USB с открытым текстом и отсутствует аутентификация. Этот датчик было проще всего взломать из-за отсутствия защиты.
В ходе тестирования инженерам удалось успешно обойти все три датчика отпечатков пальцев. Это означает, что в случае вредоносной атаки злоумышленники могли войти в систему под именем любого пользователя. Большинство пользователей Windows могут воздержаться от использования аутентификации по отпечаткам пальцев на ноутбуках под управлением Windows до тех пор, пока эти проблемы не будут исправлены.
|