Chrome 77 для Android включает изоляцию сайтов для страниц с паролями, усиливает защиту на настольных компьютерах

Для смягчения последствий уязвимостей Spectre, обнаруженных в прошлом году, Chrome внедрил изоляцию сайтов. В версии 77, вышедшей в прошлом месяце, браузер для Android получил аналогичные защиты, что и его десктопный аналог. Сегодня Google подробно рассказал об этой мере безопасности и будущих планах.

Изоляция сайтов отображает страницы в отдельных процессах, чтобы предотвратить кражу паролей, файлов cookie и других данных с открытых вкладок браузера вредоносными сайтами. На Android Google приходится учитывать ограничения телефонов по процессору, памяти и времени автономной работы.

В связи с этим «упрощенная форма изоляции сайтов» на мобильных устройствах защищает только страницы с высоким уровнем ценности, где пользователи входят в систему с использованием пароля. Банковские, торговые и другие конфиденциальные данные «отображаются в собственном выделенном процессе рендеринга, изолированном от других сайтов», в то время как менее критичные сайты могут использовать общие процессы.

Реклама — прокрутите вниз для получения дополнительной информации

Chrome имеет список мобильных сайтов, на которых учетные данные вводятся наиболее часто. Страницы, не подпадающие под действие этого каталога, собранного пользователями, добавляются после того, как браузер обнаруживает ввод пароля.

Переходы на другие сайты приведут к переключению процесса вкладки, а кросс-сайтовые iframe будут помещены в отдельный процесс, становясь «внепроцессными iframe». Chrome хранит список изолированных сайтов локально на устройстве и очищает его, когда пользователи очищают историю просмотров или другие данные сайтов.

По словам Google, изоляция сайтов — это «внутреннее архитектурное изменение, которое не должно повлиять на работу пользователей или разработчиков». Однако это влечет за собой влияние на производительность в виде «3%-5% общего дополнительного использования памяти при реальных сценариях использования».

Эта изоляция сайтов на основе паролей сегодня включена для 99% пользователей на устройствах Android с объемом оперативной памяти более 2 ГБ. Chrome позволяет включить «chrome://flags/#enable-site-per-process» для защиты всего просмотра, хотя и предупреждает о снижении производительности. Google подробно рассказал о предстоящих мобильных мерах, таких как предоставление веб-сайтам возможности подключаться к изоляции сайтов и дальнейшие оптимизации.

Тем временем Chrome 77 теперь защищает от «значительно более сильных атак» на настольных компьютерах:

Наш первоначальный запуск был направлен на атаки типа Spectre, которые могли привести к утечке любых данных из данного процесса рендеринга. Теперь изоляция сайтов может справляться даже с серьезными атаками, когда процесс рендеринга полностью скомпрометирован через ошибку безопасности, такую как ошибки повреждения памяти или ошибки логики универсального межсайтового скриптинга (UXSS).

Текущие меры включают:

  • Аутентификация: Доступ к файлам cookie и сохраненным паролям имеют только процессы, привязанные к соответствующему сайту.
  • Сетевые данные: Изоляция сайтов использует блокировку чтения межсайтового содержимого (Cross-Origin Read Blocking) для фильтрации конфиденциальных типов ресурсов (например, HTML, XML, JSON, PDF) из процесса, даже если этот процесс пытается обмануть сетевой стек Chrome относительно своего происхождения. Ресурсы, помеченные заголовком Cross-Origin-Resource-Policy, также защищены.
  • Хранилище данных и разрешения: Процессы рендеринга могут получать доступ к хранимым данным (например, localStorage) или разрешениям (например, микрофон) только на основе привязки процесса к сайту.
  • Межсайтовые сообщения: Процесс браузера Chrome может проверять исходное происхождение сообщений postMessage и BroadcastChannel, предотвращая ложь процесса рендеринга о том, кто отправил сообщение.