Учёные придумали новый способ слежки через браузер — сайты могут шпионить по активности SSD

Читать в полной версии

Администраторы веб-сайтов нередко прибегают к самым изощрённым способам слежки за пользователями, например идентифицируя их по нажатиям клавиш на клавиатуре и движениям мыши. Группа исследователей из Австрии нашла ещё один способ (PDF) делать это — отслеживать поведение SSD.

Схема атаки получила название FROST (Fingerprinting Remotely using OPFS-based SSD Timing) — она позволяет одному ресурсу отслеживать другие сайты, которые посещает пользователь, а также идентифицировать запущенное им ПО. Данные собираются через побочный канал посредством анализа времени, необходимого для выполнения задач. Измеряя время выполнения определённых операций ввода-вывода на SSD, которым пользуется посетитель сайта, исследователи смогли определить, какие ресурсы открыты у него в соседних вкладках и даже в других браузерах, а также какие приложения запущены. От самого пользователя не требуется никаких дополнительных действий — достаточно просто открыть сайт, на котором размещён код атаки.

В отличие от предыдущих механизмов атаки на SSD, FROST работает исключительно в браузере. При помощи кода JavaScript он обращается к виртуальной файловой системе OPFS — выделенному пространству для хранения данных, которое резервируется для конкретного сайта. Ресурсы создают такие пространства без каких-либо действий со стороны посетителей. Каждое такое пространство изолировано от других сайтов и системы устройства, но при помощи JavaScript можно измерять время операций ввода-вывода. Полученные результаты обрабатываются специально обученной свёрточной нейросетью — она позволяет определять активность пользователя в хост-системе, классифицируя новые данные.

Схема атаки FROST имеет некоторые ограничения. Во-первых, файл OPFS должен быть достаточно большим — 1 Гбайт или более, то есть при крупном масштабе пользователь может заметить такую атаку. Во-вторых, файл OPFS должен храниться на основном SSD пользователя — обычно это стандартное расположение браузера, но если для некоторых приложений выделяется отдельный SSD, то идентифицировать эти приложения через FROST не получится. Один из лучших способов избежать атаки FROST — закрывать вкладки в браузере, как только в них исчезает потребность, а также задавать ограничения на максимальный размер разрешённых файлов. Механизм в полной мере проверили на Apple macOS и подтвердили возможность его работы на Linux; в Windows исследование не проводилось. Фактов применения FROST на практике установить не удалось.