КИБЕРБЕЗОПАСНОСТЬ

Атака FROST превратила SSD в канал слежки прямо из браузера

FROST распознает открытые сайты с точностью до 88,95% и приложения до 95,83%, используя JavaScript и задержки SSD без прав и расширений.

✍️ Редакция iTech News | 10.06.2026 | ⏱ 6 мин | Источник: The Hacker News
🔐

Атака FROST показала неприятную вещь: обычная веб-страница может следить за тем, какие сайты и приложения вы открываете, просто измеряя задержки SSD из JavaScript. По данным исследователей из Graz University of Technology, точность классификации на macOS дошла до 88,95% для сайтов и до 95,83% для приложений, а значит для разработчиков, безопасников и IT-руководителей это уже не академический фокус, а еще один аргумент против идеи, что браузерная песочница сама по себе все надежно изолирует.

О новой технике сообщает The Hacker News. Сценарий выглядит почти буднично: пользователь открывает страницу, оставляет вкладку висеть в фоне, а дальше вредоносный сайт наблюдает за конкуренцией за доступ к диску. Никакого нативного кода, никаких расширений, никаких запросов на доступ к файлам. В этом и состоит главный сдвиг: атака, которая раньше требовала локального присутствия на машине, теперь укладывается в возможности обычного браузера.

Технически схема держится на Origin Private File System, или OPFS. Это браузерное хранилище, которое крупные браузеры добавили в 2023 году, чтобы веб-приложения вроде редакторов и IDE могли сохранять файлы на диск. У каждого origin там своя изолированная область, и именно из-за этой изоляции доступ к ней не требует отдельного permission prompt. С точки зрения удобства для веб-приложений это логично. С точки зрения приватности получилось окно возможностей: страница может молча начать писать большие файлы на локальный накопитель и использовать их как зонд для измерения фоновой активности.

Ключевой трюк атаки FROST в том, что она обходит кэш памяти. Обычно повторные чтения обслуживаются из RAM, и реальный тайминг SSD скрыт. Исследователи создают файл больше объема оперативной памяти, поэтому кэш уже не спасает и чтения продолжают уходить на диск. На Chrome и Safari размер OPFS может доходить примерно до 60% пространства накопителя, чего более чем достаточно. Firefox ограничивает объем для одного origin сильнее, но авторы отмечают, что это можно обойти, распределив нагрузку между несколькими origin. Дальше вредоносный код в цикле читает случайные блоки по 4 КБ и меряет задержку через performance.now(). Формально браузеры давно ухудшают точность таймеров именно из-за сайд-ченнелов, но страница может включить cross-origin isolation и снова получить достаточно точные измерения.

Когда пользователь в этот момент открывает другой сайт или запускает приложение на том же диске, характер чтения меняется: появляется конкуренция за SSD, и тайминги сдвигаются. Эти следы обрабатывает нейросеть, обученная различать паттерны. Самая неприятная часть здесь не в экзотичности метода, а в цифрах. В закрытом тесте на топ-50 сайтов на Mac исследователи получили F1 score 88,95%. В открытом тесте, куда добавили еще 300 ранее не встречавшихся сайтов, показатель остался на уровне 86,95%. Для десяти предустановленных приложений macOS точность достигла 95,83%. Отдельно команда собрала и скрытый канал передачи данных между нативным приложением и вредоносной страницей через тот же сигнал: 661,63 бит/с на Linux и 719,27 бит/с на macOS. Для кода внутри браузерной песочницы это уже не декоративная утечка.

У атаки есть ограничения, но они не делают ее беззубой. Полноценные результаты по классификации опубликованы для macOS, хотя сам тайминговый канал работает и на Linux. Кроме того, FROST видит в первую очередь активность на том же накопителе, где лежит файл OPFS. На ноутбуке с одним диском это почти вся система. На рабочей станции с несколькими накопителями часть активности может скрыться, если приложение работает с другим устройством хранения. Но и здесь есть оговорка: многие программы при запуске все равно трогают домашний каталог, а значит оставляют следы на системном диске. Иными словами, многодисковая конфигурация снижает качество слежки, но не отменяет ее.

Контекст у этой истории тоже показательный. Для лаборатории из Граца это не первый опыт в жанре «браузер знает о пользователе больше, чем хотелось бы». Ранее та же группа публиковала атаку Secret Spilling Drive, где поведение человека считывалось по замедлению операций чтения на диске, но там нужен был нативный код и низкоуровневый интерфейс вроде Linux io_uring. Еще раньше был SnailLoad, позволявший делать выводы о загружаемых сайтах и видео по сетевым задержкам, вообще без JavaScript. FROST выглядит логичным продолжением этой линии: веб-платформа получает все более близкий к нативному доступ к ресурсам железа, а вместе с ним получает и нативного класса утечки. Проблема тут не в одном API, а в архитектурной тенденции.

Реакция браузерных вендоров пока звучит предсказуемо и от этого не менее тревожно. Google, Mozilla и Apple были уведомлены до публикации. Команда Chromium не считает fingerprinting уязвимостью безопасности. Apple назвала ситуацию вне своего скоупа, хотя допустила возможность смягчений позже. Mozilla факт обращения подтвердила, но публичных защит пока не представила. CVE у техники нет, признаков эксплуатации в реальных атаках тоже не опубликовано. Для корпоративной безопасности это неудобный класс проблем: угрозу нельзя аккуратно закрыть патчем на одной машине или сигнатурой в EDR, потому что формально сайт пользуется легальными браузерными механизмами.

Практические меры пока довольно скромные. Если закрыть вредоносную вкладку, конкретная сессия измерения заканчивается. Теоретически можно искать подозрительные многогигабайтные файлы в браузерном хранилище, но OPFS не сделан прозрачным для обычного пользователя или администратора. На Linux есть любопытное исключение: системы с profile-sync-daemon, который держит профиль браузера в RAM, случайно защищены от zero-click варианта, потому что записи OPFS не доходят до SSD. Правда, более слабая версия атаки, где страницу удается связать с диалогом выбора большого файла, все равно остается рабочей. Настоящие контрмеры лежат на стороне браузеров: урезать размер OPFS, чтобы файл помещался в память и не создавал конкуренцию на диске, сильнее душить высокоточные таймеры при работе с OPFS или вовсе поставить перед таким доступом явный запрос разрешения. Каждое решение бьет по производительности и UX, поэтому индустрия пока предпочитает спорить о терминах.

Для русскоязычной IT-аудитории здесь важен не только сам атака FROST, но и более широкий вывод. Браузер давно перестал быть просто окном в интернет: это уже среда исполнения с файловыми API, локальными БД, графическим стеком и все более щедрым доступом к системным ресурсам. Чем ближе веб-приложения подбираются к уровню desktop experience, тем больше в них появляется side-channel-рисков, которые раньше считались проблемой нативного ПО. Вопрос теперь не в том, найдут ли исследователи следующий такой канал, а в том, где индустрия наконец проведет границу между удобством веб-платформы и правом сайта тихо наблюдать за тем, что происходит на вашей машине. Подробности исследования пересказывает The Hacker News.

Поделиться: Telegram X LinkedIn