Компания Apple выплатила ИБ-исследователю Райану Пикрену (Ryan Pickren) 75 000 долларов по программе bug bounty за уязвимости в Safari, благодаря которым можно было получить доступ к чужой веб-камере на Mac, iPhone и iPad, просто заманив человека на конкретный сайт.

В общей сложности Пикрен обнаружил семь уязвимостей в браузере Apple и браузерном движке Webkit (CVE-2020-3852, CVE-2020-3864, CVE-2020-3865, CVE-2020-3885, CVE-2020-3887, CVE-2020-9784, CVE-2020-9787), три из которых можно объединить в цепочку и использовать для слежки за пользователями через камеру и микрофон на iPhone, iPad или Mac. Для такой атаки потребуется самая малость: чтобы жертва зашла на вредоносный сайт. Никакого другого взаимодействия не требуется, а вредоносный сайт сможет прикинуться популярным легитимным ресурсом и злоупотребить разрешениями, которые жертва предоставила бы только доверенному домену.

«Если вредоносному сайту требуется получить доступ к камере, все, что ему нужно — это замаскироваться под надежный сайт для видеоконференций, такой как Skype или Zoom», — отмечает исследователь.

Исправления для найденных специалистом багов были выпущены в составе Safari 13.0.5 (релиз от 28 января 2020 года) и Safari 13.1 (релиз от 24 марта 2020 года)

Пикрен объясняется, что Safari формирует доступ к определенным разрешениям (таким как камера, микрофон, местоположение и так далее) для каждого отдельного сайта. Это позволяет отдельным сайтам, например официальному сайту Skype, получать доступ к камере, не спрашивая разрешения пользователя при каждом запуске.

В iOS из этого правила есть исключения: если сторонние приложения должны требовать явного согласия пользователя для доступа к камере, то Safari может получить доступ к камере или фотогалерее без каких-либо разрешений.

Эксплуатация найденных проблем становится возможна из-за того, как браузер парсит схемы URL-адресов и обрабатывает параметры безопасности для каждого сайта. При этом метод исследователя работает только с уже открытыми в браузере сайтами.

«Наиболее важным является тот факт, что схема URL полностью игнорируется, — пишет эксперт. — Это проблема,  так как некоторые схемы вообще не содержат значимого имени хоста, например file:, javascript: или data:. Проще говоря, ошибка заставляет Safari думать, что вредоносный сайт на самом деле является доверенным. Это происходит благодаря эксплуатации ряда недостатков (как браузер анализирует URI, управляет web origin и инициализирует безопасный контекст)».

По сути, Safari не может проверить, придерживались ли сайты политики Same Origin, тем самым предоставляя доступ другому сайту, который вообще не должен был получить разрешения. В результате сайт https://пример.com и его вредоносный аналог fake://пример.com могут иметь одинаковые разрешения. Следовательно, можно использовать file: URI (к примеру, file:///путь/к/файлу/index.html), чтобы обмануть браузер и сменить домен, используя JavaScript.

«Safari считает, что мы находимся на сайте skype.com, и я могу загрузить какой-то вредоносный JavaScript. Камера, микрофон Screen Sharing будут скомпрометированы после открытия моего локального файла HTML-файла».

Аналогично работает URI blob: (например, blob://skype.com) можно использовать для запуска произвольного кода JavaScript, используя его для прямого доступа к веб-камере жертвы без разрешения.

Хуже того, исследование показало, что таким же способом могут быть украдены и незашифрованные пароли, так как Safari использует такой же подход для обнаружения сайтов, на которых требуется автоматическое заполнение пароля.

PoC-эксплоиты и демонстрация атак описанных доступны в блоге специалиста. Один из таких примеров можно увидеть ниже.

Оставить мнение