Гид по технологиям

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

6 min read Безопасность Обновлено 09 Jan 2026
Safari 15 IndexedDB: утечка и защита
Safari 15 IndexedDB: утечка и защита

Интерфейс Safari в веб-браузере

О чём эта уязвимость

В ноябре 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 возвращает набор баз данных, относящихся к сторонним доменам. На основе имён баз и метаданных злоумышленник может составить профиль активности.

Демо утечки IndexedDB от FingerprintJS

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

Пример вывода утечки IndexedDB в демо FingerprintJS

Статус исправления

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)

  1. Оповестить: отправить уведомление пользователям и сотрудникам с инструкциями по обновлению ОС.
  2. Блокировать: при возможности временно ограничить доступ к критичным сервисам через Safari.
  3. Обновить: через MDM развернуть обновления iOS 15.3+/macOS.
  4. Проверить: провести тесты на образцах устройств, чтобы убедиться в устранении утечки.
  5. Задокументировать: записать инцидент и меры в журнал событий безопасности.

Мини-методология тестирования (для безопасных исследований)

  • Не используйте чужие учётные записи и персональные данные.
  • Воспроизведите проблему на тестовом устройстве с контролируемыми аккаунтами.
  • Используйте инструменты от проверенных исследовательских групп (например, открытые репозитории 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; обновляйтесь.

Важно: следите за официальными релизами и, при работе с конфиденциальными данными, действуйте по политике безопасности вашей организации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство