Administradores de sites frequentemente recorrem a métodos sofisticados para espionar usuários, como identificá-los por meio de suas teclas digitadas e movimentos do mouse. Um grupo de pesquisadores da Áustria descobriu outra maneira (PDF) de fazer isso: monitorando o comportamento do SSD.
O ataque, batizado de FROST (Fingerprinting Remotely using OPFS-based SSD Timing), permite que um recurso rastreie outros sites visitados por um usuário e identifique o software que ele está executando. Os dados são coletados por meio de uma análise de canal lateral do tempo necessário para concluir tarefas. Ao medir o tempo necessário para executar determinadas operações de entrada/saída no SSD usado pelo visitante do site, os pesquisadores conseguiram determinar quais recursos estão abertos em guias adjacentes e até mesmo em outros navegadores, bem como quais aplicativos estão em execução. Nenhuma ação adicional é necessária por parte do usuário — basta abrir o site que hospeda o código do ataque.
Diferentemente de ataques anteriores a SSDs, o FROST opera exclusivamente no navegador. Usando código JavaScript, ele acessa o sistema de arquivos virtual OPFS — um espaço de armazenamento de dados dedicado e reservado para um site específico. Os recursos criam esses espaços sem qualquer ação dos visitantes. Cada espaço é isolado de outros sites e do sistema do dispositivo, mas o JavaScript pode ser usado para medir os tempos de operação de entrada/saída. Os dados resultantes são processados por uma rede neural convolucional especialmente treinada, capaz de detectar a atividade do usuário no sistema host e classificar novos dados.
Esquema de ataque FROSTO FROST possui algumas limitações. Primeiro, o arquivo OPFS precisa ser grande o suficiente — 1 GB ou mais — para que o usuário perceba o ataque em larga escala. Segundo, o arquivo OPFS precisa estar armazenado no SSD principal do usuário — geralmente, este é o local padrão do navegador. No entanto, se um SSD separado for alocado para determinados aplicativos, o FROST não conseguirá identificá-los. Uma das melhores maneiras de evitar um ataque FROST é fechar as abas do navegador assim que não forem mais necessárias e definir limites para o tamanho máximo dos arquivos permitidos. O mecanismo foi totalmente testado no macOS da Apple e confirmado como funcional no Linux; nenhuma pesquisa foi realizada no Windows. Nenhum caso real de uso do FROST foi identificado.