Уязвимость Safari 15: утечка IndexedDB и как защититься

О чём эта уязвимость
В ноябре 2021 года стало известно о баге в Safari 15: реализация API IndexedDB нарушает политику того же происхождения (same-origin policy). Это значит, что сайт A, открыт в Safari, может обнаруживать наличие баз данных, созданных сайтом B, и тем самым делать выводы о ваших прошлых посещениях и связанных аккаунтах.
Ключевые факты:
- Затрагивает Safari 15 на iPhone, iPad и Mac.
- Демонстрация FingerprintJS использовала 30 часто посещаемых сайтов для моделирования утечки.
- Баг выдаёт имена баз данных для доменов; доступ к содержимому баз данных остаётся ограниченным, но набираемые метаданные позволяют сопоставлять учётные записи.
- Apple начала работу над исправлением; 27 января 2022 года выпущено iOS 15.3 с обещанным патчем.
Важно: сама по себе утечка имён баз данных не даёт полного доступа к хранимым данным, но позволяет собирать метаданные и связывать профили между сайтами.
Как это работает простыми словами
IndexedDB — это браузерное хранилище для сайтов. Ожидаемое поведение: сайт может видеть только свои собственные базы данных. В Safari 15 сайт мог опрашивать API и получать информацию о базах, созданных другими доменами, что нарушает границы приватности.
FingerprintJS опубликовала живой демон и отчёт, где показано, как при обращении к API Safari возвращает набор баз данных, относящихся к сторонним доменам. На основе имён баз и метаданных злоумышленник может составить профиль активности.

На демо можно увидеть, сколько баз данных «просвечивает» в вашем браузере и (в некоторых случаях) идентификаторы, связанные с учётными записями Google.

Статус исправления
Apple признала проблему и начала работу над исправлением. 27 января 2022 года в iOS 15.3 и соответствующих обновлениях для других ОС Apple содержится патч, который должен ограничивать возможность сайтов видеть базы данных чужих доменов. Обновите устройства до последних версий iOS, iPadOS и macOS.
Важно следить за официальными заметками безопасности Apple и репозиториями на GitHub, где публикуются детали исправлений и их объём.
Что можно сделать сейчас — практические шаги для пользователей
Ниже — последовательность мер от простых до более жёстких. Применяйте те, которые вам подходят.
1. Немедленное: обновите систему
- Если доступно iOS 15.3, iPadOS или соответствующее обновление для macOS — установите его как можно скорее.
2. Минимизируйте публичные данные
- Удалите или временно смените публичные элементы профиля: фотографию профиля Google, отображаемое имя.
- Проверьте настройки приватности учётных записей, чтобы минимизировать общедоступные метаданные.
3. Децентрализуйте данные
- По возможности используйте разные адреса электронной почты для сервисов и избегайте единых механизмов Single Sign-On там, где это не критично.
- Создавайте отдельные профили/аккаунты для рабочих и личных задач.
4. Избегайте ненужного серфинга в Safari
- По возможности не оставляйте открытыми вкладки с критичными сервисами.
- Ограничьте использование Safari для сайтов, которым вы не доверяете.
5. Используйте альтернативный браузер
- Пока вы не обновились, переход на другой браузер (например, Chrome или Firefox) может уменьшить риск экспозиции через IndexedDB в Safari. Выбирать браузер стоит с учётом политики приватности и наличия регулярных обновлений.
6. Отслеживайте уведомления разработчиков
- Подписывайтесь на официальные каналы Apple и источники безопасности, чтобы установить патч сразу после релиза.
Когда эти меры не помогут — ограничения и кейсы неудачи
- Private Browsing не защищает: баг затрагивал и режим приватного просмотра в Safari, поэтому переключение туда не давало полной гарантии.
- Сайты, где вы уже вошли в аккаунт (Google, YouTube и т. д.), могут использовать публичную информацию вашего профиля для сопоставления.
- Полная анонимизация невозможна без кардинального изменения поведения: использование Tor, отказ от централизации учётных записей и т. п.
Рольовые чек-листы (кратко)
Чек-лист для обычного пользователя:
- Установить последние обновления iOS/iPadOS/macOS.
- Удалить/скрыть фото профиля Google.
- Ограничить время в Safari для непроверенных сайтов.
- По возможности использовать альтернативный браузер.
Чек-лист для IT-администратора:
- Проверить корпоративную политику обновлений и форсировать установку iOS 15.3 на управляемых устройствах.
- Оповестить сотрудников о риске и дать инструкции по временной замене браузера.
- Провести аудит сервисов, интегрированных через SSO.
Чек-лист для веб-разработчика:
- Не полагаться на видимость IndexedDB для определения активности пользователя.
- Обновить зависимости и тесты для совместимости с новыми версиями Safari.
Быстрый план действий для организаций (SOP)
- Оповестить: отправить уведомление пользователям и сотрудникам с инструкциями по обновлению ОС.
- Блокировать: при возможности временно ограничить доступ к критичным сервисам через Safari.
- Обновить: через MDM развернуть обновления iOS 15.3+/macOS.
- Проверить: провести тесты на образцах устройств, чтобы убедиться в устранении утечки.
- Задокументировать: записать инцидент и меры в журнал событий безопасности.
Мини-методология тестирования (для безопасных исследований)
- Не используйте чужие учётные записи и персональные данные.
- Воспроизведите проблему на тестовом устройстве с контролируемыми аккаунтами.
- Используйте инструменты от проверенных исследовательских групп (например, открытые репозитории FingerprintJS) и следуйте принципам ответственного раскрытия уязвимостей.
Матрица рисков и рекомендации (качественно)
- Низкий риск: аккаунты без публичных метаданных, ограниченное использование Safari. Рекомендация — обновиться.
- Средний риск: регистрация в соцсетях, использование общих профилей. Рекомендация — скрыть публичные данные и по возможности сменить браузер.
- Высокий риск: доступ к нескольким связанным сервисам через один Google ID, использование SSO. Рекомендация — срочно обновить устройства, рассмотреть отказ от единых учётных записей для критичных сервисов.
Соображения по приватности и законодательству
- Технически уязвимость позволяет собирать метаданные о действиях пользователей. В юрисдикциях с жёсткими нормами приватности (например, GDPR в ЕС) подобные инциденты требуют оценки воздействия на данные и, возможно, уведомления регуляторов, если была подтверждена утечка персональных данных.
- Если вы управляете сервисом — проконсультируйтесь с юридическим отделом по требованиям к уведомлению пострадавших и регуляторам.
Альтернативные подходы к защите
- Использовать изолированные профили и контейнеры в браузере для разных областей жизни (работа, личное).
- Минимизировать использование централизованных идентификаторов: по возможности переходить на аутентификацию, не завязанную на одном поставщике.
- Внедрять мониторинг консистентности поведения пользователей: резкие корреляции между доменами могут сигнализировать о злоупотреблении метаданными.
Короткая памятка для пользователей
- Установите iOS 15.3 и обновления для macOS как можно скорее.
- Спрячьте публичные элементы аккаунтов (фото, имя) при необходимости.
- Рассмотрите временный переход на другой браузер.
- Следите за сообщениями Apple и источниками безопасности.
Критерии приёмки
- Уязвимость подтверждена как исправленная, когда после установки официального обновления Safari больше не возвращает имена баз данных доменов в ответ на запросы IndexedDB.
- Тестирование: на обновлённом устройстве демонстрация FingerprintJS не должна показывать базы данных для посторонних доменов.
Заключение
Ошибка IndexedDB в Safari 15 нарушала ожидания приватности, позволяя сайтам собирать метаданные о других посещённых доменах. Главный и самый простой защитный шаг — обновить устройства до iOS 15.3 / соответствующих версий macOS. Пока обновление не установлено, используйте альтернативные браузеры, уменьшайте публичную информацию в учётных записях и применяйте рольовые чек-листы из этой статьи.
Краткое резюме:
- Уязвимость позволяла «видеть» имена баз данных других доменов.
- Затронуты iPhone, iPad и Mac с Safari 15.
- Исправление выпущено в iOS 15.3; обновляйтесь.
Важно: следите за официальными релизами и, при работе с конфиденциальными данными, действуйте по политике безопасности вашей организации.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone