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

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

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

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

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 и прописать в ней нужные ему данные. После этого метка работала нормально и перенаправляла на его веб-сайт.