WO2022119286A1 - 지능형 봇 탐지 방법 및 장치 - Google Patents

지능형 봇 탐지 방법 및 장치 Download PDF

Info

Publication number
WO2022119286A1
WO2022119286A1 PCT/KR2021/017914 KR2021017914W WO2022119286A1 WO 2022119286 A1 WO2022119286 A1 WO 2022119286A1 KR 2021017914 W KR2021017914 W KR 2021017914W WO 2022119286 A1 WO2022119286 A1 WO 2022119286A1
Authority
WO
WIPO (PCT)
Prior art keywords
http request
client
abnormality
learned
bot detection
Prior art date
Application number
PCT/KR2021/017914
Other languages
English (en)
French (fr)
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 (주)모니터랩
Publication of WO2022119286A1 publication Critical patent/WO2022119286A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/302Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information gathering intelligence information for situation awareness or reconnaissance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Definitions

  • the present invention relates to an intelligent bot detection method and apparatus.
  • Bots are largely divided into bots for search engine optimization (SEO) and bots for crawling.
  • malware bots can attack websites, collect personal information, and perform DOS attacks. As a result, server resource exhaustion, server load, traffic load, and personal information leakage occur. Malicious bots perform attacks just like real web browsers as they become more sophisticated. In order to prevent such attacks, HTTP request patterning, IP blacklisting, HTTP request threshold based, etc. are being performed.
  • User-Agent exists by using the accessed browser identifier among HTTP request headers. Block the connection by patterning the corresponding value. However, by modifying User-Agent, the attack technique is increasing.
  • bot IP it is a method to block the bot IP by patterning it. However, in case of blocking by bot IP, it may take some time to block new bots.
  • connection period is set, and the connection is bypassed by accessing at regular intervals.
  • the technical problem to be solved by the present invention is to provide an intelligent bot detection method and apparatus capable of detecting a bot in real time.
  • the pre-learned normal HTTP request order and the pre-learned normal interval may be learned for each HTML page.
  • the method includes detecting abnormality by comparing browser information provided from a client that has transmitted the HTTP request with pre-learned normal browser information;
  • the method may further include at least one of detecting whether there is an abnormality in comparison with the information, and detecting whether there is an abnormality based on the HTTP response code of the server to the HTTP request from the client.
  • the browser information may be requested and provided to the client that has transmitted the HTTP request using a JavaScript challenge.
  • CAPTCHA authentication may be performed to detect whether the client is a bot.
  • a computer-readable recording medium records a program for executing any one of the methods in a computer.
  • Intelligent bot detection apparatus for solving the above technical problem, receives an HTTP request from a client, compares the HTTP request sequence received from the client with a pre-learned normal HTTP request sequence to detect abnormality, , a bot detection module for detecting abnormalities by comparing an HTTP request interval from the client with a pre-learned normal interval, and storing information about the pre-learned normal HTTP request sequence and the pre-learned normal interval Includes database.
  • the present invention even when a new bot or a new IP is generated through intelligent bot blocking, it is possible to detect in real time, thereby protecting the web server.
  • the web server as a function independent of the web server, there is no load on the server, and it is possible to efficiently respond to new bots without additional settings or changes.
  • FIG. 1 is a diagram illustrating a connection relationship between an intelligent bot detection apparatus according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a normal HTTP request sequence.
  • FIG. 3 is a diagram illustrating HTML response data.
  • FIG. 4 is a diagram illustrating an HTTP request header when a browser is accessed.
  • FIG. 5 is a diagram illustrating an HTTP request header when accessing a crawler.
  • FIG. 6 is a diagram illustrating a request header when accessing Selenium.
  • FIG. 7 is a flowchart of an intelligent bot detection method according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a connection relationship between an intelligent bot detection apparatus according to an embodiment of the present invention.
  • the intelligent bot detection apparatus 100 collects web-based traffic between the client 200 and the web server 300 and distinguishes normal traffic from abnormal traffic according to various predetermined conditions. can be learned to Normal traffic corresponds to a normal access attempt by a normal browser, and abnormal traffic corresponds to an abnormal access attempt by a bot.
  • HTML Hyper Text Markup Language
  • CSS CSS
  • JavaScript JavaScript
  • the intelligent bot detection apparatus 100 may include a data extraction module 110 , a bot detection module 130 , and a database 150 .
  • the database 150 may store various types of information and data related to the operation of the intelligent bot detection apparatus 100 .
  • the data extraction module 110 may extract HTTP request data from web traffic to collect information such as an HTTP request order, the number of HTTP requests, and an HTTP request header. In addition, the data extraction module 110 may collect information such as response speed and response code by extracting HTTP response data for an HTTP request. In addition, the data extraction module 110 may request and receive browser information from the client 200 using a JavaScript challenge. Browser status and option information may be collected from the browser information provided by the client 200 .
  • the order of performing the JavaScript challenge may be performed as follows.
  • the intelligent bot detection device 100 receives an HTTP request transmitted from the client 100 to the web server 300 .
  • the intelligent bot detection device 100 transmits JavaScript for collecting browser information to the client 100 .
  • the client 100 transmits the browser information to the intelligent bot detection device 100 by executing JavaScript.
  • the intelligent bot detection device 100 stores browser information in the database 150 .
  • the bot detection module 130 may learn about a normal traffic determination condition based on statistics on information collected in the database 170 and determine whether there is an abnormality according to the learned condition. For example, it is possible to obtain statistics on the HTTP request order for each HTML page and learn the HTTP request order corresponding to normal traffic. In addition, the bot detection module 130 may detect an abnormality with respect to an HTTP request sequence different from the normally learned HTTP request sequence.
  • the browser loads in the following order, HTML document --> CSS --> JS --> image.
  • HTML document --> CSS --> JS --> image In a state in which it has been learned that HTTP requests are made in the above order for the corresponding page, and the HTTP request order is made differently from the above order, it can be determined that there is an abnormality.
  • FIG. 2 is a diagram illustrating a normal HTTP request sequence.
  • the HTTP request order is from top to bottom, and if you check the Type part, you can see that it is made in the order of document --> stylesheet --> script --> png.
  • FIG. 3 is a diagram illustrating HTML response data.
  • HTML response data illustrated in FIG. 3 in the case of an image collection bot, only the URL of the img tag is accessed to collect image information. That is, HTTP requests are made in the order of HTML document --> image. In this case, it can be judged as abnormal.
  • the bot detection module 130 may detect an abnormality by comparing header information of the HTTP request received from the client 100 with previously learned normal HTTP header information.
  • HTTP request header information is not sent by the browser, you may be suspicious of a bot. In the case of an open source bot, it is different from the HTTP request sent by the browser. The following cases can be detected by bots.
  • FIG. 4 is a diagram illustrating an HTTP request header when a browser is accessed.
  • required header that is basically requested when a browser access request is made.
  • required request headers such as User-Agent, Accept-Encoding, Accept-Language, and Accept exist when requesting a browser access.
  • FIG. 5 is a diagram illustrating an HTTP request header when accessing a crawler.
  • the order of the request headers is different, and there may be no required request header (Accept-Language). Also, the request header User-Agent is often not the browser but the crawler name.
  • FIG. 6 is a diagram illustrating a request header when accessing Selenium.
  • the bot detection module 130 may learn HTTP request interval information for each page from among statistics on information collected in the database 170 .
  • the HTTP request interval information means a time interval between HTTP requests sequentially delivered from the client.
  • the bot detection module 130 may detect abnormality when the HTTP response code is abnormally generated.
  • a bot In the case of a bot, it can learn an existing URL and access the continuously learned URL. However, when the web server changes the page or accesses the wrong page, a response code of 404 Not Found is sent. That is, if you continuously try to access a URL that is not on the server, the response code 404 Not Found is abnormally sent from multiple web servers, so it can be detected as an abnormality.
  • the bot detection module 130 may learn a normal response code pattern for the corresponding page, and if there is a difference between the learned response code patterns, the corresponding traffic, that is, the HTTP request, may be detected as abnormal.
  • the bot detection module 130 may learn normal browser information, and if browser information different from the previously learned browser information is detected, it may be determined as abnormal. For example, in the case of a bot, it has only essential browser information, which is different from the normally learned browser information. In addition, it can be detected because there is browser information used only for bots. For example, an intelligent bot works the same as a real browser, but there are differences in browser options, etc. You can collect the navigator.webdriver value with the data collected by the Javascript Challenge request and browser information. For intelligent bots, the default value of navigator.webdriver is set to true, so it can be detected as a bot. Intelligent bots can be detected by using the normally learned browser option information.
  • the bot detection module 130 may be implemented to finally detect whether the client is a bot by performing CAPTCHA authentication when a bot is suspected, that is, when an abnormality is detected.
  • FIG. 7 is a flowchart of an intelligent bot detection method according to an embodiment of the present invention.
  • the intelligent bot detection device 100 upon receiving the HTTP request ( S310 ), the intelligent bot detection device 100 is provided with browser information from the client 200 that has transmitted the HTTP request using a JavaScript challenge , it is possible to detect whether there is an abnormality by comparing it with the pre-learned normal browser information (S320).
  • the intelligent bot detection apparatus 100 may detect an abnormality by comparing the HTTP request sequence received from the client 200 with a pre-learned normal HTTP request sequence (S330).
  • the intelligent bot detection apparatus 100 may compare the header information of the HTTP request received from the client 200 with the pre-learned normal HTTP header information to detect whether there is an abnormality (S340).
  • the intelligent bot detection apparatus 100 may detect an abnormality by comparing the interval at which the HTTP request is transmitted from the client 200 with a previously learned normal interval ( S350 ).
  • the intelligent bot detection apparatus 100 may detect an abnormality based on the HTTP response code of the web server 300 to the HTTP request from the client 200 (S360).
  • steps S320 to S360 may be partially changed depending on the embodiment.
  • the intelligent bot detection apparatus 100 may finally detect whether the client 200 is a bot by performing CAPTCHA authentication when abnormality is detected in steps S320 to S360 ( S370 ).
  • the embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component.
  • the apparatus, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • OS operating system
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave.
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Technology Law (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 지능형 봇 탐지 방법 및 장치에 관한 것으로, 본 발명에 따른 장치는 클라이언트로부터 HTTP 요청을 수신하고, 클라이언트로부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지하며, 클라이언트로부터 HTTP 요청 인터벌을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지하는 봇 탐지 모듈, 그리고 미리 학습된 정상 HTTP 요청 순서와 미리 학습된 정상 인터벌에 대한 정보를 저장하는 데이터베이스를 포함한다. 미리 학습된 정상 HTTP 요청 순서와 미리 학습된 정상 인터벌은 HTML 페이지별로 학습될 수 있다. 봇 탐지 모듈은, HTTP 요청을 전송한 클라이언트로부터 제공받은 브라우저 정보를 미리 학습된 정상 브라우저 정보와 비교하여 이상 여부를 탐지하거나, 클라이언트로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지하거나, 클라이언트로부터 HTTP 요청에 대한 서버의 HTTP 응답 코드에 기초하여 이상 여부를 탐지할 수 있다.

Description

지능형 봇 탐지 방법 및 장치
본 발명은 지능형 봇 탐지 방법 및 장치에 관한 것이다.
인터넷 환경의 발달과 기술의 발달에 따라 웹을 이용한 다양한 서비스가 증가하고 있다. 그리고 웹을 이용한 다양한 서비스에 따라 봇(BOT)이 증가하는 추세이다. 봇들은 크게 검색 엔진 최적화(search Engine optimization)(SEO)를 위한 봇과 크롤링(crawling)하는 봇으로 나누어진다.
그런데 악성 봇들은 웹 사이트 공격, 개인 정보 수집, DOS 공격 등을 수행할 수 있다. 이로 인하여 서버 자원 고갈, 서버 부하, 트래픽 부하, 개인 정보 유출이 발생한다. 악성 봇들은 점점 고도화 진행하면서 실제 웹 브라우저처럼 공격을 수행한다. 이러한 공격을 막기 위하여 HTTP 요청 패턴화, IP 블랙리스트, HTTP 요청 임계치 기반 등을 수행하고 있다.
- HTTP 요청 패턴 차단
HTTP 요청 헤더 중 접속한 브라우저 식별자 사용하는 것으로 사용자 에이전트(User-Agent)가 존재한다. 해당 값을 패턴화 시켜 접속 차단을 실시한다. 하지만 User-Agent를 수정함으로써 공격을 감행하는 기법이 증가하는 추세이다.
- IP 블랙리스트 차단
봇 IP를 패턴화 시켜 차단하는 방식이다. 하지만 봇 IP로 차단하는 경우 새로운 봇 대하여 차단까지 시간이 걸릴 수 있다.
- HTTP 요청 임계치 기반 차단
짧은 시간 동안 HTTP 요청을 많이 하게 되면 해당 IP는 탐지하는 기법이다. 새로운 봇 같은 경우 접속 주기를 정해 일정한 시간마다 접속하여 우회한다.
악성 봇들은 위와 같은 내용으로 인하여 방화벽을 우회할 수 있다.
따라서 본 발명이 해결하고자 하는 기술적 과제는 봇을 실시간으로 탐지할 수 있는 지능형 봇 탐지 방법 및 장치를 제공하는 것이다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 지능형 봇 탐지 방법은 클라이언트로부터 HTTP 요청을 수신하는 단계, 상기 클라이언트로부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지하는 단계, 그리고 상기 클라이언트로부터 HTTP 요청 인터벌(interval)을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지하는 단계를 포함한다.
상기 미리 학습된 정상 HTTP 요청 순서와 상기 미리 학습된 정상 인터벌은 HTML 페이지별로 학습될 수 있다.
상기 방법은, 상기 HTTP 요청을 전송한 클라이언트로부터 제공받은 브라우저 정보를 미리 학습된 정상 브라우저 정보와 비교하여 이상 여부를 탐지하는 단계, 상기 클라이언트로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지하는 단계, 및 상기 클라이언트로부터 HTTP 요청에 대한 서버의 HTTP 응답 코드에 기초하여 이상 여부를 탐지하는 단계 중 적어도 하나를 더 포함할 수 있다.
자바스크립트 챌린지(JavaScript Challenge)를 이용하여 상기 HTTP 요청을 전송한 클라이언트에 브라우저 정보를 요청하여 제공받을 수 있다.
이상 여부가 탐지되면 캡차(CAPTCHA) 인증을 수행하여 상기 클라이언트의 봇 여부를 탐지할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체는 상기 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 지능형 봇 탐지 장치는, 클라이언트로부터 HTTP 요청을 수신하고, 상기 클라이언트로부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지하며, 상기 클라이언트로부터 HTTP 요청 인터벌(interval)을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지하는 봇 탐지 모듈, 그리고 상기 미리 학습된 정상 HTTP 요청 순서와 상기 미리 학습된 정상 인터벌에 대한 정보를 저장하는 데이터베이스를 포함한다.
본 발명에 의하면 지능형 봇 차단을 통해 새로운 봇 또는 새로운 IP가 발생하여도 실시간으로 탐지할 수가 있어 웹 서버 보호가 가능하다. 또한 웹 서버와 독립적인 기능으로 서버에 부하가 발생하지 않고, 추가적으로 설정이나 변경 없이 효율적으로 새로운 봇에 대하여 대응이 가능하다.
도 1은 본 발명의 일 실시예에 따른 지능형 봇 탐지 장치의 연결 관계를 나타낸 도면이다.
도 2는 정상적 HTTP 요청 순서를 예시한 도면이다.
도 3은 HTML 응답 데이터를 예시한 도면이다.
도 4는 브라우저 접속 시 HTTP 요청 헤더를 예시한 도면이다.
도 5는 크롤러 접속 시 HTTP 요청 헤더를 예시한 도면이다.
도 6은 Selenium 접속시 요청 헤더를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 지능형 봇 탐지 방법의 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 지능형 봇 탐지 장치의 연결 관계를 나타낸 도면이다.
도 1을 참고하면, 본 발명에 따른 지능형 봇 탐지 장치(100)는 클라이언트(200)와 웹 서버(300) 사이에서 웹 기반으로 트래픽을 수집하고 미리 정해진 다양한 조건에 따라 정상 트래픽과 비정상 트래픽을 구분할 수 있게 학습될 수 있다. 정상 트래픽은 정상 브라우저에 의한 정상적인 접속 시도이고, 비정상 트래픽은 봇(bot)에 의한 비정상 접속 시도에 해당한다.
통상적으로 브라우저를 사용하여 웹 페이지 접속 시 자동으로 HTML(Hyper Text Markup Language) 문서, CSS(Cascading StyleSheet), 자바스크립트(Javascript)(JS), 이미지 다운로드 순서로 수행된다. 이러한 브라우저의 특성을 이용해서 자동으로 요청되는 요소들을 추출할 수 있다.
지능형 봇 탐지 장치(100)는 데이터 추출 모듈(110), 봇 탐지 모듈(130) 및 데이터베이스(150)를 포함할 수 있다.
데이터베이스(150)는 지능형 봇 탐지 장치(100)의 동작과 관련된 각종 정보 및 데이터를 저장할 수 있다.
데이터 추출 모듈(110)은 웹 트래픽에서 HTTP 요청 데이터를 추출하여 HTTP 요청 순서, HTTP 요청 횟수, HTTP 요청 헤더 등의 정보를 수집할 수 있다. 그리고 데이터 추출 모듈(110)은 HTTP 요청에 대한 HTTP 응답 데이터를 추출하여 응답 속도, 응답 코드 등의 정보를 수집할 수도 있다. 그리고 데이터 추출 모듈(110)은 클라이언트(200)에 자바스크립트 챌린지(JavaScript Challenge)를 이용하여 브라우저 정보를 요청하여 제공받을 수 있다. 클라이언트(200)에서 제공된 브라우저 정보에서 브라우저 상태 및 옵션 정보 등을 수집할 수 있다.
자바스크립트 챌린지 수행 순서는 아래와 같이 이루어질 수 있다.
1. 클라이언트(100)에서 웹 서버(300)로 전송하는 HTTP 요청을 지능형 봇 탐지 장치(100)에서 수신한다.
2. 지능형 봇 탐지 장치(100)는 클라이언트(100)로 브라우저 정보를 수집하기 위한 자바스크립트를 전송한다.
3. 클라이언트(100)는 자바스크립트를 수행하여 브라우저 정보를 지능형 봇 탐지 장치(100)로 전달한다.
4. 지능형 봇 탐지 장치(100)는 브라우저 정보를 데이터베이스(150)에 저장한다.
봇 탐지 모듈(130)은 데이터베이스(170)에 수집된 정보에 대한 통계를 기초로 정상적 트래픽 판단 조건에 대해 학습하고, 학습된 조건에 따라 이상 여부를 판단할 수 있다. 예컨대 HTML 페이지별로 HTTP 요청 순서의 통계를 구하고, 정상적 트래픽에 해당하는 HTTP 요청 순서를 학습할 수 있다. 그리고 봇 탐지 모듈(130)은 정상으로 학습된 HTTP 요청 순서와 다른 HTTP 요청 순서에 대해서 이상으로 탐지할 수 있다.
하나의 웹 페이지가 보이기 위해서는 다음과 같은 순서, HTML 문서 --> CSS --> JS --> 이미지 순으로 브라우저에서 로딩이 이루어진다. 해당 페이지에 대해서 위 순서대로 HTTP 요청이 이루어지는 것이 정상으로 학습된 상태에서, 위 순서와 상이하게 HTTP 요청 순서가 이루어지면 이상이 있는 것으로 판단할 수 있다.
도 2는 정상적 HTTP 요청 순서를 예시한 도면이다.
도 2에서 HTTP 요청 순서는 위에서부터 아래이며, Type 부분을 확인해보면 document --> stylesheet --> script --> png 순으로 이루어짐을 확인할 수 있다.
도 3은 HTML 응답 데이터를 예시한 도면이다.
도 3에 예시한 HTML 응답 데이터에서, 이미지 수집 봇의 경우 img 태그의 URL만 접속하여 이미지 정보를 수집한다. 즉 HTML 문서 --> 이미지 순으로 HTTP 요청이 이루어진다. 이 경우 비정상으로 판단할 수 있다.
한편 봇 탐지 모듈(130)은 클라이언트(100)로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지할 수도 있다.
HTTP 요청 헤더 정보가 브라우저에서 보낸 것이 아니라면 봇으로 의심할 수 있다. 오픈소스 봇의 경우 브라우저에서 보내는 HTTP 요청과 상이하다. 다음과 같은 경우는 봇으로 탐지가 가능하다.
도 4는 브라우저 접속 시 HTTP 요청 헤더를 예시한 도면이다.
도 4에 예시한 것과 같이 브라우저 접속 요청 시 기본적으로 요청되는 필수 헤더가 존재한다. 아래에 예시한 것과 같이, User-Agent, Accept-Encoding, Accept-Language, Accept 등의 필수 요청 헤더가 브라우저 접속 요청시 존재한다.
도 5는 크롤러 접속 시 HTTP 요청 헤더를 예시한 도면이다.
한편 크롤러 접속 요청시에는 도 5에 예시한 것과 같이 요청 헤더 순서가 다르고, 필수 요청 헤더(Accept-Language)가 없을 수 있다. 또한, 요청 헤더 User-Agent가 브라우저가 아닌, 크롤러 이름이 나오는 경우가 많다.
도 6은 Selenium 접속시 요청 헤더를 예시한 도면이다.
한편 지능형 봇으로 셀레늄(Selenium)이 존재한다. 이 경우 도 6에 예시한 것과 같이 요청 헤더를 보면 User-Agent 부분에 HeadlessChrome이라고 명시가 되어있고, Accept-Language 헤더 부분에 값이 (브라우저 접속 시 HTTP 요청 헤더와) 상이한 것을 확인할 수 있다.
정상적인 경우 Language 헤더 부분에 en-GB, en-US;q=0.9,en;q=0.8 등이 존재하지만 Selenium 접속 시 en-GB만 있는 것을 확인할 수 있다.
한편 봇 탐지 모듈(130)은 데이터베이스(170)에 수집된 정보에 대한 통계 중에서 페이지별 HTTP 요청 인터벌(interval) 정보를 학습할 수 있다. 여기서 HTTP 요청 인터벌 정보란 클라이언트로부터 순차적으로 전달되는 HTTP 요청 간의 시간 간격을 의미한다.
정상적인 브라우저의 경우 페이지별 렌더링이 필요하다. 해당 페이지가 렌더링되어 표시된 후 사용자로부터 선택된 자원에 대한 HTTP 요청이 이루어질 수 있다. 하지만 봇의 경우 렌더링이 필요하지 않고 수집된 URL에 접속한다. 그렇기 때문에 실제 브라우저 보다 봇의 경우 HTTP 요청 속도, 즉 HTTP 요청 인터벌이 빠르다. 따라서 해당 페이지에 대해서 정상적인 브라우저에 의한 이루어진 HTTP 요청 인터벌에 대한 통계를 기초로 정상적인 HTTP 요청 속도 범위를 학습할 수 있고, 이러한 범위를 벗어난 경우 특히 HTTP 요청 속도가 비정상적으로 빠른 경우에 봇으로 탐지할 수 있다.
한편 봇 탐지 모듈(130)은 HTTP 응답 코드가 비정상적으로 발생하는 경우에 이상으로 탐지할 수 있다.
봇의 경우 기존 URL을 학습하여 지속적으로 학습한 URL에 접속할 수 있다. 하지만 웹 서버에서 페이지가 변경되거나, 잘못된 페이지 접속 시 응답 코드 404 Not Found를 보내준다. 즉 서버에 없는 URL에 대해서 지속적으로 접속 시도를 하면 응답 코드 404 Not Found이 비정상적으로 다수 웹 서버에서 보내지므로 이상으로 탐지할 수 있다.
봇 탐지 모듈(130)은 해당 페이지에 대한 정상적 응답 코드 패턴을 학습하고, 학습된 응답 코드 패턴가 차이가 있는 경우 해당 트래픽, 즉 HTTP 요청을 이상으로 탐지할 수 있다.
한편 봇 탐지 모듈(130)은 정상적 브라우저 정보를 학습하고, 미리 학습된 브라우저 정보와 상이한 브라우저 정보가 탐지되면 이상으로 판단할 수 있다. 예컨대 봇의 경우 필수로 동작하는 브라우저 정보만 가지고 있어 정상으로 학습된 브라우저 정보와 상이하다. 또한 봇에만 사용되는 브라우저 정보가 존재함으로써 탐지가 가능하다. 가령 지능형 봇의 경우 실제 브라우저와 동일하게 동작하지만 브라우저 옵션 등에서 상이한 부분이 존재한다. Javascript Challenge 요청으로 수집한 데이터, 브라우저 정보로 navigator.webdriver 값을 수집할 수 있다. 지능형 봇 경우 navigator.webdriver 기본값이 true으로 되어 있어서, 봇으로 탐지할 수 있다. 이와 같이 정상으로 학습된 브라우저 옵션 정보를 활용하여 지능형 봇을 탐지할 수 있다.
한편 봇 탐지 모듈(130)은 봇으로 의심가능 경우, 즉 이상으로 탐지된 경우 캡차(CAPTCHA) 인증을 수행하여 상기 클라이언트의 봇 여부를 최종적으로 탐지하도록 구현할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 지능형 봇 탐지 방법의 흐름도이다.
도 7을 참고하면, HTTP 요청을 수신하면(S310), 지능형 봇 탐지 장치(100)는 자바스크립트 챌린지(JavaScript Challenge)를 이용하여 해당 HTTP 요청을 전송한 클라이언트로(200)부터 브라우저 정보를 제공받고, 미리 학습된 정상 브라우저 정보와 비교하여 이상 여부를 탐지할 수 있다(S320).
한편 지능형 봇 탐지 장치(100)는 클라이언트로(200)부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지할 수도 있다(S330).
그리고 지능형 봇 탐지 장치(100)는 클라이언트(200)로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지할 수도 있다(S340).
아울러 지능형 봇 탐지 장치(100)는 클라이언트로(200)부터 HTTP 요청이 전달되는 인터벌을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지할 수도 있다(S350).
또한 지능형 봇 탐지 장치(100)는 클라이언트(200)로부터 HTTP 요청에 대한 웹 서버(300)의 HTTP 응답 코드에 기초하여 이상 여부를 탐지할 수도 있다(S360).
단계(S320) 내지 단계(S360)는 실시예에 따라서 그 순서가 일부 바뀔 수도 있다.
지능형 봇 탐지 장치(100)는 단계(S320) 내지 단계(S360)에서 이상 여부가 탐지되면 캡차(CAPTCHA) 인증을 수행하여 클라이언트(200)의 봇 여부를 최종적으로 탐지할 수도 있다(S370).
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (11)

  1. 클라이언트로부터 HTTP 요청을 수신하는 단계,
    상기 클라이언트로부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지하는 단계, 그리고
    상기 클라이언트로부터 HTTP 요청 인터벌(interval)을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지하는 단계
    를 포함하는 지능형 봇 탐지 방법.
  2. 제 1 항에서,
    상기 미리 학습된 정상 HTTP 요청 순서와 상기 미리 학습된 정상 인터벌은 HTML 페이지별로 학습되는 지능형 봇 탐지 방법.
  3. 제 1 항에서,
    상기 HTTP 요청을 전송한 클라이언트로부터 제공받은 브라우저 정보를 미리 학습된 정상 브라우저 정보와 비교하여 이상 여부를 탐지하는 단계,
    상기 클라이언트로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지하는 단계, 및
    상기 클라이언트로부터 HTTP 요청에 대한 서버의 HTTP 응답 코드에 기초하여 이상 여부를 탐지하는 단계
    중 적어도 하나를 더 포함하는 지능형 봇 탐지 방법.
  4. 제 3 항에서,
    자바스크립트 챌린지(JavaScript Challenge)를 이용하여 상기 HTTP 요청을 전송한 클라이언트에 브라우저 정보를 요청하여 제공받는 지능형 봇 탐지 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에서,
    이상 여부가 탐지되면 캡차(CAPTCHA) 인증을 수행하여 상기 클라이언트의 봇 여부를 탐지하는 지능형 봇 탐지 방법.
  6. 컴퓨터에 상기 제1항 내지 제4항 중 어느 한 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 클라이언트로부터 HTTP 요청을 수신하고, 상기 클라이언트로부터 수신되는 HTTP 요청 순서를 미리 학습된 정상 HTTP 요청 순서와 비교하여 이상 여부를 탐지하며, 상기 클라이언트로부터 HTTP 요청 인터벌(interval)을 미리 학습된 정상 인터벌과 비교하여 이상 여부를 탐지하는 봇 탐지 모듈, 그리고
    상기 미리 학습된 정상 HTTP 요청 순서와 상기 미리 학습된 정상 인터벌에 대한 정보를 저장하는 데이터베이스
    를 포함하는 지능형 봇 탐지 장치.
  8. 제 7 항에서,
    상기 미리 학습된 정상 HTTP 요청 순서와 상기 미리 학습된 정상 인터벌은 HTML 페이지별로 학습되는 지능형 봇 탐지 장치.
  9. 제 7 항에서,
    상기 봇 탐지 모듈은,
    상기 HTTP 요청을 전송한 클라이언트로부터 제공받은 브라우저 정보를 미리 학습된 정상 브라우저 정보와 비교하여 이상 여부를 탐지하거나, 상기 클라이언트로부터 수신되는 HTTP 요청의 헤더 정보를 미리 학습된 정상 HTTP 헤더 정보와 비교하여 이상 여부를 탐지하거나, 상기 클라이언트로부터 HTTP 요청에 대한 서버의 HTTP 응답 코드에 기초하여 이상 여부를 탐지하는 지능형 봇 탐지 장치.
  10. 제 9 항에서,
    상기 데이터 탐지 모듈은,
    자바스크립트 챌린지(JavaScript Challenge)를 이용하여 상기 HTTP 요청을 전송한 클라이언트에 브라우저 정보를 요청하여 제공받는 지능형 봇 탐지 장치.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에서,
    상기 봇 탐지 모듈은,
    이상 여부가 탐지되면 캡차(CAPTCHA) 인증을 수행하여 상기 클라이언트의 봇 여부를 탐지하는 지능형 봇 탐지 장치.
PCT/KR2021/017914 2020-12-03 2021-11-30 지능형 봇 탐지 방법 및 장치 WO2022119286A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200167738A KR20220078320A (ko) 2020-12-03 2020-12-03 지능형 봇 탐지 방법 및 장치
KR10-2020-0167738 2020-12-03

Publications (1)

Publication Number Publication Date
WO2022119286A1 true WO2022119286A1 (ko) 2022-06-09

Family

ID=81854202

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/017914 WO2022119286A1 (ko) 2020-12-03 2021-11-30 지능형 봇 탐지 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20220078320A (ko)
WO (1) WO2022119286A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120000812A (ko) * 2010-06-28 2012-01-04 전덕조 인터넷 서비스 보장 장치 및 방법
KR101173810B1 (ko) * 2011-09-07 2012-08-16 (주)멜리타 보안 강화 시스템, 이를 위한 단말 및 서비스 장치, 그리고 이를 위한 방법
KR20200033091A (ko) * 2018-09-19 2020-03-27 주식회사맥데이타 네트워크에 대한 인공지능 기반 이상 징후 검출 방법, 장치 및 시스템
CN111277603A (zh) * 2020-02-03 2020-06-12 杭州迪普科技股份有限公司 无监督异常检测系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120000812A (ko) * 2010-06-28 2012-01-04 전덕조 인터넷 서비스 보장 장치 및 방법
KR101173810B1 (ko) * 2011-09-07 2012-08-16 (주)멜리타 보안 강화 시스템, 이를 위한 단말 및 서비스 장치, 그리고 이를 위한 방법
KR20200033091A (ko) * 2018-09-19 2020-03-27 주식회사맥데이타 네트워크에 대한 인공지능 기반 이상 징후 검출 방법, 장치 및 시스템
CN111277603A (zh) * 2020-02-03 2020-06-12 杭州迪普科技股份有限公司 无监督异常检测系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Akamai Bot Manager Webinar Presentation, the Best Bot Assassin Certified by Global Finance and Ecommerce", XP055935918, Retrieved from the Internet <URL:https://blog.daum.net/luckyman717/6574> [retrieved on 20220627] *
NAJAFABADI MARYAM M, KHOSHGOFTAAR TAGHI M, CALVERT CHAD, KEMP CLIFFORD: "A Text Mining Approach for Anomaly Detection in Application Layer DDoS Attacks", PROCEEDINGS OF THE THIRTIETH INTERNATIONAL FLORIDA ARTIFICIAL INTELLIGENCE RESEARCH SOCIETY CONFERENC, 1 January 2017 (2017-01-01), pages 312 - 317, XP055935915, Retrieved from the Internet <URL:https://www.aaai.org/ocs/index.php/FLAIRS/FLAIRS17/paper/view/15433/0> [retrieved on 20220627] *
OGAWA HIDEKI; YAMAGUCHI YUKIKO; SHIMADA HAJIME; TAKAKURA HIROKI; AKIYAMA MITSUAKI; YAGI TAKESHI: "Malware originated HTTP traffic detection utilizing cluster appearance ratio", 2017 INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN), IEEE, 11 January 2017 (2017-01-11), pages 248 - 253, XP033085210, DOI: 10.1109/ICOIN.2017.7899513 *

Also Published As

Publication number Publication date
KR20220078320A (ko) 2022-06-10

Similar Documents

Publication Publication Date Title
EP2659416B1 (en) Systems and methods for malware detection and scanning
EP3726410B1 (en) Interpretation device, interpretation method and interpretation program
US12020051B2 (en) Sharable link for remote computing resource access
CN103384888A (zh) 用于恶意软件的检测和扫描的系统和方法
WO2013169059A1 (ko) 웹 서비스 모니터링 시스템 및 방법
US11956208B2 (en) Graphical representation of security threats in a network
US20120090030A1 (en) Identifying bots
CN106656922A (zh) 一种基于流量分析的网络攻击防护方法和装置
WO2018097344A1 (ko) 탐지 결과의 유효성을 검증하는 방법 및 시스템
CN113645234B (zh) 基于蜜罐的网络防御方法、系统、介质及装置
WO2009154353A2 (ko) 객체속성 접근엔진에 의한 실시간 유해사이트 차단방법
WO2022191596A1 (ko) 오토프로파일링 기반 네트워크 패킷 이상행위 자동 탐지 장치 및 방법
CN103561076B (zh) 一种基于云的网页挂马实时防护方法及系统
WO2022119286A1 (ko) 지능형 봇 탐지 방법 및 장치
US11582226B2 (en) Malicious website discovery using legitimate third party identifiers
US8650214B1 (en) Dynamic frame buster injection
WO2016200045A1 (ko) 하드웨어 기반의 커널 코드 삽입 공격 탐지 장치 및 그 방법
WO2014098372A1 (ko) 유해 사이트 수집 장치 및 방법
CN102801740A (zh) 木马病毒的阻止方法及装置
WO2018088680A1 (ko) 차단된 사이트로의 접속 요청을 처리하는 보안 시스템 및 방법
CN107294994B (zh) 一种基于云平台的csrf防护方法和系统
KR101767594B1 (ko) 악성코드 점검을 위한 웹주소 자동 추출 시스템 및 방법
Kovacevic et al. Predicting vulnerabilities in web applications based on website security model
WO2014098337A1 (ko) 유해 사이트 수집 장치 및 방법
WO2015190692A1 (ko) 에이전트 프로그램을 이용한 인터넷 접속 차단 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21900974

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21900974

Country of ref document: EP

Kind code of ref document: A1