Стоит ли отключать изоляцию сайта в Google Chrome
Разное / / November 29, 2021
К настоящему времени вы наверняка слышали о Spectre, зловеще прозванной уязвимости безопасности, которая затрагивает почти все современные процессоры. И это правильно, поскольку уязвимость связана с гнусными приложениями и веб-сайтами, получающими доступ к данным из областей, в которых они действительно не должны. Специально для решения этой проблемы браузеры разработали различные механизмы безопасности, и одной из таких специфичных для Chrome реализаций является изоляция сайта.
Впервые представленная в Chrome v63 в качестве дополнительной функции безопасности, изоляция сайта теперь работает по умолчанию, начиная с версии 67. С технической точки зрения, он довольно хорошо справляется с отражением атак спекулятивного исполнения (на которых основан Spectre) благодаря изолированным процессам, которые он использует.
Но, как и все хорошее, это имеет свою цену, а точнее производительность. Итак, может ли отключение изоляции сайта улучшить работу Chrome? Стоит ли жертвовать безопасностью? Давайте разберемся.
Призрак и изоляция сайта
Как и любой другой браузер, Google Chrome позволяет открывать несколько веб-сайтов, используя разные вкладки. До внедрения Site Isolation вкладки использовались для совместного использования общих процессов, что имеет смысл, поскольку дублирование задач было бы пустой тратой системных ресурсов. Однако это идеальная ситуация для злонамеренной атаки, основанной на некорректной конструкции процессора - Spectre.
Современные микропроцессоры используют спекулятивное выполнение для предварительной загрузки данных из системной памяти в значительно более быстрый кэш процессора как средство повышения общей производительности. Однако это дает вредоносному коду уникальную возможность побудить ЦП загрузить конфиденциальные данные в свой кэш, используя общие процессы. Как только данные попадают в кэш ЦП, они остаются незащищенными (в отличие от системной памяти) и могут быть легко украдены.
Предположим, у вас открыто несколько вкладок - одна с вашим банковским счетом, а другая с каким-то случайным сайтом. Теоретически последний, при условии наличия злого умысла, может погрузиться в кэш ЦП, используемый бывшая вкладка, а затем загружать и читать информацию, начиная от данных для входа в систему и заканчивая криптографическими ключи.
Хотя довольно сложно представить себе такой инцидент из-за ограниченного кэша ЦП (который составляет лишь крошечную долю по сравнению с в системную память), вместо этого вредоносный код определяет, какие данные нужно украсть, сравнивая разницу между доступом к ЦП скорости. В конце концов, если что-то происходит быстрее, чем обычно, то это вызвано тем, что данные уже находятся в кеше ЦП по точным предположениям.
После обнаружения уязвимости Spectre, браузеры начали использовать различные обходные пути (например, таймеры с более низким разрешением для снижения точности определения скорости доступа к ЦП) для отражения целевых атак. Однако они не являются идеальным средством противодействия угрозам, основанным на Spectre, отсюда и причина изоляции сайта.
Изоляция сайта, как следует из названия, полностью изолирует вкладки друг от друга путем создания отдельных процессов для всех окон iframe (встроенных внешних ссылок), включая те, которые являются общими для других вкладок. Поскольку общие процессы играют большую роль в отслеживании вредоносного кода и считывании информации из на других вкладках, использование независимых процессов Site Isolation хорошо работает для смягчения таких уязвимости.
Если посмотреть на наш предыдущий пример, то при включенной изоляции сайта портал вашего банковского счета работает по совершенно другому процессу и не имеет ничего похожего на другую вкладку. Такая «изоляция» сводит к минимуму возможность кражи информации в случае взлома.
Повышенные накладные расходы на память
Поэтому вы должны задаться вопросом, влияет ли изоляция сайта на производительность из-за дополнительной системной памяти, используемой каждым независимым процессом - вкладкой браузера. В соответствии с Блог Google Online Security, реализация безопасности использует на 10-13% больше ОЗУ, чем если бы функция изначально не была активна.
Проверим, насколько точна эта цифра на практике. Если изоляция сайтов не включена, на снимке экрана ниже показаны несколько веб-сайтов, которые используют много похожих окон iframe. Только две вкладки имеют отдельные текущие задачи без независимых процессов для каких-либо окон iframe.
Примечание: Скриншоты отображаются с помощью встроенного диспетчера задач Chrome. Чтобы получить к нему доступ, откройте меню Chrome, выберите Дополнительные инструменты и щелкните Диспетчер задач.
Те же самые вкладки с включенной изоляцией сайта показаны на следующем снимке экрана. Как видите, количество дополнительных процессов значительно увеличилось из-за окон iframe, используемых каждым сайтом. Кроме того, аналогичные процессы делятся на две части, чтобы снизить вероятность успешной атаки спекулятивного исполнения. Если вы сделаете математику (без учета задач браузера и процесса графического процессора), оба сайта в конечном итоге будут использовать примерно на 33% больше памяти.
Использование памяти значительно выше заявленного Google. Однако считайте цифру на 10-13% больше долгосрочной средней. Сайты и даже отдельные веб-страницы различаются по количеству процессов и памяти, которые время от времени требуются. Следовательно, описанный выше сценарий можно рассматривать как выброс.
В любом случае изоляция сайта приводит к умеренному или, в данном случае, значительному увеличению накладных расходов памяти.
Безопасность vs. Представление
Отключение изоляции сайта действительно приводит к снижению использования памяти и, возможно, к повышению производительности на устройствах низкого уровня. Однако Chrome вполне специалист по управлению доступной памятью путем приостановки неиспользуемых вкладок. Учитывая, что использование памяти сильно различается от сайта к сайту, однозначного ответа нет. На устройствах с большим объемом системной памяти разница в производительности должна быть незначительной.
Но вот в чем загвоздка. Из-за реализации Site Isolation Chrome должен со временем отказаться от ранее существовавших мер противодействия атакам Spectre. Следовательно, его отключение приведет к еще большей уязвимости для злонамеренных атак.
Если взвесить эти два фактора, то потенциальные уязвимости, вызванные Spectre, в сочетании с постоянно растущим использованием личных данных, делают отключение изоляции сайта плохой идеей. Если вы не пользуетесь компьютером низкого уровня и не используете какие-либо личные данные, только тогда вам следует даже подумать об отключении этой жизненно важной функции безопасности.
Отключение изоляции сайта
Отключение изоляции сайта подвергает ваш компьютер серьезным угрозам безопасности. Однако, если вы хотите продолжить и отключить эту функцию, ниже приведены конкретные шаги для этого.
Предупреждение: С отключенной изоляцией сайта воздержитесь от использования личных данных о просмотре любого веб-сайта. То же самое касается хранения конфиденциальной информации в Chrome, например паролей.
Шаг 1: На новой вкладке введите chrome: // flags и нажмите Enter, чтобы получить доступ к экспериментальным флагам Chrome.
Шаг 2: Введите Site Isolation в строку поиска и нажмите Enter.
Шаг 3: Вы должны увидеть два флажка Chrome: «Строгая изоляция сайтов» и «Отказ от пробной версии изоляции сайтов».
- Установите для флага «Строгая изоляция сайта» значение «Отключено». На некоторых устройствах по умолчанию для этого параметра может быть установлено значение Отключено - в этом случае ничего не делайте.
- Установите для флага отказа от пробной версии Site Isolation значение Opt-Out (не рекомендуется).
Затем нажмите «Перезапустить сейчас», чтобы применить изменения.
Шаг 5: Изоляция сайта отключена. Чтобы проверить, введите chrome: // process-internals на новой вкладке и нажмите Enter.
Режим изоляции сайта должен читаться как Отключено для обозначения подтверждения. Чтобы включить изоляцию сайта позже, вернитесь и измените флаги на прежние, а затем перезапустите Chrome.
Нет, рисковать не стоит
Отключение критически важной функции безопасности Chrome, такой как изоляция сайта, для уменьшения использования памяти не является основанием. Особенно учитывая то, как каждый сайт по-разному использует память. Таким образом, не следует стремиться к любому незначительному увеличению производительности за счет потенциальной стоимости вашей личной информации. Если у вас проблемы с производительностью, вы всегда можете подумайте об использовании альтернативного браузера такие как Firefox Quantum, у которого гораздо меньше памяти по сравнению с Chrome, прежде чем делать что-либо опрометчивое.