Тесты безопасности Windows Hello провалились на трех лучших ноутбуках

Хотя пользователи ноутбуков Windows любят думать, что у них есть своя версия Touch ID, похоже, что она не обеспечивает такого же уровня безопасности. Систему аутентификации по отпечатку пальца Windows Hello на трех лучших ноутбуках, использующих ее, протестировали исследователи безопасности — и все три провалились.

Справедливости ради стоит отметить, что команда проводила тесты на проникновение по просьбе Microsoft, но именно продукт Microsoft Surface оказался самым простым для обхода…

Microsoft попросила кибербезопасную компанию Blackwing Intelligence провести тесты.

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

Для каждого из трех потребовались разные подходы:

  • Dell Inspiron 15
  • Lenovo ThinkPad T14
  • Microsoft Surface Pro Type Cover с отпечатком пальца (для Surface Pro 8 / X)

Когда вы читаете описание протоколов безопасности, использованных (или не использованных, как мы увидим…), командой, это, безусловно, звучит как сложная задача. Но команда нашла способы их обойти.

Dell Inspiron 15

При загрузке машины в Windows она следует полным протоколам безопасности, включая так называемый протокол безопасного подключения устройств (SDCP).

Он предназначен для выполнения следующих проверок:

  • Хост общается с доверенным устройством, а не со зловредным.
  • Устройство проверяется на предмет того, не запущено ли на нем взломанное прошивка.
  • Данные отпечатков пальцев не кэшируются и не воспроизводятся.

Однако, в то время как доступ Windows к считывателю использует SDCP, доступ Linux — нет, что и дало команде первую идею.

Что, если мы загрузим целевое устройство в Linux и используем сторону Linux для регистрации отпечатка пальца злоумышленника в базе данных шаблонов, указав тот же ID, что и у законного пользователя, зарегистрированного на стороне Windows?

Это не сработало, так как оказалось, что на чипе существуют отдельные базы данных для Windows и Linux. Но Blackwing выяснила, как Windows узнает, к какой базе данных обращаться, и сумела перенаправить ее на базу данных Linux. Это привело к следующему решению (где MitM относится к атаке «человек посередине»):

  1. Загрузка в Linux
  2. Перечисление допустимых ID
  3. Регистрация отпечатка пальца злоумышленника с использованием того же ID, что и у законного пользователя Windows
  4. MitM-соединение между хостом и датчиком
  5. Загрузка Windows
  6. Перехват и перезапись пакета конфигурации для указания на базу данных Linux с использованием нашего MitM
  7. Вход в систему как законный пользователь с использованием отпечатка злоумышленника

Lenovo ThinkPad T14s

Хотя сканер отпечатков пальцев Synaptics, используемый в этом устройстве, поддерживает SDCP, он отключен! Вместо этого устройство использует пользовательский уровень безопасности транспорта (TLS), предназначенный для выполнения той же задачи.

К сожалению, эта альтернативная система безопасности не очень надежна.

Клиентский сертификат и ключ могут быть прочитаны кем угодно, но они зашифрованы. Зашифрованы чем? После дальнейшего анализа выяснилось, что они зашифрованы ключом, полученным из двух частей информации: названия продукта машины и серийного номера — которые извлекаются из BIOS через ACPI (они также доступны на наклейке на нижней стороне ноутбука 😜).

Что привело к следующему решению:

  1. Чтение зашифрованного клиентского сертификата / ключа
  2. Расшифровка зашифрованного блока с помощью ключа, полученного из названия продукта и серийного номера
  3. Установление сеанса TLS с датчиком
  4. Перечисление допустимых ID шаблонов отпечатков пальцев Windows
  5. Регистрация отпечатка пальца злоумышленника с подменой допустимого ID
  6. Загрузка в Windows
  7. Вход в систему как целевой пользователь Windows с использованием отпечатка злоумышленника

Microsoft Surface Pro Type Cover с отпечатком пальца

Хотя команда ожидала, что официальный продукт Microsoft станет самым сложным испытанием, они были поражены, обнаружив невероятно низкий уровень безопасности.

  • Нет SDCP
  • USB-связь в открытом тексте
  • Нет аутентификации

Поэтому им пришлось просто отключить сканер отпечатков пальцев и подключить свое собственное устройство для его подмены — сначала Raspberry Pi, а затем более компактный и быстрый USB armory.

  1. Отключите Type Cover (драйвер не справляется с двумя подключенными датчиками, он сходит с ума)
  2. Подключите атакующее устройство, рекламируя VID/PID датчика
  3. Наблюдайте допустимый SID от драйвера Windows
  4. Пройдите проверку «количество отпечатков пальцев»
  5. Инициируйте вход в Windows по отпечатку пальца
  6. Отправьте допустимый ответ на вход с подмененного устройства

А как насчет TouchID на MacBook?

Apple имеет отличный послужной список в области внедрения гораздо лучшей биометрической безопасности, чем ее конкуренты.

Как Touch ID, так и Face ID хранят биометрические данные в Secure Enclave, и остальная часть Mac не имеет доступа к этим данным — она только запрашивает разрешение на разблокировку устройства, а Secure Enclave просто говорит «да» или «нет». Вот как Apple описывает это:

Чип вашего устройства включает в себя усовершенствованную архитектуру безопасности под названием Secure Enclave, разработанную для защиты ваших данных пароля и отпечатков пальцев. Touch ID не хранит никаких изображений ваших отпечатков пальцев, а вместо этого полагается только на математическое представление. Невозможно, чтобы кто-то смог восстановить ваше реальное изображение отпечатка пальца из этих сохраненных данных.

Ваши данные отпечатков пальцев зашифрованы, хранятся на диске и защищены ключом, доступным только Secure Enclave. Ваши данные отпечатков пальцев используются Secure Enclave только для проверки соответствия вашего отпечатка пальца зарегистрированным данным отпечатков пальцев. Они не могут быть доступны операционной системе вашего устройства или каким-либо приложениям, работающим на нем. Они никогда не хранятся на серверах Apple, никогда не резервируются в iCloud или где-либо еще, и их нельзя использовать для сопоставления с другими базами данных отпечатков пальцев.

Я бы ожидал, что Blackwing потерпит неудачу, если предпримет аналогичную попытку взломать Touch ID, но было бы здорово, если бы Apple продемонстрировала достаточную уверенность, чтобы попросить команду попробовать.

Фото: Microsoft