Ошибка на сайте LocationSmart позволяла отследить абонентов в США

Ошибка на сайте LocationSmart позволяла отследить абонентов в США

Ошибка на сайте LocationSmart позволяла отследить абонентов в США

Компания, собирающая по всей Северной Америке данные о местоположении абонентов сотовой сети в реальном времени, обнаружила на своем сайте недостаток, который позволял любому увидеть, где находится тот или иной человек.

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

На сайте LocationSmart есть опция «try-before-you-buy» («попробуйте, прежде чем купить»), которая позволяет проверить свое местоположение, используя сервис компании. Для осуществления такой операции требуется согласие пользователя и соответствующее подтверждение от него — на телефон приходит одноразовый пароль.

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

«Это элементарнейший баг, используя который вы можете пропустить все механизмы, обеспечивающие конфиденциальность, и сразу приступить к отслеживанию местоположения», — объясняют эксперты. — «Похоже, что LocationSmart никогда особо не заботила конфиденциальность данных абонентов совой связи».

Самое страшное, что ошибка могла раскрыть данные геолокации каждого абонента сотовой сети в США и Канаде, коих около 200 миллионов.

Несколько дней назад стало известно, что четыре крупнейших сотовых оператора США продают данные о местоположении своих клиентов в реальном времени компании Securus, о которой вы, скорее всего, никогда не слышали. Сообщается, что Федеральная комиссия по связи (FCC) проверит, почему AT&T, Verizon, T-Mobile и Sprint через посредника LocationSmart продавали чувствительную информацию клиентов.

Специалисты раскрутили цепочку и выяснили, что LocationSmart получила данные о местоположении миллионов американцев в реальном времени, чему поспособствовали американские сотовые операторы.

Расширения 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