Баг Safari 15 (IndexedDB): как защитить приватность

В ноябре 2021 года в сети появились сообщения о баге в Safari, который ставит под угрозу приватность пользователей. Ошибка в обработке IndexedDB в Safari 15 позволяет сайтам получать информацию о базах данных, к которым они не должны иметь доступ.
Проще говоря: сайты, которые вы открываете в Safari, потенциально могут увидеть, какие другие сайты вы посещали. Ниже — подробное объяснение угрозы и практические действия, которые можно предпринять.
Что делает баг Safari 15?
Исходя из публикаций FingerprintJS, API IndexedDB в Safari 15 нарушает правило одинакового происхождения (same-origin policy) на iPhone, iPad и Mac. Эта уязвимость даёт сайтам возможность просматривать базы данных, созданные другими доменами, открытыми в ваших вкладках или окнах.
Баг также раскрывает имена баз данных для любого домена. Хотя содержимое баз данных остаётся недоступным напрямую, сама информация о наличии и названиях баз позволяет собирать данные и сопоставлять профили пользователей. Например, злоумышленник может использовать открытый Google user ID, чтобы связать активность на YouTube или Google Календаре с визитами на другие сайты.
FingerprintJS опубликовал демонстрацию работы уязвимости, которая симулирует поведение на наборе из ~30 популярных сайтов. В демо Safari показывает количество баз данных, создаваемых сайтами, а при возможности и ваш публичный Google ID с аватаркой.
По состоянию на январь 2022 года инженеры Apple начали работу над исправлением. На момент публикации все актуальные версии Safari на iPhone, iPad и Mac были подвержены багу.
Обновление: 27 января 2022 Apple выпустила iOS 15.3, в которой заявлено исправление этой уязвимости. Обновите устройства до последней доступной версии ПО, чтобы воспользоваться фиксами.
Кого затрагивает эта уязвимость?
- Пользователи Safari 15 на iPhone, iPad и Mac.
- Люди, которые используют единый аккаунт Google (или другие крупные сервисы) и имеют публичную информацию в профиле.
- Администраторы корпоративных устройств, где важна защита связей между аккаунтами.
Важно: баг затрагивает даже приватный режим Safari — закрытие вкладки или использование приватного окна не гарантируют защиту.
Как проверить, подвержено ли устройство
- Посетите демонстрацию уязвимости, если она доступна у проверенного исследовательского проекта (например, FingerprintJS). Демонстрация покажет, какие базы «видит» браузер.
- Откройте несколько сайтов в отдельных вкладках и повторите тест — если список баз меняется в зависимости от открытых доменов, проблема подтверждена.
- Проверьте версию Safari и ОС: если устройство не обновлено до версии с фиксами (например, iOS 15.3 и выше), уязвимость скорее всего присутствует.
Что можно сделать прямо сейчас — пошаговый план
Краткий план действий для пользователей и администраторов.
- Обновите ПО. Установите iOS/iPadOS/macOS с официальным исправлением, если оно доступно. Это самый безопасный и рекомендуемый путь.
- Если обновление невозможно сразу, ограничьте риски с помощью временных мер (см. ниже).
- Откажитесь от явных публичных данных: удалите фотографию профиля Google, сократите персональные данные в публичных профилях.
- Используйте альтернативный браузер на устройствах Apple (см. блок «Альтернативные подходы»).
- Для корпоративных устройств — примените политики удалённого управления, чтобы принудительно обновить ПО или запретить использование Safari до выпуска исправления.
Уменьшение доступной публичной информации
- Удалите или временно замените профильную фотографию Google.
- Сократите публичные поля в профилях, которые могут быть связаны с Google ID.
- Отключите авто-вход (single sign-on) там, где это возможно.
Децентрализуйте личные данные
- Используйте несколько почтовых адресов для разных типов сервисов.
- Избегайте использования одного аккаунта для множества сервисов, когда это возможно.
- Не включайте сторонние сервисы в цепочку доверия без необходимости.
Избегайте лишнего серфинга
До исправления лучше меньше посещать ненадёжные сайты и не держать открытыми вкладки с чувствительными сервисами. Можно воспользоваться функцией «Экранное время», чтобы ограничить доступ к браузеру.
Использование другого браузера
Если обновление недоступно, переход на альтернативный браузер — прагматичный временный вариант. На iOS все сторонние браузеры используют движок WebKit, но поведение реализации IndexedDB у разных поставщиков может отличаться. Тестируйте альтернативный браузер на предмет утечек перед длительным использованием.
Альтернативные подходы и когда они не работают
- VPN и блокировщики трекеров не предотвращают утечку имён IndexedDB: проблема на уровне реализации браузера, а не сетевого трафика.
- Очистка куки и кэша может снизить связность аккаунтов, но не убирает метаданные баз данных, которые уже видит браузер.
- Приватный режим Safari не защищает от этого бага.
Поэтому основной и гарантированный путь — установка обновления браузера/ОС с официальным исправлением.
Критерии приёмки (как понять, что проблема решена)
- Устройство обновлено до версии ОС/браузера, где Apple заявила исправление (например, iOS 15.3 и выше).
- Демосервис больше не показывает разные базы данных в зависимости от открытых вкладок.
- Тестовый сценарий для корпоративной сети не выявляет утечек имён IndexedDB при повторных проверках.
Факт‑бокс
- Первая публичная информация о баге: ноябрь 2021.
- Инженеры Apple начали работу над исправлением: январь 2022.
- Обновление iOS 15.3 с обещанным исправлением выпущено: 27 января 2022.
Чек‑лист для ролей
Пользователь — что сделать прямо сейчас:
- Проверить версию iOS/iPadOS/macOS и Safari.
- Обновить ПО до последней доступной версии.
- Удалить публичные фото/поля из Google и других аккаунтов.
- Ограничить ненужный серфинг и закрывать вкладки с чувствительными сервисами.
- Рассмотреть временный переход на другой браузер и протестировать его.
IT‑администратор — что проверить и внедрить:
- Оценить список устройств с устаревшими версиями ОС.
- Запланировать принудительное обновление устройств через MDM.
- Запретить использование старых версий браузера до выпуска исправления.
- Уведомить пользователей о рисках и предоставить инструкции.
Мини‑методика тестирования для инженеров
- Подготовьте тестовый профиль без чувствительных данных.
- Откройте контролируемый набор сайтов в отдельных вкладках.
- Используйте демонстрационный скрипт или инструмент от доверенного исследовательского проекта для сканирования доступных имён IndexedDB.
- Сравните результаты до и после установки обновления.
Примеры, когда уязвимость не применима
- Браузеры вне экосистемы Apple (на настольных ОС, где используется иной движок) могут не иметь той же проблемы.
- Если у сайта нет созданных баз IndexedDB, он не сможет обнаружить информацию через этот вектор.
Мера приоритетов: эффект × усилия
- Установка обновления ПО: эффект высокий × усилие низкое — первоочередная задача.
- Удаление публичного контента профиля: эффект средний × усилие низкое.
- Переход на другой браузер и тестирование: эффект средний × усилие среднее.
- Полная децентрализация аккаунтов: эффект высокий × усилие высокое.
Мерmaid — быстрый план принятия решения
flowchart TD
A[Вы используете Safari на iPhone/iPad/Mac?] -->|Нет| Z[Риск низкий — стандартные меры]
A -->|Да| B[Установлена ли iOS/iPadOS/macOS с исправлением?]
B -->|Да| Z
B -->|Нет| C[Можно ли немедленно обновить?]
C -->|Да| D[Обновите ПО]
C -->|Нет| E[Примените временные меры]
E --> F{Вы корпоративный пользователь?}
F -->|Да| G[MDM: принудительное обновление/блокировка Safari]
F -->|Нет| H[Ограничьте серфинг, удалите публичные данные, рассмотрите другой браузер]Примечания по безопасности и приватности
- Информация, раскрываемая через имена баз IndexedDB, может считаться персональными данными при привязке к аккаунту. В организациях рекомендуется уведомить ответственных за защиту данных.
- Если вы подозреваете злоупотребление данными, обратитесь к службе поддержки сервиса, где вы заметили несанкционированные запросы, и при необходимости в регулятора по защите данных.
Короткое руководство действий (SOP)
- Немедленно проверить наличие обновления ОС/браузера.
- Обновить все личные и корпоративные устройства.
- Если обновить нельзя — применить временные меры: сократить публичные данные, ограничить сёрфинг, использовать альтернативный браузер и уведомить пользователей.
- Провести повторное тестирование после установки исправления.
Краткое резюме
Уязвимость IndexedDB в Safari 15 позволяет сайтам выявлять названия баз данных и косвенно определять, какие сайты вы посещали. Самый надёжный способ защиты — обновить устройства до версии с исправлением (iOS 15.3 и аналогичные обновления для iPadOS/macOS). Если обновление временно недоступно, уменьшите публичную информацию, ограничьте ненужный серфинг и рассмотрите переход на альтернативный браузер. Для организаций — приоритетное развертывание обновлений через MDM и оповещение пользователей.
Важно: следите за официальными сообщениями Apple и проверенными исследовательскими группами о доступности и эффективности фикс‑патчей.