Cloudflare Precursor: 지속적인 클라이언트 측 신호를 통한 에이전트 동작 탐지

Cloudflare Precursor: 지속적인 클라이언트 측 신호를 통한 에이전트 동작 탐지

Cloudflare는 방문자가 웹 애플리케이션과 상호작용할 때 행동 신호를 지속적으로 수집하여 에이전트 동작을 탐지하도록 설계된 클라이언트 측 세션 기반 검증 시스템인 Precursor를 도입했습니다. 고립된 체크포인트에 의존하는 전통적인 봇 탐지와 달리, Precursor는 전체 사용자 여정을 평가하여 짧은 순간 동안 정상적인 동작을 모방할 수 있는 정교한 자동화와 실제 인간 트래픽을 구분합니다.

지속적인 행동 분석 vs. 고립된 챌린지

Precursor는 봇 탐지를 특정 시점의 확인에서 지속적인 평가로 전환합니다. Cloudflare Turnstile과 같은 도구는 특정 고위험 엔드포인트(예: 로그인 또는 결제)에서 사용자를 검증하지만, Precursor는 전체 세션에 대한 가시성을 제공합니다. 이는 현대적인 봇이 JavaScript를 실행하고, 실제 브라우저 환경을 사용하며, 개별 CAPTCHA를 통과할 수 있지만, 시간이 지남에 따라 일관된 인간의 행동을 복제하는 데 어려움을 겪기 때문입니다.

인간 상호작용의 물리적 특성

Precursor는 인간의 생리학적 및 인지적 프로세스에 의해 제약되는 신호를 분석하여 자동화를 식별합니다. 주요 지표는 다음과 같습니다:

  • Wrist Pivot (손목 회전축): 인간의 마우스 움직임은 일반적으로 손목과 전완의 회전 범위에 기반한 호를 따르지만, 봇은 종종 선형 보간법이나 Bézier 곡선을 사용합니다.
  • Cognitive Load (인지 부하): 인간이 시각적 요소(예: 체크박스)를 인지하고 상호작용하기까지 측정 가능한 지연 시간이 발생합니다.
  • Physiological Tremor (생리학적 떨림): 인간의 손은 전체 세션 동안 봇이 설득력 있게 시뮬레이션하기 어려운 자연스러운 진동 주파수를 나타냅니다.

기술적 아키텍처

Precursor는 사이트 소유자가 수동으로 구성할 필요 없이 행동을 평가하기 위한 4단계 프로세스를 통해 작동합니다.

1. Injection and Collection (주입 및 수집)

Cloudflare는 네트워크를 통과하는 HTML 응답에 가볍고 난독화된 JavaScript 번들을 자동으로 주입합니다. 이 스크립트는 포인터 이동, 키보드 활동, 포커스 변경, 페이지 가시성 등의 신호를 캡처하기 위해 이벤트 리스너를 부착합니다. 이러한 이벤트는 평가 레이어로 전송되기 전에 직렬화되어 메모리에 버퍼링됩니다.

2. Evaluation Layer (평가 레이어)

에지 서버에서 디스패처(dispatcher)가 들어오는 행동 스트림을 처리하는 일련의 평가기를 실행합니다. 이러한 평가기는 데이터(예: 키보드 이벤트가 텍스트 필드에 포커스가 있을 때만 발생하는지 확인)를 교차 참조하여 공유 탐지 레지스트리에 신호를 생성합니다.

3. Session Integration (세션 통합)

데이터가 세션 범위로 지정되어 있기 때문에, 봇은 단순히 페이지를 새로고침하는 것만으로는 행동 시그니처를 초기화할 수 없습니다. 이 데이터는 봇 점수 및 세션 일탈 휴리스틱을 포함한 다운스트림 탐지 레이어로 전달되어 실시간으로 세션의 봇 점수를 조정합니다.

4. Privacy Framework (개인정보 보호 프레임워크)

개인정보를 유지하기 위해 Precursor는 필요한 최소한의 정보만을 수집합니다. 키보드 활동은 실제 키스트로크가 아닌 타이밍과 리듬으로 기록됩니다. 행동 신호는 집계된 패턴으로 처리되며 사용자 계정, 지속적인 프로필 또는 고객 대시보드에 노출되지 않습니다.

세션 기반 보안 분석

탐지 시스템과 함께 Cloudflare는 Security Analytics에서 세션 기반 뷰를 도입하고 있습니다. 이를 통해 관리자는 개별 요청 로그를 넘어 전체 방문자 여정을 분석하여, 세션이 예상되는 인간의 행동에서 벗어나는 지점과 어떤 세션이 시간이 지남에 따라 자동화의 징후를 나타내는지 식별할 수 있습니다.

커뮤니티 관점 및 기술적 비판

발표 이후, 기술 커뮤니티에서는 이 방식의 효능 및 포괄성에 대해 몇 가지 우려를 사항했습니다:

접근성 및 포괄성

비판론자들은 마우스 움직임 패턴에 의존하는 것이 보조 기술을 사용하거나 비전통적인 입력을 사용하는 사용자를 의차적으로 불이익하게 만들 수 있다고 주장합니다.

"I can 1000% guarantee this will adversely impact assistive technology. You can tell it will because they don't mention any testing with regards to assistive technology."

시뮬레이션의 적대적 게임

일부 개발자들은 인간과 유사한 'jitter'와 행동 데이터 코퍼스가 정교한 봇이 이러한 검사를 우편하게 만들 수 있다고 제안합니다. 이는 RuneScape와 같은 게임에서 인간의 행동을 모방하도록 진화한 게임 봇과 유사합니다.

"What prevents bots/agents from just adding 'jitter' to their movements that mimics how humans move their cursor?"

감시 및 중앙집중화

봇 판정의 중앙집중화와 이 데이터가 감시 목적으로 사용될 가능성에 대한 광범위한 우려가 있습니다.

"It’s a bit alarming how cloudflare is establishing itself as arbiter of all things bots…both on blocking and allowing. Doesn’t seem healthy for the internet as a whole."

구현

Precursor는 현재 출시 중이며 Cloudflare 대시보드를 통해 사용할 수 있습니다. 올해 말 General Availability (GA) 출시 전까지는 무료로 사용할 수 있습니다. 사용자는 마찰이 적은 백그라운드 모드에서 활성화하거나 Challenges를 통해 전체 세션 검증을 강제할 수 있습니다.

Sources