Вектор атаки iLeakage позволяет вытащить пароли из браузера Apple Safari

Вектор атаки iLeakage позволяет вытащить пароли из браузера Apple Safari

Исследователи разработали новый вектор кибератаки по сторонним каналам и дали ему имя «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:

  1. Открыть Терминал и запустить defaults write com.apple.Safari IncludeInternalDebugMenu 1 (открывает скрытое меню отладки в Safari).
  2. Открыть Safari и пройти в новое меню.
  3. Выбрать «WebKit Internal Features».
  4. Прокрутить до пункта «Swap Processes on Cross-Site Window Open» и активировать его.