Введение
Для атаки BrutePrint требуется всего 15$ на оборудования и немного работы с телефоном.Ресерчеры разработали недорогую атаку на смартфоны, позволяющую всего за 45 минут взломать отпечаток пальца, используемый для разблокировки экрана и выполнения других важных действий на различных устройствах под управлением ОС Android.
Атака, названная ее создателями BrutePrint, требует от противника физического контроля над устройством, т.е. когда оно потеряно, украдено, временно сдано на ремонт или находится без присмотра, например, когда владелец спит. Цель атаки: получить возможность провести атаку методом грубой силы, в ходе которой перебирается огромное количество отпечатков пальцев, пока не будет найден тот (имеющий сходство с авторизованным отпечатком в телефоне), который позволит разблокировать устройство. Атака использует уязвимости и слабые места в устройстве SFA (smartphone fingerprint authentication).
Обзор BrutePrint
BrutePrint это недорогая атака, позволяющая разблокировать устройства путем использования различных уязвимостей и слабых мест в системах аутентификации по отпечаткам пальцев на смартфонах. Вот схема работы этих систем, которые обычно сокращенно называют SFA.
Схема работы системы аутентификации по отпечаткам пальцев в смартфоне.
Основу оборудования, необходимого для BrutePrint, составляет плата стоимостью 15$, содержащая
- Микроконтроллер STM32F412 производства STMicroelectronics
- Двунаправленный двухканальный аналоговый коммутатор RS2117
- SD карту 8 Гб
- Разъем "board-to-board", соединяющий системную плату телефона с гибкой печатной схемой дактилоскопического датчика
Устройство составляющее основу атаки BrutePrint.
Кроме того, для атаки требуется база данных отпечатков пальцев, подобная тем, которые используются в исследованиях или утечка которых происходит при реальных взломах, подобных этому.
Обзор атаки BrutePrint.
Не все смартфоны одинаковы
Подробнее о том, как работает BrutePrint, мы расскажем позже. Сначала о том, как показали себя различные модели телефонов. Всего исследователи протестировали 10 моделей: Xiaomi Mi 11 Ultra, Vivo X60 Pro, OnePlus 7 Pro, OPPO Reno Ace, Samsung Galaxy S10+, OnePlus 5T, Huawei Mate30 Pro 5G, Huawei P40, Apple iPhone SE, Apple iPhone 7.
Список протестированных устройств с указанием их различных характеристик.
Исследователи проверили каждый из них на наличие уязвимостей, слабых мест или восприимчивости к различным методам атак. Проверялись такие характеристики, как количество образцов при мультисэмплинге, наличие функции отмены ошибок, поддержка "горячего" подключения, возможность декодирования данных и частота передачи данных по SPI. Кроме того, исследователи протестировали три атаки: попытку обхода ограничений, перехват отпечатков и перебор отпечатков пальцев.
Результаты атак на различных протестированных устройствах.
Наконец, исследователи представили результаты, показывающие время, которое потребовалось различным телефонам для взлома отпечатков пальцев. Поскольку время зависит от количества авторизованных отпечатков на телефоне, исследователи установили для каждого из них один отпечаток.
Показатели успешных тестов устройств: наименьшее время (от 0,73 до 2,9 часа) занял Galaxy S10+, наибольшее - Mi11 (от 2,78 до 13,89 часа).
Несмотря на то, что специфика разная, BrutePrint может выполнить неограниченный перебор отпечатков пальцев на всех восьми протестированных моделях Android. В зависимости от различных факторов, включая систему аутентификации по отпечаткам пальцев в конкретном телефоне и количество отпечатков, хранящихся для аутентификации, это занимает от 40 минут до 14 часов.
Реализация BrutePrint на потерянном или украденном устройстве
В отличие от паролей, которые требуют прямого соответствия между вводимыми данными и теми, что хранятся в базе данных, при аутентификации по отпечаткам пальцев соответствие определяется с помощью порога сравнения. В результате для успешной атаки методом перебора отпечатков пальцев достаточно, чтобы вводимое изображение было приемлемым приближением к изображению в базе данных отпечатков пальцев. BrutePrint манипулирует коэффициентом ложного принятия (FAR), увеличивая пороговое значение, так что принимается меньшее количество приближенных изображений.BrutePrint выступает в роли противника, находящегося между датчиком отпечатков пальцев и доверенной средой выполнения, и использует уязвимости, позволяющие угадывать неограниченное количество изображений.
При атаке типа BrutePrint атакующий снимает заднюю крышку устройства и подключает плату стоимостью 15$, на которой находится база данных отпечатков пальцев, загруженная во флэш память. Затем атакующий должен преобразовать эту базу данных в словарь отпечатков пальцев, отформатированный для работы с конкретным сенсором, используемым в телефоне. При преобразовании базы данных в пригодный для использования словарь используется нейронный метод. Этот процесс повышает вероятность совпадения.
После создания словаря отпечатков пальцев устройство противника получает возможность вводить каждую запись в целевой телефон. Обычно защита, известная как ограничение попыток, блокирует телефон по достижении определенного количества неудачных попыток входа в систему. BrutePrint позволяет полностью обойти это ограничение в восьми протестированных моделях Android, то есть устройство противника может пытаться ввести бесконечное число попыток. (На двух iPhone атака позволяет увеличить число попыток до 15, что в три раза больше пяти разрешенных).
По словам исследователей, обход происходит в результате использования двух уязвимостей нулевого дня в системе аутентификации по отпечаткам пальцев, используемой практически во всех смартфонах. Уязвимости, одна из которых известна как CAMF (cancel-after-match fail), а вторая MAL (match-after-lock), являются следствием логических ошибок в системе аутентификации. Эксплойты CAMF аннулируют контрольную сумму передаваемых данных отпечатков пальцев, а эксплойты MAL вычисляют результаты совпадения с помощью атак по побочным каналам.
Для аутентификации по отпечаткам пальцев в смартфонах используется последовательный периферийный интерфейс SPI (serial peripheral interface), соединяющий сенсор и процессор устройства. BrutePrint выступает в роли промежуточного противника, который прослушивает это соединение и получает данные, позволяющие эффективно перехватывать изображения отпечатков пальцев, хранящиеся в памяти устройства.
Способность BrutePrint перехватывать отпечатки пальцев, хранящиеся на устройствах Android, но не на iPhone, объясняется одним простым отличием: iOS шифрует данные, а Android нет.
Исследователи пишут:
Мы снимаем сигналы SPI с помощью логического анализатора и находим эти плотные сигналы на MISO для идентификации FDA. Поскольку данные не зашифрованы, мы можем попробывать метод кодирования в течение нескольких попыток вывода. Например, форма изображения может быть угадана путем факторизации общего количества пикселей, а адаптация по периодическому смещению значений аутлетов (т.е. таких значений, как контрольная сумма, отличных от пикселей изображения). Для устройства жертвы первый образец передается в 4 кадрах, а три последних используют тот же формат с 13 кадрами. Каждый последний кадр короткий, так как в нем передаются оставшиеся данные об отпечатках пальцев. Команды FDA идентифицируются перед каждым кадром. Для примера возьмем первый образец, команды FDA всегда 0xF08800, а структура (разделитель кадров опущен) данных отпечатков пальцев показана на рис. 6. Структура несложная - полутоновое изображение хранится в формате 16 bpp, а к каждой строке с обоих концов прикреплены порядковый номер и контрольная сумма CRC16. Последний кадр короткий, так как в нем передаются оставшиеся данные об отпечатках пальцев. Команды FDA идентифицируются перед каждым кадром. Для примера возьмем первый пример, команды FDA всегда 0xF08800, а структура (разделитель кадров опущен) дактилоскопических данных представлена на рис. 6. Структура несложная полутоновое изображение хранится в формате 16 bpp, а к каждой строке с обоих концов прикреплены порядковый номер и контрольная сумма CRC16.
BrutePrint это работа "Yu Chen" из компании Tencent и "Yiling He" из Zhejiang University. Они предложили несколько программных и аппаратных изменений, направленных на смягчение последствий атак. Одно из изменений заключается в предотвращении обхода ограничения попыток путем проверки на наличие CAMF эксплойтов. Проверка осуществляется путем установки дополнительного лимита на отмену ошибок. Еще одно предлагаемое исправление предотвращение атак "противник посередине" путем шифрования данных, проходящих между датчиком отпечатков пальцев и процессором устройства. И наконец, исследователи рекомендуют внести изменения, которые заставят систему сбора отпечатков пальцев вести себя одинаково независимо от того, выводится ли результат совпадения или нет.
"Беспрецедентная угроза должна быть решена в сотрудничестве производителей смартфонов и датчиков отпечатков пальцев, в то же время проблемы могут быть смягчены и в ОС, Мы надеемся, что эта работа вдохновит сообщество на улучшение безопасности SFA", пишут исследователи.
Специально для xss.pro
Перевёл: IvanVasilyevich
Предложил перевод: baykal
Автор статьи: Dan Goodin
Актуальность: 22 Мая, 2023
Оригинал: https://arstechnica.com/information...fingerprint-authentication-of-android-devices
Перевёл: IvanVasilyevich
Предложил перевод: baykal
Автор статьи: Dan Goodin
Актуальность: 22 Мая, 2023
Оригинал: https://arstechnica.com/information...fingerprint-authentication-of-android-devices