Security Week 38: кража данных из браузера с помощью Spectre v1

Security Week 38: кража данных из браузера с помощью Spectre v1
10 сентября исследователи из США, Австралии и Израиля опубликовали научную работу , в которой показали реалистичную атаку Spook.js на пользователя при помощи уязвимости Spectre. В исследовании они задействовали уязвимость первого типа, обнаруженную в 2018 году. С тех пор Spectre несколько раз использовалась для демонстрационных атак, но все они ограничивались простой утечкой каких-либо данных (например, концепт leaky.page компании Google).

3ad1ccb028611119ff35b1ecf478cb03.png
Spook.js, как и leaky.page, представляет собой атаку на браузер Google Chrome, но в отличие от PoC моделирует реальные сценарии: кражу пароля от сервиса Tumblr, хищение данных из расширения Lastpass. Хотя в Google Chrome именно для борьбы с уязвимостями Spectre была внедрена изоляция процессов для обработки отдельных веб-страниц, исследователи выяснили, что ее недостаточно. Открытые вкладки с одного домена группируются в общий процесс браузера, открывая возможность проведения атаки по модели Spectre v1 — путем тренировки системы предсказания ветвлений и последующего извлечения секретов из кэш-памяти процессора.


Атака на сервис Tumblr показана на видео выше. Tumblr — коллективный блог, загрузить на который вредоносный код Javascript вполне возможно. Сценарий атаки следующий: пользователь открывает «зараженный блог», а в соседней вкладке пытается залогиниться в собственную учетную запись Tumblr. Пароль сохранен в браузере и автоматически подставляется в поле для ввода. Вредоносный скрипт на вкладке с зараженной страницей способен прочитать этот пароль из кэш-памяти. Proof of Concept (не привязанный к Tumblr) выложен на Github.




Для кражи паролей из Lastpass исследователи продемонстрировали другой метод — было создано вредоносное расширение, хотя и кража подставляемых автоматически паролей тоже возможна. Как выяснилось, в некоторых случаях расширения Google Chrome также группируются в один процесс. Помимо паролей, была также продемонстрирована кража сохраненной в Lastpass платежной информации.
82cec9374de8fee572be85bfe031309a.jpeg
Еще один эксперимент хорошо показывает ограничения атаки Spectre: крайне медленное чтение данных с помощью атаки по сторонним каналам и не стопроцентная точность чтения. Для этого эксперимента вредоносный код был загружен на хостинг Google Sites. В соседней вкладке пользователь отправлял микроскопическую картинку в сервис G Suite. Так как на практике удалось обеспечить скорость утечки данных в пределах 400–600 байт в секунду, даже сверхмалое изображение прочиталось с заметными артефактами (в экспериментах исследователей доля ошибочно прочитанных данных достигала 4%).

Для атак использовался браузер Google Chrome версии 82 и ноутбук с процессором Core i7-7600U. У атаки множество ограничений: как минимум, вредоносный код должен загружаться с того же (под)домена, что и таргетируемая веб-страница. Из-за этого в эксперименте с кражей картинки не удалось украсть пароль от учетки Google: вредоносный скрипт хостился на домене googleusercontent, а не google.com, туда же загружалось изображение. Помимо процессоров Intel, атака на компьютере с процессором Apple M1 также прошла успешно. На системах с процессором AMD и в браузере Firefox эксплойт не работает, но речь идет не о принципиальной невозможности, а о необходимости учесть особенности — процессора и обработчика Javascript соответственно.

По следам данной работы в Google Chrome 92-й версии был усилен механизм Strict Site Isolation и включена система изоляции расширений. В целом данная атака слишком сложна для использования на практике, и можно теоретически опасаться лишь таргетированных атак. Тем не менее исследователям удалось продемонстрировать работу Spectre v1 в реальных условиях, для кражи актуальных секретов — впервые за три года с момента обнаружения уязвимости.

Что еще произошло

В самой свежей версии Google Chrome 93 закрыты две уязвимости zero-day.

Microsoft дает возможность полностью отказаться от использования пароля для доступа к учетной записи в Windows или на облачных сервисах компании. Вместо пароля может быть использована система Windows Hello с биометрической идентификацией и/или авторизация с помощью Microsoft Authenticator при помощи кода подтверждения, отправляемого по e-mail и SMS. Такая схема уже используется множеством сервисов, и здесь скорее важна возможность не использовать пароль в принципе.

Четыре уязвимости, коллективно поименованные OMIGOD , позволяют получить несанкционированный доступ к виртуальным машинам на базе Linux, работающим в облаке Microsoft Azure. Проблема была обнаружена в системе управления и сбора телеметрии Open Management Infrastructure, агент которой в ряде случаев устанавливается в виртуальную ОС. Уязвимости в OMI получили заплатки в рамках ежемесячного выпуска патчей на прошлой неделе, но, судя по всему, обновлять агент придется вручную.

Patch Tuesday от Microsoft также закрывает уязвимость в компоненте MSHTML. Она делает возможной атаку при помощи зараженных документов Microsoft Office. Механизм эксплуатации этой уязвимости подробно разбирают эксперты «Лаборатории Касперского».

Вышел большой набор патчей для продуктов Adobe, в том числе для 26 критических уязвимостей в Adobe Acrobat.
spectre spectre v1 spook.js
Alt text

В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!