Некоторые новые результаты показывают, что можно легко подделать данные, собранные даже с помощью наиболее защищенного биометрического устройства. Исследователи нашли два разных способа взлома Fitbit.
Взлом фитнес-устройства не кажется полезным занятием, поскольку у вас есть доступ к своим данным, а кому еще это может быть интересно? Однако при этом игнорируется возрастающая роль, которую такие устройства играют в планах страхования и здравоохранения. Биометрические данные становятся все более ценными и, следовательно, их можно взломать.
Команда исследователей Хоссейн Ферейдуни, Джиска Классен, Том Спинк, Пол Патрас, Маркус Миеттинен, Ахмад-Реза Садеги, Матиас Холлик и Мауро Конти из университетов Дармштадта, Падуи и Эдинбурга потратили, должно быть, значительное время вспять. разработка Fitbit Flex и One на программном и аппаратном уровне. Их новая статья представляет собой интересное чтение, чтобы узнать, как решать такого рода задачи.
Что удивительно, так это то, что им удалось скомпрометировать программное и аппаратное обеспечение одного из фитнес-устройств, которое, похоже, серьезно относится к безопасности. Программное обеспечение Fitbit — это не открытая дверь, ожидающая, чтобы кто-то прошел. Он использует сквозное шифрование. Однако в более ранних версиях устройства шифрование было опцией, которую нужно было включить, и серверы по-прежнему принимают незашифрованные пакеты данных. В этом режиме единственная безопасность — обфускация. Формат незашифрованных пакетов был определен путем сравнения отправленных пакетов и данных, представленных пользователю в стандартном приложении.
Поскольку структура пакетов в основном проработана, появилась возможность отправить кадр данных, полученный с одного устройства, на идентификатор другого устройства — атака имитации.
Тот факт, что мы можем внедрить отчет с данными, связанный с любым идентификатором изучаемых трекеров, показывает как серьезный риск DoS, так и возможность платной мошеннической службы, которая будет манипулировать записями по запросу. В частности, злоумышленник может произвольно изменять записи активности случайных пользователей или манипулировать данными, записанными устройством целевой жертвы, поскольку идентификаторы трекера указаны на упаковке. Точно так же эгоистичный пользователь может заплатить за услугу, которая использует эту уязвимость для манипулирования записями активности по запросу, и впоследствии получить вознаграждение.
Одна из проблем при создании новых пакетов заключалась в том, что алгоритм CRC не был ясен. К счастью, если пакет был отправлен с неправильным CRC, сервер отправит обратно сообщение об ошибке, содержащее CRC, которого он ожидал. Его можно добавить в пакет, чтобы отправить его без ошибки CRC. Это можно было сделать только небольшое количество раз, потому что сервер использовал политику отката, когда возникало слишком много ошибок CRC.
Опробовав программное обеспечение и предвидя, что обнаруженные уязвимости будут устранены, команда обратила внимание на оборудование. Если вы программист, то эта часть реверс-инжиниринга покажется еще более удивительной. После разборки устройства было обнаружено, что набор скрытых контактов является стандартным портом отладки. Это позволяло делать дамп прошивки и. после долгой работы. позволил найти ключи шифрования. Хотя это звучит многообещающе, ключи зависят от устройства и, следовательно, их можно легко найти, только разобрав устройство и прочитав его из дампа прошивки. Однако можно было найти байт, который, если перевернуть, отключил шифрование. Это хорошая находка, но опять же, она использует сервер, принимающий пакеты с обычным текстом. Настоящим прорывом было обнаружение того, что пакеты хранились в незашифрованном виде в EPROM до того, как были зашифрованы. Это позволяет вводить любые данные и отправлять их на сервер в полностью зашифрованном виде.
Итак, что мы узнали?
Исследованные трекеры поддерживают полное сквозное шифрование, но не обеспечивают его последовательное использование. Это позволяет нам выполнять углубленный анализ протокола синхронизации данных и в конечном итоге создавать сообщения с ложными данными об активности, которые были приняты серверами Fitbit как подлинные.
Предложение 1 Следует постоянно применять сквозное шифрование между трекерами и удаленными серверами, если оно поддерживается микропрограммой устройства.
Fitbit заявляет, что все модели после 2015 года последовательно применяют шифрование.
Дизайн протокольных сообщений: создание действительных протокольных сообщений (без четкого понимания используемой CRC) обеспечивается тем фактом, что сервер отвечает на недопустимые сообщения информацией об ожидаемых значениях CRC вместо простого «недопустимого CRC» или более общий ответ «недопустимое сообщение».
Предложение 2 Уведомления об ошибках и состоянии не должны включать дополнительную информацию, относящуюся к содержанию фактических протокольных сообщений.