Google объявил об усилении «Изоляции сайтов» в Chrome, который позволяет обрабатывать страницы с разных сайтов в отдельные изолированные процессы. Режим изоляции на уровне сайта позволяет защитить пользователя от атак которые могут выполняться через сторонние блоки, используемые на сайте, например вставки iframe, или блокировать утечку данных путем встраивания законных блоков на вредоносные сайты.
Когда контроллеры разделены по отношению к домену, в каждом процессе обнаруживаются данные только об одном сайте, Это затрудняет проведение атак, направленных на перехват данных между сайтами. В настольных версиях Chrome разделение контроллеров на ссылку на домен, а не на вкладку, было реализовано с Chrome 67. В Chrome 77 аналогичный режим был активирован для платформы Android.
Чтобы уменьшить перегрузку, Режим изоляции сайта на Android включается только в том случае, если страница заблокирована паролем.
Chrome запоминает использование пароля и включает защиту для всех последующих посещений сайта. Защита также немедленно применяется к выбранному списку заранее определенных сайтов, популярных среди пользователей мобильных устройств.
Метод выборочной активации и дополнительные оптимизации позволили сохранить рост потребления памяти за счет увеличения количества запущенных процессов в среднем на 3-5% вместо 10-13%, наблюдаемых при активации изоляции для всех сайтов.
Изоляция сайтов в Chrome для повышения безопасности
В настольной версии Chrome упомянутый режим изоляции сайта теперь усилен для противодействия атакам, направленным на полную компрометацию процесса содержимого.
Улучшенный режим изоляции защитит данные сайта от двух дополнительных типов угроз: fутечки данных в результате атак через сторонние каналы, такие как Spectre и утечки после полной обработки процесса путем успешного использования уязвимостей, которые позволяют получить контроль над процессом, но недостаточно для обхода изоляции песочницы. В Chrome для Android эта защита будет добавлена позже.
Суть метода заключается в том, что процесс управления запоминает, к какому сайту рабочий процесс имеет доступ, и запрещает доступ к другим сайтам, даже если злоумышленник получает контроль над процессом и пытается получить доступ к ресурсам на другом сайте.
Ограничения распространяются на ресурсы, связанные с аутентификацией. (сохраненные пароли и файлы cookie), данные, загруженные непосредственно через сеть (отфильтрованные и связанные с текущим сайтом HTML, XML, JSON, PDF и другие типы файлов), данные во внутренних хранилищах (localStorage), разрешения (выданные сайтом микрофона разрешение на доступ и т. д.) и сообщения, передаваемые через API postMessage и BroadcastChannel.
Все эти ресурсы связаны тегом с сайтом происхождения и проверяются на стороне процесса управления на возможность передачи по запросу из рабочего процесса.
Из событий, связанных с Chrome, мы также можем наблюдать начало объявления что Chrome будет поддерживать прокрутку до поддержки текста, позволяя связывать отдельные слова или фразы без явной пометки документа с помощью тега «имя» или свойства «id». Синтаксис этих ссылок планируется утвердить в качестве веб-стандарта, который все еще находится на стадии разработки.
Еще одно интересное предстоящее изменение в Chrome - возможность замораживать неактивные вкладки, позволяя вам автоматически загружать из памяти вкладки, которые находятся в фоновом режиме более 5 минут, и не предпринимать никаких существенных действий.
Как активировать изоляцию сайта в Chrome?
Новый режим изоляции активируется для 99% пользователей Chrome 77, а также на устройствах Android оснащен как минимум 2 ГБ ОЗУ (для 1% пользователей режим остается отключенным для отслеживания производительности).
Для тех, кто заинтересован в этом, вы можете включить или даже отключить эту функцию вручную через настройки "Chrome: // flags / # enable-site-per-process".