С помощью целенаправленных обращений к SSD и измерения времени атакующие могут через веб-сайт со специальным JavaScript-кодом тайно считывать информацию о том, какие приложения запущены на системах посетителей. Об этом сообщает Ars Technica (открывается в новом окне) со ссылкой на исследования ученых из Университета Граца. Исследованная атака по сторонним каналам получила название Frost (Fingerprinting Remotely using OPFS-based SSD Timing).
Подробности об атаке можно найти в 23-страничном документе (PDF) (открывается в новом окне). По данным исследователей, атакующим не требуется локальный доступ к целевой системе. Им нужно лишь иметь возможность выполнять JavaScript-код в песочнице веб-браузера и записывать данные на SSD, установленный в системе.
Таким образом, посещения специально подготовленного веб-сайта достаточно для целенаправленного шпионажа за пользователями. По словам исследователей, никаких дополнительных действий пользователя на этом сайте не требуется.
Нейронная сеть анализирует время доступа
Согласно отчету, код атакующего выполняет операции записи и чтения на SSD целевой системы через File System API, а также через OPFS (Origin Private File System (открывается в новом окне)), предоставляемый браузером каждому посещенному веб-сайту. Обычно OPFS изолирован от других приложений, веб-сайтов и остальной части локальной системы.
Однако, как сообщается, измеряя время, которое система тратит на обработку операций чтения, можно сделать выводы о том, какие веб-сайты и приложения пользователь открыл в фоновом режиме. Анализ выполняется с помощью специально разработанной для этой цели нейронной сети (CNN, сверточная нейронная сеть (открывается в новом окне)).
Исследователи тестировали свою атаку только на macOS и Linux. Хотя точность не достигает 100%, она все же впечатляет с учетом методологии. В ходе тестов исследователям удалось правильно идентифицировать веб-сайты, открытые в фоновом режиме, с вероятностью 88,95%, а другие запущенные приложения — с вероятностью 95,83%.
Ограничения атак Frost
Кроме того, у атаки Frost есть несколько ограничений. По данным Ars Technica, требуются файлы размером в несколько гигабайт. Однако, по мнению исследователей, это не является серьезной проблемой, поскольку Chromium и Safari выделяют файлам, хранящимся в OPFS, до 60% доступного дискового пространства. В Firefox верхний предел также составляет достаточные десять процентов или максимум 10 ГБ на веб-сайт.
Еще одно ограничение касается целевого диска. С помощью Frost можно обнаружить только те веб-сайты и приложения, которые работают на том же SSD, что и браузер, в котором выполняется код атакующего. Однако в большинстве случаев все приложения работают на общем системном диске, так что и это условие часто выполняется.
В своей статье исследователи дают производителям браузеров несколько рекомендаций по предотвращению атак Frost. В частности, предлагается установить меньшие лимиты на размер и ввести запросы разрешений, чтобы пользователи получали больше контроля над действиями OPFS. Признаков того, что Frost уже используется злоумышленниками, пока, по-видимому, нет.