Спортивные часы Coros Pace 3 давно завоевали доверие спортсменов благодаря широкому функционалу и удобству в использовании. Однако помимо технических характеристик и возможностей, одна из важнейших тем для пользователей — безопасность устройства, особенно при передаче данных по Bluetooth. В последние годы все чаще выявляются проблемы, связанные с защищенностью беспроводных соединений носимых гаджетов, и Coros Pace 3 не стал исключением. В данном обзоре представлен комплексный анализ Bluetooth-интерфейса этих часов, выявленные уязвимости и риски, которые они несут для данных пользователя и функционирования устройства. Важной составляющей современной спортивной техники является взаимодействие часов со смартфоном через Bluetooth Low Energy (BLE).
Именно по этому протоколу происходит передача ключевых показателей, уведомлений и настроек. В архитектуре экосистемы Coros Pace 3 часы выступают периферийным устройством, подключающимся к мобильному приложению на iOS или Android, которое в свою очередь синхронизирует данные с удалёнными серверами. Помимо Bluetooth, устройство может работать и через Wi-Fi, например, для загрузки обновлений. Первый и самый существенный момент — часы начинают вещать о своём присутствии через BLE, как только они включены и не подключены к смартфону. Рекламируемые сервисы содержат название устройства и стандартные сервисы, включая информацию о батарее и устройстве.
Однако важная особенность в том, что подключиться к часам может любое устройство в диапазоне, даже если оно не было предварительно сопряжено или связано с часами. Это расширяет потенциальную аудиторию злоумышленников и снижает уровень контроля над Bluetooth-интерфейсом. При непосредственном соединении с часами становится доступен полный набор сервисов и характеристик. Они включают стандартные службы Generic Access, Battery, Device Information, а также ряд профилей, отвечающих за измерение пульса, скорости, каденса и другие. Все эти характеристики можно читать и писать без обязательного прохождения процедуры сопряжения и аутентификации.
Это — серьёзный пробел в безопасности, позволяющий злоумышленнику осуществлять активные атаки, используя открытую BLE-сессию. В отношении самой процедуры сопряжения эксперты обнаружили, что Coros Pace 3 не предъявляет ожидаемых возможностей взаимодействия, хотя формально устройству доступны дисплей и кнопки. В стандартной классификации Bluetooth устройство классифицируется с отсутствием IO-способностей, что автоматически переключает процесс на использование метода Just Works. Этот метод сопряжения не предусматривает защиту от атак типа «человек посередине», поскольку не требует ввода PIN-кода или других мер подтверждения. Более того, часовое устройство не поддерживает Bluetooth Secure Connections, современный и более надёжный протокол обмена ключами, основанный на криптографии с эллиптическими кривыми.
Вместо этого реализован устаревший вариант с временными ключами, более уязвимый к перехвату данных и последующему их использованию злоумышленниками. Изучение взаимодействия с приложением Coros продемонстрировало разницу в поведении на платформах iOS и Android. При подключении с iOS-устройства часы инициируют процесс сопряжения и требуются подтверждения безопасности, хотя, как указано выше, слабо защищённые. В Android-версии приложения процесс сопряжения в целом отсутствует как таковой. Часы не требуют AuthReq и не приступают к формированию связки (bonding).
В итоге связь между Android-приложением и часами происходит без шифрования и аутентификации, что делает данные уязвимыми при передаче. По опыту исследователей, это означает, что любой злоумышленник вблизи жертвы может без особого труда перехватывать, изменять или даже прерывать BLE-соединение, получая доступ к содержимому передаваемой информации. Важность указанного различия запросов и ответов объясняется особенностями операционных систем: iOS требует обязательного связывания для доставки уведомлений, а на Android таких ограничений нет. Это приводит к тому, что вторая платформа оказывается менее защищённой, а безопасность в целом зависит от реализации приложения, которая, увы, не компенсирует недостатков на уровне протокола. Один из наиболее тревожных моментов — возможность перехвата ключевых данных пользователя.
В процессе взаимодействия с часами, особенно с Android-версией приложения, через BLE передаётся API-ключ, удостоверяющий пользователя в облачных сервисах Coros. Этот ключ позволяет получить доступ к личной информации, тренировочным данным, управлению настройками профиля и другим функциям аккаунта. Благодаря отсутствию надёжной защиты соединения и возможности притвориться поддельными часами, злоумышленник способен захватить управление учётной записью жертвы и получить полный контроль над её данными. Кроме того, эксперты выявили возможность как чтения, так и модификации уведомлений, отправляемых на часы. Сообщения из различных приложений, включая WhatsApp и iMessage, передаются специально сформированными пакетами в собственном формате.
Благодаря уязвимостям в Bluetooth-канале, злоумышленник может перехватывать такие уведомления или даже injecting новые сообщения с произвольным содержимым, что несёт риск социальной инженерии или дезинформации пользователя. В дополнение к угрозам, связанным с данными, отсутствие аутентификации также позволяет влиять на настройки устройства. Например, команда управления режимом «Не беспокоить» формируется в виде простого структурированного пакета с проверкой контрольной суммы, который можно подделать и отправить на часы. Такая возможность даёт атакающему контроль над основными функциями гаджета, мешая нормальному использованию. Особенно опасной оказалась возможность удалённого сброса устройства к заводским настройкам через BLE-команду.
Производится запись специфического кода в характеристику, после чего часы перезагружаются, все активные тренировки прерываются, а данные от последней активности безвозвратно теряются. Учитывая, что подобная атака возможна в непосредственной близости к спортсмену во время соревнований, её последствия достаточно серьёзны. Ещё одна опасность — уязвимости в работе с памятью, выявленные через методику fuzzing. Некорректно сформированные пакеты, отправленные в определённый BLE-сервис, вызывают падение программы с перезагрузкой устройства. Один из случаев связан с нулевым указателем (NULL pointer dereference), а другой — вычиткой за пределами допустимой области памяти (out-of-bounds read).
Обе ошибки приводят к отказу работы часов, потере данных и требуют вмешательства пользователя для восстановления работоспособности. Все обнаруженные уязвимости получили соответствующие идентификаторы в международной базе CVE, и, согласно исследованию, они классифицируются под категориями использования небезопасных криптографических алгоритмов, недостаточной аутентификации, передачи чувствительных данных в открытом виде, отсутствия проверки сертификатов, а также ошибок управления памятью. После проведения ответственного раскрытия информации, производитель Coros предоставил обновления, устраняющие большинство обнаруженных проблем. Тем не менее пользователи должны оставаться внимательными, своевременно обновлять устройство и приложения, а также ограничивать использование функций в общественных местах. Для повышения безопасности рекомендуется использовать только проверенные и обновлённые версии приложений, а в случае Android-устройств учитывать повышенную уязвимость передачи данных и при возможности применять дополнительное шифрование на уровне приложения.
Итогом проверки стала демонстрация того, что даже технически продвинутые спортивные гаджеты с множеством функций и возможностей подвержены уязвимостям из-за упущений в реализации протоколов безопасности Bluetooth. Это поднимает важный вопрос не только для пользователей Coros Pace 3, но и для разработчиков подобных устройств в будущем — как обеспечить высокий уровень защиты данных, сохраняя удобство и производительность. Своевременное выявление таких проблем благодаря независимым исследованиям и их последующее устранение — залог доверия и безопасности миллионов спортсменов по всему миру.