Новая атака «SpookJS» умеет обходить изоляцию сайтов Google Chrome

14 сентября 2021 г. 10:09
 13643

Обнаружена атака, преодолевающая «изоляцию сайтов», встроенной в браузеры Google Chrome и Chromium.

Недавно обнаруженная атака, продемонстрированная на современных процессорах, может быть использована для успешного преодоления «изоляции сайтов», встроенной в браузеры Google Chrome и Chromium, и организации утечки конфиденциальных данных в ходе атаки вида «speculative execution» в стиле Spectre.

Метод под названием «Spook.js», обнаруженный учеными из Мичиганского университета, Университета Аделаиды, Технологического института Джорджии и Тель-Авивского университета, этот метод представляет собой атаку на основе JavaScript, специально направленную на обход защиты Google.  Изоляция сайтов была внедрена в браузеры от Google после того как в январе 2018 года стало известно об уязвимостях Spectre и Meltdown, и потенциально предотвращает утечку данных гарантируя, что контент из разных доменов не будет находиться в одном адресном пространстве.

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

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

Уязвимость Spectre, отслеживаемая как CVE-2017-5753 и CVE-2017-5715, относится к классу аппаратных уязвимостей в процессорах и нарушает изоляцию между различными приложениями, что позволяет злоумышленникам заставить программу получить доступ к произвольным областям, связанным с ее пространством памяти, и злоупотребить этим доступом чтобы прочитать содержимое доступной памяти и таким образом потенциально получить конфиденциальные данные.

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

***Тут встроенное видео https://www.youtube.com/watch?v=yz_s4k1zGwA

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

Однако авторы последнего исследования обнаружили сценарии, в которых изоляция сайтов не разделяет два веб-сайта,. Spook.js использует этот баг, что приводит к утечке информации из браузеров Chrome и Chromium, работающих на процессорах Intel, AMD и Apple M1.

«Chrome будет разделять «example.com» и «example.net» из-за разных доменов верхнего уровня, а также «example.com» и «attacker.com» - пояснили исследователи. «Однако «attacker.example.com» и «corporate.example.com» могут использовать один и тот же процесс, и это позволяет страницам, размещенным на «attacker.example.com», потенциально извлекать информацию со страниц на «corporate.example.com».

«Spook.js показывает, что контрмер Google недостаточно для того, чтобы защитить пользователей от атак спекулятивного выполнения в браузере» - добавили исследователи. При этом, как и в случае с другими вариантами Spectre, эксплуатация Spook.js затруднена и требует от злоумышленника значительного опыта работы с побочными каналами.

***Тут встроенное видео https://www.youtube.com/watch?v=bP9Hquj5PH4

В ответ на эти выводы команда Chrome Security Team в июле 2021 года расширила функционал изоляции сайтов, чтобы «расширения больше не могли обмениваться процессами друг с другом», а также применила их к «сайтам, на которые пользователи входят через сторонних провайдеров». Новая настройка, названная «Strict Extension Isolation», включена в Chrome версии 92 и выше.

«Веб-разработчики могут немедленно отделить ненадежный пользовательский JavaScript-код от всего остального содержимого своего сайта, разместив весь пользовательский JavaScript-код на домене с другим eTLD+1» - сообщают исследователи. «Таким образом, Strict Site Isolation не объединит код, предоставленный злоумышленником, с потенциально конфиденциальными данными в одном процессе, что сделает данные недоступными даже для Spook.js, поскольку они не могут пересекать границы процессов».

Источник: https://thehackernews.com

Системы Информационной Безопасности