Skip to main content

Недостаток, обнаруженный в новом iCloud Private Relay от Apple, сводит на нет смысл существования этой функции, открывая IP-адрес пользователя при соблюдении определенных условий.

Как подробно рассказал исследователь и разработчик Сергей Мостсевенко в своем блоге на этой неделе, ошибка в обработке WebRTC Private Relay может привести к «утечке» реального IP-адреса пользователя. Доказательство концепции доступно на веб-сайте FingerprintJS.

Анонсированный на Всемирной конференции разработчиков в июне, Private Relay обещает предотвратить стороннее отслеживание IP-адресов, местоположения пользователя и других деталей путем маршрутизации интернет-запросов через два отдельных реле, управляемых двумя разными организациями. Интернет-соединения, настроенные для прохождения через Private Relay, используют анонимные IP-адреса, которые соответствуют региону пользователя, но не раскрывают их точное местоположение или личность, сообщает Apple.

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

Как пояснил Мостсевенко, API WebRTC используется для облегчения прямой связи через Интернет без необходимости в промежуточном сервере. Развернутый в большинстве браузеров, WebRTC полагается на структуру интерактивного установления соединения (ICE) для соединения двух пользователей. Один браузер собирает кандидатов ICE — потенциальные методы подключения — чтобы найти и установить ссылку со вторым браузером.

Уязвимость связана с Server Reflexive Candidate, кандидатом, который используется утилитами обхода сеанса для серверов NAT (STUN) для подключения к устройствам, находящимся за NAT. Трансляция сетевых адресов (NAT) — это протокол, который позволяет нескольким устройствам получать доступ в Интернет через один IP-адрес. Важно отметить, что серверы STUN совместно используют общедоступный IP-адрес и номер порта пользователя.

«Поскольку Safari не передает запросы STUN через iCloud Private Relay, серверы STUN знают ваш реальный IP-адрес. Это не проблема, поскольку у них нет другой информации; однако Safari передает кандидатов ICE, содержащих реальные IP-адреса, в среда JavaScript «, — говорит Мостсевенко. «Деанонимизация вас тогда сводится к синтаксическому анализу вашего реального IP-адреса от кандидатов ICE — что легко сделать с помощью веб-приложения».

По словам исследователя, IP-адрес пользователя может быть получен путем создания объекта соединения с сервером STUN, сбора кандидатов ICE и анализа значений.

Hacker News сообщил об открытии FingerprintJS в пятницу.

FingerprintJS сообщил об ошибке Apple, и компания представила исправление в последней бета-версии macOS Monterey, выпущенной на этой неделе. Уязвимость не исправлена ​​в iOS 15.