Открыть сервис

Site Isolation

Site Isolation — это технология безопасности веб-браузеров, реализованная в Chromium и основанных на нём браузерах (Google Chrome, Microsoft Edge, Opera, Яндекс Браузер и другие), которая изолирует процессы рендеринга для каждого отдельного сайта. В отличие от более ранних моделей, где все вкладки могли разделять один процесс, Site Isolation гарантирует, что документы из разных доменов (сайтов) никогда не окажутся в одном и том же процессе рендеринга. Это создаёт дополнительный барьер против атак, направленных на кражу данных или перехват управления вкладкой.

Предпосылки и история

До появления Site Isolation браузеры на базе Chromium использовали модель многопроцессности, при которой процесс рендеринга выделялся для вкладки или группы вкладок. Это означало, что вредоносный код, исполняемый на одном сайте, теоретически мог получить доступ к памяти процесса, где находились данные другого сайта, открытого в соседней вкладке. Основной угрозой являлись атаки класса Spectre и Meltdown, использующие спекулятивное исполнение команд процессора для чтения произвольных участков памяти через побочные каналы.

Разработка технологии началась в Google в 2016 году, а первая полноценная реализация была включена по умолчанию в Chrome 63 (декабрь 2017 года) для настольных платформ. Изначально функция распространялась только на сайты, где пользователь вводил пароли или данные банковских карт, однако позже была расширена на все сайты. В 2018 году Site Isolation стала доступна для Android-версии Chrome, но с ограничениями из-за аппаратных ресурсов мобильных устройств.

Архитектура и принцип работы

Основой Site Isolation является строгое сопоставление «сайт — процесс». Сайт определяется по схеме «схема + регистрируемый домен» (например, https://example.com`). Каждый такой сайт получает собственный изолированный процесс рендеринга. Если на странице есть встроенные фреймы (iframe) с других сайтов, для них также создаются отдельные процессы, а коммуникация между ними осуществляется через специальный механизм межпроцессного взаимодействия (IPC) с проверкой прав доступа.

Уровни изоляции

Технология предусматривает несколько уровней строгости:

  • Стандартная изоляция — применяется ко всем сайтам, гарантирует отсутствие общего процесса для разных доменов.
  • Строгая изоляция (Strict Site Isolation) — дополнительно изолирует даже поддомены одного и того же домена. Эта опция доступна пользователям в настройках браузера (флаг #strict-site-isolation), но по умолчанию отключена, так как увеличивает потребление памяти.
  • Изоляция для расширений — процессы для расширений браузера также отделены от процессов сайтов, что предотвращает вмешательство в отображение страниц.

Преимущества и недостатки

Безопасность

Главное преимущество Site Isolation — значительное снижение риска утечки данных через уязвимости процессора (Spectre) или ошибки в коде рендеринга. Даже если злоумышленнику удастся выполнить произвольный код в процессе рендеринга, он не сможет прочитать данные других сайтов, так как их просто нет в памяти этого процесса. Дополнительно технология затрудняет эксплуатацию уязвимостей класса «use-after-free» и ограничивает возможности межсайтового скриптинга (XSS).

Производительность

Основным недостатком является повышенное потребление оперативной памяти. Каждый сайт требует отдельного процесса, что увеличивает накладные расходы на дублирование структур данных и библиотек. По оценкам Google, в среднем потребление памяти возрастает на 10–15%. Для систем с ограниченным объёмом ОЗУ это может приводить к замедлению работы, особенно при большом количестве открытых вкладок. Для смягчения этого эффекта браузеры используют механизмы дедупликации памяти и агрессивную выгрузку неактивных вкладок.

Применение и развитие

Site Isolation стала стандартом де-факто для современных браузеров на базе Chromium. В Firefox аналогичная технология называется Project Fission и была включена по умолчанию в Firefox 95 (2021 год). Safari также использует схожий механизм, но с менее строгой моделью изоляции.

В 2021 году Google представила расширение концепции — Memory Saver и Energy Saver, которые работают совместно с Site Isolation для балансировки между безопасностью и производительностью. Кроме того, технология легла в основу изоляции веб-контента в приложениях на базе Electron, где она используется для защиты от атак через встроенные веб-компоненты.

Критика

Основная критика Site Isolation связана с ростом потребления памяти, что особенно заметно на маломощных устройствах. Некоторые эксперты отмечают, что технология не решает проблему полностью: изоляция не защищает от атак, использующих уязвимости самого процесса браузера (например, в GPU-компоненте), и не предотвращает фишинговые атаки, которые манипулируют пользователем, а не памятью. Также высказывались опасения, что строгая изоляция может нарушать работу легитимных сценариев, использующих кросс-доменное взаимодействие, однако браузеры предоставляют механизмы для обхода ограничений через postMessage и WebSocket.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →