Группа ученых разработала спекулятивную side-channel атаку iLeakage, которая работает против устройств Apple и позволяет извлекать конфиденциальную информацию из браузера Safari, включая пароли и содержимое вкладок.
Специалисты из Технологического университета Джорджии, Мичиганского университета и Рурского университета в Бохуме рассказывают, что iLeakage работает против любых современных устройств Apple с процессорами серий A и M. Исследователи говорят, что с помощью этой атаки можно извлечь данные из Safari, а также Firefox, Tor и Edge для iOS практически с «идеальной точностью».
Ученые уверяют, что iLeakage — это не просто концепт, и атака может использоваться в реальности. Для этого достаточно заманить пользователя на вредоносную веб-страницу, а затем восстановить данные из их других вкладок, отрытых в его браузере Safari.
По сути, iLeakage представляет собой timerless-версию нашумевшей проблемы Spectre и обходит защиту от side-channel атак, давно реализованную всеми производителями браузеров. Так, изучая устойчивость Safari к таким атакам, специалисты сумели обойти существующие контрмеры и реализовать не зависящий архитектуры timerless-метод атаки, связанный с состоянием гонки.
В основном усилия ученых были сосредоточены на считывании конфиденциальной информации из Safari, и им удалось похитить данные, создав примитив, способный спекулятивно прочитать и слить любой 64-битный указатель в адресном пространстве, используемом браузером Apple для процесса рендеринга.
Для этого потребовалось обойти защиту от side-channel атак, реализованную Apple в браузере, включая, low-resolution таймер, сжатие 35-битной адресации и так далее. Также исследователи обошли политику изоляции сайтов в Safari, которая разделяет сайты на разные адресные пространства на основе доменов верхнего уровня и субдоменов.
Эксперты применили новую технику, использующую API JavaScript window.open, которая позволяет атакующей странице использовать одно и то же адресное пространство с произвольными страницами-жертвами.
Используя спекулятивную атаку типа type confusion для обхода защитных мер Apple, исследователи смогли добиться утечки конфиденциальных данных с целевой страницы, включая пароли и электронные письма гипотетической жертвы.
PoC-эксплоит для этой атаки выполнен на JavaScript и WebAssembly.
В ролике ниже показано, как с помощью iLeakage исследователи извлекают сообщения из Gmail в Safari на iPad. Основное условие для осуществления такой атаки — взаимодействие пользователя со страницей злоумышленника.
Также исследователи применили тот же подход и показали получение пароля от тестовой учетной записи в Instagram*, который был автоматически заполнен в Safari с помощью LastPass, однако в настоящее время это демонстрационное видео недоступно.
В другом эксперименте ученые продемонстрировали, как iLeakage работает против Chrome для iOS, и смогли извлечь историю просмотров жертвы YouTube.
Эксперты объясняют, что, по сути, правила Apple требуют, чтобы все сторонние браузеры для iOS были оверлеями для Safari и использовали JavaScript-движок собственного браузера Apple.
iLeakage затрагивает все устройства Apple, выпущенные после 2020 года и работающие на ARM-процессорах Apple серий A и M. Атака практически не обнаруживается и не оставляет следов в системе жертвы, за исключением записи о посещении веб-страницы злоумышленника в кэше браузера.
Тем не менее, исследователи подчеркивают, что атака сложна в реализации «и требует глубоких познаний о браузерных side-channel атаках и имплементации Safari».
В исследовательской работе подчеркивается, что ученые сообщили Apple о проблеме еще 12 сентября 2022 года, однако компания приняла решение не выпускать исправлений. Вместо этого были предложен следующий метод защиты для macOS:
- нужно открыть терминал и выполнить команду
defaults write com.apple.Safari IncludeInternalDebugMenu 1
, чтобы включить скрытое меню отладки Safari; - открыть Safari и перейти в новое меню Debug;
- выбрать пункт WebKit Internal Features;
- активировать функцию Swap Processes on Cross-Site Window Open.
При этом исследователи подчеркивают, что этот способ работает только для macOS, не включен по умолчанию и в настоящее время считается нестабильным.
* Запрещен в России. Принадлежит Meta Platforms, деятельность которой признана экстремисткой и запрещена в России.