Браузеры полагаются на концепцию origin для предотвращения явной утечки данных между сайтами. Но существуют атаки по сторонним каналам, которые могут обойти ограничения браузера и прочитать любые пользовательские данные любых сайтов. Например, с помощью атаки Spectre можно было читать данные сайтов-соседей, которые попадали в один браузерный процесс. Для этого небезопасный сайт
example.com мог добавить на страницу ресурс другого сайта ( <img src="https://email.com/user_emails.json" /> ) и получить доступ к его содержимому через единое адресное пространство памяти процесса. Чтобы предотвратить Spectre, браузеры по умолчанию отключили небезопасные API и включают их лишь только для тех сайтов, которые можно изолировать между разными процессами (Site Isolation).Для предотвращения атак подобного типа можно использовать другие методы, даже если браузер не поддерживает Site Isolation:
— Ограничение ответов со стороны сервера на основе анализа HTTP-заголовков
Sec-Fetch-*,— Ограничение возможности загружать ресурс как подресурс (то есть как в примере с
img выше) с помощью cross-origin-resource-policy (CORP),— Предотвращение загрузки документа в iframe'ах с помощью
X-Frame-Options: SAMEORIGIN и CSP-политик,— Ограничение доступа к window opener'а с помощью
Cross-Origin-Opener-Policy (COOP),— Предотвращение атак MIME-type confusion с помощью
X-Content-Type-Options: nosniff и установки корректных заголовков Content-Type.#security
https://blog.chromium.org/2021/03/mitigating-side-channel-attacks.html