원문 캡처 · blog.cloudflare.com
원문 캡처 · blog.cloudflare.com

Cloudflare의 트래픽 분석에 따르면 Yandex 데이터센터 장애로 검색 크롤링과 일부 악성 자동화 트래픽은 줄었지만, 대량 자동화가 멈춘 것은 아니었다. Yandex.Cloud에서 도박 사이트를 겨냥하던 요청은 장애 직후 다른 러시아 호스팅 업체로 이동했다.

Cloudflare는 Yandex와 관련된 자율 시스템 번호(ASN) 두 곳을 나눠 분석했다. AS13238은 Yandex 검색 엔진, AS200350은 Yandex.Cloud 서비스에 쓰인다. 이 구분은 전체 트래픽 감소만으로 자동화의 성격이나 악성 활동의 중단 여부를 판단하기 어렵다는 점을 보여준다.

장애와 두 네트워크의 차이

보도된 우크라이나 드론 공격은 10월 7일부터 11일까지 러시아 내 Yandex 시설 세 곳을 타격했다. Cloudflare Radar에 따르면 10월 11일 Yandex Search 트래픽은 기준치보다 99%, Yandex.Cloud는 90% 낮아졌다. 부분적으로 회복된 뒤에도 두 네트워크는 10월 13일까지 평소보다 86~90% 낮은 수준에 머물렀다. 10월 14일 18:00 UTC 기준 트래픽은 정상 수준의 85%였다.

Yandex Search 트래픽 감소분은 대부분 웹페이지와 이미지 등을 수집하는 검증된 검색 크롤러였다. AS13238 요청의 99.5%는 자동화로 분류됐고, 봇 요청의 93.6%는 Cloudflare가 검증한 봇이었다. 샘플 요청 가운데 78.1%는 YandexBot, 11.5%는 YandexRenderResourcesBot, 1.9%는 YandexImages였다. 뉴스 사이트로 향하던 장애 전 트래픽의 약 90%도 YandexBot의 기사 색인 작업이었으며, Cloudflare 고객의 40.5%는 이 크롤러를 차단하고 있었다. 따라서 해당 네트워크의 장애로 가장 직접적인 영향을 받은 것은 Yandex 검색의 콘텐츠 색인이었다.

반면 Yandex.Cloud 요청은 자동화 비중이 높았지만, Cloudflare가 검증한 봇은 관찰되지 않았다. 요청의 거의 3분의 2는 웹사이트에 데이터를 전송했고, 일부는 자신을 JavaScript·Python·Go 프로그램으로 식별했다. 취약점 검색과 WordPress 플러그인 탐색 같은 활동은 줄었지만, 대량 자동화 자체가 사라졌다는 증거는 없었다.

봇 트래픽은 다른 호스팅으로 이동했다

Yandex.Cloud의 봇 트래픽은 장애 기간에 약 40% 감소했다. WordPress 플러그인 탐색은 90%, 스캐너로 식별된 요청은 93% 줄었다. Yandex.Cloud 트래픽에 대한 Cloudflare 고객의 차단도 70% 감소했다.

Cloudflare는 Yandex.Cloud 요청의 상당수가 향하던 도박 고객 계정을 따로 분석했다. 10월 8일 장애 직후 이 계정으로 향하는 Yandex.Cloud 봇 요청은 0건이 됐지만, 같은 시점부터 Radist와 Selectel 등 다른 러시아 호스팅 사업자에서 동일한 요청이 나타났다. 요청에는 같은 JA4 TLS 클라이언트 지문, 드문 요청 경로와 HTTP 헤더, 맞춤형 User-Agent 문자열이 포함됐다.

해당 도박 계정을 겨냥한 러시아 봇 트래픽은 한 주 동안 1억6,770만 건에서 1억7,010만 건으로 1.4% 늘었다. Cloudflare 분석은 자동화가 중단된 대신 운영자가 Yandex.Cloud를 사용할 수 없게 되자 다른 사업자로 작업을 옮겼다는 해석을 뒷받침한다. 다만 IP 주소나 호스팅 사업자만으로 트래픽의 책임자를 특정할 수는 없다.

Yandex.Cloud 봇 요청이 향한 업종별 변화는 다음과 같다. 트래픽 수치는 장애 전과 10월 7~13일 동안의 봇 요청 건수다.

요청 대상 업종장애 전장애 기간변화HTTP 4xx 응답 비율: 장애 전 → 장애 기간
컴퓨터 소프트웨어24.24M15.18M−37.4%18.5% → 15.9%
도박23.01M18.80M−18.3%99.1% → 99.3%
성인 콘텐츠 포함 미디어1.33M223.1K−83.3%82.0% → 61.8%
인터넷·통신524.2K206.5K−60.6%71.4% → 51.1%
여행·관광363.9K158.1K−56.6%27.0% → 12.3%
소매·도매316.0K167.7K−46.9%71.0% → 55.9%
게임·컴퓨터 게임226.3K63.2K−72.1%51.4% → 9.2%
출판·신문90.8K8.8K−90.3%90.2% → 61.4%

소프트웨어 업종 트래픽은 제3자 애플리케이션과 소프트웨어 연동 서비스를 호스팅하는 클라우드 네트워크의 용도와 부합했다. Cloudflare는 api.cloudflare.com도 Yandex.Cloud 요청의 주요 호스트명이라고 밝혔다. 이 트래픽은 장애 전후 모두 대체로 성공 응답(200)을 받았다.

전체 트래픽만으로는 판단하기 어렵다

Cloudflare는 자사 네트워크에서 관찰한 웹사이트 자동 요청을 봇 트래픽으로 집계했다. 소셜미디어 플랫폼의 활동 전체를 뜻하는 것은 아니다. 장애 전인 10월 1~6일 봇은 전체 HTTP 요청의 39.4%, 러시아발 HTTP 요청의 50.4%였다. 이후 전 세계 비율은 큰 변화를 보이지 않았지만 러시아발 비율은 낮아졌다.

기간전체 HTTP 요청 중 전 세계 봇 비율러시아발 HTTP 요청 중 봇 비율
10월 1~6일: 장애 전 기준선39.4%50.4%
10월 7~8일: 사소보 드론 공격39.2% (−0.2%)48% (−2.4%)
10월 9일: 칼루가 드론 공격39.4% (+0%)42.5% (−7.9%)
10월 11일: 블라디미르 드론 공격39.5% (+0.1%)42.2% (−8.2%)
10월 12일39.6% (+0.2%)43.6% (−6.8%)
10월 13일39.5% (+0.1%)42.1% (−8.3%)

Cloudflare는 러시아발 IP 주소에서 발생한 전체 소셜미디어 트래픽이 장애 기간 0.6% 감소했고, 전 세계 트래픽은 1.2% 증가했다고 밝혔다. 특정 플랫폼의 게시·답글·좋아요 요청을 겨냥한 봇 트래픽에서도 러시아발은 5.7% 감소, 전 세계는 1.1% 증가했다. 분석 결과는 공격으로 소셜미디어 조작이 중단됐다는 주장을 뒷받침하지 않았지만, Cloudflare 외부 데이터까지 분석하지 않았으므로 연관성이 없다고 단정할 수는 없다고 설명했다.

Cloudflare의 분석은 네트워크 사업자별 트래픽 규모만으로 봇의 행위나 위협의 지속 여부를 판단하기 어렵다는 점을 강조한다. 자동화 위협을 방어하려면 요청의 JA4 지문, 비정상적인 요청량, 민감한 경로에 대한 접근 등을 살피고, 요청이 어느 네트워크에서 왔는지와 무관하게 웹 애플리케이션 방화벽(WAF) 규칙을 적용해야 한다는 설명이다. 전체 요청량과 기준선은 Cloudflare Radar에서 확인할 수 있으며, 자동 요청 비율의 집계 기준은 전 세계 트래픽과 러시아발 트래픽 자료에 제시돼 있다. 전 세계 비율 표는 전체 요청량을 기준으로 하며, HTML 요청량은 페이지 조회의 근사치다.