Исследователь использовал сеть Find My для передачи произвольных данных

Исследователь безопасности Фабиан Бройнлейн применил функцию поиска устройств и предметов «Найти меня» (Find My) от Apple для отправки сообщений через ближайший канал передачи данных iPhone. Исследователь решил показать, как сеть Find My может использоваться в качестве универсального механизма передачи данных.

a6e6f506d444ee76d12ef00289cdae36.png

Взлом позволяет передавать пакеты произвольных данных по сети Find My и использовать с этой целью любое ближайшее устройство Apple с включенной функцией.

Система Apple Find My использует всю базу активных устройств iOS для работы в качестве распределенной сети, где каждое является узлом, который может сообщать о местонахождении AirTags и других аксессуаров. Ранее она вызывала критику из-за того, что была включена по умолчанию, хотя передача данных зашифрована.

Ранее группа технического университета Дармштадта произвела реверс-инжиниринг кода протокола передачи данных и выпустила экспериментальную реализацию с открытым исходным кодом под названием OpenHaystack, которая позволяет создавать собственные аксессуары, отслеживаемые сетью Find My. При связывании AirTag с устройством Apple генерируется пара ключей Elliptic Curve, и открытый ключ передается в AirTag. Каждые 2 секунды метка с помощью Bluetooth Low Energy передает открытый ключ. Ближайшие устройства распознают его. Они также генерируют список скользящих открытых ключей, которые AirTag использовал в последние дни, и запрашивает у службы Apple их хэши SHA256, а затем расшифровывают отчеты и показывает приблизительное местоположение метки.

7a6f4fd1b5d81eede1db40f504eb68fe.png

Apple не знает, какие открытые ключи принадлежат данной метке AirTag.

По сути, взлом включает имитацию трансляции Find My. Вместо шифрования местоположения GPS кодируются произвольные данные. В демонстрации короткие текстовые строки отправляются обратно по сети Find My на домашний Mac. Исследователь решил кодировать один бит данных для каждой трансляции вместе со значением индекса, указывающим, какой бит сообщения устанавливается.

Кодирование битов сообщенияКодирование битов сообщенияПолучение ранее отправленных данных с подключенного к Интернету устройства с macOSПолучение ранее отправленных данных с подключенного к Интернету устройства с macOS

При первом тесте было передано 32-битное значение. Через несколько минут исследователь смог получить 23 из 32 бита, каждый из которых был однозначным и содержал ~ 100 отчетов о местоположении. Он отметил, что некоторые из сгенерированных открытых ключей были отклонены соседними устройствами Apple во время шифрования ECIES как недействительные. Однако с проверенными ключами все сработало.

Кодирование и отправка сообщенияКодирование и отправка сообщения

Эксперт отмечает, что вариант с подписанием открытых ключей для защиты от взлома в данном случае не подойдет. Теоретически, по его словам, можно ограничить скорость получения отчета о местоположении устройства.

В этом месяце Amazon анонсировал аналогичный продукт Sidewalk, который позволит всем видам устройств с Интернетом вещей отправлять данные обратно через умный динамик Echo, совместимый с функцией. Компания Tile, производящая Bluetooth-трекеры, планирует использовать сеть Sidewalk, чтобы конкурировать с Find My.

Ранее исследователь из Германии под ником stacksmashing (Stack Smashing) рассказал, что он смог взломать метку AirTag и прописать в ней нужные ему данные. После этого метка работала нормально и перенаправляла на его веб-сайт.

© Habrahabr.ru