Spook.js – атака на базе JavaScript, направленная на обход реализованных Google механизмов защиты от уязвимостей Spectre.
Новая Spectre-подобная атака по сторонним каналам на современные процессоры позволяет успешно обходить изоляцию сайтов (функцию безопасности, реализованную в Google Chrome и других браузерах на базе Chromium) и похищать чувствительные данные.
Атака, получившая название Spook.js, была разработана группой ученых Мичиганского университета, Технологического института Джорджии (США), Университета Аделаиды (Австралия) и Тель-Авивского университета (Израиль).
Spook.js представляет собой метод атаки на базе JavaScript, специально направленный на обход механизмов защиты, реализованных Google после обнаружения уязвимостей Spectre и Meltdown в январе 2018 года. Эти механизмы предотвращают потенциальные утечки, гарантируя, что контент разных доменов не будет совместно использоваться в одном и том же адресном пространстве.
По словам исследователей, подконтрольные злоумышленникам web-страницы могут знать, какие другие страницы этого же сайта просматривает пользователь, извлекать из них чувствительную информацию и даже восстанавливать учетные данные, если они были введены с помощью функции автоматического заполнения. Если пользователь установил вредоносное расширение для Chrome, то злоумышленники могут извлекать данные и из него. Как следствие, хакеры могут выводить любые хранящиеся в памяти сайта данные или извлекать их из вредоносного расширения.
Spectre (CVE-2017-5753 и CVE-2017-5715) – название класса аппаратных уязвимостей в центральных процессорах, «ломающего» изоляцию между приложениями. Уязвимости позволяют злоумышленникам заставлять программу получать доступ к произвольным участкам, связанным с выделенной ей областью памяти, читать содержимое этих участков памяти и потенциально похищать чувствительные данные.
В июле 2018 года компания Google реализовала в Chrome программные контрмеры для защиты от атак Spectre в виде изоляции сайтов. С включенной изоляцией сайтов Chrome 67 и более поздние версии загружают каждый сайт в своем отдельном процессе и тем самым предотвращают атаки между процессами, а значит, и между сайтами.
Однако недавно специалисты обнаружили сценарии, при которых изоляция сайтов не разделяет два сайта и делает возможной Spectre-подобную атаку 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'», - сообщили исследователи.
В ответ на исследование в июле 2021 года команда безопасности Chrome расширила изоляцию сайтов таким образом, чтобы «расширения больше не могли иметь общие процессы». Новая настройка Strict Extension Isolation активирована в Chrome 92 и более поздних версиях.
Гравитация научных фактов сильнее, чем вы думаете