Google добавил функцию изоляции сайтов в Chrome для Android

2019-10-18 2321 комментарии
Компания Google предложила технологию изоляции сайтов пользователям мобильного браузера Chrome для Android. А изоляция сайтов для настольных систем теперь позволяет защитить пользователей от большего количества типов эксплойтов

Google добавил функцию изоляции сайтов в Chrome для Android

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

Более того, функция изоляции сайтов, которая стала доступна пользователям браузера Chrome для настольных систем в июле 2018, теперь будет работать в Windows, Mac, Linux и Chrome OS и предложит защиту от большего числа атак, а не только от первоначальных уязвимостей Meltdown и Spectre.

Что такое изоляция сайтов?

Изоляция сайтов — функция безопасности Chrome, предназначенная для изоляции веб-сайтов друг от друга. Это нужно для того, чтобы вредоносный код, запущенный на одном сайте, не мог украсть данные с других сайтов и открытых вкладок.

Изоляция сайтов организует дополнительный уровень защиты наряду с Same Origin Policy (SOP), функцией, которая блокирует доступ сайтов к данным друг друга. Google разработал технологию изоляции сайтов, потому что ошибки браузера позволяли обходить защитные механизмы SOP и воровать пользовательские данные, сохраненные в браузере другими веб-ресурсами.

Инженеры Chrome приступили к созданию функции изоляции сайтов в 2017 году. Публичное развертывание стартовало в мае 2018 года, но проходило поэтапно. Уже к июлю 2018 более 99% пользователей Chrome получили данную функцию.

Внедрение новой функции было очень актуальным из-за обнаружения в современных процессоров уязвимостей спекулятивного исполнения побочного канала типа Meltdown и Spectre. Уязвимости были обнаружены в начале 2018 года и позволяли злоумышленниками преодолевать архитектурные барьеры между приложениями для кражи данных из Chrome.

Хотя изоляция сайтов никогда не предназначалась для исправления ошибок процессора, она действительно решала многие проблемы безопасности. Именно по этой причине Google решил внедрить данную функцию несмотря на то, что компании пришлось отклониться от первоначальной концепции.

Инженерные команды Google продолжали работать над изоляцией сайтов после июля 2018 года. 17 октября компания Google объявила о двух основных разработках, а также о будущих планах по развитию этого механизма безопасности.

Изоляция сайтов доступна некоторым пользователям Android

Одна из этих разработок связана с доступностью изоляции сайтов пользователям Android-устройств.

Google рассказал, что изоляция сайтов включена для 99% пользователей Chrome для Android, устройства которых имеют ОЗУ объемом 2 Гб или более.

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

Изоляция сайтов была добавлена в Chrome для Android 77, выпущенном в сентябре. Если вы перешли на новую версию, а ваш смартфон имеет более 2 гигабайт оперативной памяти, то вы получили новую функцию.

Google предупреждает, что использование функции изоляции сайта приведет к увеличению использования ОЗУ на 3-5%.

Если ваше устройство имеет меньший объем памяти, или вы хотите использовать изоляцию сайтов абсолютно на всех сайтах, то откройте страницу chrome://flags/#enable-site-per-process и установите значение Enabled для параметра Strict Site Isolation. Google заявляет, что в этом случае вы можете столкнуться с еще большей нагрузкой на ОЗУ.

chrome://flags/#enable-site-per-process

Расширенная защита для настольных систем

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

Инженеры Google рассказали:

Наш первоначальный запуск был направлен на предотвращение атак типа Spectre, которые могли перехватывать данные из процесса рендеринга.

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

Ошибки памяти и уязвимости UXSS активно эксплуатировались в прошлом. Злоумышленники размещали вредоносный код на сайтах, использующих эти типы уязвимостей. Когда пользователь обращался к вредоносному сайту, срабатывал код эксплойта и извлекались данные с других сайтов, которые были сохранены в Chrome.

Теперь, благодаря усилению изоляции сайтов, Google утверждает, что данные виды атак будут безуспешными, потому что данные каждого сайта, в том числе файлы cookie и пароли, заблокированы и перемещены в отдельный процесс Chrome.

Ошибки памяти и UXSS, которые использовались для обхода SOP, больше неэффективны. Если хакеры захотят украсть данные браузера, им понадобятся эксплойты, которые могут выйти за пределы песочницы Chrome и перейти к другому системному процессу.

Кроме того, изоляция сайта теперь предотвращает доступ к большему количеству типов данных, а не только к паролям и файлам cookie. Google обещает защитить от вредоносного кода с помощью изоляции сайтов следующие категории пользовательских данных:

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

Планы на будущее

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

Реализовать в Chrome такое пока невозможно и-за внутренней архитектуры браузера. В будущем все может измениться.

Google поделился своими планами по развитию функции изоляции сайтов:

  • Адаптация защит под Chrome для Android. Требуется дополнительная работа для проработки случаев, когда изолированы только определенные сайты.
  • Усиление CSRF защиты. Заголовки запросов Sec-Fetch-Site и Origin могут дополнительно проверяться, чтобы предотвратить их подделку скомпрометированными процессами рендеринга.
  • Защита большего количества типов данных. Google исследует, как защитить дополнительные типы данных с помощью блокировки чтения из разных источников.
  • Избавление от исключений. Инженеры работают над устранением случаев, когда средства защиты могут не сработать. Например, некоторые расширения до сих пор поддерживают широкий межсайтовый доступ из скриптов сайта. С авторами расширений ведется работа, чтобы снизить количество уязвимых пользователей Chrome с 14% до 2%, а также решить другие проблемы безопасности расширений. Кроме того, изоляция сайта не применяется к технологии Flash, которая в настоящее время отключена по умолчанию.

По материалам ZDNet

© .

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества