안티 디텍트 브라우저(Multilogin, GoLogin, Dolphin Anty) 탐지 방법
안티 디텍트 브라우저의 작동 원리, 사기에 악용되는 이유, 그리고 이를 잡아내는 탐지 기법에 대한 기술적 심층 분석.
안티 디텍트 브라우저는 사기꾼의 무기고에서 가장 정교한 우회 도구다. IP 주소만 가리는 VPN이나 프록시 체인과 달리, 안티 디텍트 브라우저는 canvas, WebGL, 폰트, 오디오를 비롯한 수십 가지 브라우저 fingerprinting 신호를 위조하여 완전히 새로운 기기 정체성을 만들어낸다.
안티 디텍트 브라우저란?
안티 디텍트 브라우저는 각 브라우저 프로필이 완전히 다른 기기처럼 보이도록 개조된 Chromium(또는 Firefox) 빌드다. 1인 1계정 정책을 시행하는 플랫폼에서 여러 계정을 관리하거나, 여러 광고 계정에 걸친 광고 사기, 어필리에이트 마케팅 사기, 대규모 웹 스크래핑에 사용된다.
이 시장을 지배하는 세 주자는 Multilogin, GoLogin, Dolphin Anty다.
Multilogin의 작동 방식
Multilogin은 엔터프라이즈급 옵션이다. 두 가지 맞춤형 브라우저 엔진을 제공한다. Mimic(Chromium 기반)과 Stealthfox(Firefox 기반)다. 각 프로필은 canvas 노이즈, WebGL 파라미터, 폰트 목록, 화면 해상도, 시간대, 언어, WebRTC 설정의 고유한 조합을 갖는다.
Multilogin의 핵심 혁신은 결정론적 노이즈 주입이다. canvas 렌더링에 무작위 노이즈를 추가(그 자체가 탐지 가능한 패턴이다)하는 대신, Multilogin은 각 프로필에 일관된 변환을 적용한다. 동일한 프로필은 항상 동일한 canvas 해시를 생성하므로, 단순한 fingerprinting 시스템에는 실제 기기처럼 보인다.
GoLogin의 작동 방식
GoLogin은 Orbita 브라우저로 중간 시장을 겨냥한다. Multilogin보다 저렴하며, canvas, WebGL, 폰트, 시간대, 위치 정보, 프록시 통합 등 유사한 위조 기능을 제공한다.
GoLogin의 fingerprint 위조 접근 방식은 Multilogin보다 덜 정교하다. Canvas 노이즈가 프로필 간에 더 균일한 경향이 있고, 일부 WebGL 파라미터 조합은 어떤 실제 하드웨어와도 일치하지 않는다. 이는 탐지 기회를 만든다.
Dolphin Anty의 작동 방식
Dolphin Anty는 어필리에이트 마케팅 영역을 지배한다. 팀 협업 기능을 제공하는데, 프로필을 팀원 간에 공유할 수 있어 수백 개의 광고 계정을 관리하는 에이전시에 유용하다.
탐지 기법
Canvas 불일치 분석
안티 디텍트 브라우저는 canvas 출력을 위조하지만, 그 위조는 통계 분석을 통해 스스로 드러난다. 실제 GPU는 WebGL이 선언한 GPU 모델과 상관관계가 있는 일관된 서브픽셀 렌더링 패턴으로 canvas 출력을 생성한다. 안티 디텍트 브라우저는 canvas 출력에 노이즈를 주입하지만, 그 노이즈 패턴은 어떤 실제 GPU가 생성하는 것과도 일치하지 않는다.
우리는 픽셀 이웃의 Shannon 엔트로피를 계산하여 알려진 GPU 렌더링 프로필과 비교한다. 실제 NVIDIA GeForce RTX 3060은 특정 엔트로피 서명을 가진 canvas 출력을 생성한다. Multilogin의 Mimic 브라우저는 노이즈 주입으로 인해 약간 더 높은 엔트로피의 canvas 출력을 생성한다. 이 차이는 작다. 픽셀 이웃당 0.3비트 미만이지만, 일관되고 측정 가능하다.
WebGL 파라미터 불일치
WebGL은 GPU에 대한 상세 정보를 노출한다. 벤더 문자열, 렌더러 문자열, 지원 확장, 최대 텍스처 크기, 정밀도 형식 등이다. 안티 디텍트 브라우저는 사용자가 GPU 프로필을 선택하게 하지만, 그 조합이 항상 말이 되는 것은 아니다. Intel UHD 630이라고 주장하면서 AMD GPU만 지원하는 최대 텍스처 크기 값을 보고하는 프로필은 의심스럽다. 우리는 지난 10년간 출시된 모든 주요 GPU에 대한 유효한 파라미터 조합 데이터베이스를 유지한다.
Navigator 속성 불일치
navigator 객체는 내부적으로 일관되어야 할 속성들을 보고한다. hardwareConcurrency(CPU 코어), deviceMemory, platform, userAgent는 모두 기기에 대해 일관된 이야기를 들려주어야 한다. 안티 디텍트 브라우저는 때때로 불가능한 조합을 만들어낸다. Linux platform을 가진 Windows user agent, 또는 CPU 2코어에 32GB 메모리 같은 경우다. 우리는 47개의 교차 속성 일관성 규칙을 검사한다.
폰트 렌더링 이상
폰트 렌더링은 OS, 폰트 렌더링 엔진, 사용 가능한 폰트에 의해 결정된다. 안티 디텍트 브라우저는 맞춤형 폰트 목록을 주입할 수 있지만, 다른 OS가 그 폰트를 렌더링하는 방식을 완벽하게 복제할 수는 없다. 우리는 특정 글리프를 렌더링하고 바운딩 박스 치수, 어드밴스 너비, 커닝 쌍을 분석한다. Windows 기기가 텍스트를 렌더링하면 동일한 폰트라도 Mac과 미묘하게 다른 지표를 생성한다.
타이밍 분석
Fingerprint 위조에는 시간이 걸린다. 위조된 모든 API 호출은 네이티브 실행에 비해 작지만 측정 가능한 오버헤드를 추가한다. 우리는 12개의 핵심 API 호출 실행 시간을 측정하여 주장된 하드웨어의 예상 범위와 비교한다. 실제 기기에서 canvas.toDataURL()은 28ms 걸린다. 노이즈 주입이 있으면 820ms 걸린다.
자동화 프레임워크 흔적
많은 안티 디텍트 브라우저는 자동화 인프라의 흔적을 남긴다. 맞춤형 Chromium 빌드는 navigator나 window 객체에 비표준 속성을 노출할 수 있다. 우리는 CDP 트레이스, Puppeteer 고유 속성, GoLogin의 Orbita 브라우저가 주입하는 맞춤 속성 등 200개 이상의 알려진 자동화 흔적을 검사한다.
다형성(Polymorphic)의 이점
정적 JavaScript의 탐지 로직은 리버스 엔지니어링에 취약하다. tracio.ai의 다형성 스크립트가 이를 해결한다. 모든 방문자는 고유한 JavaScript를 받는다. 동일한 검사이지만 변수 이름, 실행 순서, 코드 구조가 각각 다르다. 안티 디텍트 벤더는 모든 변형을 리버스 엔지니어링해야 하는데, 이는 경제적으로 실현 불가능하다.
API 응답 예시
tracio.ai가 안티 디텍트 브라우저를 탐지하면, API 응답에는 구체적인 신호가 포함된다.
antiDetectBrowser 신호에는 탐지된 계열(Multilogin, GoLogin 또는 Dolphin Anty), 구체적인 엔진 변형, 그리고 탐지를 유발한 지표(canvas_entropy_anomaly, webgl_param_mismatch, timing_deviation 등)가 포함된다.
권장 사항
멀티 어카운팅이나 어필리에이트 사기가 플랫폼의 문제라면:
- 가입, 로그인, 주요 전환 이벤트에 device fingerprinting을 구현하라
- 안티 디텍트 브라우저 탐지를 활성화하라
- Verdict Engine을 사용해 BLOCK 및 CHALLENGE 결정을 자동화하라
- 새로운 우회 기법을 모니터링하라. 안티 디텍트 환경은 매달 진화한다
tracio.ai의 무료 티어로 시작하여
현재 안티 디텍트 브라우저 트래픽이 어떤 모습인지 확인하라. 대부분의 플랫폼은 그 규모에 놀란다.