Компания Mozilla представила режим строкой изоляции сайтов для Firefox
18 мая 2021 года
Компания Mozilla объявила о начале массового тестирования в ночных сборках и бета-выпусках Firefox режима строгой изоляции сайтов, развивавшегося в рамках проекта Fission. Режим расширяет применение многопроцессной архитектуры - вместо фиксированного пула процессов, в отдельный процесс выносится обработка каждого сайта. Управление включением режима Fission осуществляется через переменную "fission.autostart=true" в about:config или на странице about:preferences#experimental.
Напомним, что применяемая в Firefox до настоящего времени многопроцессная модель подразумевала запуск пула процессов-обработчиков: по умолчанию 8 основных процессов для обработки контента, 2 дополнительных непривилегированных процесса для web-контента и 4 вспомогательных процесса для дополнений, взаимодействия с GPU, сетевых операций и декодирования мультимедийных данных. Распределение вкладок по процессам производилось произвольно, например, в одном процессе могла оказаться обработка сайта банка и не заслуживающего доверия сомнительного ресурса.
Новый режим выносит в отдельный процесс обработку каждого сайта с разделением не по вкладкам, а по доменам, что позволяет дополнительно изолировать содержимое внешних скриптов и iframe-блоков. Для раздельной обработки поддоменов типовых сервисов, связанных с разными сайтами, применяется разделение не по формальным, а по фактическим (eTLD) доменам верхнего уровня, отмеченным в списке Public Suffix (т.е. сайты "a.github.io" и "b.github.io" будут вынесены в разные процессы).
Режим строгой изоляции позволяет защититься от атак по сторонним каналам, например, связанными с уязвимостями класса Spectre, приводящими к утечке информации внутри одного процесса. Утечка обрабатываемых в том же процессе конфиденциальных данных возможна при выполнении не заслуживающего доверия внешнего кода в движках с JIT и в виртуальных машинах. В контексте web-браузеров вредоносный JavaScript-код с одного сайта может получить сведения о паролях, ключах доступа и номерах кредитных карт, введённых на другом сайте, обрабатываемом в том же процессе. Первоначально для защиты от атак по сторонним каналам разработчики браузеров ограничили точность таймера и блокировали доступ к API SharedArrayBuffer, но данные меры лишь усложняли и замедляли проведение атаки (например, недавно был предложен метод извлечения данных из кэша CPU, работающий вообще без JavaScript).
Из других достоинств режима строгой изоляции упоминается снижение фрагментации памяти, более эффективное возвращение памяти операционной системе, минимизация влияния сборки мусора и интенсивных вычислений на страницы в других процессах, повышение эффективности распределения нагрузки на разные ядра CPU, повышение стабильности (крах процесса, обрабатывающего iframe, не потянет за собой основной сайт и другие вкладки).
Среди известных проблем, возникающих при использовании Fission, отмечается заметное увеличение потребления памяти, соединений X11 и файловых дескриптров при открытии большого числа вкладок, а также нарушение работы некоторых дополнений, пропадание содержимого iframe при печати и вызове функции записи скриншота, снижение эффективности кэширования документов с iframe, потеря содержимого заполненных, но не отправленных форм при восстановлении сеанса после краха.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.