Брешь Wi-Fi-протокола IEEE 802.11 выдаёт атакующим сетевой трафик

Брешь Wi-Fi-протокола IEEE 802.11 выдаёт атакующим сетевой трафик

Брешь Wi-Fi-протокола IEEE 802.11 выдаёт атакующим сетевой трафик

Исследователи выявили серьёзную уязвимость в основе Wi-Fi-протокола IEEE 802.11. С помощью этой бреши злоумышленники могут заставить точку доступа выдать сетевые фреймы в виде простого текста.

Фреймы Wi-Fi представляют собой контейнеры данных, состоящие из заголовка, полезной нагрузки и конечной части, в которую входят MAC-адрес, источник и местоназначения трафика и т. п.

Эти фреймы должны выстраиваться в очередь и выдаваться под контролем, чтобы избежать конфликтов и максимизировать производительность обмена данными. Как выяснили специалисты, выстроенные в очередь данные недостаточно защищены от условных злоумышленников.

В результате киберпреступники могут управлять передачей данных, проводить спуфинг, перенаправлять фреймы и захватывать сетевой трафик. Проведённый экспертами Северо-Восточного университета анализ показал, что этот вектор атаки затрагивает многие устройства и операционные системы (Linux, FreeBSD, iOS и Android).

Протокол IEEE 802.11 располагает механизмами энергосбережения, благодаря которым девайсы экономят электроэнергию. Это достигается путём буферизации и постановки в очередь фреймов, предназначенных для спящих устройств.

Если такое устройство переходит в спящий режим, оно отправляет точке доступа кадр с заголовком, в котором содержится бит энергосбережения. Однако есть проблема: стандарт не предусматривает явных указаний по управлению безопасностью фреймов в очереди.

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

Как правило, передаваемые фреймы шифруются с помощью специального ключа, который расшаривается всем устройствам в сети Wi-Fi, или с помощью парного ключа шифрования, уникального для каждого девайса.

Тем не менее киберпреступник может отправить точке доступа фреймы аутентификации и заставить её передать данные в виде открытого текста.

 

Технические детали выявленной уязвимости исследователи опубликовали в своём отчёте (PDF).

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru