Открыть сервис

Рандомизация MAC-адресов

Рандомизация MAC-адресов — это технология, используемая сетевыми устройствами (в основном, смартфонами, планшетами и ноутбуками) для периодической замены аппаратного адреса сетевого интерфейса (MAC-адреса) на случайно сгенерированный при подключении к сетям Wi-Fi. Основная цель рандомизации — предотвратить долгосрочное отслеживание устройства по его уникальному идентификатору, повышая уровень конфиденциальности пользователя в беспроводных сетях.

Принцип действия и технические основы

MAC-адрес и его идентификационная роль

Каждый сетевой интерфейс (например, Wi-Fi или Bluetooth) получает при производстве уникальный MAC-адрес длиной 48 бит, который в идеале не изменяется на протяжении всего срока службы устройства. Этот адрес передается в открытом виде в заголовках кадров протоколов 802.11 (Wi-Fi) и 802.15.1 (Bluetooth) при сканировании сетей, ассоциации с точками доступа и передаче данных. Поскольку адрес статичен, сторонние наблюдатели (владельцы точек доступа, операторы публичных сетей, рекламные трекеры) могут однозначно идентифицировать устройство, отслеживать его перемещения и составлять профиль активности пользователя.

Механизм случайной генерации

Рандомизация предполагает, что перед отправкой запросов на поиск сетей (Probe Request) или перед подключением к точке доступа операционная система генерирует временный, случайный MAC-адрес. Этот адрес имеет два ключевых отличия от реального:

Таким образом, в случайном адресе первый октет будет иметь вид x2:xx:xx:xx:xx:xx, где x — шестнадцатеричная цифра, а биты, отвечающие за U/L и I/G, строго определены (бит U/L=1, бит I/G=0).

При каждом новом сканировании эфира (или по истечении заданного таймера) генерируется новый случайный адрес. При подключении к сети (ассоциации) также может использоваться случайный адрес, который сохраняется на время сессии или в течение всего периода нахождения в зоне действия данной сети. В некоторых реализациях случайный адрес вычисляется на основе идентификатора сети (BSSID или SSID) с использованием защищённой хеш-функции, что позволяет устройству при повторном подключении к той же сети использовать один и тот же случайный адрес, не раскрывая реального.

История развития

Первые реализации и ограничения

Изначально (до 2014 года) протоколы беспроводной связи не предусматривали рандомизацию. Однако с ростом использования публичных Wi-Fi-сетей (аэропорты, кафе, торговые центры) начала формироваться практика коммерческого трекинга по MAC-адресам. Операторы сетей и рекламные платформы собирали Probe Request от проходящих устройств и сопоставляли их с базами данных, восстанавливая маршруты передвижения людей.

Первые попытки внедрить рандомизацию появились в Android и iOS примерно в 2014–2015 годах. На ранних этапах реализация была неполноценной: случайный адрес генерировался только при сканировании сетей, но при подключении к сети всегда использовался реальный MAC-адрес. Более того, случайные адреса могли генерироваться с малой периодичностью или содержать предсказуемые шаблоны.

Стандартизация и широкое внедрение

Существенный прогресс произошел с выходом:

Классификация и разновидности

По контексту использования

По степени детерминированности

Примеры реализации в операционных системах

ОС, версияПоведение при сканированииПоведение при подключенииУсловия рандомизации
Android 10+Генерирует случайный адрес для каждого Probe RequestИспользует случайный адрес для новой ассоциации; для каждой сети запоминается отдельный адресПо умолчанию включено. Отключается для сетей с открытой аутентификацией (без пароля) или при наличии корпоративных настроек (802.1X)
iOS 14+Адрес меняется каждые 20–30 секундДля каждой сети генерируется уникальный адрес, который сохраняется при повторных подключенияхВключено по умолчанию для всех сетей; отключается только в режиме «История сети» или при подключении к сети, ранее не виденной
Windows 10 1803+Случайный адрес генерируется для каждого сканированияДля сети можно включить случайный адрес в свойствах; адрес меняется только при ручном сбросе или при перезагрузкеВключено по выбору пользователя для каждой сети отдельно; не работает для открытых сетей с подпиской/каптивным порталом
Linux (NetworkManager 1.8+)По умолчанию использует реальный адрес (кроме специальной конфигурации)Можно настроить в /etc/NetworkManager/NetworkManager.conf параметры wifi.scan-rand-mac-address и wifi.scan-generate-mac-address-maskТребует ручной настройки; по умолчанию рандомизация неактивна

Применение и значение

Повышение конфиденциальности

Основная область применения — защита от пассивного отслеживания. В местах массового скопления людей (транспортные узлы, стадионы, торговые центры) сетевые точки доступа и специализированные сканеры (MAC sniffer) способны с высокой точностью фиксировать передвижения каждого устройства. Рандомизация делает такую запись бессмысленной: каждое последующее сканирование устройства выглядит как сигнал от нового, не связанного с предыдущим объекта.

Противодействие ассоциативной идентификации

Рандомизация усложняет возможность связывать активность пользователя в разных сетях. Например, если устройство подключается сначала к домашней сети, а затем к офисной, без рандомизации оба подключения будут получены от одного MAC-адреса, что позволит сопоставить эти сети с одним человеком. При рандомизации для каждой сети будет использоваться разный адрес.

Влияние на безопасность и работу сетей

Ограничения и критика

Несмотря на значительное повышение приватности, рандомизация MAC-адресов не является абсолютным средством анонимизации. Выделяют несколько ключевых недостатков:

  1. Уязвимость к анализу Probe Request — некоторые устройства, генерируя случайные адреса, по-прежнему передают в теле запросов информацию о ранее подключенных сетях (SSID). Даже при случайном MAC-адресе эта информация уникальна для каждого устройства и может быть использована для идентификации.
  2. Неполная рандомизация всех полей — в некоторых ранних реализациях случайно генерировались только последние 24 бита MAC-адреса, а первые 24 бита (OUI) оставались фиксированными, что позволяло сузить круг поиска до производителя устройства.
  3. Атаки на основе временных корреляций — если устройство использует одинаковый случайный адрес на протяжении нескольких минут или сессии, и наблюдатель зафиксирует его в разных точках пространства в течение этого времени, адрес может быть логически сцеплен.
  4. Атаки на основе дополнительных параметров — в пакетах Probe Request могут содержаться уникальные характеристики: мощность сигнала, поддерживаемые скорости, версии протоколов — всё это может быть использовано для fingerprinting устройства, даже если MAC-адрес случайный.
  5. Снижение производительности сети — некоторые модели Wi-Fi-контроллеров (особенно старые) неэффективно обрабатывают большое количество «новых» клиентов с незнакомыми MAC-адресами, что в редких случаях может приводить к временному снижению пропускной способности.

Будущее развитие

Технология продолжает совершенствоваться. Ожидается, что будущие реализации будут включать:

Источники

  1. IEEE Std 802.11-2020 (стандарт беспроводных локальных сетей, разделы по управлению доступом к среде).
  2. Android Open Source Project — документация по реализации рандомизации MAC-адресов (AOSP, структура Wi-Fi HAL).
  3. Apple Developer Documentation — руководство по настройке конфиденциальности для Wi-Fi (iOS 14+).
  4. Microsoft Docs — описание функции случайных аппаратных адресов в Windows 10.
  5. Отчеты по безопасности и конфиденциальности в публичных Wi-Fi-сетях (Электронный Frontier Foundation, 2020–2023).
  6. Стандарт IEEE 802.1X — аутентификация в локальных сетях (MAC-радиус).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →