"Бессмертные" файлы cookie угрожают конфиденциальности

"Бессмертные" файлы cookie угрожают конфиденциальности

Пользователи Сети, озабоченные проблемами конфиденциальности, получили новый повод для беспокойства. Не успели утихнуть дебаты о так называемых flash cookies, которые позволяют восстанавливать обычные файлы cookie, как выяснилось, что это - лишь верхушка айсберга, а "под водой" скрывается технология, позволяющая создавать и использовать еще более устойчивый к удалению тип аутентификационных файлов.



Новый вариант, получивший название "evercookies" (т.е. вечные файлы cookie), сопровождается, как правило, еще и эпитетом "неуязвимые". Все это отражает исключительную трудность уничтожения подобных объектов аутентификации. Технология "вечных cookie" использует восемь различных приемов обработки и восемь же точек операционной системы для их хранения. Идентифицирующие пользователя данные скрываются в истории просмотренных страниц, в хранилище сеансов HTML5 и даже в цветовых кодах автоматически генерируемых и сохраняемых в кэше PNG-файлов (для чтения записанных подобным образом сведений применяется тэг HTML5 "Canvas"); задействуются и flash cookies, и обычные аутентификационные файлы. Если хотя бы один из восьми элементов сохранится при чистке, то можно будет восстановить и все остальные.


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


Разработчик Сами Камкар объяснил, что технология "вечных cookie" создана с целью обеспечить устойчивость и неустранимость аутентификационных сведений. Так как несколько копий одних и тех же данных хранятся в совершенно разных местах, в случае потери некоторых элементов (скажем, при традиционной очистке cookies) информацию можно восстановить и использовать вновь. Иными словами, избавиться от таких файлов аутентификации почти невозможно, или, во всяком случае, довольно трудно.


Г-н Камкар, однако, заявил, что функционал Private Browsing в обозревателе Safari защищает от всех методов установки и обработки "вечных cookie". Сопротивляемость других браузеров он пока не изучал.

" />

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