3P by GN⁺ 7시간전 | ★ favorite | 댓글 1개
  • 파비콘(favicon) 캐시를 이용해 웹사이트 방문자에게 고유 식별자를 부여하는 추적 기법으로, 사용자가 캐시나 쿠키를 삭제해도 식별 정보가 유지됨
  • 이 방식은 시크릿 모드, VPN, 광고 차단기 사용 시에도 작동하며, 브라우저 재시작이나 시스템 재부팅 후에도 지속됨
  • 브라우저가 파비콘을 요청하거나 캐시에서 불러오는 패턴 조합을 통해 고유한 식별 번호를 생성함
  • Chrome, Firefox, Safari, Edge 등 주요 브라우저와 모바일 브라우저가 이 취약점의 영향을 받음
  • 브라우저 보안 및 개인정보 보호 측면에서 파비콘 캐시 관리의 중요성이 부각됨

Supercookie 개요

  • Supercookie는 파비콘 캐시(F-Cache) 를 이용해 사용자를 식별하는 기술
    • 파비콘은 웹사이트의 작은 아이콘으로, 브라우저 주소창이나 북마크 목록에 표시됨
    • 브라우저는 파비콘을 빠르게 표시하기 위해 별도의 로컬 데이터베이스(F-Cache)에 저장함
  • F-Cache에는 방문 URL, 파비콘 ID, TTL(유효 기간) 정보가 포함됨
  • 이 구조를 악용하면, 특정 URL 경로별 파비콘 요청 여부를 조합해 고유한 브라우저 패턴을 생성할 수 있음

위협 모델

  • 웹서버는 브라우저가 파비콘을 새로 요청하는지 여부를 통해 이전에 방문한 적이 있는지 판단 가능
    • 캐시에 파비콘이 없으면 서버에 GET 요청이 발생하고, 있으면 요청이 생략됨
  • 여러 경로의 파비콘 요청 상태를 조합하면 브라우저별 고유 식별 번호를 생성할 수 있음
  • 이 식별자는 쿠키 삭제, 캐시 초기화, VPN 사용, 헤더 조작 등 기존 추적 방지 조치에도 영향을 받지 않음

기존 쿠키와의 비교

  • 표에 따르면 Supercookie는 100% 식별 정확도를 가지며,
    • 시크릿 모드 감지, 캐시·쿠키 삭제 후에도 지속, 여러 창 간 식별, 안티트래킹 소프트웨어 우회가 가능함
  • 반면 일반 쿠키는 이러한 기능을 지원하지 않음

영향받는 브라우저

  • Chrome, Safari, Edge, Firefox 등 주요 브라우저가 취약함
    • Chrome: Windows, macOS, Linux, Android에서 영향
    • Safari: macOS, iOS에서 영향
    • Edge: Windows, macOS, Android에서 영향
    • Firefox: 일부 플랫폼에서 시크릿 모드 시 다른 지문 생성
    • Brave: 최신 버전에서는 대부분 차단됨
  • 이전 버전의 Brave(1.14.0)와 Firefox(<84.0)는 이 공격에 취약함

확장성과 성능

  • 리디렉션 경로 수(N)를 조정해 2^N개의 고유 사용자를 구분 가능
  • 구분 가능한 사용자가 많아질수록 읽기·쓰기 시간이 증가함
  • N의 길이를 동적으로 조정해 리디렉션 수를 최소화할 수 있음

방어 방법

  • 가장 확실한 방법은 파비콘 캐시를 완전히 비활성화하거나 수동으로 삭제하는 것
    • Chrome(macOS): ~/Library/Application Support/Google/Chrome/Default/FaviconsFavicons-journal 삭제
    • Chrome(Windows): C:\Users\username\AppData\Local\Google\Chrome\User Data\Default 삭제
    • Safari(macOS): ~/Library/Safari/Favicon Cache 내용 삭제
    • Edge(macOS): ~/Library/Application Support/Microsoft Edge/Default/FaviconFavicons-journal 삭제

프로젝트 목적 및 배경

  • 본 저장소는 교육 및 시연용으로 제작되었으며, 파비콘을 이용한 추적 가능성에 대한 보안 인식 제고가 목적
  • 영감은 University of Illinois Chicago 연구 논문heise.de 기사에서 비롯됨
  • 프로젝트는 개인 연구의 일환으로 2일 만에 구현된 데모 포털 포함

기타

  • 개발자는 독일 출신 20세 학생으로, 소프트웨어 디자인 및 IT 보안 분야에 관심을 가짐
  • 프로젝트는 GitHub에서 공개되어 있으며, Docker 또는 Node.js 환경에서 실행 가능
  • 관련 보도는 Vice, Gizmodo, TechRadar, Schneier.com 등 주요 매체에서 다뤄짐
Hacker News 의견
  • 예전부터 이런 문제가 있었던 것 같음. Safari에서 특정 사이트의 파비콘이 잘못 표시되는 경우가 자주 있음
    예를 들어 Reddit에서 Ars Technica의 파비콘이 뜨는 식임
    • 내 경우엔 Hacker News 아이콘이 날씨 사이트 아이콘으로 고정되어 있음
      iOS 업데이트 이후에도 그대로고, 프로필이나 시크릿 모드에서도 계속 유지됨
    • Safari의 파비콘 캐시가 너무 오래 유지됨
      강제로 새로 고치려면 시스템 시계를 몇 년 뒤로 돌려야 함
    • 나만 그런 줄 알았는데, UI 캐시가 손상된 것 같음
      MacBook에서 몇 년째 이러길래 그냥 포기했음
    • 모바일 Chrome에서도 HN 파비콘이 잘못 표시됨
    • Firefox에서도 가끔 같은 버그가 발생함
  • Brave가 이 문제를 패치했다니 반가움
  • 예전 논의(2021년)도 있었음 — 관련 댓글 스레드
  • 라이브 데모가 뭘 해야 하는지 모르겠음
    iOS Safari에서 1부터 18까지 카운터가 돌다가 다시 리다이렉트되는 무한 루프에 빠짐
    • 우리가 논문 작업 중에 이 문제를 보고했고, 그 후 수정되었음
    • Android/Firefox에서는 처음 18회 후 내 고유 ID가 표시되었고, 다시 시도 버튼을 누르면 같은 루프에 빠졌음
  • 제목에 (2023)을 추가해야 할 듯함
    • 사실 (2021)이 맞을지도 모르겠음. 이렇게 오래됐는데 아직 수정이 안 된 건가 궁금함
  • macOS Safari가 새 탭 페이지를 열 때마다 파비콘을 자주 불러오는 현상이 있음
    이건 원치 않는 동작이라 즐겨찾기를 지우거나 HTML로 저장해둘까 고민 중임
    주로 프라이빗 윈도우를 쓰는데, Little Snitch 덕분에 이걸 발견했음
  • 관련 토론으로 "Tales of Favicons and Caches: Persistent Tracking in Modern Browsers" (2021년 1월, 53개 댓글)이 있음
  • 나는 비영속 VM 기반 브라우저 환경을 씀
    qemu + cage + firefox 조합으로, 종료 시 이미지가 삭제됨
    속도는 느리지만 보안상 안심됨. 컨테이너화도 가능하지만 브라우저가 호스트 커널에 접근하는 게 불안함
    eBPF 정책으로 제어하려는 것도 복잡해서 그냥 VM으로 격리함
    • 나도 비슷한 시도를 했는데, VM 환경에서는 캡차가 자주 뜸
      예를 들어 SwiftShader 렌더러나 폰트 부재 같은 특징이 탐지됨
      이런 걸 속이려 해도 캔버스 노이즈 조작 같은 건 금방 들킴. 혹시 해결책이 있으면 공유해줬으면 함
    • 흥미로운 접근임. 혹시 이 내용을 문서화한 자료가 있는지 궁금함
  • 나도 1/18부터 18/18까지 카운터만 돌고 새로고침되는 걸 봤음
    20초 정도 허비한 기분임
  • 공격 메커니즘이 GitHub 저장소에 구체적으로 설명돼 있지 않고, 논문 링크도 깨져 있어서 아쉬움