Усиление изоляции между сайтами в Chrome
18 октября 2019 года
Компания Google объявила об усилении в Chrome режима межсайтовой изоляции, обеспечивающего обработку страниц с разных сайтов в отдельных изолированных процессах. Режим изоляции на уровне сайтов позволяет обезопасить пользователя от атак, которые могут быть совершены через используемые на сайте сторонние блоки, такие как iframe-вставки, или для блокирования утечки данных через встраивание легитимных блоков (например, с запросами к банковским сервисам, на которых может быть аутентифицирован пользователь) на вредоносных сайтах.
При разделении обработчиков в привязке к домену, в каждом процессе находятся данные только одного сайта, что затрудняет совершение атак, направленных на межсайтовый захват данных. В настольных версиях Chrome разделение обработчиков в привязке к домену, а не вкладке, реализовано начиная с Chrome 67. В Chrome 77 подобный режим был активирован и для платформы Android.
Для снижения накладных расходов режим изоляции сайтов в Android включается только если на странице зафиксирован вход при помощи пароля. Chrome запоминает факт использования пароля и включает защиту и для всех дальнейших обращений к сайту. Защита также применяется сразу для избранного списка предопределённых сайтов, популярных среди пользователей мобильных устройств. Выборочный метод активации и добавленные оптимизации позволили удержать рост потребления памяти из-за увеличения числа работающих процессов в среднем на уровне 3-5%, вместо 10-13%, наблюдаемых при активации изоляции для всех сайтов.
Новый режим изоляции активирован для 99% пользователей Chrome 77 на Android-устройствах, снабжённых как минимум 2 Гб ОЗУ (для 1% пользователей режим остался отключённым для мониторинга за производительностью). Включить или отключить режим изоляции сайтов вручную можно через настройку "chrome://flags/#enable-site-per-process".
В настольной редакции Chrome вышеотмеченный режим изоляции сайтов теперь усилен для противостояния атакам, нацеленным на полную компрометацию процесса с обработчиком контента. Улучшенный режим изоляции позволит защитить данные сайтов от двух дополнительных видов угроз: утечек данных в результате атак по сторонним каналам, таких как Spectre, и утечек после полной компрометации процесса-обработчика при успешной эксплуатации уязвимостей, позволяющих получить контроль над процессом, но не достаточных для обхода sandbox-изоляции. В Chrome для Android подобная защита будет добавлена позднее.
Суть метода в том, что управляющий процесс запоминает к какому сайту рабочий процесс имеет доступ и запрещает обращение к другим сайтам, даже если атакующий получит контроль над процессом и попытается получить доступ к ресурсам другого сайта. Ограничения охватывают ресурсы, связанные с аутентификацией (сохранённые пароли и Cookie), загружаемыми напрямую по сети данными (фильтруются и привязываются в текущему сайту HTML, XML, JSON, PDF и прочие типы файлов), данными во внутренних хранилищах (localStorage), полномочиями (выданные сайту разрешения доступа к микрофону и т.п.) и сообщениями, передаваемыми через API postMessage и BroadcastChannel. Все подобные ресурсы связываются меткой с исходным сайтом и проверяются на стороне управляющего процесса на предмет возможности передачи по запросу из рабочего процесса.
Из связанных с Chrome событий также можно отметить начало утверждения включения в Chrome поддержки функции Scroll-To-Text, дающей возможность формировать ссылки на отдельные слова или фразы, без явного указания в документе меток при помощи тега "a name" или свойства "id". Синтаксис подобных ссылок планируется утвердить в качестве web-стандарта, который пока находится на стадии черновика. Маска для перехода (по сути выполняется поиск с прокруткой) отделяется от обычного якоря признаком ":~:". Например, при открытии ссылки "https://opennet.ru/51702/#:~:text=Chromе" страница сдвинется на позицию с первым упоминанием слова "Chromе" и данное слово будет подсвечено. Возможность добавлена в ветку Canary, но для включения требует запуска с флагом "--enable-blink-features=TextFragmentIdentifiers".
Другим интересным предстоящим изменением в Chrome является возможность заморозки неактивных вкладок, позволяющая автоматически выгрузить из памяти вкладки, которые находятся в фоновом состоянии более 5 минут и не выполняют имеющих значение действий. Решение о пригодности той или иной вкладки для заморозки принимаются на основе эвристики. Изменение добавлено в ветку Canary, на базе которой будет сформирован выпуск Chrome 79, и включается через флаг "chrome://flags/#proactive-tab-freeze".
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.