공격자들은 웹 스크래핑 도구를 이용해 원래 의도된 것보다 훨씬 빠르게 데이터에 액세스할 수 있습니다. 이로 인해 데이터가 무단으로 사용될 수 있습니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
가장 일반적인 형태의 데이터 스크래핑은 컴퓨터 프로그램이 다른 프로그램에서 생성된 결과물로부터 데이터를 추출하는 기법을 말합니다. 데이터 스크래핑은 일반적으로 애플리케이션을 사용하여 웹 사이트에서 중요한 정보를 추출하는 프로세스인 웹 스크래핑에서 나타납니다.
스크래퍼 봇은 다음과 같은 다양한 목적을 위해 만들 수있습니다.
크롤링은 Google과 같은 대규모 검색 엔진에서 GoogleBot과 같은 로봇 크롤러를 인터넷에 보내 인터넷 콘텐츠를 색인화하는 과정을 말합니다. 반면에, 스크래핑은 일반적으로 특정 웹 사이트에서 데이터를 추출하도록 특별히 구성됩니다.
스크래퍼 봇과 웹 크롤러 봇의 행동 관행에는 세 가지 차이점이 있습니다.
| 정직/투명성 | 고급 조작 | robots.txt 존중 | |
| 스크래퍼 봇 | 스크래퍼를 차단하려는 모든 시도를 통과하기 위해 웹 브라우저인 척합니다. | 차단된 정보에 액세스하기 위해 양식을 작성하는 등의 고급 작업을 수행할 수 있습니다. | 일반적으로 robots.txt는 고려하지 않습니다. 즉, 웹 사이트 소유자의 의사에 반하여 명시적으로 콘텐츠를 가져올 수 있습니다. |
| 크롤러 봇 | 목적을 나타내고, 크롤러가 아닌 것으로 생각하도록 웹 사이트를 속이려고 시도하지 않습니다. | 웹 사이트의 차단된 부분에 액세스하려고 시도하지 않습니다. | robots.txt를 존중합니다. 즉, 분석할 데이터와 웹 사이트의 어떤 영역을 피해야 하는지에 대해 웹 사이트 소유자가 원하는 대로 따릅니다. |
웹 스크래핑의 실제 구현은 복잡할 수 있지만, 절차는 매우 간단합니다. 이 프로세스는 3단계로 요약할 수 있습니다.
일반적으로 기업에서는 고유한 콘텐츠를 무단으로 다운로드되어 재사용되는 것을 원하지 않으므로, 소모성 API 또는 쉽게 액세스할 수 있는 리소스를 통해 모든 데이터를 노출하지 않으려고 할 수 있습니다. 반면에, 스크래퍼 봇은 액세스를 제한하려는 노력에도 불구하고 웹 사이트 데이터를 얻고자 합니다. 그 결과, 웹 스크래핑 봇과 다양한 콘텐츠 보호 전략 사이에는 쥐와 고양이 같은 게임이 존재하며, 서로 이 게임에서 이기려 합니다.
스마트한 스크래핑 전략에는 스마트한 완화 전략이 필요합니다. 데이터 스크래핑 노력에 대한 노출을 제한하는 방법은 다음과 같습니다.
*헤드리스 브라우저는 Chrome이나 Firefox와 매우 유사한 웹 브라우저이지만, 기본적으로 시각적 사용자 인터페이스가 없으므로 일반적인 웹 브라우저보다 훨씬 빠르게 이동할 수 있습니다. 헤드리스 브라우저는 기본적으로 명령줄 수준에서 실행되므로 전체 웹 애플리케이션 렌더링을 피할 수 있습니다. 데이터 스크래퍼는 스크래핑되는 각 페이지를 보는 사람이 없으므로 헤드리스 브라우저를 사용하여 데이터를 더 빠르게 요청하는 봇을 작성합니다
웹 스크래핑을 완전히 차단하는 유일한 방법은 웹 사이트에 콘텐츠를 올리는 것을 완전히 중단하는 것입니다. 그러나 고급 봇 관리 솔루션을 사용하면 웹 사이트에서 스크래퍼 봇의 액세스를 제거하는 데 도움이 될 수 있습니다.
Cloudflare Bot Management는 머신 러닝 및 행태 분석을 사용하여 악의적인 스크래핑 활동을 식별하고 고유한 콘텐츠를 보호하며 봇이 웹 자산을 악용하지 못하도록 합니다. 이와 유사하게, Super Bot Fight 모드는 소규모 조직에서 스크래퍼 및 기타 악성 봇 활동을 방어하는 데 도움이 되도록 설계되었으며, 봇 트래픽에 대한 가시성이 높아집니다.
데이터 스크래핑은 컴퓨터 프로그램이 다른 프로그램의 결과물에서 데이터를 추출하는 기술입니다. 흔히 볼 수 있는 한 형태는 웹 스크래핑입니다.
웹 스크래핑은 여러 목적으로 사용될 수 있으며, 그중 하나가 콘텐츠 스크래핑입니다. 공격자는 웹사이트의 콘텐츠를 가져와 자신의 사이트에 복제할 수 있습니다. 가격 스크래핑은 경쟁업체가 가격 데이터를 스크래핑해 가격을 낮추어 경쟁 우위를 확보하는 행위입니다. 연락처 스크래핑은 봇이 이메일 주소나 전화번호 같은 연락처 정보를 웹사이트에서 수집하여 스팸, 자동 전화, 악성 소셜 엔지니어링에 사용하는 행위입니다.
웹 크롤링은 대형 검색 엔진이 인터넷 콘텐츠를 색인화하는 과정이며, 크롤러 봇은 일반적으로 그 목적이 투명합니다. 반면 데이터 스크래핑은 특정 웹사이트에서 특정 데이터를 추출하도록 설계된 경우가 많습니다.
보통 이 과정은 세 단계로 이루어집니다. 먼저 스크레이퍼 봇이 웹사이트에 HTTP GET 요청을 보냅니다. 둘째, 웹사이트가 응답하면 스크레이퍼는 HTML 문서를 파싱해 특정 데이터 패턴을 찾아냅니다. 마지막으로 추출된 데이터는 봇 작성자가 설계한 특정 형식으로 변환됩니다.
데이터 스크래핑에 대한 노출을 제한할 수 있는 여러 전략이 있습니다. 여기에는 단일 IP 주소에서 비정상적으로 빠른 트래픽을 차단하기 위한 요청 레이트 리미팅, 단순한 스크래퍼를 방해하기 위해 웹사이트의 HTML 마크업을 정기적으로 변경하는 방법, 그리고 대량 요청자에게 CAPTCHA 같은 챌린지를 적용하는 방식이 포함됩니다.
고급 봇 관리 솔루션을 사용하면 웹사이트에서 스크래퍼 봇의 액세스를 제거하는 데 도움이 될 수 있습니다. 예를 들어, Cloudflare Bot Management는 머신러닝과 행동 분석을 사용하여 악성 스크래핑 활동을 식별하고 차단합니다.