
Исследователи разработали новый вектор кибератаки по сторонним каналам и дали ему имя «iLeakage». Его особенностью является впервые продемонстрированная работа против процессоров Apple Silicon и браузера Safari.
С помощью iLeakage, по словам специалистов, можно вытащить конфиденциальную информацию из «яблочного» браузера. Причём данные извлекаются с «практически идеальной» точностью.
Кстати, одним Safari проблема не ограничивается, поскольку iLeakage сработает и в случае с iOS-версиями Firefox, Tor и Edge. В сущности, новый вектор атаки представляет собой ещё одну реализацию знаменитой Spectre.
Вытащить сведения специалисты смогли, создав примитив (графический элемент), способный спекулятивно читать и сливать любой 64-битный указатель в адресном пространстве, которое Safari использует для рендеринга.
Другими словами, экспертам удалось обойти защиту Apple от утечек данных по сторонним каналам. Более того, исследователи также смогли нивелировать функциональность изоляции сайтов в браузере.
Новый подход задействовал JavaScript-API window.open, что позволило странице условного атакующего использовать то же адресное пространство, что задействуют произвольные страницы условной жертвы.
Проблема несоответствия типов данных (type confusion) допускает обход сжатой 35-битной адресации и защитных мер Apple и приводит к утечке конфиденциальных данных.
Специалисты разработали демонстрационный эксплойт на JavaScript и WebAssembly, а на видеороликах ниже показан вектор атаки в работе:
iLeakage, согласно описанию, работает против чипов Apple M1 и M2. С техническими деталями вектора можно ознакомиться в соответствующем отчёте (PDF). Список затронутых устройств выглядит так:
Apple узнала о iLeakage 12 сентября и успела выработать временную защиту для пользователей macOS:
- Открыть Терминал и запустить defaults write com.apple.Safari IncludeInternalDebugMenu 1 (открывает скрытое меню отладки в Safari).
- Открыть Safari и пройти в новое меню.
- Выбрать «WebKit Internal Features».
- Прокрутить до пункта «Swap Processes on Cross-Site Window Open» и активировать его.