이 공격은 OPFS에 대용량 파일을 생성하고 반복적으로 읽어오는 방식으로 작동합니다. 이러한 읽기 작업이 실행됨에 따라 스크립트는 각 작업에 걸리는 시간을 기록합니다. 다른 애플리케이션이나 브라우저 탭이 SSD를 활발하게 사용하고 있다면, 해당 타이밍이 변화합니다. 시간이 지남에 따라 수집된 데이터는 인식 가능한 패턴을 형성합니다.
연구원들은 "공격자는 대용량 OPFS 파일에서 무작위 읽기를 수행하여 SSD 경합(contention)을 지속적으로 측정합니다"라고 설명했습니다. "사용자 활동으로 인한 SSD 경합은 이러한 읽기 작업에 측정 가능한 지연 시간 차이를 유발합니다. 이 흔적(traces)을 기반으로 컨볼루션 신경망(convolutional neural network)을 훈련함으로써, 공격자는 훈련된 모델을 사용하여 새로운 흔적을 분류함으로써 호스트 시스템의 사용자 활동을 지문 인식할 수 있습니다."
그런 다음 컨볼루션 신경망을 사용하여 이러한 패턴을 해석합니다. 일단 훈련되면, 이 모델은 특정 웹사이트를 열거나 특정 유형의 애플리케이션을 실행하는 것과 같은 특정 타이밍 시그니처를 연관시킬 수 있습니다. 연구원들은 이것이 서로 다른 브라우저에서도 작동할 수 있음을 보여주었으며, 이는 신호가 단일 소프트웨어 환경보다는 전체 시스템 동작에 더 많이 연결되어 있음을 시사합니다.
이 작업은 브라우저 개발의 더 광범위한 트렌드를 기반으로 합니다. 최신 브라우저는 더 이상 웹페이지를 보는 도구에 그치지 않으며, 이제는 데스크톱 소프트웨어에 필적하는 복잡한 애플리케이션을 실행합니다. 이러한 변화는 시스템 리소스와의 상호작용을 증가시켰고, 이는 결과적으로 의도하지 않은 데이터 노출에 대한 새로운 기회를 만듭니다.
저자들은 "웹 브라우저는 단순한 문서 뷰어에서 정교한 애플리케이션을 실행할 수 있는 복잡한 플랫폼으로 진화했습니다"라고 작성했습니다. 그들은 "Google, Microsoft, Adobe와 같은 회사들은 브라우저 내에서 완전히 실행되는 완전한 오피스 스위트, 사진 및 비디오 편집기, 또는 심지어 통합 개발 환경까지 개발했습니다"라고 덧붙였습니다. 그들은 또한 "이러한 기능들이 웹 애플리케이션의 기능을 향상시키고 완전히 새로운 사용 사례를 가능하게 하지만, 브라우저의 공격 표면(attack surface)을 증가시키며, 일부는 이미 새로운 취약점을 도입하는 것으로 나타났습니다"라고 덧붙였습니다.
오늘날 FROST가 얼마나 실용적인지에는 한계가 있습니다. 이 공격은 사용자에게 눈에 띄거나 저장 공간 경고를 유발할 수 있는, 최소 1기가바이트 이상의 매우 큰 파일을 생성해야 합니다. 또한 모니터링되는 활동이 동일한 물리적 SSD에서 발생하는지에 달려 있습니다. 만약 애플리케이션이 별도의 드라이브에서 실행된다면, 감지 가능한 신호를 생성하지 못할 수 있습니다.
연구원들은 Apple M2 시스템에서 전체 시연을 수행하고 Linux에서 핵심 요소를 테스트했으며, 그곳에서 유사한 동작을 관찰했습니다. 공동 저자인 Hannes Weissteiner는 근본적인 기술이 macOS와 Linux에서 유사하게 작동하며, 전체 분류 접근 방식은 두 시스템 모두에서 비교 가능한 결과를 제공할 가능성이 높다고 작성했습니다. 그는 또한 이론적으로 모델이 SSD 접근 패턴을 일관되게 생성하는 모든 유형의 시스템 활동을 인식하도록 훈련될 수 있다고 언급했습니다. 이 팀은 Windows에서 이 방법을 테스트하지 않았습니다.
해당 기술이 연구 환경 밖에서 사용되었다는 징후는 없습니다. 하지만 이는 브라우저 기반 코드가 이전에 예상했던 것보다 시스템 동작에 더 깊이 도달할 수 있음을 보여주는 증가하는 연구 결과에 추가됩니다. 연구진은 브라우저 벤더들이 파일 크기 제한과 같은 OPFS 사용에 더 엄격한 제한을 부과하거나, 비정상적인 스토리지 접근 패턴을 모니터링함으로써 위험을 줄일 수 있다고 제안합니다. 그들의 연구 결과는 7월 DIMVA 컨퍼런스에서 발표될 예정입니다.
|