KR20110111863A - Web robot detection system and method - Google Patents

Web robot detection system and method Download PDF

Info

Publication number
KR20110111863A
KR20110111863A KR1020100031165A KR20100031165A KR20110111863A KR 20110111863 A KR20110111863 A KR 20110111863A KR 1020100031165 A KR1020100031165 A KR 1020100031165A KR 20100031165 A KR20100031165 A KR 20100031165A KR 20110111863 A KR20110111863 A KR 20110111863A
Authority
KR
South Korea
Prior art keywords
web
session
server
monitored
http request
Prior art date
Application number
KR1020100031165A
Other languages
Korean (ko)
Other versions
KR101148002B1 (en
Inventor
장희진
이동건
차성덕
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020100031165A priority Critical patent/KR101148002B1/en
Publication of KR20110111863A publication Critical patent/KR20110111863A/en
Application granted granted Critical
Publication of KR101148002B1 publication Critical patent/KR101148002B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 웹 로봇 탐지 시스템 및 방법에 관한 것으로서, 인터넷에 분산된 적어도 하나 이상의 감시 대상 웹 서버; 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그(Web log)를 수집하여, 원시 포맷 형태의 표준 웹 로그를 전달하는 웹 로그 서버; 웹 로그 서버로부터 하나의 HTTP 요청마다 생성되는 표준 웹 로그를 수집하여 로그 큐에 저장하고, HTTP 세션의 타임아웃을 고려하여 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 기 정의된 차별화 특성을 추출하여 현재 세션과 전체 사용자 사이의 특성 비율을 계산하여 웹 로봇인지 정상 사용자 인지를 탐지하는 웹 로봇 탐지 서버; 및 웹 로봇 탐지 서버로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 수신받아 대응하는 모니터링 시스템을 포함한다. 그러므로, 웹 로봇 탐지 시스템은, 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 웹 로봇을 탐지한다. 이때, 전체 사용자의 복합 특성 벡터값은 웹 서버에서 발생하는 모든 HTTP 요청에 의해 갱신되며 감시 대상 세션의 벡터값은 해당 세션에서 발생하는 HTTP 요청에 의해 갱신된다.The present invention relates to a web robot detection system and method, comprising: at least one or more monitored web servers distributed in the Internet; A web log server which collects a web log generated for each HTTP request from at least one or more monitored web servers and delivers a standard web log in a raw format; Collects standard web logs generated for each HTTP request from the web log server and stores them in the log queue, parses the web logs from the first HTTP request, considering the timeout of the HTTP session, and defines from the parsed information. A web robot detection server detecting a web robot or a normal user by extracting the differentiated features and calculating a feature ratio between the current session and all users; And a monitoring system for receiving a detected result indicating whether the web robot is a normal user from the web robot detection server. Therefore, the web robot detection system detects the web robot based on the relative difference between the value of the composite characteristic vector of the monitored session and the entire user. At this time, the composite property vector value of all users is updated by all HTTP requests generated from the web server, and the vector value of the monitored session is updated by HTTP requests generated from the session.

Description

웹 로봇 탐지 시스템 및 방법{Web robot detection system and method}Web robot detection system and method

본 발명은 웹 로봇 탐지 시스템 및 방법에 관한 것으로서, 특히 많은 감시 대상 웹서버와 연동된 웹 로그 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 수집하고, 인터넷과 웹을 기반으로 활동하는 웹 로봇(Web Robot)의 특성을 고려하여 극좌표계의 복합 특성 벡터(CAV:Composite Attribute Vector)의 각도 성분과 길이 성분으로 나타내고 웹 로봇을 효과적으로 탐지하는, 웹 로봇 탐지 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for detecting a web robot, and more particularly, to collect web logs generated for each HTTP request from a web log server linked with many monitored web servers, and to operate the web robot based on the internet and the web ( The present invention relates to a web robot detection system and a method for effectively detecting a web robot, represented by an angular component and a length component of a composite attribute vector (CAV) of a polar coordinate system in consideration of characteristics of a web robot.

웹 로봇(Web Robot)은 인터넷상에서 웹문서를 돌아다니면서 필요한 정보를 수집하고, 이를 데이타베이스에 색인하고(indexing) 정리하는 기능을 담당한다. Web Robots are responsible for gathering the necessary information from the web documents on the Internet, indexing them, and organizing them in a database.

또한, 웹로봇은 주로 검색엔진(Search Engine)에서 사용되고 있다. 검색엔진에서 사용하는 웹로봇은 전세계의 웹문서를 돌아다니면서 관련된 정보들을 자신의 데이터베이스에 색인해둔 것들을 검색하게 된다. 웹 로봇은 웹의 여기저기를 돌아다닌다는 의미에서 WWW Wanderer, WWW Crawler, WWW Spider라고 불리기도 한다.In addition, web robots are mainly used in search engines. Web robots used by search engines navigate through web documents around the world and search for indexes of relevant information in their databases. Web robots are also called WWW Wanderer, WWW Crawler, and WWW Spider in the sense of moving around the web.

인터넷상의 대부분의 검색엔진(Search Engine)은 정보 소스에 접근하여 이를 가져오는 웹 로봇(Web Robot)이라고 불리는 에이전트(Agent)를 사용한다. Most search engines on the Internet use Agents, called Web Robots, that access and retrieve information sources.

웹 로봇은 웹서버(HTTP Server)를 순회하며 웹(Web)의 하이퍼텍스트 구조를 따라 다니며 재귀적으로 그 HTML 문서에서 하이퍼링크로 참조되는 다른 문서를 추출하는 프로그램으로, 각 홈페이지에 있는 많은 정보를 수집하는 프로그램이다. 웹 로봇은 방문한 URL을 보관하고 있다가 나중에 해당 URL을 방문한 적이 있는가 검사하게 된다. A web robot is a program that traverses a web server (HTTP Server), follows the web's hypertext structure, and recursively extracts other documents referred to as hyperlinks from the HTML document. It is a program to collect. The web robot keeps track of the URLs it visits and checks whether they have visited them later.

웹 로봇은 사람이 일일이 홈페이지의 각 링크를 따라가며 정보를 얻는 반복적인 작업을 대신하여 방문한 URL을 보관하고 있다가 프로그램이 스스로 데이타를 분석하고 그 안의 URL들을 추출하여 다른 URL로 이동하면서 정보를 수집하고, 해당 URL을 방문한 적이 있는지를 검사하게 된다. Web robots keep URLs visited by humans instead of repetitive tasks of following each link on the homepage, and the program analyzes the data itself, extracts the URLs in it, and moves the information to other URLs. It will check if you have visited the URL.

웹 로봇(Web Robot)의 형태는 인터넷상에서 검색 키워드에 따라 웹 로봇에 의해 하이퍼텍스트 구조로 모아진 HTML 문서들의 데이타베이스로부터 검색하는 검색 엔진용 웹로봇(Googlebot), 연결점 확인(MOM spider, EIT Link Verifier Robot), 웹 사이트 미러링(HTMLgobble, GetUrl, WebCopy, WebFetcher), 글수집을 위한 웹로봇(NHN 웹로봇) 등이 존재한다. The form of web robot is Googlebot for search engine that searches from database of HTML documents collected in hypertext structure by web robot according to search keyword on internet, and MOM spider, EIT Link Verifier. Robot, web site mirroring (HTMLgobble, GetUrl, WebCopy, WebFetcher), web robot for article collection (NHN web robot).

웹 로봇은 http://www.aaa.pe.kr/과 같은 웹 사이트를 방문하면, 먼저 http://www.aaa.pe.kr/robots.txt 파일을 호출한다. 웹 로봇은 웹 사이트의 루트에 형성된 robots.txt 파일이 발견되면 파일을 읽어들여 그 내용을 분석하고, 웹 로봇에 접근 권한 및 접근 가능한 경로에 대한 정보로 자신이 수집해도 되는 콘텐츠만을 수집하게 된다. 한 사이트에는 하나의 "robots.txt"만을 가질 수 있다.When a web robot visits a website such as http://www.aaa.pe.kr/, it first calls http://www.aaa.pe.kr/robots.txt file. When a web robot finds a robots.txt file formed at the root of a web site, the web robot reads the file and analyzes the contents, and collects only the content that the web robot can collect with information about access rights and accessible paths to the web robot. You can only have one "robots.txt" on a site.

robots.txt 파일에 아래와 같이 되어있다면 해당 URL(Uniform Resource Locator)에 대하여 모든 로봇에 대해 모든 경로의 접근을 차단한다는 내용이다.If the robots.txt file reads as follows, the URL (Uniform Resource Locator) will block all robots from accessing all paths.

user-agent: * # 모든 로봇(robot)들에 적용user-agent: * # Applies to all robots

disallow: /# 모든 페이지들의 색인(indexing) 금지 disallow: / # prohibit indexing all pages

robots.txt 파일에는 최소한 1 개의 "disallow" 필드가 존재해야 한다. There must be at least one "disallow" field in the robots.txt file.

user-agent: 접근을 허용하지 않을 로봇을 설정한다. user-agent: Set the robot to not allow access.

disallow: 허용하지 않을 목록을 설정한다. "disallow"를 빈 값으로 설정할 경우, 모든 하위 경로에 대한 접근이 가능하다. disallow: Set the list not to allow. If you set "disallow" to an empty value, all subpaths are accessible.

웹 로봇은 인터넷상에서 여러 개의 URL(Uniform Resource Locator)에 대한 동시 수집을 위해 문서 적재 기능 및 적재된 문서들로부터 신규 URL 추출 기능을 멀티 프로세서로 구동시킨다. The web robot runs a multi-processor document loading function and a new URL extraction function from the loaded documents for simultaneous collection of multiple Uniform Resource Locators (URLs) on the Internet.

일 예로 Fork-Join 기법을 이용한 웹 로봇은 적재기(Webpage Loader), URL 추출기(URL Extractor), 유일성 검사기로 구성되고, 웹 로봇의 구동함에 있어 적재기와 추출기는 멀티프로세서로써 구동된다. For example, the web robot using the Fork-Join technique is composed of a webpage loader, a URL extractor, and a uniqueness checker. In the web robot, the loader and the extractor are driven by a multiprocessor.

기존 웹 로봇(Web Robot)을 탐지하는 가장 일반적인 기술은 “robots.txt", UserAgent 정보 등 알려진 웹 로봇의 정보를 이용한 탐지 방법과 Head 요청 비율, Referer 필드 정보, 보이지않는 링크(Invisible link)를 이용한 탐지 방법이 있지만, 이러한 방법은 웹 로봇의 다양한 특성 정보 중 이미 알려진 일부만을 이용하므로 특정 웹 로봇만을 탐지할 수 있다. The most common technique for detecting existing web robots is detection method using known web robot information such as “robots.txt”, UserAgent information, head request rate, referer field information, and invisible link. Although there is a detection method, such a method uses only a part of known information of various characteristics of the web robot so that only a specific web robot can be detected.

그러나, 웹 로봇이 탐지 시스템을 쉽게 속일 수 있다는 단점이 있다. 그 외에 HTTP 트래픽과 행동 패턴에 기계 학습 기법을 적용하여 웹 로봇을 탐지하는 기술은 정확한 탐지를 위해 상대적으로 많은 HTTP 요청을 필요로 하므로 처리연산이 복잡하고 처리 시간이 오래걸리는 문제점이 있었다.
However, the disadvantage is that web robots can easily trick the detection system. In addition, the technique of detecting web robots by applying machine learning techniques to HTTP traffic and behavior patterns requires a relatively large number of HTTP requests for accurate detection, which results in a complicated processing operation and a long processing time.

본 발명은 종래 기술의 문제점을 해결하기 위해 제안된 것으로서, 본 발명의 목적은 웹 로봇의 다양한 특성을 복합적으로 고려하여 오탐 및 미탐률을 최소화함과 동시에 HTTP 요청(HTTP Request)을 실시간으로 분석하고, 적은 횟수의 HTTP 요청으로 조기에 웹 로봇을 탐지하고, 웹 로봇의 여러가지 차별화 특성을 하나로 통합하여 산출되는 극좌표계의 복합 특성 벡터값에 의해 각도 및 길이로 웹 로봇을 탐지하므로, 기존 웹 로봇의 일부 특성만을 고려하는 기존 웹 로봇 탐지기법과 비교할 때 탐지 정확도가 높고, 향후 추가적인 특성화 연구를 통해 추출된 특성을 적용하여 미래에 등장할 새로운 종류의 웹 로봇도 탐지하도록 확장 가능한 플랫폼을 제공하는, 웹 로봇 탐지 시스템을 제공하는 것이다.The present invention has been proposed to solve the problems of the prior art, and an object of the present invention is to analyze HTTP requests in real time while minimizing false positives and false negatives in consideration of various characteristics of a web robot. It detects web robots early with a small number of HTTP requests and detects web robots at angles and lengths based on complex feature vector values of the polar coordinate system, which is calculated by integrating the differentiating characteristics of web robots into one. Web robots have high detection accuracy compared to existing web robot detection techniques that only consider some features, and provide a platform that can be extended to detect new types of web robots in the future by applying features extracted through further characterization studies in the future. It is to provide a detection system.

또한, 본 발명의 다른 목적은 웹 로봇 탐지 시스템을 구현하는데 특히 적합한 웹 로봇 탐지 방법을 제공하는 것이다. In addition, another object of the present invention is to provide a web robot detection method particularly suitable for implementing a web robot detection system.

상기 본 발명의 목적을 달성하기 위해, 웹 로봇 탐지 시스템은, 인터넷에 연결된 적어도 하나 이상의 감시 대상 웹 서버; 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그(Web log)를 수집하여, 원시 포맷(Raw Format) 형태의 표준 웹 로그를 전달하는 웹 로그 서버; 상기 웹 로그 서버로부터 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여, 상기 표준 웹 로그로부터 추출된 차별화 특성 정보를 고려하여 극좌표계의 복합 특성 벡터(CAV:Composite Attribute Vector)의 각도와 길이로 표시하여 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 제공하는 웹 로봇 탐지 서버; 및 상기 웹 로봇 탐지 서버로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 수신받아 대응하는 모니터링 시스템을 포함한다. In order to achieve the object of the present invention, a web robot detection system, at least one or more monitored web server connected to the Internet; A web log server which collects a web log generated for each HTTP request from the at least one monitored web server and delivers a standard web log in raw format; By collecting the standard web log of the raw format form generated for each HTTP request from the web log server, taking into account the differentiation characteristic information extracted from the standard web log of the complex attribute vector (CAV: Composite Attribute Vector) A web robot detection server configured to display angles and lengths to provide detected results indicating whether the web robot is a normal user; And a monitoring system for receiving a detected result indicating whether the web robot is a normal user from the web robot detection server.

또한, 상기 본 발명의 다른 목적을 달성하기 위해, 적어도 하나 이상의 감시 대상 웹 서버와 연동된 웹 로그 서버, 웹 로봇 탐지 서버, 및 모니터링 시스템을 구비하는 웹 로봇 탐지 방법은, (a) 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 웹 로그 서버로 수집하는 단계; 및 (b) 상기 웹 로그 서버로부터 상기 웹 로봇 탐지 서버로 상기 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여 HTTP 요청으로부터 웹로그를 파싱하고, 파싱된 정보로부터 다양한 웹 로봇에 맞는 차별화 특성을 추출하여 현재 감시 대상 세션(HTTP 세션)과 전체 사용자 사이의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계의 복합 특성 벡터 형식으로 각도 및 길이로 나타내고, 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 모니터링 시스템으로 제공하는 단계를 포함한다. In addition, to achieve another object of the present invention, a web robot detection method comprising a web log server, a web robot detection server, and a monitoring system interlocked with at least one web server to be monitored, (a) the at least one Collecting a web log generated for each HTTP request from the monitored web server to a web log server; And (b) collecting standard web logs in a raw format that is generated for each one HTTP request from the web log server to the web robot detection server, parsing web logs from the HTTP request, and parsing the web logs from the parsed information to various web robots. Based on the relative difference of the composite property vector value between the current monitored session (HTTP session) and the entire user, we extract the matching differentiation characteristics and express the angle and length in the form of the composite characteristic vector of the polar coordinate system. Providing the detected results indicative to the monitoring system.

또한, 상기 본 발명의 또 다른 목적을 달성하기 위해, 컴퓨터에, (a) 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 웹 로그 서버로 수집하는 기능; (b) 상기 웹 로그 서버로부터 웹 로봇 탐지 서버의 데이타 가공 및 전처리부에서 하나의 HTTP 요청마다 생성되는 웹 로그를 수신받아 로그 큐에 저장하고, 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 차별화 특성 정보로 가공한 후, 미리 정해진 특성 배열에 저장하는 기능; (c) 감시 대상 세션의 복합 특성 벡터 연산부에서 상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 세션의 특성 정보 및 전체 사용자의 평균 특성 정보를 추출하고, 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 HTTP 세션과 전체 사용자의 평균과의 상대적 차이를 이용한 각도 성분과 길이 성분을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균을 고려하여 길이 성분에 가중치를 곱하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하고, 하나의 현재 HTTP 요청에 대한 CAV값과 이를 포함한 기존 이전 요청까지의 감시 대상 세션 전체의 CAV값의 벡터합을 통한 현재 감시 대상 세션의 CAV값을 갱신하는 기능; (d) 비교 분석부에서 상기 감시 대상 세션의 복합 특성 벡터 연산부로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인하며, 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 경고 및 보고부로 제공하는 기능; 및 (e) 경고 및 보고부로부터 상기 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 모니터링 시스템으로 제공하는 기능을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
In addition, to achieve another object of the present invention, a computer, (a) the function of collecting a web log generated for each HTTP request from the at least one or more monitored web server to a web log server; (b) The web processing server of the web robot detection server receives the web log generated for each HTTP request from the web log server and stores the web log in the log queue, and repeatedly parses the web log from the first HTTP request. And processing the differentiated characteristic information from the parsed information and storing the same in a predetermined characteristic array; (c) The complex characteristic vector calculation unit of the monitored session extracts the characteristic information of the individual monitored session and the average characteristic information of all the users from the newly processed web log generated according to the one HTTP request, and is currently monitored. Calculate a composite property vector (CAV) between the session and all users, normalize and calculate the angular and length components using the relative difference between the current HTTP session and the average of all users from a web log of one HTTP request, The normalized angular component and the length component are multiplied by the weight component by considering the weighted average to calculate the angle and length of the composite characteristic vector (CAV), and the CAV value for one current HTTP request and the previous previous request including the same. Updating the CAV value of the current monitored session through a vector sum of the CAV values of the entire monitored session; (d) The comparison analysis unit displays the polarity based on the relative difference between the composite feature vector values of the monitored session and the entire user based on the CAV value reflecting the result of the last HTTP request from the composite feature vector calculation unit of the monitored session. Determining whether a web robot is defined according to a defined angular region, checking reliability of a result by a length component, and determining whether the web robot is a normal user or providing a detected result to an alerting and reporting unit; And (e) a computer-readable recording medium having recorded thereon a program for realizing a function of determining whether the web robot is a normal user or a normal user from an alerting and reporting unit and providing the detected result to a monitoring system.

이와 같은 본 발명에 의하면, 기존 연구에서는 웹 로봇(Web Robot)의 일부 특성을 사용하여 탐지를 시도하였으므로 탐지 대상이 제한적이고 웹 로봇 탐지가 특정 환경에서만 가능하였다. 하지만, 본 발명은 웹 로봇의 다양한 특성을 복합적으로 고려하여 하나의 지표인 복합 특성 벡터(CAV:Composite Attribute Vector)로 나타냄으로써 웹 로봇 탐지의 높은 정확도를 유지하며 직관적이고 효과적으로 웹 로봇을 탐지하는 효과가 있다. 기존의 웹 로봇 탐지 시스템은 부분적인 특성 성분을 개별적으로 고려하여 웹 로봇 여부를 판단하는 경우, 웹 로봇의 오탐 가능성이 그만큼 높아진다. 그러나, 본 발명에 따른 웹 로봇 탐지 시스템은 웹 로봇의 다양한 특성을 복합적으로 고려하여 미탐 및 오탐률을 최소화하며 정상 사용자에게 피해가 가지 않도록 매우 낮은 긍정 오류를 보장하게 된다. According to the present invention as described above, since the existing research attempted to detect using some characteristics of the web robot (Web Robot), the detection target is limited and the web robot detection is possible only in a specific environment. However, the present invention maintains a high accuracy of web robot detection and effectively and effectively detects web robots by representing them as a composite attribute vector (CAV) in consideration of various characteristics of web robots. There is. When the existing web robot detection system determines whether or not the web robot by considering partial characteristic components individually, the probability of false detection of the web robot increases accordingly. However, the web robot detection system according to the present invention minimizes the false detection rate and false positive rate in consideration of various characteristics of the web robot and guarantees a very low false positive error so as not to damage the normal user.

또한, 본 발명은 하나의 지표로 웹 로봇 여부를 표시하므로 웹 로봇에 의한 활동을 직관적으로 이해하고 빠르게 이상 유무를 판단하여 조치를 취할 수 있도록 한다. 웹 로봇 탐지 시스템은 기존 연구에 비해 상대적으로 적은 횟수의 HTTP 요청(HTTP Request)으로 웹 로봇 여부를 판단할 수 있으므로 조기탐지가 가능하다는 장점이 있다. 부가적으로, 본 발명은 향후 발생할 신규 웹 로봇을 탐지를 위해 추후 정상 사용자와 웹 로봇의 특성화 연구로부터 얻어지는 다양한 차별화 특성을 사용하여 웹 로봇을 탐지할 수 있는 확장 가능한 플랫폼을 제공한다.
In addition, since the present invention indicates whether or not the web robot as one indicator, it is possible to intuitively understand the activity by the web robot and quickly determine whether there is an abnormality and take action. Web robot detection system has the advantage of early detection because it can determine whether or not the web robot with a relatively small number of HTTP requests (HTTP Request) compared to the existing research. In addition, the present invention provides an extensible platform capable of detecting web robots using various differentiation characteristics obtained from characterization studies of normal users and web robots in the future for detecting new web robots to be generated in the future.

도 1은 본 발명에 따른 웹 로봇을 탐지하는 시스템의 전체적인 구성도.
도 2는 웹 로봇 탐지를 위한 사전 단계로 웹 로봇 탐지 시스템의 데이터 가공 및 전처리부에서 데이터의 가공 및 전처리 과정을 나타낸 도면.
도 3은 웹 로봇 탐지 시스템의 데이터 가공 및 전처리부에서 전처리된 데이터를 탐지부에서 수신받아 전체 사용자와 감시 대상 세션의 복합 특성 벡터(CAV:Composite Attribute Vector)의 연산과 갱신 과정을 나타낸 도면.
도 4는 복합 특성 벡터로부터 탐지 결과를 결정하는 영역을 나타낸 도면.
1 is an overall configuration diagram of a system for detecting a web robot according to the present invention.
2 is a diagram illustrating a data processing and preprocessing process in a data processing and preprocessing unit of a web robot detection system as a preliminary step for detecting a web robot.
3 is a diagram illustrating a process of calculating and updating a composite attribute vector (CAV) of a total user and a monitored session by receiving data preprocessed by a data processing and preprocessing unit of a web robot detection system.
4 shows an area for determining a detection result from a complex feature vector.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

본 발명은 인터넷상에서 웹을 기반으로 활동하는 자동화된 시스템 도구인 웹 로봇(Web Robot)을 사용하여 웹 로봇 사용자와 정상 사용자를 구분하는 차별화 특성들(Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap의 시간 평균,‘robots.txt' 파일의 요청 여부)이 보이는 다양성을 표준화시켜 일정한 영역의 범위를 갖도록 하고, 표준화된 각 차별화 특성들의 각도 성분과 길이 성분을 통합하여 극좌표계 상의 벡터를 생성하며, 탐지 영역 분할 모델과 산출된 벡터를 이용하여 웹 로봇을 탐지한다. The present invention distinguishes between web robot users and normal users by using web robots, which are automated system tools based on the web, on the Internet (Client-Server Bytes, Head Request Ratios, Referer Pages). Rate, HTTP Error rate, image resource and dynamic / static web page rate, Inter-Request Gap time average, and whether or not 'robots.txt' file is requested). By integrating the angular and length components of each differentiation characteristic, a vector is generated on the polar coordinate system, and the web robot is detected using the detection region segmentation model and the calculated vector.

본 발명에 따른 웹 로봇 탐지 시스템은, 웹 로봇(Web Robot)의 부분적인 특성의 개별적 고려가 아닌 다양한 특성을 복합적으로 고려함으로써 미탐 및 오탐률을 최소화하였으며, 하나의 지표로 웹 로봇 여부를 표시하므로 직관적이고 효율적으로 웹 로봇을 탐지할 수 있는 방법을 제시하였다. 최소의 자원으로 조기에 웹 로봇 탐지를 지원하며 추가적인 웹 로봇 특성화 연구를 통해 발견되는 새로운 차별화 특성을 반영할 수 있는 확장가능한 플랫폼을 제공한다는 이점이 있다. The web robot detection system according to the present invention minimizes the false detection rate and false positive rate by considering various characteristics, not individual considerations of partial characteristics of a web robot, and indicates whether the web robot is a single indicator. Intuitive and efficient way to detect web robots is presented. It has the advantage of providing an extensible platform that enables early detection of web robots with minimal resources and reflects the new differentiation found through additional web robot characterization studies.

이로써 웹 서버의 중요한 정보를 보호하고 자원을 효과적으로 사용할 수 있도록 하며 알려지지 않았거나 미래에 발생할 새로운 웹 로봇의 탐지를 지원한다.This protects sensitive information on the web server, makes efficient use of resources, and supports the detection of new or unknown web robots.

본 발명이 제안하는 웹 로봇 탐지 방법은 크게 3 단계로 진행된다. The web robot detection method proposed by the present invention proceeds in three steps.

첫째, 인터넷상에 적어도 하나 이상의 감시 대상 웹 서버로의 HTTP 요청에 대하여 웹 로그 서버로부터 각각 생성되는 원시 형태의 표준 웹 로그를 수신받아 특성화 분석을 통해 정상 사용자와 웹 로봇 간에 차이를 보이는 특성을 선별한다. 둘째, 선별된 특성들을 하나의 복합 특성 벡터값으로 변환한다. 이 단계는 다시 정규화와 통합이라는 두 과정으로 이루어진다. 우선 선별된 특성들을 복합 특성 벡터(CAV:Composite Attribute Vector)에 적용할 수 있도록 각도와 길이성분으로 정규화한다. 정규화된 각 특성값은 가중치 평균과 길이 가중치(weight)를 통해 하나의 대푯값 즉, 복합 특성 벡터값으로 통합된다. 셋째, 산출된 복합 특성 벡터값(CAV)을 토대로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인한다. 본 발명은 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 웹 로봇을 탐지한다. 이때 전체 사용자의 복합 특성 벡터값은 웹 서버에서 발생하는 모든 HTTP 요청(HTTP Request)에 의해 갱신되며 감시 대상 세션의 벡터값은 해당 세션에서 발생하는 HTTP 요청에 의해 갱신된다. First, it receives the standard web logs generated from the web log server for HTTP requests to at least one monitored web server on the Internet, and selects the characteristics that show the difference between normal users and web robots through characterization analysis. do. Second, the selected features are converted into a single feature vector value. This step again consists of two processes: normalization and integration. First, the selected characteristics are normalized by angle and length components so that they can be applied to composite attribute vectors (CAVs). Each normalized feature value is integrated into a single representative value, that is, a complex feature vector value through a weighted average and a length weight. Third, it is determined whether the web robot is based on the angle region defined on the polar coordinate system based on the calculated CAV, and the reliability of the result is confirmed by the length component. The present invention detects a web robot based on the relative difference between the value of the composite feature vector of the monitored session and the entire user. At this time, the composite property vector value of all users is updated by every HTTP request that occurs in the web server, and the vector value of the monitored session is updated by the HTTP request that occurs in the session.

본 발명에서는 각 웹 서버의 특성을 대표하면서 정상 사용자와 웹 로봇 사이에 뚜렷한 차이를 보이는 차별화 특성 7 가지(Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap 시간 평균, ‘robots.txt' 파일의 요청 여부)를 선정하였다. 상기 특성은 IIS(Internet Information Service) 표준 확장 포맷으로부터 쉽게 산출할 수 있으므로 IIS 표준 포맷을 사용하는 다양한 웹 서버에 모두 적용가능하다. 상기 차별화 특성 7가지 모두가 정상 사용자와 웹 로봇간에 큰 차이를 보이는 것은 아니다. 특정 웹 로봇은 상기 특성 중 일부 특성에 대해서는 정상 사용자와 다른 값을 보이지만 그 외 특성에 대해서는 유사한 값을 보이기도 한다. In the present invention, seven differentiation characteristics (Client-Server Bytes, Head request rate, Referer page existence rate, HTTP Error rate, Image resource and dynamic / Static web page rate, Inter-Request Gap time average, and 'robots.txt' file request) are selected. The above properties can be easily calculated from the Internet Information Service (IIS) standard extension format, so that they can be applied to various web servers using the IIS standard format. Not all seven differentiating characteristics show a great difference between a normal user and a web robot. Certain web robots show different values from normal users for some of the above characteristics, but similar values for other characteristics.

본 발명에서는 정상 사용자와 유사한 값을 가지는 특성보다는 다른 값을 가지는 특성에 가중치(Weight)를 주고 차이가 나는 정도를 반영함으로써 신뢰도를 증가시키게 하였다. In the present invention, weight is given to a characteristic having a different value rather than a characteristic having a value similar to that of a normal user, and the reliability is increased by reflecting the degree of difference.

도 1은 웹 로봇을 탐지하는 시스템의 전체적인 구성도를 나타낸다.1 shows an overall configuration diagram of a system for detecting a web robot.

웹 로봇을 탐지하는 시스템은 전체적으로 웹 브라우저(110), 감시 대상 웹 서버(111), 웹 로그 서버(112), 모니터링 시스템(113), 및 웹 로봇 탐지 서버(200)로 구성된다. The system for detecting a web robot is generally composed of a web browser 110, a monitored web server 111, a web log server 112, a monitoring system 113, and a web robot detection server 200.

웹 로봇 탐지 서버(200)는 데이터 가공 및 전처리부(220), 탐지부(230), 경고 및 보고부(330)로 구성되고, 탐지부(230)는 전체 사용자 관리부(131), 개별 세션 관리부(132), 감시 대상 세션의 복합 특성 벡터 연산부(133), 비교 분석부(134)로 구성된다. Web robot detection server 200 is composed of a data processing and pre-processing unit 220, detector 230, warning and reporting unit 330, the detection unit 230 is a whole user management unit 131, individual session management unit 132, the complex characteristic vector calculation unit 133 and the comparison analysis unit 134 of the monitored session.

적어도 하나 이상의 감시 대상 웹 서버(111)는 정해진 정책에 따라 감시를 하고자하는 인터넷상에 분산된 복수개의 웹 서버를 의미한다. The at least one web server 111 to be monitored means a plurality of web servers distributed on the Internet to be monitored according to a predetermined policy.

웹 로그 서버(112)는 적어도 하나 이상의 감시 대상 웹 서버(111)로부터 사용자의 WWW 브라우저로부터 요청되는 하나의 HTTP 요청(HTTP Request)마다 생성되는 웹 로그(Web log)를 수집하여, 웹 로봇 탐지 서버(200)의 데이터 가공 및 전처리부(220)로 원시 포맷(Raw Format) 형태의 표준 웹 로그를 전달한다. The web log server 112 collects a web log generated for each HTTP request requested from the user's WWW browser from the at least one monitored web server 111, and the web robot detection server The data processing and preprocessing unit 220 of 200 transmits a standard web log in raw format.

이때, 하나의 HTTP 요청이 하나의 웹 로그를 생성하며, 웹 로그는 순서대로 실시간으로 전송 처리된다. 웹 로그 서버(112)로부터 전송된 원시 포맷(Raw Format) 형태의 표준 웹 로그는 웹 로그 탐지 서버(200)의 데이터 가공 및 전처리부(220)를 거쳐 사용 가능한 형태의 데이터로 가공되어 웹 로봇 탐지 서버(200)의 탐지부(230)로 전달된다. At this time, one HTTP request generates one web log, and the web logs are transmitted and processed in real time in order. The standard web log in raw format transmitted from the web log server 112 is processed into data in a usable form through the data processing and preprocessing unit 220 of the web log detection server 200 to detect the web robot. It is delivered to the detector 230 of the server 200.

웹 로봇 탐지 서버(200)는 웹 로그 서버(111)로부터 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여 로그 큐(log queue)에 저장하고, 반복적으로 HTTP 세션의 타임아웃을 고려하여 가장 먼저 발생된 HTTP 요청(HTTP request)부터 웹로그를 파싱하고, 파싱된 정보로부터 다양한 웹 로봇에 맞는 차별화 특성을 추출하여 현재 감시 대상 세션(HTTP Session)과 전체 사용자 사이의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계의 복합 특성 벡터 형식으로 각도 및 길이로 나타내고, 각도 성분으로 세션 종류를 판별하고, 길이 성분으로 판별의 신뢰성을 파악하여 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 모니터링 시스템(113)으로 제공한다.The web robot detection server 200 collects standard web logs in a raw format that are generated for each HTTP request from the web log server 111 and stores them in a log queue, and repeatedly times out an HTTP session. In consideration of the first HTTP request generated, the web logs are parsed, and the differentiated properties for various web robots are extracted from the parsed information. Based on the relative differences of the polar coordinate system, it is represented by the angle and length in the complex characteristic vector format of the polar coordinate system, the session type is determined by the angle component, and the reliability of the discrimination is determined by the length component. Provided to the monitoring system 113.

모니터링 시스템(113)은 웹 로봇 탐지 서버(200)로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 수신받아 관리자가 대응하도록 한다. The monitoring system 113 receives the detected result indicating whether the web robot or the normal user from the web robot detection server 200 to respond to the administrator.

데이타 가공 및 전처리부(220)는 웹 로그 서버(112)로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 수집하여 로그 큐(log queue)에 저장하고, HTTP 세션의 타임아웃을 고려하여 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 기 정의된 차별화 특성(Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap의 시간 평균,‘robots.txt' 파일의 요청 여부) 정보로 가공한 후, 미리 정해진 특성 배열에 저장한다. The data processing and preprocessing unit 220 collects the web logs generated for each HTTP request from the web log server 112 and stores them in a log queue, and repeatedly first considers the timeout of the HTTP session. Parse web logs from generated HTTP requests, and define differentiation characteristics (Client-Server Bytes, Head request rate, Referer page existence rate, HTTP Error rate, Image resource and dynamic / static web page rate, Inter) -Request Gap time average, 'robots.txt' request or not) information is processed into a predetermined property array.

탐지부(130)는 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 특성 정보 및 전체 사용자 평균 특성 정보를 추출하고, 현재 감시 대상 세션(HTTP 세션)과 전체 사용자 사이의 특성 비율을 계산하여, 극좌표계의 복합 특성 벡터(CAV:Composite Attribute Vector)의 각도와 길이로 정규화하고, 전체 정상 사용자와 이전 HTTP 요청까지의 감시 대상 세션의 복합 특성 벡터(CAV)의 벡터 합을 갱신하며, 여러가지 특성을 복합적으로 고려하여 하나의 극좌표계의 복합 특성 벡터 형식으로 나타냄으로써 각도 성분으로 세션 종류를 판별하고, 길이 성분으로 판별의 신뢰성을 보장하며, 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 제공한다. The detection unit 130 extracts individual monitoring target property information and total user average property information from a newly processed web log generated according to one HTTP request, and detects the current monitoring target session (HTTP session) and the entire user. The property ratio is calculated, normalized to the angle and length of the composite attribute vector (CAV) of the polar coordinate system, and the vector sum of the composite property vector (CAV) of the monitored sessions for all normal users and previous HTTP requests. It is updated, and it considers various characteristics in the form of complex characteristic vector of one polar coordinate system to determine the session type by angular component, guarantees the reliability of identification by length component, and detects whether it is a web robot or normal user. Results.

웹 로봇 탐지 서버(200)의 탐지부(230)는 전체 사용자 관리부(131), 개별 세션 관리부(132), 감시 대상 세션의 복합 특성 벡터 연산부(133), 비교 분석부(134)로 구성된다. The detector 230 of the web robot detection server 200 includes an entire user manager 131, an individual session manager 132, a complex feature vector calculator 133 of a monitored session, and a comparison analyzer 134.

전체 사용자 관리부(131)는 전체 사용자 평균 특성 정보를 관리한다. The whole user manager 131 manages all user average characteristic information.

개별 세션 관리부(132)는 개별 감시 대상 세션의 특성 정보를 관리한다. The individual session manager 132 manages the characteristic information of the individual monitored session.

감시 대상 세션의 복합 특성 벡터 연산부(133)는 상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 세션(HTTP 세션)의 특성 정보 및 전체 사용자의 평균 특성 정보를 추출하고, 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV:Composite Attribute Vector)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 HTTP 세션과 전체 사용자의 평균과의 상대적 차이를 이용한 각도 성분(α)과 길이 성분(β)을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균을 고려하여 길이 성분에 가중치를 곱하고 복합 특성 벡터값으로 통합하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하고, 하나의 HTTP 요청에 대한 CAV값과 이를 포함한 기존 감시 대상 세션 전체의 CAV값의 벡터합을 통해 현재 감시 대상 세션의 CAV값을 갱신한다. The complex characteristic vector calculation unit 133 of the monitored session extracts the characteristic information of the individual session to be monitored (HTTP session) and the average characteristic information of all users from the newly processed web log generated according to the one HTTP request. The composite component vector (CAV) between the current monitored session and all users is calculated, and the angle component using the relative difference between the average of the current HTTP session and all users from the web log according to one HTTP request ( α) and length component (β) are normalized, and the normalized angular component and length component are multiplied by the weights of the length components, taking into account the weighted average, and integrated into the composite characteristic vector values to obtain the angle and length of the composite characteristic vector And the vector sum of the CAV values for one HTTP request and the CAV values of all existing monitored sessions. And updates the value of the CAV.

비교 분석부(134)는 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로, 현재 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이(γ)를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인하며, 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 경고 및 보고부(330)로 제공한다. Based on the CAV value reflecting the result of the last HTTP request, the comparison analysis unit 134 is configured in the angular region defined on the polar coordinate system based on the relative difference γ of the composite characteristic vector value of the current monitored session and the entire user. Accordingly, it is determined whether or not the web robot, the reliability of the result by the length component, and whether the web robot or normal user to determine the detection result and provides to the warning and reporting unit 330.

경고 및 보고부(330)는 비교분석부(134)로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 감시 대상 웹 서버(111)의 정해진 정책에 따라 모니터링 시스템(113)으로 관리자에게 보고하는 기능을 담당한다.The warning and reporting unit 330 reports the detected result indicating whether the web robot or the normal user is from the comparison analysis unit 134 to the monitoring system 113 according to a predetermined policy of the monitoring target web server 111 to the administrator. In charge of.

도 2는 웹 로봇 탐지를 위한 사전 단계로 웹 로봇 탐지 서버의 데이터 가공 및 전처리부에서 데이터의 가공 및 전처리 과정을 나타낸다.FIG. 2 illustrates a data processing and preprocessing process in a data processing and preprocessing unit of a web robot detection server as a preliminary step for detecting a web robot.

웹로그 서버(112)로부터 제공되는 표준 웹 로그로부터 원시 데이터를 제공받으므로 본 발명에서 사용가능한 형태로 변환이 필요하다. Since raw data is provided from a standard web log provided from the weblog server 112, it is necessary to convert it into a form usable in the present invention.

데이터 가공 및 전처리부(220)는 웹로그 서버(112)로부터 제공되는 표준 웹 로그를 로그 큐(log queue)에 저장한(단계 221) 후에, 로그 큐(log queue)에 저장하고, 반복적으로 수행하여 HTTP 세션의 타임아웃(time out)을 고려하여 가장 먼저 들어온 HTTP 요청을 찾는다(단계 222). 가장 먼저 들어온 요청을 찾는 이유는 HTTP 세션의 타임아웃을 고려해야하기 때문이다. 이 HTTP 요청(HTTP Request)에 대하여 웹 로그 파싱 과정(단계 223)을 거쳐 본 발명에서 사용되는 7가지의 차별화 특성을 얻기 위한 정보로 가공한다(단계 224). The data processing and preprocessing unit 220 stores a standard web log provided from the weblog server 112 in a log queue (step 221), and then stores the standard web log in a log queue and repeatedly performs it. In step 222, the first HTTP request is searched for in consideration of a time out of the HTTP session. The first reason for looking for incoming requests is to consider the timeout of the HTTP session. The HTTP request is processed into information for obtaining seven differentiation characteristics used in the present invention through a web log parsing process (step 223) (step 224).

데이터 가공 및 전처리부(220)는 각각의 HTTP 요청(HTTP Request)에 대하여 7가지의 차별화 특성을 얻기 위한 정보, 즉 Client-Server Byte, Head 요청 여부, Referer 필드의 정보 유무, HTTP Error 발생 유무, 요청 자원의 타입 비율, Inter-Request Gap을 구하기 위한 요청 시간의 기준단위인 초단위(sec) 또는 마이크로초단위(msec)로 변환, 'robots.txt' 자원에 대한 요청 유무의 정보로 가공된다. 데이터 가공 및 전처리부(220)는 미리 정해진 특성 배열에 224 단계에서 얻은 결과를 저장하여 자료를 탐지부(230)로 제공한다(단계 225). The data processing and preprocessing unit 220 includes information for obtaining seven differentiation characteristics for each HTTP request, namely, Client-Server Byte, Head Request, presence or absence of Referer field information, presence or absence of HTTP Error, Type ratio of request resources, converted into seconds (sec) or microseconds (msec), which is a standard unit of request time for obtaining inter-request gaps, is processed into information on whether there is a request for 'robots.txt' resource. The data processing and preprocessing unit 220 stores the result obtained in step 224 in the predetermined characteristic array and provides the data to the detector 230 (step 225).

도 3은 웹 로봇 탐지 서버의 데이터 가공 및 전처리부에서 전처리된 데이터를 탐지부에서 수신받아 전체 사용자와 감시 대상 세션의 복합 특성 벡터(CAV:Composite Attribute Vector)의 연산과 갱신 과정을 나타낸 도면이다. FIG. 3 is a diagram illustrating a process of calculating and updating a composite attribute vector (CAV) of a whole user and a monitored session by receiving data preprocessed by the data processing and preprocessing unit of the web robot detection server.

본 발명에 따른 웹 로봇 탐지 서버(200)는 모든 HTTP 요청(HTTP Request)에 대해서 처리, 갱신, 탐지 과정이 반복된다. 웹 로봇 탐지 서버(200)의 데이터 가공 및 전처리부(220)는 새로운 HTTP 요청에 대한 전처리 결과를 탐지부(230)로 전달한다. Web robot detection server 200 according to the present invention is repeated for processing, updating, detection process for every HTTP request (HTTP Request). The data processing and preprocessing unit 220 of the web robot detection server 200 transmits a preprocessing result for the new HTTP request to the detection unit 230.

탐지부(230)는 개별 감시 대상 세션과 전체 사용자의 차별화 특성의 평균 데이터를 데이터 가공 및 전처리부(220)로부터 전달된 차별화 특성 데이터를 가지고 갱신한다(단계 231). 갱신은 각 차별화 특성 정보에 맞춰 EMA(Exponential Moving Average), 카운트, 평균을 이용하여 이루어진다. 갱신된 전체 사용자의 평균과 감시 대상 세션의 평균과의 상대적 차이(γ)를 계산하고, 그 결과를 이용하여 각도 성분(α)과 길이 성분(β)을 정규화하여 산출한다(단계 232). The detector 230 updates the average data of differentiation characteristics of the individual monitoring target session and the entire user with the differentiation characteristic data transmitted from the data processing and preprocessing unit 220 (step 231). The update is performed using EMA (Exponential Moving Average), counts, and averages for each differentiation characteristic information. The relative difference γ between the average of all the updated users and the average of the session to be monitored is calculated, and the angle component α and the length component β are normalized and calculated using the result (step 232).

각도 성분은 일정 영역을 갖도록 표준화되는데, 큰 양수값을 가질수록 웹 로봇과 유사한 패턴을 보이고 0 주위 또는 음수로 작아질수록 정상 사용자와 유사하다고 판단한다. 단계 323에서는 표준화된 각 특성의 각도 성분과 길이 성분을 CAV의 각도(θ)와 길이(ι)로 통합한다. 각도 성분의 양 끝으로 갈수록 웹 로봇/정상 사용자와 유사한 값으로 판단하므로, 각도 성분의 양 끝으로 갈수록 가중치를 더 주는 가중치 평균(Weighted Mean)을 이용하여 각도 성분을 CAV의 각도로 통합한다. The angular component is standardized to have a certain area. The larger the positive value is, the more similar the pattern is to the web robot, and the smaller or smaller the number is. In step 323, the angular component and the length component of each standardized characteristic are integrated into the angle θ and length ι of the CAV. Since it is determined to be similar to the web robot / normal user toward both ends of the angular component, the angular component is integrated into the angle of the CAV using a weighted mean that gives more weight toward both ends of the angular component.

길이는 산출된 CAV의 각도와 길이 성분의 합을 토대로 현재의 요청(Request)이 이상적인 정상 사용자 또는 이상적인 웹 로봇(Web Robot)과 비슷한 패턴을 보일수록 가중치(Weight)를 더 주어 길이 성분의 합에 가중치를 곱해, 이상적인 결과를 보인 요청이 탐지 결과에 미치는 영향도를 높이도록 설계하였다. The length is based on the sum of angle and length components of the calculated CAV, and as the current request shows a pattern similar to that of an ideal normal user or an ideal web robot, the weight is given to the sum of the length components. By multiplying the weights, it is designed to increase the impact of the request with the ideal result on the detection result.

하나의 HTTP 요청에 의해 산출된 CAV 값과 이전 요청까지 처리된 감시 대상 세션의 CAV 값을 벡터합을 통해 갱신한다(단계 234). The CAV value produced by one HTTP request and the CAV value of the monitored session processed up to the previous request are updated through a vector sum (step 234).

마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 웹 로봇인지 정상 사용자인지를 판별한다. 탐지된 결과는 경고 및 보고부(330)로 전달되어 이후 루틴에 따라 처리된다(단계 235).It determines whether it is a web robot or normal user based on the CAV value reflecting the result of the last HTTP request. The detected result is delivered to the alerting and reporting unit 330, which is then processed according to the routine (step 235).

웹 로봇 탐지 방법은 적어도 하나 이상의 감시 대상 웹 서버(111)로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 수집하여, 웹 로그 서버(112)로부터 원시 포맷(Raw Format) 형태의 표준 웹 로그를 웹 로봇 탐지 서버(200)로 전달한다. The web robot detection method collects web logs generated for each HTTP request from at least one or more monitored web servers 111 and collects standard web logs in raw format from the web log server 112. Transfer to the detection server 200.

상기 웹 로그 서버(112)로부터 상기 웹 로봇 탐지 서버(200)로 상기 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여 로그 큐(log queue)에 저장하고, HTTP 세션의 타임아웃을 고려하여 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보를 기 정의된 차별화 특성을 추출하여 현재 세션과 전체 사용자 사이의 특성 비율을 계산하여 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 모니터링 시스템(113)으로 제공한다.The web log server 112 collects the standard web logs in a raw format, which is generated for each HTTP request, from the web log server 112 to the web robot detection server 200, and stores them in a log queue. Considering the first HTTP request generated by parsing, we parse the weblog, extract the pre-defined differentiation characteristics from the parsed information, and calculate the ratio of the characteristics between the current session and all users. The result is provided to the monitoring system 113.

상기 차별화 특성 정보는, Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap의 시간 평균,‘robots.txt' 파일의 요청 여부 정보를 포함한다. The differentiation characteristic information includes Client-Server Bytes, Head Request Rate, Referer Page Presence Rate, HTTP Error Rate, Image Resource and Dynamic / Static Web Page Rate, Time Average of Inter-Request Gap, Request of 'robots.txt' File. Includes whether information.

본 발명은 여러 개로 나눠져 있는 특성을 조합하여 정상 사용자와 웹 로봇을 나타낼 수 있도록 하는 하나의 벡터 값을 제공한다. 하나의 벡터 형태로 제공되는데 각도는 감시 세션이 웹 로봇인지 정상 사용자인지를 결정해준다. 비슷한 결과의 요청이 지속되면 벡터 합에 의해 벡터의 길이가 증가하므로 길이는 그 탐지 결과의 신뢰도를 나타낸다. 본 발명에서는 이러한 결과를 토대로 도 4에 나타난 영역과 길이 결과를 반영하여 웹-서버 관리자에게 경고 및 보고를 하여 적절한 조치를 취할 수 있도록 도와준다. The present invention provides a single vector value that can be used to represent a normal user and a web robot by combining a number of characteristics. It is provided in a vector, with the angle determining whether the surveillance session is a web robot or a normal user. If the request with similar results persists, the length of the vector is increased by the vector sum, so the length indicates the reliability of the detection result. In the present invention, by reflecting the results of the area and length shown in FIG. 4 based on these results, the web-server administrator can help to take appropriate measures by warning and reporting.

도 4는 복합 특성 벡터(CAV:Composite Attribute Vector)로부터 탐지 결과를 결정하는 영역을 나타낸다. 본 발명에서는 전체 정상 사용자를 기준으로 -25 ~ +25% 내의 오차를 인정하여 (413)로 정의하였고, +25 ~ +75% 오차를 보이면 (410)의 웹 로봇일 가능성이 매우 높다고 정의한다. 그리고, +75 ~ +100% 오차를 보이면 (411)의 웹 로봇(Web Robot)이 확실하며, -25 ~ -75% 오차를 보이면 (414)의 웹 로봇이 아닌 전체 사용자 평균과 다소 차이를 보이는 정상 사용자 영역으로 정의하였다. (412)는 웹 로봇과 반대인 동시에 전체 사용자 평균과도 지나치게 큰 오차를 보인 경우이다. 실제로는 거의 발생하지 않지만, 확실한 웹 로봇은 아니지만 이상 사용자이므로 비정상적인 웹 로봇으로 분류한다. 전체적으로 (410), (411), (412)의 영역을 웹 로봇의 영역으로, (413), (414)를 정상 사용자 영역으로 정의한다.4 shows an area for determining a detection result from a composite attribute vector (CAV). In the present invention, an error within -25 to + 25% is recognized as (413) based on all normal users, and when the error is +25 to + 75%, it is very likely that the web robot is (410). If the error is +75 to + 100%, the web robot of 411 is certain, and if the error is -25 to -75%, the web robot of (414) is slightly different from the overall user average. Defined as normal user area. 412 is a case opposite to the web robot and at the same time excessively larger than the overall user average. Although it rarely occurs in reality, it is not an obvious web robot, but is classified as an abnormal web robot because it is an abnormal user. In general, areas 410, 411, and 412 are defined as web robot areas, and 413 and 414 are normal user areas.

도 5는 본 발명에 따른 웹 로봇 탐지 방법을 설명한 흐름도이다. 5 is a flowchart illustrating a web robot detection method according to the present invention.

웹 로그 서버(112)는 적어도 하나 이상의 감시 대상 웹 서버(111)로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 수집한다(단계 S10). The web log server 112 collects web logs generated for each HTTP request from the at least one or more monitored web servers 111 (step S10).

웹 로봇 탐지 서버(200)의 데이타 가공 및 전처리부(220)는 웹 로그 서버(112)로부터 웹 로봇 탐지 서버(200)의 데이타 가공 및 전처리부(220)로 하나의 HTTP 요청(HTTP Request)마다 생성되는 웹 로그를 수신하여 로그 큐(log queue)에 저장하고, 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 다양한 웹 로봇에 맞는 7가지 차별화 특성을 추출하고, 파싱된 정보로부터 차별화 특성 정보로 가공한 후, 미리 정해진 특성 배열에 저장한다(단계 S11).The data processing and preprocessing unit 220 of the web robot detection server 200 is a data processing and preprocessing unit 220 of the web robot detection server 200 from the web log server 112 for each HTTP request. Receives generated web logs and stores them in log queue, parses web logs from the first HTTP request repeatedly, extracts 7 different characteristics for various web robots from parsed information, and parses them The processed information is processed into differentiated characteristic information, and then stored in a predetermined characteristic array (step S11).

데이타 가공 및 전처리부(220)로부터 수신된 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 전체 사용자 관리부(131) 및 개별 세션 관리부(132)가 개별 감시 대상 특성 정보 및 전체 사용자 평균 특성 정보를 추출하고, 각각의 특성 정보를 감시 대상 세션의 복합 특성 벡터 연산부(133)로 제공한다(단계 S12).From the newly processed web log generated according to one HTTP request received from the data processing and preprocessing unit 220, the entire user management unit 131 and the individual session management unit 132 each individually monitor target property information and total user average. The characteristic information is extracted, and each characteristic information is provided to the complex characteristic vector calculation unit 133 of the session to be monitored (step S12).

감시 대상 세션의 복합 특성 벡터 연산부(133)는 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 감시 대상 세션(HTTP 세션)과 전체 사용자의 평균과의 상대적 차이를 이용하여 정규화된 각도 성분과 길이 성분을 가중치 평균(Weight Mean)과 길이 가중치를 통해 복합 특성 벡터값으로 통합하여 복합 특성 벡터(CAV)의 각도(θ)와 길이(ι)로 산출하고(단계 S13), 하나의 현재 HTTP 요청에 대한 CAV값과 이를 포함한 기존 이전 요청까지의 감시 대상 세션 전체의 CAV값의 벡터합을 통한 현재 감시 대상 세션의 CAV값을 갱신한다(단계 S14).The composite characteristic vector calculation unit 133 of the monitored session calculates a composite characteristic vector (CAV) between the current monitored session and all the users, and the current monitored session (HTTP session) and the whole from the web log according to one HTTP request. The normalized angle component and the length component using the relative difference from the user's mean are integrated into the composite characteristic vector values through the weight mean and the length weight, and the angle (θ) and the length ( ι) (step S13), and update the CAV value of the current monitored session through the vector sum of the CAV values for one current HTTP request and the CAV values of the entire monitored session up to the previous previous request including the same ( Step S14).

비교 분석부(134)는 감시 대상 세션의 복합 특성 벡터 연산부(133)로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 복합 특성 벡터의 각도와 길이로 나타내고, 각도 성분으로 세션 종류를 판별하고, 길이 성분으로 웹 로봇 판별의 신뢰성을 확인하고, 각도 영역에 따라 웹 로봇인지 여부를 판단하고, 길이성분으로 탐지 결과에 대한 신뢰도를 확인한다(단계 S15). The comparison analysis unit 134 performs polar coordinates based on the relative difference between the composite characteristic vector values of the monitored session and the entire user based on the CAV value reflecting the result of the last HTTP request from the composite characteristic vector calculation unit 133 of the monitored session. Indicate the angle and length of the complex characteristic vector on the system, determine the session type by the angle component, check the reliability of the web robot identification by the length component, determine whether it is a web robot according to the angle region, and detect the result by the length component. The reliability is verified (step S15).

탐지부(230)의 비교분석부(134)는 웹 로봇인지 정상 사용자인지를 탐지 결과를 결정하고 판별하여 탐지된 결과를 경고 및 보고부(330)로 제공한다(단계 S16).The comparison analysis unit 134 of the detection unit 230 determines and determines whether the detection result is a web robot or a normal user, and provides the detected result to the warning and report unit 330 (step S16).

웹 로봇 탐지 서버(200)의 경고 및 보고부(330)는 웹 로봇인지 정상 사용자인지 탐지된 결과를 모니터링 시스템(113)으로 제공한다(단계 S17).The warning and reporting unit 330 of the web robot detection server 200 provides the monitoring system 113 with the detected result, whether it is a web robot or a normal user (step S17).

본 발명에 따른 웹 로봇 탐지 시스템은, 컴퓨터에, (a) 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 상기 웹 로그 서버에 의해 수집하여, 상기 웹 로그 서버로부터 원시 포맷(Raw Format) 형태의 표준 웹 로그를 웹 로봇 탐지 서버로 수신받는 기능; (b) 상기 웹 로그 서버로부터 데이타 가공 및 전처리부로 하나의 HTTP 요청마다 생성되는 웹 로그를 수신받아 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보를 기 정의된 차별화 특성을 제공하는 기능; (c) 감시 대상 세션의 복합 특성 벡터 연산부에서 상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 세션의 특성 정보 및 전체 사용자의 평균 특성 정보를 추출하고, 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 HTTP 세션과 전체 사용자의 평균과의 상대적 차이를 이용한 각도 성분과 길이 성분을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균을 고려하여 길이 성분에 가중치를 곱하고 복합 특성 벡터값으로 통합하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하고, 하나의 HTTP 요청에 대한 CAV값과 이를 포함한 기존 감시 대상 세션 전체의 CAV값의 벡터합을 통한 감시 대상 세션의 CAV값 갱신하는 기능; (d) 비교 분석부에서 상기 감시 대상 세션의 복합 특성 벡터 연산부로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인하며, 웹 로봇인지 정상 사용자인지를 판별하여 상기 탐지된 결과를 경고 및 보고부로 제공하는 기능; 및 (e) 경고 및 보고부로부터 상기 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 모니터링 시스템으로 제공하는 기능을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. The web robot detection system according to the present invention comprises: (a) collecting, by the web log server, a web log generated for each HTTP request from the at least one or more monitored web server by the web log server, and raw from the web log server; Receiving a standard web log in a format (Raw Format) from the web robot detection server; (b) receiving a web log generated for each HTTP request from the web log server to a data processing and preprocessing unit, parsing the web log from the first HTTP request generated, and providing a predetermined differentiation characteristic of the parsed information; function; (c) The complex characteristic vector calculation unit of the monitored session extracts the characteristic information of the individual monitored session and the average characteristic information of all the users from the newly processed web log generated according to the one HTTP request, and is currently monitored. Calculate a composite property vector (CAV) between the session and all users, normalize and calculate the angular and length components using the relative difference between the current HTTP session and the average of all users from a web log of one HTTP request, The normalized angular component and the length component are multiplied by the weight by taking the weighted average into consideration and integrated into the composite feature vector values to calculate the angle and length of the composite feature vector (CAV). Updating the CAV value of the monitored session through the vector sum of the CAV values of all existing monitored sessions including; (d) The comparison analysis unit displays the polarity based on the relative difference between the composite feature vector values of the monitored session and the entire user based on the CAV value reflecting the result of the last HTTP request from the composite feature vector calculation unit of the monitored session. Determining whether a web robot is determined according to a defined angular region, checking reliability of a result by a length component, and determining whether the web robot is a normal user or providing the detected result to an alerting and reporting unit; And (e) a computer-readable recording medium having recorded thereon a program for realizing a function of determining whether the web robot is a normal user or a normal user from an alerting and reporting unit and providing the detected result to a monitoring system.

전술한 바와 같이 본 발명의 방법은 프로그램으로 구현되어 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 메모리 카드, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, memory card, hard disk, magneto-optical disk, etc.) in a form readable by software of a computer.

이상에서 설명한 바와 같이, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양하게 변경, 응용될 수 있음은 당업자에게 자명하다. 따라서, 본 발명의 진정한 보호 범위는 다음의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.As described above, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited thereto, and various changes and applications may be made without departing from the technical spirit of the present invention. Self-explanatory Accordingly, the true scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of the same should be construed as being included in the scope of the present invention.

110: WWW 브라우저 111: 감시 대상 웹서버
112: 웹 로그 서버 113: 모니터링 시스템
200: 웹 로봇 탐지 서버 220: 데이터 가공 및 전처리부
230: 탐지부 231: 전체 사용자 관리부
232: 개별 세션 관리부 234: 비교 연산부
233: 감시 대상 세션의 복합 특성 벡터 연산부
330: 경고 및 보고부
110: WWW Browser 111: Watched Web Server
112: web log server 113: monitoring system
200: web robot detection server 220: data processing and preprocessing unit
230: detection unit 231: total user management unit
232: individual session management unit 234: comparison operation unit
233: Complex attribute vector calculator of the monitored session
330: warning and reporting

Claims (10)

웹 로봇 탐지 시스템에 있어서,
인터넷에 연결된 적어도 하나 이상의 감시 대상 웹 서버;
상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그(Web log)를 수집하여, 원시 포맷(Raw Format) 형태의 표준 웹 로그를 전달하는 웹 로그 서버;
상기 웹 로그 서버로부터 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여, 상기 표준 웹 로그로부터 추출된 차별화 특성 정보를 고려하여 극좌표계의 복합 특성 벡터(CAV:Composite Attribute Vector)의 각도와 길이로 표시하여 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 제공하는 웹 로봇 탐지 서버; 및
상기 웹 로봇 탐지 서버로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 수신받아 대응하는 모니터링 시스템;
을 포함하는 것을 특징으로 하는 웹 로봇 탐지 시스템.
In the web robot detection system,
At least one monitored web server connected to the Internet;
A web log server which collects a web log generated for each HTTP request from the at least one monitored web server and delivers a standard web log in raw format;
By collecting the standard web log of the raw format form generated for each HTTP request from the web log server, taking into account the differentiation characteristic information extracted from the standard web log of the complex attribute vector (CAV: Composite Attribute Vector) A web robot detection server configured to display angles and lengths to provide detected results indicating whether the web robot is a normal user; And
A monitoring system for receiving a detected result indicating whether a web robot or a normal user is received from the web robot detection server;
Web robot detection system comprising a.
제1항에 있어서,
상기 웹 로봇 탐지 서버는,
상기 웹 로그 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 수집하여 로그 큐(log queue)에 저장하고, HTTP 세션의 타임아웃을 고려하여 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 차별화 특성 정보로 가공한 후, 미리 정해진 특성 배열에 저장하는 데이타 가공 및 전처리부;
상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 세션의 특성 정보 및 전체 사용자의 평균 특성 정보를 추출하고, 현재 감시 대상 세션(HTTP 세션)과 전체 사용자 사이의 특성 비율을 계산하여, 복합 특성 벡터(CAV)의 각도와 길이로 나타내고 탐지 결과를 결정하여, 상기 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 제공하는 탐지부; 및
상기 탐지부로부터 웹 로봇인지 정상 사용자인지를 나타내는 탐지된 결과를 감시 대상 웹 서버의 정해진 정책에 따라 모니터링 시스템으로 관리자에게 보고하는 경고 및 보고부;
을 포함하는 것을 특징으로 하는 웹 로봇 탐지 시스템.
The method of claim 1,
The web robot detection server,
Collect web logs generated for each HTTP request from the web log server, store them in a log queue, parse the web logs from the first HTTP request generated repeatedly in consideration of the timeout of the HTTP session, A data processing and preprocessing unit which processes the parsed information into differentiation characteristic information and stores the same in a predetermined characteristic array;
From the newly processed web log generated according to the one HTTP request, the characteristic information of the individual monitored session and the average characteristic information of all the users are extracted, and the ratio of the characteristic between the current monitored session (HTTP session) and all users A detection unit for calculating the detection result by indicating the angle and the length of the complex feature vector (CAV) and determining a detection result to provide a detected result indicating whether the web robot is a normal user; And
A warning and reporting unit for reporting the detected result indicating whether the web robot or the normal user is from the detection unit to the monitoring system according to a predetermined policy of the monitoring target web server to the administrator;
Web robot detection system comprising a.
제2항에 있어서,
상기 탐지부는,
전체 사용자 평균 특성 정보를 관리하는 전체 사용자 관리부;
개별 감시 대상 세션의 특성 정보를 관리하는 개별 세션 관리부;
상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 특성 정보 및 전체 사용자 평균 특성 정보를 추출하고, 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 감시 대상 세션(HTTP 세션)과 전체 사용자의 평균과의 상대적 차이(γ)를 이용한 각도 성분(α)과 길이 성분(β)을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균을 고려하여 길이 성분에 가중치를 곱하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하고, 하나의 HTTP 요청에 대한 CAV값과 이를 포함한 기존 감시 대상 세션 전체의 CAV값의 벡터합을 통해 현재 감시 대상 세션의 CAV값 갱신하는 감시 대상 세션의 복합 특성 벡터 연산부; 및
상기 현재 감시 대상 세션의 복합 특성 벡터 연산부로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로, 현재 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이 성분으로 결과의 신뢰도를 확인하며, 상기 웹 로봇인지 정상 사용자인지를 판별하여 상기 탐지된 결과를 제공하는 비교 분석부;
을 포함하는 것을 특징으로 하는 웹 로봇 탐지 시스템.
The method of claim 2,
The detection unit,
An overall user manager for managing all user average characteristic information;
An individual session manager configured to manage characteristic information of the individual monitored session;
Extracting individual monitored property information and total user average property information from a newly processed web log generated according to the one HTTP request, calculating a composite property vector (CAV) between the current monitored session and all users, and From the web log according to one HTTP request, the angle component (α) and the length component (β) are normalized and calculated using the relative difference (γ) between the current monitored session (HTTP session) and the average of all users. Multiply the length component by the weight, taking into account the weighted average, and calculate the angle and length of the composite characteristic vector (CAV), and the CAV value for one HTTP request and the CAV of the entire existing session to be monitored. A complex characteristic vector calculation unit of the monitored session for updating the CAV value of the current monitored session through the vector sum of the values; And
Based on the CAV value reflecting the result of the last HTTP request from the composite characteristic vector calculation unit of the current monitored session, the angle region defined on the polar coordinate system based on the relative difference between the composite monitored vector value of the current monitored session and all users. A comparison analysis unit to determine whether the web robot according to the verification, the reliability of the result by the length component, and determine whether the web robot or normal user to provide the detected result;
Web robot detection system comprising a.
제1항에 있어서,
상기 차별화 특성 정보는,
Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap의 시간 평균,‘robots.txt' 파일의 요청 여부 정보를 포함하는 것을 특징으로 하는 웹 로봇 탐지 시스템.
The method of claim 1,
The differentiation characteristic information,
Client-Server Bytes, Head Request Rate, Referer Page Presence Rate, HTTP Error Rate, Image Resource and Dynamic / Static Web Page Rate, Time Average of Inter-Request Gap, Request Information of 'robots.txt' File Web robot detection system characterized.
제3항에 있어서,
상기 탐지부는,
개별 감시 대상 세션과 전체 사용자의 차별화 특성의 평균 데이터를 상기 데이터 가공 및 전처리부로부터 전달된 상기 차별화 특성 정보를 가지고 EMA(Exponential Moving Average), 카운트, 평균을 이용하여 갱신이 이루어지고, 갱신된 전체 사용자의 평균과 상기 현재 감시 대상 세션의 평균의 상대적 차이(γ)를 계산하고, 그 결과를 이용하여 각도 성분(α)과 길이 성분(β)을 정규화하여 산출하는 것을 특징으로 하는 웹 로봇 탐지 시스템.
The method of claim 3,
The detection unit,
The average data of the differentiated characteristics of the individual monitored session and the entire user is updated using the EMA (Exponential Moving Average), the count, and the average with the differentiated characteristic information transmitted from the data processing and preprocessing unit, and the updated total is updated. A web robot detection system comprising calculating a relative difference γ between an average of a user and an average of the current monitored session, and normalizing and calculating an angle component α and a length component β using the result. .
적어도 하나 이상의 감시 대상 웹 서버와 연동된 웹 로그 서버, 웹 로봇 탐지 서버, 및 모니터링 시스템을 구비하는 웹 로봇 탐지 방법에 있어서,
(a) 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 웹 로그 서버로 수집하는 단계; 및
(b) 상기 웹 로그 서버로부터 상기 웹 로봇 탐지 서버로 상기 하나의 HTTP 요청마다 생성되는 원시 포맷 형태의 표준 웹 로그를 수집하여 HTTP 요청으로부터 웹로그를 파싱하고, 파싱된 정보로부터 다양한 웹 로봇에 맞는 차별화 특성을 추출하여 현재 감시 대상 세션(HTTP 세션)과 전체 사용자 사이의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계의 복합 특성 벡터 형식으로 각도 및 길이로 나타내고, 웹 로봇인지 정상 사용자 인지를 나타내는 탐지된 결과를 모니터링 시스템으로 제공하는 단계;
를 포함하는 것을 특징으로 하는 웹 로봇 탐지 방법.
In the web robot detection method comprising a web log server, a web robot detection server, and a monitoring system linked to at least one web server to be monitored,
(a) collecting web logs generated for each HTTP request from the at least one or more monitored web servers to a web log server; And
(b) Parse the web logs from the HTTP request by collecting standard web logs in the raw format generated for each one HTTP request from the web log server to the web robot detection server, and match the various web robots from the parsed information. Based on the relative difference between the composite property vector values between the current monitored session (HTTP session) and all users, the differentiation characteristics are extracted and expressed in angle and length in the form of complex feature vectors in the polar coordinate system. Providing the detected result to a monitoring system;
Web robot detection method comprising a.
제6항에 있어서,
상기 단계 (b)는,
(b1) 상기 웹 로그 서버로부터 상기 웹 로봇 탐지 서버의 데이타 가공 및 전처리부로 하나의 HTTP 요청마다 생성되는 웹 로그를 수집하여 로그 큐(log queue)에 저장하고, 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 상기 차별화 특성 정보로 가공한 후, 미리 정해진 특성 배열에 저장하는 단계;
(b2) 현재 감시 대상 세션(HTTP 세션)의 복합 특성 벡터 연산부에서 상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 특성 정보 및 전체 사용자 평균 특성 정보를 추출하고, 상기 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하며, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 감시 대상 세션의 평균 갱신된 전체 사용자의 평균의 상대적 차이(γ)를 이용하여 각도 성분(α)과 길이 성분(β)을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균과 길이 가중치를 부과하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하며, 하나의 현재 HTTP 요청에 대한 CAV값과 이를 포함한 기존 이전 요청까지의 감시 대상 세션 전체의 CAV값의 벡터합을 통한 현재 감시 대상 세션의 CAV값을 갱신하는 단계;
(b3) 비교 분석부에서 상기 감시 대상 세션의 복합 특성 벡터 연산부로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 감시 대상 세션과 전체 사용자의 현재 감시 대상 세션의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인하며, 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 경고 및 보고부로 제공하는 단계; 및
(b4) 상기 경고 및 보고부로부터 상기 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 모니터링 시스템으로 제공하는 단계;
를 포함하는 것을 특징으로 하는 웹 로봇 탐지 방법.
The method of claim 6,
The step (b)
(b1) collecting the web logs generated for each HTTP request from the web log server to the data processing and preprocessing unit of the web robot detection server, storing them in a log queue, and repeating the first HTTP request Parsing a weblog, processing the differentiated characteristic information from the parsed information, and storing the weblog in a predetermined characteristic array;
(b2) the complex property vector computing unit of the current monitored session (HTTP session) extracts the individual monitored object property information and the total user average property information from the newly processed web log generated according to the one HTTP request; Compute a composite characteristic vector (CAV) between the current monitored session and all users, and calculates the angle using the relative difference (γ) of the average of all updated users in the current monitored session from the web log according to one HTTP request. Compute normalized component (α) and length component (β), calculate the angle and length of the composite characteristic vector (CAV) by applying weighted average and length weighted normalized angular component and length component, The CAV value of the current monitored session is updated by the vector sum of the CAV values for the request and the CAV values of the entire monitored sessions up to the previous previous request. Step;
(b3) The comparative analysis unit calculates the relative difference between the composite feature vector values of the monitored session and the current monitored session of all users based on the CAV value reflecting the result of the last HTTP request from the composite feature vector calculation unit of the monitored session. Determining whether the robot is a web robot according to the angular region defined on the polar coordinate system, checking the reliability of the result by the length component, and determining whether the web robot is a normal user or providing the detected result to the warning and report unit; And
(b4) determining whether the web robot is a normal user from the warning and reporting unit and providing a detected result to a monitoring system;
Web robot detection method comprising a.
제7항에 있어서,
상기 차별화 특성 정보는,
Client-Server Bytes, Head 요청 비율, Referer 페이지 존재 비율, HTTP Error 비율, 이미지 자원과 동적/정적 웹 페이지 비율, Inter-Request Gap의 시간 평균,‘robots.txt' 파일의 요청 여부 정보를 포함하는 것을 특징으로 하는 웹 로봇 탐지 방법.
The method of claim 7, wherein
The differentiation characteristic information,
Client-Server Bytes, Head Request Rate, Referer Page Presence Rate, HTTP Error Rate, Image Resource and Dynamic / Static Web Page Rate, Time Average of Inter-Request Gap, Request Information of 'robots.txt' File Web robot detection method characterized in that.
제7항 또는 제8항에 있어서,
상기 단계 (b2)는,
개별 감시 대상 세션과 전체 사용자의 차별화 특성 정보의 평균 데이터를 데이터 가공 및 전처리부로부터 전달된 차별화 특성 데이터를 가지고 EMA(Exponential Moving Average), 카운트, 평균을 이용하여 갱신하고, 갱신된 전체 사용자의 평균과 감시 대상 세션의 평균의 상대적 차이(γ)를 계산하고, 그 결과를 이용하여 각도 성분(α)과 길이 성분(β)을 정규화하는 것을 특징으로 하는 웹 로봇 탐지 방법.
The method according to claim 7 or 8,
Step (b2),
The average data of the individual monitored sessions and the total user's differentiation characteristic information is updated by using the EMA (Exponential Moving Average), counts, and averages with the differentiated characteristic data transmitted from the data processing and preprocessing units, and the average of the updated total users. And calculating the relative difference (γ) between the average of the monitored sessions and using the result to normalize the angular component (α) and the length component (β).
컴퓨터에, (a) 상기 적어도 하나 이상의 감시 대상 웹 서버로부터 하나의 HTTP 요청마다 생성되는 웹 로그를 웹 로그 서버로 수집하는 기능;
(b) 상기 웹 로그 서버로부터 웹 로봇 탐지 서버의 데이타 가공 및 전처리부에서 하나의 HTTP 요청마다 생성되는 웹 로그를 수신받아 로그 큐에 저장하고, 반복적으로 가장 먼저 발생된 HTTP 요청부터 웹로그를 파싱하고, 파싱된 정보로부터 차별화 특성 정보로 가공한 후, 미리 정해진 특성 배열에 저장하는 기능;
(c) 감시 대상 세션의 복합 특성 벡터 연산부에서 상기 하나의 HTTP 요청에 따라 생성되는 새로이 가공된 형태의 웹 로그로부터 개별 감시 대상 세션의 특성 정보 및 전체 사용자의 평균 특성 정보를 추출하고, 현재 감시 대상 세션과 전체 사용자 사이의 복합 특성 벡터(CAV)를 산출하고, 하나의 HTTP 요청에 따른 웹 로그로부터 현재 HTTP 세션과 전체 사용자의 평균과의 상대적 차이를 이용한 각도 성분과 길이 성분을 정규화하여 계산하고, 정규화된 각도 성분과 길이 성분을 가중치 평균을 고려하여 길이 성분에 가중치를 곱하여 복합 특성 벡터(CAV)의 각도와 길이로 산출하고, 하나의 현재 HTTP 요청에 대한 CAV값과 이를 포함한 기존 이전 요청까지의 감시 대상 세션 전체의 CAV값의 벡터합을 통한 현재 감시 대상 세션의 CAV값을 갱신하는 기능;
(d) 비교 분석부에서 상기 감시 대상 세션의 복합 특성 벡터 연산부로부터 마지막 HTTP 요청에 의한 결과가 반영된 CAV 값을 바탕으로 감시 대상 세션과 전체 사용자의 복합 특성 벡터값의 상대적인 차이를 근거로 극좌표계상에 정의된 각도 영역에 따라 웹 로봇 여부를 판단하고 길이성분으로 결과에 대한 신뢰도를 확인하며, 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 경고 및 보고부로 제공하는 기능; 및
(e) 경고 및 보고부로부터 상기 웹 로봇인지 정상 사용자인지를 판별하여 탐지된 결과를 모니터링 시스템으로 제공하는 기능;
을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
(A) a function of collecting a web log generated for each HTTP request from the at least one or more monitored web server to a web log server;
(b) The web processing server of the web robot detection server receives the web log generated for each HTTP request from the web log server and stores the web log in the log queue, and repeatedly parses the web log from the first HTTP request. And processing the differentiated characteristic information from the parsed information and storing the same in a predetermined characteristic array;
(c) The complex characteristic vector calculation unit of the monitored session extracts the characteristic information of the individual monitored session and the average characteristic information of all the users from the newly processed web log generated according to the one HTTP request, and is currently monitored. Calculate a composite property vector (CAV) between the session and all users, normalize and calculate the angular and length components using the relative difference between the current HTTP session and the average of all users from a web log of one HTTP request, The normalized angular component and the length component are multiplied by the weight component by considering the weighted average to calculate the angle and length of the composite characteristic vector (CAV), and the CAV value for one current HTTP request and the previous previous request including the same. Updating the CAV value of the current monitored session through a vector sum of the CAV values of the entire monitored session;
(d) The comparison analysis unit displays the polarity based on the relative difference between the composite feature vector values of the monitored session and the entire user based on the CAV value reflecting the result of the last HTTP request from the composite feature vector calculation unit of the monitored session. Determining whether a web robot is defined according to a defined angular region, checking reliability of a result by a length component, and determining whether the web robot is a normal user or providing a detected result to an alerting and reporting unit; And
(e) a function of determining whether the web robot is a normal user from a warning and report unit and providing a detected result to a monitoring system;
A computer-readable recording medium that records a program for realizing the problem.
KR1020100031165A 2010-04-06 2010-04-06 Web robot detection system and method KR101148002B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100031165A KR101148002B1 (en) 2010-04-06 2010-04-06 Web robot detection system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100031165A KR101148002B1 (en) 2010-04-06 2010-04-06 Web robot detection system and method

Publications (2)

Publication Number Publication Date
KR20110111863A true KR20110111863A (en) 2011-10-12
KR101148002B1 KR101148002B1 (en) 2012-05-24

Family

ID=45027801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100031165A KR101148002B1 (en) 2010-04-06 2010-04-06 Web robot detection system and method

Country Status (1)

Country Link
KR (1) KR101148002B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106674A (en) * 2019-03-05 2020-09-15 허제민 Method for monitoring system based on log, apparatus and system thereof
WO2020258673A1 (en) * 2019-06-28 2020-12-30 平安科技(深圳)有限公司 Network access abnormality determination method and apparatus, server and storage medium
CN114244863A (en) * 2021-11-19 2022-03-25 深圳优地科技有限公司 Data packet processing method and server

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823075B1 (en) 2007-11-29 2008-04-21 방용정 Realtime log analysis system for respective user connected with website, and method thereof
KR101055871B1 (en) * 2009-04-30 2011-08-09 삼성에스디에스 주식회사 Apparatus and method for extracting user session information through real-time analysis of web logs
KR101126126B1 (en) * 2009-08-05 2012-04-12 삼성에스디에스 주식회사 Apparatus and method for extracting user session information of web log

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106674A (en) * 2019-03-05 2020-09-15 허제민 Method for monitoring system based on log, apparatus and system thereof
WO2020258673A1 (en) * 2019-06-28 2020-12-30 平安科技(深圳)有限公司 Network access abnormality determination method and apparatus, server and storage medium
CN114244863A (en) * 2021-11-19 2022-03-25 深圳优地科技有限公司 Data packet processing method and server

Also Published As

Publication number Publication date
KR101148002B1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
US20240111818A1 (en) Method for training isolation forest, and method for recognizing web crawler
KR101793240B1 (en) Predicting user navigation events
CN106685936B (en) Webpage tampering detection method and device
CN107368718B (en) User browsing behavior authentication method and system
CN110620759A (en) Network security event hazard index evaluation method and system based on multidimensional correlation
CN103297394B (en) Website security detection method and device
CN104598367A (en) System and method for automatically managing fault events of data center
CN107547490B (en) Scanner identification method, device and system
US9871826B1 (en) Sensor based rules for responding to malicious activity
JP2014502753A (en) Web page information detection method and system
CN106534146A (en) Safety monitoring system and method
CN108337269A (en) A kind of WebShell detection methods
CN107508809B (en) Method and device for identifying website type
CN112491784A (en) Request processing method and device of Web site and computer readable storage medium
CN110069693B (en) Method and device for determining target page
CN114205216B (en) Root cause positioning method and device for micro service fault, electronic equipment and medium
CN107592305A (en) A kind of anti-brush method and system based on elk and redis
CN114915479A (en) Web attack phase analysis method and system based on Web log
Aydin et al. Using attribute-based feature selection approaches and machine learning algorithms for detecting fraudulent website URLs
CN105184156A (en) Security threat management method and system
Sujatha Improved user navigation pattern prediction technique from web log data
KR101148002B1 (en) Web robot detection system and method
CN110245314A (en) A kind of web page fingerprint generation method
CN107920067A (en) A kind of intrusion detection method in active objects storage system
KR101648349B1 (en) Apparatus and method for calculating risk of web site

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150504

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160504

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee