WebGL 핑거프린팅의 작동 방식
스크립트는 WebGL 렌더링 컨텍스트를 초기화하고 매개변수 질의 함수를 호출하여 하드웨어와 드라이버 메타데이터를 읽습니다. 마스킹되지 않은 renderer 및 벤더 문자열은 흔히 특정 GPU 모델과 드라이버를 명시하며, 지원 확장 목록, 최대 텍스처 크기, 셰이더 정밀도 범위는 그래픽 스택의 성능을 드러냅니다.
정적 메타데이터를 넘어, 스크립트는 3D 장면을 렌더링하거나 셰이더 프로그램을 실행하고 그 출력을 다시 읽을 수 있는데, 이는 canvas 핑거프린팅과 유사하지만 전체 그래픽 파이프라인을 작동시킵니다. 정확한 부동소수점 결과와 픽셀 출력은 GPU 아키텍처와 드라이버에 따라 달라져 추가적인 변별 정보를 더합니다.
WebGL 메타데이터는 특정 디바이스에서 GPU와 드라이버가 거의 바뀌지 않으므로 매우 안정적인 경향이 있습니다. 또한 같은 머신의 브라우저들이 모두 동일한 하드웨어와 통신하므로 브라우저 간에 대체로 일관되며, 이는 user agent 기반 신호가 다를 때 브라우저 간 디바이스 인식에 WebGL을 유용하게 만듭니다.
일부 브라우저는 프라이버시를 위해 renderer 문자열을 마스킹하거나 일반화하여 정확한 GPU 대신 포괄적인 값을 반환합니다. 이런 경우 신호는 정밀도를 잃으므로, 구현은 그에 맞게 가중하고 렌더링 기반 프로브로 대체합니다.
WebGL 핑거프린팅이(가) 사기 방지에서 중요한 이유
WebGL 핑거프린팅은 브라우저에서 얻을 수 있는 가장 안정적이고 하드웨어에 고정된 신호를 일부 제공하며, 그래서 세션, 브라우저, 삭제된 쿠키를 넘어 디바이스를 연결하는 데 높이 평가됩니다. 안티프로드 작업에서 그것은 user agent는 위조하지만 드러나는 GPU 특성은 노출하는 안티디텍트 브라우저와 가상 머신의 정체를 밝히는 데 도움을 줍니다. 그것의 브라우저 간 일관성은 여러 브라우저 프로필을 운영하는 단일 행위자를 탐지하는 데 특히 가치가 있습니다.
TRACIO의 처리 방식
TRACIO는 WebGL renderer 및 성능 데이터를 130개 이상의 신호에 통합하며, 그 안정성을 활용해 같은 하드웨어에서 브라우저가 바뀌어도 방문자 ID를 고정합니다. 보고된 GPU가 다른 신호와 충돌할 때, 예컨대 모바일 디바이스라고 주장하면서 데이터센터 GPU를 노출할 때, TRACIO는 Smart Signals를 통해 그 불일치를 드러냅니다. 이러한 계층적 활용은 어느 하나의 강한 신호를 과신하지 않으면서 식별을 정확하게 유지합니다.