보안 3분 소요

웹사이트가 당신의 SSD를 엿본다 — FROST가 연 새로운 지문 채취의 문

쿠키를 다 지우고, VPN까지 켰는데도 광고가 따라온다는 느낌, 받아보신 적 있나요? 이제는 그 의심이 단순한 기분 탓이 아닐지도 모릅니다. 최근 보안 연구자들이 공개한 FROST(Fingerprinting via Read/Write Operations Storage Timing)라는 기법은 웹사이트가 사용자의 SSD 반응 속도를 측정해 기기를 식별할 수 있다는 사실을 보여줬습니다. 한마디로, 브라우저 너머에 있는 저장장치까지 신원의 단서가 되어버린 셈입니다.

SSD가 왜 지문이 되는가

같은 모델의 SSD라도 내부 셀의 마모도, 컨트롤러 펌웨어 상태, 캐시 점유율은 기기마다 미묘하게 다릅니다. 사용자가 오래 쓴 노트북일수록 그 차이는 더 커지죠. FROST는 바로 이 마이크로초 단위의 반응 속도 차이를 측정합니다. 같은 크기의 파일을 쓰고 읽었을 때 걸리는 시간, 그 안의 분포, 지연이 발생하는 패턴까지 모두 한 사람의 기기를 가리키는 고유한 신호가 됩니다.

흥미로운 점은 이 지문이 쿠키처럼 지울 수 있는 게 아니라는 겁니다. SSD를 교체하지 않는 한, 같은 기기로 어느 사이트에 접속하든 비슷한 타이밍 프로파일이 나옵니다. 시크릿 모드를 켜도 소용없습니다. 하드웨어 자체가 지문이기 때문입니다.

OPFS, 편리함이 만든 새로운 사각지대

이 공격의 무대는 OPFS(Origin Private File System)입니다. 최근 크롬, 사파리, 파이어폭스가 차례로 지원하기 시작한 이 API는 웹사이트가 사용자 디스크에 자체 파일 시스템을 만들 수 있게 해줍니다. 구글 문서나 피그마처럼 무거운 데이터를 다루는 웹앱들이 이 기술 덕에 네이티브 앱 수준의 성능을 낼 수 있게 됐죠.

문제는 OPFS가 실제 디스크에 직접 쓰기 작업을 수행한다는 점입니다. 기존 IndexedDB나 LocalStorage는 브라우저의 추상화 계층을 거치기 때문에 타이밍이 어느 정도 평탄화됐는데, OPFS는 그 추상화를 걷어냈습니다. 성능을 얻은 대신, 물리적 저장장치의 특성이 그대로 드러나는 통로를 만들어준 겁니다.

어떻게 막을 수 있을까

연구자들이 제시하는 방어책은 크게 세 가지입니다. 첫째는 OPFS API에 의도적인 지연(jitter)을 삽입해 타이밍 정보를 흐리게 만드는 것. 둘째는 타이밍 측정 정밀도를 밀리초 단위로 낮추는 것. 셋째는 사용자가 명시적으로 허락한 사이트에서만 OPFS를 활성화하는 것입니다.

하지만 어느 쪽도 간단하지 않습니다. 지연을 넣으면 OPFS가 추구했던 네이티브급 성능이 무너지고, 정밀도를 낮추면 합법적인 웹 게임이나 영상 편집 도구가 영향을 받습니다. 결국 또다시 보안과 사용성의 줄다리기 구도입니다. 과거 Spectre/Meltdown 대응 때 브라우저 성능이 일제히 깎였던 기억이 떠오르네요.

광고 생태계가 가만히 있을 리 없다

FROST가 무서운 진짜 이유는 따로 있습니다. 이 기법은 완전히 수동적으로 작동합니다. 사용자에게 어떤 권한 요청도 띄우지 않고, 콘솔에 흔적도 남기지 않습니다. 광고 네트워크나 트래킹 회사가 마음만 먹으면 모든 사이트에 한 줄짜리 스크립트로 심을 수 있다는 뜻입니다.

쿠키 동의 배너를 만들고, GDPR을 통과시키고, 애플이 IDFA를 막아온 지난 10년의 프라이버시 전쟁이 무색해지는 순간이죠. 한쪽에서 문을 닫으면 다른 쪽에서 창문을 여는 식의 추적 진화는 멈추지 않습니다. 5월 30일 한 유튜브 채널이 이 주제를 다룬 영상을 올린 뒤로 보안 커뮤니티가 술렁이는 것도 그런 이유에서입니다.

마무리하며

FROST는 단순한 공격 기법 하나가 아니라, 웹 플랫폼이 점점 OS처럼 강력해지는 흐름이 만들어낸 부작용입니다. 브라우저에 더 많은 권한을 줄수록, 그 권한을 통해 새어 나가는 정보도 늘어납니다. 우리가 쓰는 웹앱이 네이티브 수준의 성능을 내는 그 순간, 어떤 대가가 함께 따라오는지 한 번쯤 곱씹어볼 필요가 있겠습니다.

여러분의 SSD는 지금 이 순간 어떤 사이트에 무슨 이야기를 들려주고 있을까요?

보안 프라이버시 브라우저 핑거프린팅 SSD

댓글

    댓글을 불러오는 중...