봇에게 먹이를 주어야 한다

5 days ago 5

  • 최근 웹사이트 운영자가 AI 학습용 스크레이퍼 봇을 상대로 ‘무한 헛소리’ 페이지를 만들어 트래픽을 유도한 실험을 소개
  • 이 봇들은 robots.txt를 무시하고 IP를 바꾸며 지속적으로 요청을 보내는 등, 전통적 검색엔진 크롤러와 달리 공격적임
  • IP 차단, 속도 제한, CAPTCHA, 로그인 벽 등 일반적 방어책이 모두 무력화되며, 실제 사용자에게 불편만 초래함
  • 이에 저자는 가짜 데이터(의미 없는 텍스트) 를 자동 생성해 봇에게 제공하는 것이 가장 저렴하고 효과적임을 발견
  • 이는 AI 데이터 수집의 부작용과 서버 자원 낭비 문제를 드러내며, 웹 운영자들이 취할 수 있는 현실적 대응책을 제시함

봇의 정체

  • 최근의 크롤러는 검색엔진용이 아니라 LLM(대규모 언어 모델) 학습용 데이터 수집을 목적으로 함
    • 이들은 robots.txt를 무시하고, 브라우저로 위장하거나 IP를 바꿔가며 접근
    • 하루 종일 초당 여러 번 요청을 보내며 서버 부하를 유발
  • 기존 검색엔진과 달리, 이들은 웹사이트 유지에 관심이 없고 대체 가능한 데이터 원천으로만 취급

접근을 허용할 경우의 문제

  • 정적 파일 제공은 저렴하지만 무료는 아니며, SSD 접근 지연과 파일시스템 오버헤드가 존재
    • 캐시에 없는 오래된 페이지를 요청해 서버 성능 저하 유발
  • 대역폭 소비도 문제로, 이미지가 포함된 블로그 포스트는 빠르게 누적되어 월 1TB 이상 트래픽 발생 가능
    • 이는 개인 서버 운영자에게 감당하기 어려운 비용

차단 시도의 한계

  • IP 차단은 효과가 없으며, 대기업이 운영하는 봇 네트워크는 수천 개의 주소를 보유
    • 모든 주소를 차단해도 새 IP를 구매해 재접속
  • 요청 속도 제한(rate limit) 도 무용지물로, 요청마다 다른 IP를 사용하는 경우도 있음

방화벽과 인증 장벽의 부작용

  • 로그인, 결제, CAPTCHA, 해시 기반 작업증명(proof-of-work) 등 다양한 방어책이 제안되었으나 모두 사용자 불편 초래
    • 계정 요구는 독자 접근을 차단하고, JavaScript 기반 검증은 비JS 브라우저를 막음
    • 페이지 로딩 속도 저하로 사용자 경험 악화

압축 폭탄(gzip bomb)의 무력함

  • 일부는 gzip 폭탄으로 봇을 공격하자고 제안하지만, 실제로는 압축률이 1000배 수준에 불과
    • 100GB 확장 파일을 만들려면 100MB 자산 제공 필요
    • 실험 결과, 봇들은 이를 무시하거나 오히려 더 많은 요청을 보냄

속임수의 실패

  • 404 오류를 보내 사이트가 존재하지 않는 것처럼 속이는 ‘Jedi mind trick’ 방식도 실패
    • 링크가 외부에 게시되면 봇은 존재를 인식하고, 접근이 차단되면 오히려 더 공격적으로 요청
    • 결과적으로 봇을 만족시켜야 서버가 평온해짐

쓰레기 데이터 제공의 효율성

  • 동적 콘텐츠 생성이 비쌀 것 같지만, 실제로는 CPU와 RAM이 가장 빠른 자원
    • 느리다는 평가는 데이터베이스 I/O나 복잡한 JS 로직 때문
  • 저자가 만든 Markov 기반 babbler는 요청당 약 60마이크로초 CPU, 1.2MB 메모리만 사용
    • 디스크 접근 없음, 블랙리스트 관리 불필요
    • 봇이 스스로 찾아와 의미 없는 텍스트를 소비하며 서버 부하를 줄이는 구조

결론

  • AI 학습용 봇의 무분별한 데이터 수집은 웹 인프라 비용 증가와 콘텐츠 오남용을 초래
  • 단순 차단보다 의미 없는 데이터로 대응하는 전략이 비용 효율적이며, 서버 안정성 유지에 유리
  • 이는 향후 AI 크롤링과 웹 생태계의 공존 방안을 모색하는 실험적 접근으로 평가됨

Read Entire Article