PowerScan
KO

브라우저 핑거프린팅이란 무엇이며, 웹사이트는 실제로 무엇을 읽을 수 있을까?

브라우저 핑거프린트 · 읽는 데 6분 · 작성자 PowerScan

사진: Unsplash

페이지를 열 때마다 브라우저는 사이트에 자기 자신에 대한 긴 사실 목록을 건넵니다. 어느 것도 비밀이 아니고, 어느 것도 허락을 구하지 않으며, 대부분은 페이지가 올바르게 표시되도록 존재합니다. 핑거프린팅은 사이트가 이 사실들을 화면 표시에 쓰는 대신 여러분을 알아보는 데 쓰기 시작할 때 일어나는 일입니다.

페이지가 묻지 않고 읽을 수 있는 것

일반 탭에서 실행되는 스크립트는 여러 가지를 읽을 수 있습니다. 사용자 에이전트 문자열, 선호 언어 목록, 시간대, 화면 크기와 픽셀 밀도, CPU 스레드 수, 반올림된 기기 메모리 수치, 색 심도, 터치 지원 여부, WebGL 뒤에 있는 그래픽 렌더러의 이름, 작은 이미지를 canvas에 그리거나 짧은 오디오 버퍼를 렌더링한 결과 등입니다. 또한 특정 작업에 걸리는 시간, 어떤 글꼴이 한 줄 텍스트의 너비를 바꾸는지, 어떤 미디어 장치가 있는지(접근을 허용하지 않으면 이름이 아니라 개수만)도 관찰할 수 있습니다.

이 값들은 하나하나로는 따분합니다. 시간대는 여러분을 수억 명 중 하나로 좁힐 뿐입니다. 하지만 합치면 훨씬 더 좁혀집니다. 희소한 것은 조합이기 때문입니다. 특정 NVIDIA 렌더러 문자열, 12 스레드, 2560×1440 화면, 프랑스어와 영어 순서의 언어 설정, 특정 canvas 해시를 가진 Windows 기기는 군중 속에 섞여 있지 않습니다.

어떤 신호가 식별에 유용한가

세 가지 속성이 중요합니다. 신호는 안정적이어야 합니다. 같은 브라우저는 내일도 같은 값을 줘야 합니다. 다양해야 합니다. 서로 다른 브라우저는 서로 다른 값을 줘야 합니다. 그리고 저렴해야 합니다. 권한 요청 없이 밀리초 안에 읽을 수 있어야 합니다. canvas 해시는 세 가지 모두에서 높은 점수를 받으며, 그래서 모든 핑거프린팅 라이브러리에 등장합니다. 화면 크기는 앞의 두 가지에서 좋은 점수를 받고 세 번째에서는 완벽합니다. 사용자 에이전트는 예전에는 다양성 면에서 높은 점수를 받았지만, 바로 그 이유로 브라우저 벤더들이 의도적으로 평준화했습니다.

페이지가 읽을 수 없는 것

이 부분은 과장되는 경우가 많습니다. 페이지 스크립트는 프록시 뒤에 있을 때 여러분의 실제 주소를 볼 수 없습니다. 프록시가 내보이는 것만 봅니다. 다른 탭, 방문 기록, 북마크, 저장된 비밀번호는 읽을 수 없습니다. 시크릿 창인지 여부를 확실하게 알 수 없으며, 그렇다고 주장하는 휴리스틱은 주기적으로 깨집니다. 여러분의 이름도 알 수 없습니다. 그리고 주소가 프록시인지 데이터 센터인지를 스스로 판단할 수 없습니다. 그 판정은 브라우저가 알려 준 어떤 정보가 아니라, 사이트가 비용을 내고 사용하는 평판 데이터베이스에서 나옵니다.

“봇 점수”나 “프록시: 예”를 표시하는 사이트는 브라우저가 보고한 내용과 제3자의 데이터를 결합하고 있는 것입니다. 정당한 방법이지만, 어느 절반이 측정이고 어느 절반이 조회인지는 알아 두어야 합니다.

진단 페이지가 존재하는 이유

PowerScan 같은 진단 페이지는 트래커가 읽는 것과 같은 신호를 읽고, 저장하는 대신 여러분에게 보여 줍니다. 목적은 점수를 매기는 것이 아닙니다. 두 가지를 확인하게 하는 것입니다. 숨겨져 있을 거라 기대한 신호가 노출되어 있는지, 그리고 신호들이 서로 일관되는지입니다. 계정이 플래그되는 것은 불일치 때문입니다. 한 나라의 주소, 다른 나라의 브라우저 시계, 접속한 주소와 맞지 않는 WebRTC 후보 같은 것들입니다.

보고서를 읽을 때는 모든 줄을 하나의 질문에 대한 답으로 대하십시오. “방금 이 브라우저가 이 페이지에 무엇을 알려 주었는가?” 그 이상은 아닙니다. 해시는 판정이 아니며, 읽힌 신호의 개수는 여러분이 얼마나 진짜처럼 보이는지의 척도가 아닙니다.

모든 글 · 스캔 실행