브라우저의 프라이버시 기능은 신원을 브라우저 상태로 취급한다. 쿠키, 캔버스 지문, 오디오 지문은 시크릿 모드, VPN, Tor에 의해 삭제되거나 무작위화되거나 차단되므로, 브라우저를 바꾸면 새로 시작하는 것처럼 보인다. FingerprintJS 연구진은 남아 있는 신호를 공격했다. 즉 기기에 설치된 애플리케이션은 사람이 브라우저를 바꾸거나 VPN 뒤에 숨어도 변하지 않으므로, 앱 집합은 해당 컴퓨터에서 Chrome, Firefox, Safari, Tor 전반에 걸쳐 동일인을 연결할 수 있다.

딥링크가 그 통로다. 데스크톱 브라우저는 skype:// 같은 사용자 지정 URL 스킴을 이를 등록한 설치된 애플리케이션에 넘기며, 실행 전에 사용자에게 묻는다. 따라서 페이지는 앱의 존재를 시험할 수 있다. 해당 스킴으로 이동하여 브라우저가 어떻게 반응하는지 관찰하면 된다. 인기 애플리케이션 32개를 탐지하고 예/아니오 응답을 조합하면 Windows, macOS, Linux에서 수 초 만에 32비트 식별자가 만들어진다.

각 브라우저는 서로 다른 약점을 통해 같은 답을 누출했다. Chrome은 사용자 제스처를 요구했지만 PDF 뷰어 같은 확장 프로그램이 보호 플래그를 초기화했다. Firefox는 알 수 없는 스킴에 대해 내부 오류 페이지를 표시하여 설치된 앱의 팝업을 감지할 수 있게 했다. Safari에는 스킴 폭주 보호가 없었고, 확인 대화상자를 완전히 비활성화한 Tor에서는 프로브가 iframe 안에서 보이지 않게 실행되었다.

이 조치는 악용이 아니라 공개였다. FingerprintJS는 동작하는 데모와 함께 이 기법을 공개하고 소스 코드를 배포했으며, 자사 제품에서는 이 취약점을 사용하지 않는다고 밝히면서 네 브라우저 공급업체 모두에 버그 보고서를 제출했다. Mozilla의 Bugzilla는 이슈 1711084를 열었고, Tor Browser는 나중에 패치를 첨부했다. 2021년 5월 13일 Hacker News 발표는 467점과 댓글 200개를 기록했으며, 독자들은 데모를 현장 테스트로 실행했다.

URL 스킴 대화상자를 통해 설치된 앱을 탐지하여 어떤 프라이버시 모드로도 초기화되지 않는 ID를 구축한다

설치된 애플리케이션은 기기 수준의 상태이므로, 이로부터 구축한 식별자는 어떤 쿠키나 캔버스 지문도 할 수 없는 방식으로 시크릿 모드, VPN, 브라우저 전환, Tor를 견딘다.

사용자 지정 URL 스킴은 권한 없이 앱 존재를 노출한다. 브라우저는 실제 애플리케이션이 등록한 경우에만 스킴 실행을 제안하며, JavaScript는 그 제안이 발생했는지 관찰할 수 있다.

이 공격은 이미 존재하던 팝업 창, iframe, 동일 출처 규칙만 사용했으므로 모든 주요 데스크톱 브라우저가 어떤 형태로든 이 신호를 노출했으며, 플러그인이나 OS 접근이 필요하지 않았다.

확인 대화상자를 비활성화한 Tor의 프라이버시 선택은 역효과를 냈다. 사용자에게 보이는 것이 없었기에 프로브가 iframe 안에서 보이지 않게 실행되어, 가장 사적인 브라우저가 가장 조용한 누출이 되었다.

데모를 배포하고 버그 보고서를 열어 외부인이 이 발견을 재현할 수 있게 함으로써, 공급업체의 사적 주장을 추적되는 이슈, 브라우저 패치, 공개적 검증으로 바꾸었다.

설치된 앱은 시크릿 모드, VPN, 브라우저 전환을 견디는 기기 수준의 상태이며, 대화상자가 나타나는지 여부 같은 관찰 가능한 UI 차이는 무엇이든 추적 신호가 된다.

Mozilla는 이 보고를 버그 1711084로 추적했고 Tor Browser는 Matthew Finkel이 개발한 패치를 첨부했으며, 수년 후에도 이 버그는 열려 있었다. 기사의 2022년 8월 업데이트는 Chrome과 Firefox의 트래커 항목이 여전히 열려 있고 미해결이라고 보도했다. 데모와 소스 저장소는 계속 운영되었고, 기사는 FingerprintJS가 자사 제품에서 이 취약점을 사용하지 않는다는 면책 문구를 유지했다. 2021년 5월 13일 Hacker News 스레드는 467점과 댓글 200개를 기록했으며, 독자들은 데모를 현장 테스트로 실행하여 일부는 브라우저 전반에서 일치하는 식별자를 확인했고 다른 이들은 오탐을 보고했다.

근거 확인하기

출처

  1. Scheme flooding technique for reliable cross-browser fingerprinting Mozilla Bugzilla · bugzilla.mozilla.org
  2. Vulnerability allows cross-browser tracking in Chrome, Firefox, Safari, and Tor Hacker News · news.ycombinator.com ·