У веб-сайтов появился новый способ слежки за посетителями — анализ активности их SSD-накопителей.

Любой сайт может узнать, какие вкладки и приложения открыты на вашем устройстве.


vw2xzrghbtw8zkqgxbdno2gr1uoaxdw3.jpg

Сайты получили еще один скрытый способ следить за посетителями. Для этого не нужны камера, микрофон или вредоносное расширение. Достаточно обычного кода на JavaScript, который замечает едва уловимые задержки в работе твердотельного накопителя.

Новый метод получил название FROST, или fingerprinting remotely using OPFS-based SSD timing. Специалисты показали, что сайт может по активности накопителя понять, какие другие сайты открыты у пользователя, в том числе в другом браузере, а также какие приложения запущены на устройстве.

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

Атака работает через OPFS, частную файловую систему источника. Браузеры выделяют такую область хранения отдельному сайту, чтобы веб-приложения могли выполнять свои задачи. Пространство изолировано от других сайтов и от основной файловой системы устройства, но JavaScript все равно может измерять задержки при чтении и записи.

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

По словам авторов работы , браузеры давно перестали быть простыми программами для просмотра страниц. Внутри браузера теперь работают офисные пакеты, редакторы фото и видео, среды разработки и другие сложные приложения. Новые возможности делают веб-сервисы удобнее, но одновременно расширяют поверхность атаки.

У FROST есть ограничения. Для атаки нужен очень большой файл OPFS, вероятно, размером от 1 Гбайт. Если применять такой метод массово, скрыть это было бы сложно, так как часть пользователей заметила бы подозрительно большой объем данных, созданный сайтом. Кроме того, файл OPFS должен находиться на том же твердотельном накопителе, активность которого пытаются измерять. Чтобы отследить открытые сайты, это условие обычно выполняется, поскольку браузер хранит OPFS в стандартном месте. Но если приложения работают с другого накопителя, FROST их не увидит.

Полную атаку специалисты провели на компьютере Mac с процессором M2. На Linux они проверили базовый механизм и показали, что JavaScript может измерять задержки доступа к накопителю, но полный вариант атаки не запускали. По оценке одного из авторов работы Ханнеса Вайсштайнера, близкая производительность базового механизма на macOS и Linux позволяет ожидать похожие результаты при полной классификации. Windows специалисты не проверяли.

Защититься от такого метода можно простыми мерами. Пользователям советуют закрывать ненужные вкладки, а более опытным владельцам устройств – следить, не создают ли неизвестные сайты крупные файлы OPFS. Авторы работы также предложили разработчикам браузеров ограничить максимальный размер таких файлов, чтобы перекрыть побочный канал.

Признаков того, что FROST уже применяли в реальных атаках, пока нет. Подробности специалисты представят в июле на конференции DIMVA .