Precursor로 전체 사용자 여정의 봇 행동을 탐지하세요!
봇 탐지(Bot Mitigation)는 지속적인 적응형 게임(Adversarial Game)으로, 클라우드플레어(Cloudflare)는 네트워크 및 클라이언트 측 신호 결합으로 대응함
기존 Turnstile은 로그인 등 중요 지점에서 사용자 인증을 강화했으나, 전체 사용자 여정(User Journey)에 대한 가시성 부족이라는 탐지 격차(Visibility Gap) 존재
Precursor는 세션 기반(Session-based) 행동 신호를 지속 수집하여 전체 웹 애플리케이션의 봇 탐지 범위를 확장하고 정밀도 향상(Improved Detection Precision)을 목표로 함
인간의 행동 패턴(Human Behavior Pattern) 분석을 통해 봇의 일관성 없는 움직임(Inconsistent Movement)을 탐지하고, 봇 운영 비용 증가를 유도함
인간 행동과 봇 행동의 차이점 분석
Precursor는 인간의 물리적 제약(Human Physical Constraints)과 인지 부하(Cognitive Load)를 활용하여 봇 행동을 탐지한다.
마우스 움직임(Mouse Movement): 인간은 손목 회전(Wrist Pivot)과 팔 회전(Forearm Rotation)으로 인해 호(Arc) 형태의 불규칙한 경로를 보이지만, 봇은 선형 보간(Linear Interpolation)이나 수학적으로 이상적인 베지에 곡선(Bézier Curves)을 사용함.
반응 속도 및 타이밍(Reaction Speed & Timing): 인간은 인지 부하로 인해 체크박스 클릭 등에서 측정 가능한 지연 시간(Measurable Delay)이 발생하지만, 봇은 일정한 반응 속도를 보임.
손 떨림(Hand Tremor): 인간의 미세한 손 떨림 패턴은 생리적 떨림 주파수(Physiological Tremor Frequency)로 나타나지만, 봇은 이를 모방하기 어려움.
이러한 개별 신호는 미미해 보일 수 있으나, 세션 전체(Entire Session)에 걸친 행동 패턴을 분석하면 봇과의 차이가 명확해짐.
Precursor의 클라이언트 측 데이터 수집 및 처리 방식
Precursor는 경량 스크립트(Lightweight Script)를 동적으로 주입하여 사용자 상호작용 데이터를 실시간으로 수집한다.
동적 스크립트 주입(Dynamically Injected Script): Cloudflare 네트워크를 통과하는 HTML 응답에 스크립트를 삽입하며, 별도 설정이나 외부 라이브러리 없이 작동함.
이벤트 리스너(Event Listeners): 포인터 이동, 키보드 활동, 포커스 변경 등 최소한의 상호작용 신호를 포착하여 직렬화 후 버퍼링함.
평가 계층(Evaluation Layer): 수집된 데이터를 비동기적으로 처리하며, 각 평가자(Evaluator)는 데이터 간의 상관관계(Correlation between Data)를 교차 검증함 (예: 포인터 활동과 페이지 가시성 시간 일치 여부 확인).
이 과정에서 데이터 미저장 정책(Zero-Retention Policy)을 준수하여 개인 식별 정보는 수집하지 않음.
세션 기반 탐지의 중요성 및 이점
Precursor는 세션 스코핑(Session Scoping)을 통해 단일 요청이 아닌 전체 사용자 여정을 분석하여 봇 탐지 정확도를 높인다.
페이지 새로고침 방지(Page Refresh Prevention): 봇이 행동 시그니처를 초기화하기 위해 페이지를 새로고침하거나 챌린지를 재시도해도 탐지 가능함.
하위 탐지 계층 통합(Integration with Downstream Detection Layers): 수집된 세션 메타데이터는 봇 점수(Bot Score), 챌린지 결정, 보안 규칙 등에 활용되어 탐지 능력 강화(Enhanced Detection Capabilities)에 기여함.
봇 운영 비용 증가(Increased Cost for Bot Operation): 전체 세션 시뮬레이션은 봇 개발자에게 구축, 유지보수, 운영 측면에서 상당한 비용 부담을 야기함.
이를 통해 정상 사용자의 불필요한 방해를 최소화하면서 자동화된 트래픽을 효과적으로 차단할 수 있다.
개인정보 보호 설계(Privacy by Design) 원칙
Precursor는 자동화 및 악용 패턴 탐지에 필요한 최소한의 정보(Minimum Information)만을 수집하도록 설계되었다.
실제 키 입력 미수집(Actual Keys Not Captured): 키보드 활동은 실제 입력 내용이 아닌 타이밍과 리듬 패턴만 수집함.
집계 패턴 분석(Aggregate Pattern Analysis): 개별 행동보다는 종합적인 행동 패턴을 평가하며, 수집된 신호는 Cloudflare 내부 봇 탐지 시스템에서만 사용됨.
고객 대시보드 미노출(Not Exposed to Customer Dashboards): 수집된 데이터는 사용자 계정이나 식별 정보와 연결되지 않으며, 고객에게 직접 제공되지 않음.
이러한 설계는 정밀도 극대화(Maximizing Precision)와 정상 사용자 경험 저해 최소화라는 두 가지 목표를 동시에 달성하게 한다.
보안 분석(Security Analytics)의 세션 기반 뷰
Precursor 출시와 함께 Cloudflare는 개별 요청 중심에서 전체 방문자 여정(Full Visitor Journey)을 조망하는 세션 기반 분석 기능을 제공한다.
세션 시각화(Session Visualization): 사이트 내 일반적인 세션 모습, 예상 행동과의 차이점, 자동화 징후가 있는 세션 등을 파악할 수 있음.
요청 간 행동 포착(Capturing Behavior Between Requests): 기존 요청 중심 분석으로는 파악하기 어려웠던, 요청과 요청 사이의 행동 데이터(Behavioral Data)를 분석에 포함함.
이 새로운 분석 기능은 기존 봇 관리 시스템과 즉시 통합되어 봇 점수, 챌린지 결정 등에 추가적인 컨텍스트(Additional Context)를 제공한다.