Исследователи из Стэнфорда определили опасность телефонных метаданных

Исследователи из Стэнфорда определили опасность телефонных метаданных

Исследователи из Стэнфорда определили опасность телефонных метаданных

Исследователи из Стэнфордского университета продемонстрировали, что из метаданных телефонных звонков легко извлечь важную персональную информацию, и рекомендуют затруднить их получение и анализ. Метаданные телефонного звонка — это дата, время и продолжительность, а также номера его участников.

Считается, что подобная информация не заслуживает такой же серьёзной защиты, как само содержание разговора. В США правоохранительным органам и спецслужбам куда проще получить доступ к метаданным подозреваемого, чем разрешение на прослушивание телефона.

Исследователи из Стэнфорда решили проверить, в самом ли деле метаданные столь безобидны. Для этого они разработали мобильное приложение, которое извлекает и отправляет им хранящиеся в телефоне метаданные. Его установили более 800 добровольцев. В результате в распоряжении учёных оказались сведения о 250 тысячах телефонных звонков и 1,2 миллионах текстовых сообщений, сообщает xakep.ru.

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

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

Исследователи также обращают внимание, что метаданные одного подозреваемого тянут за собой метаданные неожиданно большого количества людей и организаций. Спецслужбы нередко запрашивают разрешение на изучение метаданных не только подозреваемого, но и абонентов на расстоянии двух «прыжков» от него. Иными словами, всех, кто общался с подозреваемым, и всех, кто общался с теми, кто общался с подозреваемым. На первый взгляд, подобные требования резонны, но эксперимент показывает, что таким образом за одним подозреваемым потянутся метаданные примерно 25 тысяч абонентов. Большинство из них заведомо непричастны к расследуемому преступлению.

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