Номер телефона iPhone можно узнать через AirDrop
29/07/19
Команде исследователей hexway удалось определить номер телефона пользователя iPhone с помощью AirDrop - технологии передачи файлов по Wi-Fi и Bluetooth, разработанной компанией Apple. По словам hexway, они решили проверить соответствует ли слоган Apple «Что происходит на iPhone, остается на iPhone» действительности. Эксперты уже опубликовали эксплоит на GitHub.
Исследователи смогли перехватить пакеты данных, передаваемые устройствами при включенном Bluetooth. По словам экспертов, AirDrop передает зашифрованные пакеты с номером телефона для его обнаружения получателем в списке контактов.
Эксперты описали этапы потенциальной атаки: злоумышленник должен создать базу данных SHA256(phone_number):phone_number для определенного региона и запустить специальный скрипт, например, на ноутбуке, находясь в общественном месте. Когда кто-то попытается использовать AirDrop, злоумышленник может перехватить хэш телефонного номера отправителя и восстановить из него номер. По словам hexway, если связаться с пользователем через iMessage, можно определить имя владельца телефона. Экспертам удалось узнать имя с помощью TrueCaller, а также обнаружить его в имени устройства.
Исследователи рассказали и о проблеме, которая может возникнуть при использовании функции «Поделиться паролем Wi-Fi» на iPhone. Пользователю нужно выбрать сеть из списка, и устройство начнет отправлять запросы Bluetooth LE на другие iPhone, запрашивая у них пароль. Широкополосные запросы BLE содержат пользовательские данные, а именно хэш SHA256 номера телефона, AppleID и адрес электронной почты. По словам экспертов, отправляются только первые 3 байта хэшей, но этого достаточно, чтобы идентифицировать номер телефона.
Эксперты hexway заявляют, что возникшая проблема не является уязвимостью, а скорее следствием функций, которые обеспечивают работу экосистемы Apple. Описанные методы работают в iOS 10.3.1 и выше, в том числе в бета-версиях iOS 13. Специалисты также отметили, что старые устройства (все до iPhone 6s) не отправляют сообщения BLE непрерывно, даже если они обновили версию ОС. Отправляется только ограниченное количество сообщений, вероятно, Apple делает это для экономии заряда батареи на старых устройствах.
По словам исследователей, единственным решением проблемы является отключение Bluetooth на устройстве.