KR101122413B1 - A method for determining validity of command and a system thereof - Google Patents
A method for determining validity of command and a system thereof Download PDFInfo
- Publication number
- KR101122413B1 KR101122413B1 KR1020040036533A KR20040036533A KR101122413B1 KR 101122413 B1 KR101122413 B1 KR 101122413B1 KR 1020040036533 A KR1020040036533 A KR 1020040036533A KR 20040036533 A KR20040036533 A KR 20040036533A KR 101122413 B1 KR101122413 B1 KR 101122413B1
- Authority
- KR
- South Korea
- Prior art keywords
- command
- information
- validity
- determining
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Abstract
본 발명은 사용자의 단말기로부터 입력된 명령어의 유효성 판단 방법에 대한 것으로, 더욱 상세하게는 상기 명령어의 요청 형식 또는 상기 명령어와 연관되어 생성된 로그 정보를 이용하여 상기 명령어의 유효성 여부를 판단할 수 있는 명령어의 유효성 판단 방법에 대한 것이다. The present invention relates to a method of determining the validity of a command input from a user's terminal. More specifically, the validity of the command can be determined by using a request format of the command or log information generated in association with the command. It is about how to judge the validity of a command.
본 발명에 따른 명령어의 유효성 판단 방법은, 차단 네트워크 주소 정보를 포함하는 차단 네트워크 데이터베이스를 유지하는 단계, 사용자의 단말기로부터 명령어를 입력 받는 단계, 상기 명령어에 포함된 네트워크 주소 정보를 추출하는 단계, 상기 차단 네트워크 주소 데이터베이스를 참조하여 상기 네트워크 주소 정보가 차단 네트워크 주소 정보인지 여부를 판단하는 단계, 판단 결과 상기 네트워크 주소 정보가 차단 네트워크 주소 정보가 아닌 경우 상기 명령어와 연관된 로그 정보를 생성하는 단계(상기 로그 정보는 상기 명령어에 포함된 네트워크 주소 정보, 상기 명령어의 입력 시점에 대한 입력 시점 정보 및 상기 요청 내용 정보 중 어느 하나 이상을 포함함), 상기 로그 정보를 로그 데이터베이스에 기록하는 단계, 및 상기 로그 정보를 이용하여 상기 명령어의 유효성을 판단하는 단계를 포함한다. In accordance with an aspect of the present invention, a method of determining validity of a command may include maintaining a blocked network database including blocked network address information, receiving a command from a user terminal, extracting network address information included in the command, and Determining whether the network address information is blocked network address information by referring to a blocked network address database, and generating log information associated with the command if the network address information is not the blocked network address information (the log; The information includes at least one of network address information included in the command, input time information on the input time of the command, and request content information), recording the log information in a log database, and the log information. Using And a step of determining the validity of the instruction.
명령, 명령어, 유효성, 판단 기준, 차단 네트워크 주소 정보, 로그 정보. Command, Command, Validity, Criteria, Blocked Network Address Information, Log Information.
Description
도 1은 본 발명에 따른 명령어의 유효성 판단 방법을 수행하는 판단 시스템의 네트워크 연결을 도시한 도면이다.1 is a diagram illustrating a network connection of a determination system for performing a method for determining validity of an instruction according to the present invention.
도 2는 본 발명의 일실시예에 따른 명령어의 유효성 판단 방법을 도시한 흐름도이다.2 is a flowchart illustrating a method of determining validity of an instruction according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 있어서, 로그 데이터베이스에 기록되는 로그 정보의 일례를 도시한 도면이다.3 is a diagram illustrating an example of log information recorded in a log database according to one embodiment of the present invention.
도 4는 본 발명의 일실시예에 따라 암호화/복호화 방법을 이용하여 명령어의 유효성을 판단하는 경우를 도시한 흐름도이다. 4 is a flowchart illustrating a case of determining validity of an instruction by using an encryption / decryption method according to an embodiment of the present invention.
도 5는 본 발명의 또 다른 실시예에 따른 판단 시스템의 내부 구성을 도시한 블록도이다.5 is a block diagram showing an internal configuration of a determination system according to another embodiment of the present invention.
도 6은 본 발명에 따른 명령어의 유효성을 판단하는 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.6 is an internal block diagram of a general purpose computer device that may be employed to perform a method for determining the validity of an instruction in accordance with the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
500 : 판단 시스템500: Judgment System
501 : 차단 IP 주소 데이터베이스 502 : 명령어 입력부 501: blocking IP address database 502: command input unit
503 : 로그 정보 생성부 504 : 로그 데이터베이스503: log information generating unit 504: log database
505 : 로그 데이터베이스 관리부 506 : 유효성 판단부505: log database management unit 506: validity determination unit
본 발명은 사용자의 단말기로부터 입력된 명령어의 유효성 판단 방법에 대한 것으로, 더욱 상세하게는 상기 명령어의 요청 형식 또는 상기 명령어와 연관되어 생성된 로그 정보를 이용하여 상기 명령어의 유효성 여부를 판단할 수 있는 명령어의 유효성 판단 방법에 대한 것이다. The present invention relates to a method of determining the validity of a command input from a user's terminal. More specifically, the validity of the command can be determined by using a request format of the command or log information generated in association with the command. It is about how to judge the validity of a command.
서버/클라이언트 모델에 있어서, 클라이언트는 통신망을 통해 서버에 접속하여 소정의 요청을 입력하고 상기 서버는 상기 사용자 단말기로 상기 요청에 대응하는 응답을 한다.In the server / client model, a client connects to a server through a communication network, inputs a predetermined request, and the server responds to the user terminal in response to the request.
그런데, 상기 사용자는 상기 응답을 얻기 위해서가 아니라 다른 목적으로 상기 요청을 입력하는 경우가 있다. However, the user may input the request for other purposes than for obtaining the response.
예를 들면, 검색 서비스를 제공하는 검색 서버는 사용자의 선호도에 따른 검색 결과 목록을 제공하기 위해 사용자의 검색 요청을 통계적으로 분석하여 검색 결과 목록을 생성하는데 이용할 수 있다. 소정의 검색 결과 목록을 제공 받은 사용자가 "자주" 선택하는 검색 결과는 검색 요청과의 관련성이 높고 또한 사용자의 선호도도 높다고 생각할 수 있으므로, 상기 검색 서버는 상기 검색 결과에 우선권을 부여하여 추후에도 상기 검색 요청에 대해서는 상기 검색 결과가 우선적으로 사용 자에게 제공되도록 할 수 있다. For example, a search server providing a search service may be used to statistically analyze a user's search request and generate a search result list to provide a list of search results according to the user's preference. Since a search result that a user who is provided with a predetermined list of search results selects frequently is considered to be highly related to the search request and the user's preference is high, the search server gives priority to the search result, For a search request, the search result may be preferentially provided to the user.
이 경우 상기 사용자의 "검색 결과 선택"은 한편으로는 "상기 검색 결과와 연관된 정보를 제공 받거나 상기 검색 결과와 연관된 웹 페이지에 접속하기 위한 요청"으로 사용되었지만, 다른 한편으로는 "검색 결과 목록을 생성하는 기준"으로서 사용되며, 이러한 사실을 알고 있는 사용자는 소정의 검색 쿼리에 응답하여 제공된 검색 결과 목록 중 동일한 검색 결과를 반복적으로 선택함으로써, 자신이 선택한 검색 결과의 우선권이 부여되도록 할 수 있다. 물론 이와 같이 상기 사용자가 악의적인 의도로 검색 결과를 반복적으로 선택하여 상기 검색 결과에 우선권이 부여된 경우에는, 검색 결과와 관련성이 높고 사용자들이 선호하는 검색 결과를 우선권으로 제공하고자 하는 원래의 목적은 달성될 수 없게 된다. In this case, the user's "selection of search results" was used on the one hand as a "request to be provided with information related to the search results or to access a web page associated with the search results". User, who is aware of this fact, may repeatedly select the same search result from the list of search results provided in response to a given search query, thereby giving priority to the search result of his choice. Of course, when the user repeatedly selects a search result with malicious intention and the priority is given to the search result, the original purpose of providing the search result which is highly related to the search result and preferred by the user is priority. It cannot be achieved.
따라서, 검색 서버는 사용자가 검색 결과를 선택하는 요청을 입력하는 경우 상기 요청이 악의적인 의도로 입력되었는지 여부를 판단할 필요가 있다. 판단 결과 상기 요청이 악의적인 의도로 입력된 경우에는 상기 요청에 따라 검색 결과와 연관된 정보는 제공하되, 상기 요청을 검색 결과 목록을 생성하는 기준으로는 사용하지 않는 것이 바람직할 것이다. 이와 같이, 소정 시스템으로 입력되는 사용자의 "요청"이 상기 시스템이 목적한 바와 다른 사용자의 악의적인 의도에 의해 발생된 것인지 여부를 판단하는 것이 필요한 경우가 있다. Therefore, when the user inputs a request for selecting a search result, the search server needs to determine whether the request has been entered with malicious intention. As a result of the determination, when the request is entered with a malicious intention, information related to the search result is provided according to the request, but it is preferable not to use the request as a criterion for generating a search result list. As such, it may be necessary to determine whether a " request " of a user input into a given system is caused by the malicious intention of another user than the system is intended.
이하, 본 명세서에서 사용되는 "명령"이라는 용어는 소정의 서버 시스템에서 소정의 동작이 수행되도록 하기 위한 사용자의 "요청", 상기 서버 시스템으로 소정의 정보를 제공하기 위한 사용자의 "대화", 또는 상기 "정보" 자체를 포함하는 포 괄적인 개념으로 사용되었으며, 상기 "명령"은 상기 사용자의 단말기로부터 상기 서버 시스템으로 "명령어"를 전송함으로써 상기 서버 시스템에 전달될 수 있다. Hereinafter, the term "command" as used herein refers to a "request" of a user to perform a predetermined operation on a given server system, a "conversation" of a user to provide predetermined information to the server system, or Used as a generic concept including the "information" itself, the "command" can be delivered to the server system by transmitting a "command" from the user's terminal to the server system.
한국특허출원 제10-2002-7010554호("발명의 명칭: 네트워크 상에서의 대화의 유효성 결정을 위한 시스템 및 방법(이하 "출원 발명"이라고 함)"는 사용자의 명령의 유효성 여부를 판단하는 방법 중 하나를 제시하고 있다. 상기 한국특허출원은 출원 명세서에서 사용자의 악의적인 의도로 입력된 대화를 "불법 대화"라고 칭하고 있다. Korean Patent Application No. 10-2002-7010554 ("Name of the Invention: System and Method for Determining the Validity of Conversation on a Network" (hereinafter referred to as "Application Invention") is a method of determining the validity of a user's command. The above-mentioned Korean patent application refers to a conversation entered by the user with malicious intention in the application specification as an "illegal conversation".
상기 출원 발명은 1) 추정된 사용자에 관한 "집합적 방식 데이터"와 "고유 특징 데이터"를 포함하는 데이터를 네트워크 상의 사용자 대화로부터 수집하고, 2) 데이터베이스에 데이터를 저장하며, 3) 네트워크와의 불법 대화를 식별하기 위해 집합적 방식 및 고유 특징 데이터로 예측 모델을 구축하고, 4) 예측 모델을 이용하여 데이터베이스 내 불법 대화를 식별하는 단계를 포함한다. The present invention discloses 1) collecting data from a user conversation on a network, including "aggregate mode data" and "unique characteristic data" about an estimated user, 2) storing data in a database, and 3) communicating with a network. Constructing a predictive model in a collective fashion and intrinsic feature data to identify illegal conversations, and 4) identifying illegal conversations in a database using the prediction model.
상기 출원 발명은 "집합적 방식 데이터"로서 '검색 목록 클릭/단위 시간당 고유 사용자 ID의 숫자', '진입 소스/단위 시간당 고유 사용자 ID의 수', '어떤 청구 가능한 클릭을 수용하는 광고자/단위 시간당 고유 사용자 ID의 수' 등을 개시하고 있다. The invention is referred to as "collective mode data" as "number of unique user IDs per search list click / unit hour", "number of unique user IDs per entry source / unit hour", "advertiser / unit accepting any billable clicks". Number of unique user IDs per hour 'and so forth.
또한, 상기 출원 발명은 "고유 특징 데이터"로서 '수입을 발생시킨 클릭의 날짜', '수입을 발생시킨 클릭의 시간 스탬프' 등을 개시하고 있다. In addition, the present invention discloses "the date of the click which generated an income", the "time stamp of the click which generated an income", etc. as "unique characteristic data."
그런데, 상기 출원 발명은 하나의 대화가 입력될 때마다 상기 예측 모델을 이용하여 상기 대화가 유효한지 여부를 판단한다. 즉, 『하나의 대화에 대해』 " 수용할 수 있으나 드문 클래스(ABUC) 값", "정상적 행동양식의 클래스(NBC) 값", "수용할 수 없는 클래스(UC) 값"을 각각 계산하고, 그 중 가장 큰 값을 갖는 클래스에 상기 대화가 속한다고 판단한다. However, the present invention determines whether the dialogue is valid by using the prediction model whenever one dialogue is input. That is, "For one conversation," "Acceptable but rare class (ABUC) values", "Classic behavior (NBC) values", and "Unacceptable class (UC) values", respectively. It is determined that the conversation belongs to the class having the largest value.
따라서, 대화의 패턴 상 상기 대화가 무효임을 용이하게 판단할 수 있는 경우에도 동일한 시스템 자원을 사용하여 ABUC 값, NBC 값, 및 UC값을 각각 산출, 비교한 후 대화가 무효임을 판단하게 되어 시스템 자원을 불필요하게 많이 소모하게 된다는 문제가 있다. Therefore, even if it is easy to determine that the conversation is invalid according to the pattern of the conversation, the same system resources are used to calculate and compare the ABUC value, the NBC value, and the UC value, respectively. There is a problem that a lot of unnecessary consumption.
또한, 상기 출원 발명이 예측 모델을 구축하기 위해 선택하고 있는 판단 기준 외에도 소정의 대화가 유효인지 여부를 판단하기 위한 더 적절한 판단 기준이 존재하지는 않는지 고찰할 필요성은 여전히 존재한다. In addition, there is still a need to consider whether there is a more appropriate criterion for determining whether a given conversation is valid in addition to the criterion selected by the present invention to build a predictive model.
따라서 종래기술의 문제점을 해결하고, 사용자의 명령의 유효성 여부를 정확하게 판단할 수 있는 다양하고 새로운 판단 기준을 제공할 수 있는 방법이 요청된다.Therefore, there is a need for a method that can solve various problems of the prior art and provide various new criteria for accurately determining whether a user's command is valid.
본 발명은 차단 네트워크 주소 정보를 설정함으로써 소정의 네트워크 주소를 갖는 단말기로부터 입력된 명령어가 무효인지 여부를 신속하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템을 제공한 것을 목적으로 한다. An object of the present invention is to provide a method and system for determining validity of a command that can quickly determine whether a command input from a terminal having a predetermined network address is invalid by setting blocking network address information.
또한, 본 발명은 소정의 네트워크 주소를 갖는 단말기로부터 입력된 명령어가 무효인지 여부를 판단하기 어려운 경우 상기 네트워크 주소에 대한 네트워크 주소 정보를 무효 의심 네트워크 주소 정보로 설정하고, 추후 상기 네트워크 주소로 부터 입력된 명령어 또는 추후 수집되는 정보를 더 이용하여 상기 네트워크 주소 정보를 차단 네트워크 주소 정보를 설정할지 여부를 결정하는 등 2단계 이상의 설정 과정을 이용함으로써 명령어의 유효성 여부를 더욱 정확하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템을 제공하는 것을 또 다른 목적으로 한다. In addition, when it is difficult to determine whether a command input from a terminal having a predetermined network address is invalid, the present invention sets network address information for the network address as invalid suspicious network address information, and subsequently inputs from the network address. The validity of the command to more accurately determine the validity of the command by using the two or more steps of setting, such as determining whether to set the network address information to block the network address information using further collected commands or information collected later. Another object of the present invention is to provide a determination method and a system thereof.
또한, 본 발명은 명령어의 유효성 여부를 판단할 수 있는 새로운 판단 기준을 제시하고, 특히 명령어의 요청 형식과 명령어의 요청 내용을 모두 고려하여 상기 명령어의 유효성 여부를 정확하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템을 제공하는 것을 또 다른 목적으로 한다. In addition, the present invention proposes a new criterion for determining whether a command is valid, and in particular, determining the validity of the command to accurately determine whether the command is valid in consideration of both the request format of the command and the request content of the command. It is another object to provide a method and system thereof.
상기의 목적을 달성하고, 상술한 종래 기술의 문제점을 해결하기 위하여, 본 발명에 따른 명령어의 유효성 판단 방법은, 본 발명에 따른 명령어의 유효성 판단 방법은, 차단 네트워크 주소 정보를 포함하는 차단 네트워크 데이터베이스를 유지하는 단계, 사용자의 단말기로부터 명령어를 입력 받는 단계, 상기 명령어에 포함된 네트워크 주소 정보를 추출하는 단계, 상기 차단 네트워크 주소 데이터베이스를 참조하여 상기 네트워크 주소 정보가 차단 네트워크 주소 정보인지 여부를 판단하는 단계, 판단 결과 상기 네트워크 주소 정보가 차단 네트워크 주소 정보가 아닌 경우 상기 명령어와 연관된 로그 정보를 생성하는 단계(상기 로그 정보는 상기 명령어에 포함된 네트워크 주소 정보, 상기 명령어의 입력 시점에 대한 입력 시점 정보 및 상기 요청 내용 정보 중 어느 하나 이상을 포함함), 상기 로그 정보를 로그 데이터베이스에 기록하는 단계, 및 상기 로그 정보를 이용하여 상기 명령어의 유효 성을 판단하는 단계를 포함한다. In order to achieve the above object and to solve the above-mentioned problems of the prior art, the method of determining validity of the command according to the present invention, the method of determining validity of the command according to the present invention, the blocked network database including the blocked network address information Maintaining the command line, receiving a command from a user terminal, extracting network address information included in the command, and determining whether the network address information is blocked network address information by referring to the blocked network address database. If the network address information is not the blocked network address information, generating log information associated with the command (the log information may include network address information included in the command and input time information of an input time of the command. And the request contents And recording the log information in a log database, and determining the validity of the command by using the log information.
또한, 본 발명의 일측에 따르면, 상기 로그 정보를 이용하여 상기 명령어의 유효성을 판단하는 상기 단계는, 상기 로그 데이터베이스에 기록된 로그 정보 중에서, 상기 네트워크 주소 정보를 포함하는 로그 정보를 검색하는 단계, 상기 검색된 로그 정보에 포함된 입력 시점 정보를 추출하는 단계, 및 상기 추출된 입력 시점 정보의 전부 또는 일부가 소정의 규칙에 따른 연관성을 갖는 경우, 상기 명령어를 무효로 판단하는 단계를 포함한다. Further, according to one aspect of the present invention, the step of determining the validity of the command using the log information, the step of retrieving log information including the network address information from the log information recorded in the log database, Extracting input point information included in the retrieved log information, and determining that the command is invalid when all or part of the extracted input point information has an association according to a predetermined rule.
또한, 본 발명의 또 다른 일측에 따르면, 상기 명령어의 유효성 판단 방법은 상기 판단 결과 상기 명령어가 무효로 판단되는 경우 상기 네트워크 주소 정보를 차단 네트워크 주소 정보로 결정하는 단계, 및 상기 네트워크 주소 정보를 상기 차단 네트워크 주소 데이터베이스에 기록하는 단계를 더 포함한다. Further, according to another aspect of the present invention, the method for determining the validity of the command, if it is determined that the command is invalid as a result of determining the network address information as the block network address information, and the network address information The method further includes writing to a blocking network address database.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 명령어의 유효성 판단 방법을 수행하는 판단 시스템의 네트워크 연결을 도시한 도면이다. 판단 시스템(100)은 판단 서버(101)와 로그 데이터베이스(102)를 포함하고, 사용자의 단말기(110 등)와 유무선 통신망을 통하여 연결될 수 있다. 판단 서버(101)는 사용자로부터 입력된 명령어를 처리하고 처리 결과에 따른 응답을 상기 사용자에게 제공할 수 있다. 1 is a diagram illustrating a network connection of a determination system for performing a method for determining validity of an instruction according to the present invention. The
이하에서는 검색 서비스를 제공하는 검색 서버에 사용자가 검색과 관련된 명령어를 입력하는 경우에, 상기 명령어의 유효성을 판단하는 판단 시스템(100)을 예로 들어 설명한다. 다만, 이는 예시적인 것으로 서버(120)는 검색 서비스, 게임 서비스, 예약 서비스 등 클라이언트/서버 모델에 따라 다양한 서비스를 제공하는 서버를 포함하는 개념이다. Hereinafter, when a user inputs a command related to a search to a search server that provides a search service, the
또한, 사용자의 명령(또는 명령어)의 유효성을 판단하기 위한 판단 서버(101)는 검색 서버(120)와 동일한 장치로 구현될 수 있으며 또는 검색 서버(120)와 연동된다. In addition, the
또한, 이하에서는 네트워크 주소의 일례로서 IP 주소를 사용하는 경우를 예로 들어 설명하였으며, 이는 예시적인 것에 불과하며 단말기의 네트워크 상에서의 위치를 식별하기 위해 사용된 모든 정보는 네트워크 주소에 포함된다. In addition, hereinafter, an example in which an IP address is used as an example of a network address has been described as an example, which is merely exemplary, and all information used to identify a location on a network of a terminal is included in the network address.
도 2는 본 발명의 일실시예에 따른 명령어의 유효성 판단 방법을 도시한 흐름도이다. 2 is a flowchart illustrating a method of determining validity of an instruction according to an embodiment of the present invention.
단계(201)에서 차단 IP 주소 정보를 포함하는 차단 IP 데이터베이스(103)를 유지한다. "차단 IP 주소 정보"는 소정의 기준에 따라 선택된 정보로서 악의적인, 즉 유효하지 않은 명령어를 입력할 가능성이 높은 단말기의 IP 주소에 대한 정보이다. 차단 IP 주소 정보를 결정하는 과정에 대해서는 후술한다. In
단계(202)에서 검색 서버(120)는 사용자의 단말기(110)로부터 명령어를 입력 받는다. 상술한 바와 같이, "명령어"는 사용자의 "명령"을 입력하기 위해 사용된 정보이며, "명령"이라는 용어는 사용자의 요청, 대화 등을 포함하는 개념으로 사용되었다. In
판단 서버(101)는 단계(203)에서 상기 명령어에 포함된 IP 주소 정보를 추출하고, 단계(204)에서 차단 IP 주소 데이터베이스(103)를 참조하여 상기 추출된 IP 주소 정보가 차단 IP 주소 정보인지 여부를 판단한다. 상기 추출된 IP 주소 정보는 상기 명령어를 입력한 단말기(110)의 IP 주소에 대한 정보이다. The
판단 결과 상기 추출된 IP 주소 정보가 차단 IP 주소 정보인 경우, 판단 서버(101)는 상기 명령어와 연관된 로그 정보를 생성하지 않는다. 따라서, 상기 명령어와 연관된 로그 정보를 이용하여 상기 명령어의 유효성 여부를 판단하는 과정은 수행되지 않으며, 상기 명령어는 자동적으로 무효로 처리된다. 즉, 차단 IP 주소 정보를 이용하여 상기 명령어가 무효로 판단된 경우에는 판단 서버(101)는 단계(205) 이하의 과정은 수행하지 않을 수 있다. If the extracted IP address information is blocking IP address information, the
상기 차단 IP 주소 정보는 후술하는 바와 같은 명령어의 유효성 판단 방법을 수행한 결과 무효인 명령어를 상습적으로 입력하는 단말기의 IP 주소에 대한 정보일 수도 있고, 또한 판단 시스템(100)의 관리자에 의해 입력된 IP 주소 정보일 수도 있다. The blocking IP address information may be information about an IP address of a terminal that regularly inputs an invalid command as a result of performing a method of determining validity of a command as described below, and is also input by an administrator of the
예를 들면, 소정의 검색 결과가 사용자로부터 선택된 횟수에 따라 광고주에게 과금하는 광고 비용을 결정하는 실시예에 있어서, 상기 광고주의 경쟁자는 상기 검색 결과를 선택하는 명령어를 악의적인 의도로 반복 입력하여 상기 광고 비용을 상승시키고자 할 가능성이 높다. 따라서, 상기 관리자는 알려진 경쟁업체의 네크워크에 연결된 단말기의 IP 주소에 대한 IP 주소 정보를 차단 IP 주소 정보로서 차단 IP 주소 데이터베이스(103)에 기록함으로써 이를 방지할 수 있다. For example, in an embodiment of determining an advertisement cost charged to an advertiser based on a number of times a predetermined search result is selected by a user, the competitor's competitor repeatedly inputs a command for selecting the search result with malicious intention. It is likely that they want to raise advertising costs. Therefore, the administrator can prevent this by recording the IP address information on the IP address of the terminal connected to the network of the known competitor in the blocking
또한, 본 발명의 또 다른 실시예에 따르면, 판단 시스템(100)은 허용 IP 주소 데이터베이스(도시하지 않음)를 더 포함한다. 예를 들면, 상기 허용 IP 주소 정보는 상기 광고주의 단말기의 IP 주소 또는 관리자의 단말기의 IP 주소에 대한 정보이다. 판단 서버(101)는 이러한 IP 주소 정보 역시 차단 IP 주소 정보와 동일하게 취급할 수도 있고, 악의적인 의도로 입력하지는 않지만 유효로 인정하지 않는 것이 바람직한 명령어를 종종 입력하는 관리자의 단말기 또는 광고주의 단말기에 대한 IP 주소 정보는 허용 IP 주소 정보로 결정하여, 차단 IP 주소 정보와는 별도로 관리할 수도 있다. 상기 관리자는 관리 목적에서, 상기 광고주는 광고가 정상적으로 수행되고 있는지 여부를 확인하고자 명령어를 입력할 가능성이 높다. Further, according to another embodiment of the present invention, the
판단 서버(101)는 상기 IP 주소 정보가 허용 IP 주소 정보인 경우 상기 명령어를 무효로 판단하나, 차단 IP 주소 정보의 경우와는 다르게 상기 명령어에 대한 로그 정보를 생성, 기록할 수 있다. The
판단 서버(101)는 단계(205)에서 상기 명령어의 요청 형식을 해석하고, 단계(206)에서 상기 요청 형식에 기초하여 상기 명령어의 유효성을 판단한다. The
본 발명의 또 다른 실시예에 따르면, 요청 형식에 기초하여 판단한 결과 상기 명령어가 무효라고 판단되는 경우에는, 상기 명령어에 대해 단계(207) 이하의 판단 과정은 수행하지 않을 수 있다. According to another embodiment of the present invention, if it is determined that the command is invalid based on the request format, the determination process of
단계(208)에서 판단 서버(101)는 상기 명령어와 연관된 로그(log) 정보를 생성한다. 상기 로그 정보는 상기 추출된 IP 주소 정보, 상기 명령어가 검색 서버(120)로 입력된 시점에 대한 입력 시점 정보, 상기 명령어에 포함된 요청 내용 정보 등을 포함할 수 있다. In
상기 명령어에 포함된 요청 내용 정보는, 예를 들면, 사용자가 검색 결과를 선택하기 위한 정보일 수 있다. 즉, 사용자가 소정의 검색 쿼리를 검색 서버(120)로 입력하여 검색을 요청하고, 검색 서버(120)는 상기 검색 쿼리에 대응되는 검색 결과 목록을 생성하여 상기 사용자에게 제공한 경우, 상기 사용자는 검색 결과 목록 중에서 검색 결과를 선택할 수 있고, 상기 명령어는 검색 결과를 선택하기 위한 요청 내용 정보를 포함한다. The request content information included in the command may be, for example, information for the user to select a search result. That is, when a user inputs a predetermined search query to the
단계(209)에서 판단 서버(101)는 상기 로그 정보를 로그 데이터베이스(102)에 기록한다. 도 3은 로그 데이터베이스(102)에 기록되는 로그 정보의 일례를 도시한 도면이다. 도 3에 도시한 바와 같이, 본 발명의 또 다른 실시예에 따르면, 상기 로그 정보는 명령어의 입력 시점에 따라 정렬되거나, 상기 IP 주소 정보와 연관하여 체계적으로 기록될 수 있다. 또한, 로그 데이터베이스(102)에는 사용자로부터 입력된 명령어에 대응하는 로그 정보 외에도, 상기 사용자가 검색 서버(120)에 접속한 경우 상기 접속과 관련된 로그 정보(301), 검색 서버(120) 또는 판단 서버(101)가 상기 사용자에게 제공한 정보와 연관된 로그 정보(예를 들면, 상기 사용자에게 제공된 검색 결과 목록과 관련된 로그 정보(302))도 기록될 수 있다. At
단계(210)에서 판단 서버(101)는 상기 로그 정보를 이용하여 상기 명령어의 유효성을 판단한다. 판단 서버(101)는 상기 명령어와 연관하여 생성된 로그 정보만을 이용할 수도 있고, 로그 데이터베이스(102)에 기록된 하나 이상의 로그 정보를 더 이용하여 상기 명령어의 유효성을 판단할 수도 있다. In step 210, the
이하에서는, 실시예에 따라 요청 형식에 기초하여 명령어의 유효성을 판단하는 과정(단계(206)), 및 로그 정보를 이용하여 명령어의 유효성을 판단하는 과정( 단계(209))을 구체적으로 설명한다.
Hereinafter, the process of determining the validity of the command based on the request format (step 206) and the process of determining the validity of the command using the log information (step 209) will be described in detail. .
1. 명령어의 요청 형식에 기초하여 상기 명령어의 유효성을 판단하는 과정1. The process of determining the validity of the command based on the request format of the command
(1) 명령어의 HTTP 버전에 기초하여 명령어의 유효성을 판단하는 경우(1) When the validity of the command is determined based on the HTTP version of the command
본 실시예에 따르면, 상기 요청 형식은 상기 명령어를 작성하기 위해 사용된 HTTP(Hyper Text Transfer Protocol)의 버전(version)이다. According to the present embodiment, the request format is a version of Hyper Text Transfer Protocol (HTTP) used to write the command.
검색 서버(120)에 악의적인 의도로 명령어를 입력하기 위해, 사용자는 명령어를 수동으로 발생시키지 않고, 소정의 명령어가 "자동적으로" 생성되도록 하는 프로그램을 이용하는 경우가 있다. In order to enter commands into the
일반적으로 인터넷 상에서 명령어는 HTTP에 따라 작성되며, HTTP의 버전이 낮을수록 그 내용이 단순하고 널리 알려져 있기 때문에, 최신 버전보다는 낮은 버전을 이용하여 상기 프로그램을 작성하는 경우가 많다. 이와 같이, 일반적으로 사용되지 않는 버전의 HTTP에 의해 명령어가 작성된 경우에는 상기 명령어가 무효일 가능성이 높다. In general, a command is written on the Internet according to HTTP, and since the content is simple and widely known as the version of HTTP is lower, the program is often written using a version lower than the latest version. As such, when the command is created by a version of HTTP which is not generally used, the command is likely to be invalid.
예를 들면, HTTP/1.1 버전이 일반적으로 사용되는 경우, 판단 서버(101)는 상기 HTTP/1.1 버전을 유효 버전으로 선정하고, 상기 명령어의 HTTP 버전을 식별하여 상기 명령어가 유효 버전(즉, HTTP/1.1) 이외의 버전, 예를 들면 HTTP/1.0 버전이나, HTTP/1.1 이후의 버전으로 작성된 경우 단계(203)에서 상기 명령어가 무효일 가능성이 높다고 판단할 수 있다. 명령어의 유효성을 판단하기 위한 기준이 되는 유효 버전은 시간의 흐름에 따라 변경될 수 있다.
For example, when the HTTP / 1.1 version is generally used, the judging
(2) 명령어에 포함된 부가 정보에 기초하여 명령어의 유효성을 판단하는 경우 (2) When the validity of the command is determined based on the additional information included in the command
본 실시예에 따르면, 상기 요청 형식은 상기 명령어에 포함된 부가 정보의 유무이다. 예를 들면, 상기 부가 정보는 상기 단말기에 설치된 웹 브라우저의 브라우저 정보 또는 상기 단말기가 직전에 접속한 웹 페이지의 URL 정보이다. According to the present embodiment, the request format is the presence or absence of additional information included in the command. For example, the additional information is browser information of a web browser installed in the terminal or URL information of a web page directly connected to the terminal.
일반적으로 웹 브라우저는 검색 서버(120) 등의 서버에 접속하여 명령어를 전송하는 경우 HTTP에 따라 상기 서버에 웹 브라우저의 종류 또는 버전에 대한 웹 브라우저 정보를 상기 명령어에 포함시켜 전송하는 경우가 많다. 또한, 웹 브라우저는 상기 웹 브라우저가 직접에 접속한 웹 페이지의 URL 정보를 HTTP에 따라 상기 명령어에 포함시켜 전송하는 경우가 많다. In general, when a web browser connects to a server such as a
따라서, 상기와 같은 부가 정보가 포함되지 않은 명령어는 명령어 자동 생성 프로그램에 의해 자동적으로 생성되었을 가능성이 높다. 따라서, 판단 서버(101)는 상기 부가 정보가 상기 명령어에 포함되어 있는지 여부를 상기 명령어의 유효성 판단에 반영할 수 있다.
Therefore, it is highly likely that an instruction not including the additional information is automatically generated by the instruction automatic generation program. Therefore, the
(3) 명령어에 포함된 식별 정보에 기초하여 명령어의 유효성을 판단하는 경우 (3) When the validity of the command is determined based on the identification information included in the command
판단 서버(101)는 명령어에 요청 내용 정보 및 단말기의 IP 주소 정보 별로 식별 정보가 포함되도록 한다. 따라서, 상기 식별 정보를 포함하는 명령어의 입력 횟수를 산출하면, 동일 IP 주소 정보를 갖는 단말기로부터 동일 요청 내용을 포함하는 명령어가 몇 번 입력되었는지 여부를 판단할 수 있다. The
사용자는 특정 요청을 하기 위한 명령어, 예를 들면 검색 결과를 선택하기 위한 명령어는 한번 입력하는 것이 일반적일 것이다. 따라서, 판단 서버(101)는 동일 식별 정보를 갖는 명령어가 소정값, 예를 들면 두 번 이상 입력되는 경우 상기 식별 정보를 포함하는 명령어는 무효라고 판단할 수 있다
It is common for a user to enter a command for making a specific request, for example, a command for selecting a search result once. Accordingly, the
(3) 소정의 이벤트가 발생한 이후 일정 시간 내에 명령어가 입력된 경우(3) When a command is input within a certain time after a predetermined event occurs
판단 서버(101)는 소정의 이벤트가 발생하고, 상기 이벤트에 따라 생성되는 명령어가 상기 이벤트 발생 이후 너무 짧은 시간 이내에 입력되는 경우 상기 명령어를 무효로 판단할 수 있다. The
예를 들면, 상기 이벤트는 검색 서버(120)가 사용자의 검색 요청에 따라 소정의 검색 결과 목록을 상기 사용자에게 제공하는 것이다. 상기 검색 결과 목록을 제공 받은 사용자는 상기 검색 결과 목록에 포함된 특정 검색 결과를 선택하기 위한 명령어를 입력할 수 있다. For example, the event is that the
이때, "사람"이 상기 명령어를 입력하기 위해서는 "상기 검색 결과 목록을 인식하고, 적절한 검색 결과를 파악하고 선택하는" 등의 일련의 과정을 거쳐야 하며, 이러한 과정을 수행하기 위해서는 일정한 시간이 필요하다. In this case, a "person" needs to go through a series of processes such as "recognizing the search result list, grasping and selecting an appropriate search result" in order to input the command, and a certain time is required to perform the process. .
따라서, 상기 검색 결과 목록을 제공한 시점으로부터 상기 사용자가 검색 결과를 선택하는 명령어를 입력하기까지의 시간 간격이 너무 짧은 경우(예를 들면 0.5 초인 경우)에는 판단 서버(101)는 상기 명령어를 무효로 판단할 수 있다.
Therefore, when the time interval from when the search result list is provided until the user inputs a command for selecting a search result is too short (for example, 0.5 seconds), the
(4) 암호화/복호화 방법을 이용하여 명령어의 유효성을 판단하는 경우(4) In case of validity of command by using encryption / decryption method
본 실시예에 따라 암호화/복호화 방법을 이용하여 명령어의 유효성을 판단하는 경우를 도 4를 참조하여 설명한다. A case in which validity of an instruction is determined using an encryption / decryption method according to the present embodiment will be described with reference to FIG. 4.
단계(401)에서 검색 서버 등 서비스 서버는 소정의 웹 페이지를 통하여 사용자가 명령어를 입력하는 경우, 단계(402)에서 판단 서버(101)는 상기 명령어에 암호화된 정보가 포함되도록 제어한다. In
예를 들면, 상기 명령어에 어떤 채널을 통해 입력된 경인지, 상기 채널의 어떤 정보와 연관되어 입력됐는지 여부에 대한 정보를 암호화 하여 포함시킬 수 있다.For example, information about which channel is input to the command and which information is input in association with the information of the channel may be encrypted and included.
실시예에 따라, 상기 암호화 방법은 HTTP에서 제공하는 암호화 규약에 따른 것일 수 있다. 또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 암호화 알고리즘을 포함하는 프로그램을 플러그 인(plug-in) 형태로 단말기(110)에 제공할 수 있고, 단말기(110)는 상기 프로그램을 설치하여 상기 암호화 알고리즘에 따라 명령어를 암호화 할 수도 있다. According to an embodiment, the encryption method may be in accordance with an encryption protocol provided by HTTP. In addition, according to another embodiment of the present invention, the
단계(403)에서 판단 서버(101)는 상기 암호화 된 명령어를 입력 받아 복호화 한다. In
단계(405)에서 판단 서버(101)는 상기 명령어가 암호화 되어 있지 않거나, 상기 명령어가 상기 복호화 방법에 의해 해독되지 않는다면, 상기 명령어가 무효라 고 판단한다.
In
2.로그 정보를 이용하여 명령어의 유효성을 판단하는 과정2. Process of determining validity of command using log information
(1) "특정 IP 주소 정보"를 포함하는 명령어가 일정한 시간 간격으로 입력되는 경우와 같이 명령어의 입력 시점이 소정의 규칙성을 갖는 경우(1) When a command input point has a predetermined regularity, such as when a command including "specific IP address information" is input at regular time intervals.
판단 서버(101)는 로그 데이터베이스(102)에 기록된 로그 정보 중에서, 상기 명령어에 포함된 IP 주소 정보를 포함하는 로그 정보를 검색한다. 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 IP 주소 정보를 포함하는 로그 정보 중 일정 기간 내 기록된 로그 정보만을 검색할 수도 있다. The
상기 검색된 로그 정보를 제1 로그 정보라 하면, 판단 서버(101)는 상기 제1 로그 정보에 포함된 입력 시점 정보를 추출하고, 상기 추출된 입력 시점 정보의 전부 또는 일부가 소정의 규칙에 따른 연관성을 갖는 경우 상기 명령어를 무효로 판단한다. When the retrieved log information is referred to as first log information, the
예를 들면, 상기 명령어가 입력된 시점이 "2004/04/02, 09:00:30"이고 상기 제1 로그 정보에 포함된 입력 시점 정보가 각각 "2004/04/02, 08:50:30", "2004/04/02, 08:40:30", "2004/04/02, 08:30:30", "2004/04/02, 08:20:30"…인 경우, 상기 제1 로그 정보와 연관된 명령어가 10분 간격으로 검색 서버(120)로 입력되었다는 사실을 알 수 있다. 상기 규칙성은, 이와 같이 명령어가 입력된 입력 시점의 시간 간격이 일정한 경우 외에도, 예를 들면 상기 시간 간격이 등차 수열 또는 등비 수열로 증가하는 경우 등과 같이 수학적인 규칙성이 발견되는 경우를 모두 포함할 수 있다. For example, the time point at which the command is input is "2004/04/02, 09: 00 : 30" and the input time point information included in the first log information is "2004/04/02, 08: 50 : 30", respectively. "," 2004/04/02 08: 40: 30 "," 2004/04/02 08: 30: 30 "," 2004/04/02 08: 20: 30 "... In this case, it can be seen that the command associated with the first log information is input to the
이와 같이, 특정한 IP 주소 정보를 포함하는 명령어의 입력 시점에 규칙성이 인정되는 경우, 상기 명령어는 명령어를 자동적으로 발생시키는 프로그램 등을 이용하여 발생한 명령어일 가능성이 크기 때문에, 판단 서버(101)는 상기 명령어를 무효로 판단한다. As described above, when regularity is recognized at the time of inputting a command including specific IP address information, since the command is likely to be a command generated by using a program or the like that automatically generates the command, the
본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 검색된 입력 시점 정보들 중에서 소정의 규칙을 따르는 입력 시점 정보의 수가 일정 개수 이상인 경우에만 상기 명령어를 무효로 판단할 수 있다. According to another embodiment of the present invention, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 규칙을 따르는 입력 시점 정보를 포함하는 로그 정보를 식별하고, 상기 식별된 로그 정보와 연관된 명령어를 모두 무효로 판단할 수 있다. 즉, 소정의 IP 주소를 갖는 단말기로부터 입력된 명령어의 입력 시점에 규칙성을 갖는 것이 판명된 명령어들의 집합은 모두 무효로 처리한다. In addition, according to another embodiment of the present invention, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 명령어가 무효로 판단되는 경우, 상기 IP 주소 정보를 차단 IP 주소 데이터베이스(103)에 차단 IP 주소 정보로서 기록할 수 있다.
In addition, according to another embodiment of the present invention, when it is determined that the command is invalid, the
(2) "특정 요청 내용 정보"를 포함하는 명령어가 일정한 시간 간격으로 입력되는 경우와 같이 명령어의 입력 시점이 소정의 규칙성을 갖는 경우(2) When a command input point has a predetermined regularity, such as when a command including "specific request content information" is input at regular time intervals.
판단 서버(101)는 로그 데이터베이스(102)에 기록된 로그 정보 중에서, 상기 명령어에 포함된 요청 내용 정보를 포함하는 로그 정보를 검색한다. 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 IP 주소 정보를 포함하는 로그 정보 중 일정 기간 내 기록된 로그 정보만을 검색할 수도 있다. The
상기 검색된 로그 정보를 제1 로그 정보라 하면, 판단 서버(101)는 상기 제1 로그 정보에 포함된 입력 시점 정보를 추출하고, 상기 추출된 입력 시점 정보의 전부 또는 일부가 소정의 규칙에 따른 연관성을 갖는 경우 상기 명령어를 무효로 판단한다. When the retrieved log information is referred to as first log information, the
예를 들면, 상기 명령어가 입력된 시점이 "2004/04/02, 09:00:30"이고 상기 제1 로그 정보에 포함된 입력 시점 정보가 각각 "2004/04/02, 08:50:30", "2004/04/02, 08:40:30", "2004/04/02, 08:30:30", "2004/04/02, 08:20:30"…인 경우, 상기 제1 로그 정보와 연관된 명령어가 10분 간격으로 검색 서버(120)로 입력되었다는 사실을 알 수 있다. 상기 규칙성은, 이와 같이 명령어가 입력된 입력 시점의 시간 간격이 일정한 경우 외에도, 예를 들면 상기 시간 간격이 등차 수열 또는 등비 수열로 증가하는 경우 등과 같이 수학적인 규칙성이 발견되는 경우를 모두 포함할 수 있다. For example, the time point at which the command is input is "2004/04/02, 09: 00 : 30" and the input time point information included in the first log information is "2004/04/02, 08: 50 : 30", respectively. "," 2004/04/02 08: 40: 30 "," 2004/04/02 08: 30: 30 "," 2004/04/02 08: 20: 30 "... In this case, it can be seen that the command associated with the first log information is input to the
이와 같이, 특정한 요청 내용 정보를 포함하는 명령어의 입력 시점에 규칙성이 인정되는 경우, 상기 명령어는 명령어를 자동적으로 발생시키는 프로그램 등을 이용하여 발생한 명령어일 가능성이 크기 때문에, 판단 서버(101)는 상기 명령어를 무효로 판단한다. As described above, when regularity is recognized at the time of inputting a command including specific request content information, since the command is likely to be a command generated using a program or the like that automatically generates the command, the
본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 검색된 입력 시 점 정보들 중에서 소정의 규칙을 따르는 입력 시점 정보의 수가 일정 개수 이상인 경우에만 상기 명령어를 무효로 판단할 수 있다. According to another embodiment of the present invention, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 규칙을 따르는 입력 시점 정보를 포함하는 로그 정보를 식별하고, 상기 식별된 로그 정보와 연관된 명령어를 모두 무효로 판단할 수 있다. 즉, 소정의 IP 주소를 갖는 단말기로부터 입력된 명령어의 입력 시점에 규칙성을 갖는 것이 판명된 명령어들의 집합은 모두 무효로 처리한다. In addition, according to another embodiment of the present invention, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 명령어가 무효로 판단되는 경우, 상기 IP 주소 정보를 차단 IP 주소 데이터베이스(103)에 차단 IP 주소 정보로서 기록할 수 있다.
In addition, according to another embodiment of the present invention, when it is determined that the command is invalid, the
(3) 일정 기간 동안 특정 IP 주소를 갖는 단말기로부터의 명령어의 수가 비정상적으로 다수 입력되는 경우(3) When an abnormally large number of commands from a terminal having a specific IP address is input for a certain period of time
판단 서버(101)는 로그 데이터베이스(102)에 제1 기간 동안 기록된 로그 정보를 이용하여 각 단말기로부터 상기 제1 기간 동안 입력된 명령어의 제1 개수를 산출한다. 각 단말기를 식별하기 위해 네트워크 주소가 사용될 수 있다. 즉, 동일 네트워크 주소를 갖는 단말기로부터 입력된 명령어는 하나의 단말기로부터 입력된 것으로 볼 수 있다. 단, 상기 네트워크 주소가 프락시 서버 또는 공유기의 네트워크 주소인 경우에는 예외로 한다. The
판단 서버(101)는 로그 데이터베이스(102)에 제2 기간 동안 기록된 로그 정 보를 이용하여 상기 명령어에 포함된 상기 네트워크 주소를 갖는 단말기로부터 상기 제2 기간 동안 입력된 명령어의 제2 개수를 산출한다. The
상기 제1 기간은 상기 제2 기간과 동일할 수도 있으나, 상기 제1 기간은 상기 제2 기간에 비해 큰 값으로 선정하는 것이 바람직하다. 또한, 상기 제2 기간은 오전, 오후, 저녁, 심야, 새벽 등 특정 시기의 기간을 선정함으로써 특정 시기별로 명령어가 입력되는 패턴을 고려하여 명령어의 유효성을 판단할 수 있다. 예를 들면, 새벽 4시경에는 명령어가 입력되는 횟수가 현저히 감소하기 때문에 이를 반영하여 유효성 판단을 할 수도 있다. The first period may be the same as the second period, but the first period may be selected to be larger than the second period. In addition, the second period may determine the validity of the command in consideration of a pattern in which the command is input for each specific time period by selecting a specific time period such as morning, afternoon, evening, late night, or dawn. For example, since the number of times a command is input is significantly reduced at about 4 am, the validity may be determined by reflecting this.
판단 서버(101)는 상기 단말기 별 제1 개수와 상기 제2 개수를 이용하여 상기 명령어의 유효성을 판단할 수 있다.The
예를 들면, 판단 서버(101)는 상기 단말기 별 제1 개수의 평균값을 산출하여 상기 제2 개수와 상기 평균값을 비교하여 상기 명령어의 유효성을 판단한다. 판단 서버(101)는 상기 제2 개수가 상기 평균값을 초과하는 경우, 또는 상기 평균값에 소정값을 더한 값을 초과하는 경우 상기 명령어를 무효로 판단할 수 있다. 또한, 판단 서버(101)는 상기 평균값과 상기 제2 개수의 비율을 산출하여 상기 비율이 소정값을 초과하는 경우 상기 명령어를 무효로 판단할 수도 있다.For example, the
또한, 판단 서버(101)는 상기 단말기 별 제1 개수 중 최대값을 산출하거나, 또는 상기 단말기 별 제1 개수의 분산값을 산출하고 상기 최대값 또는 상기 분산값과 상기 제2 개수를 비교하여 상기 명령어의 유효성을 판단할 수도 있다.In addition, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 명령어가 무효로 판단되는 경우, 상기 IP 주소 정보를 차단 IP 주소 데이터베이스(103)에 차단 IP 주소 정보로서 기록할 수 있다. In addition, according to another embodiment of the present invention, when it is determined that the command is invalid, the
한편, 상기에서는 상기 단말기 별 제1 개수, 또는 이들의 평균값 등을 이용하는 경우를 구체적으로 예로 들어 설명했으며, 이러한 방식은 후술하는 각 판단 과정에서 제1 개수와 제2 개수를 비교하여 제2 개수에 비해 제1 개수가 비정상적으로 많은지 여부를 판단하는 경우에 모두 적용될 수 있다. 또한, 상술한 바와 같은 제1 개수와 제2 개수를 비교하는 구체적인 방법은 예시적인 것에 불과하며, 본 발명의 범위는 이에 한정되지 않고 소정의 의미를 갖는 제1 개수와 또 다른 소정의 의미를 갖는 제2 개수를 비교하여 명령어의 유효성을 판단하는 모든 판단 방법에 미친다.
In the above description, the case in which the first number for each terminal or an average value thereof is used is described as an example, and this method compares the first number and the second number to each of the second number in each determination process described later. Compared to the case where it is determined whether the first number is abnormally large. In addition, a specific method for comparing the first number and the second number as described above is merely exemplary, and the scope of the present invention is not limited thereto, and the first number having a predetermined meaning and another predetermined meaning are not limited thereto. Compares the second number to all the determination methods for determining the validity of the instruction.
(4) 일정 기간 동안 입력된 특정 명령어의 수가 비정상적으로 다수인 경우(4) When there is an unusually large number of specific commands entered during a certain period of time
판단 서버(101)는 로그 데이터베이스(102)에 제1 기간 동안 기록된 로그 정보를 이용하여 상기 제1 기간 동안 입력된 명령어의 제1 개수를 요청 내용 정보에 따라 각각 산출한다. 즉, 상기 제1 기간 동안 입력된 명령어 주에서 동일 요청 내용 정보를 포함하는 명령어의 수를 각각 산출한다. The
판단 서버(101)는 로그 데이터베이스(102)에 제2 기간 동안 기록된 로그 정보를 이용하여 상기 명령어에 포함된 요청 내용 정보를 포함하는 로그 정보의 제2 개수를 산출한다. 상기 제2 개수는 상기 제2 기간 동안 입력된 명령어 중에서 상기 명령어와 동일한 요청 내용 정보를 포함하는 명령어의 개수이다.
The
판단 서버(101)는 상기 요청 내용 정보 별 제1 개수와 상기 제2 개수를 이용하여 상기 명령어의 유효성을 판단할 수 있다. 즉, 판단 서버(101)는 상기 단말기 별 그리고 상기 요청 내용 정보 별 제1 개수와 상기 제2 개수를 비교하여 상기 제2 개수가 상기 제1 개수에 비해 비정상적으로 크다고 판단되는 경우 상기 명령어를 무효로 판단할 수 있다. 상기 제1 개수와 상기 제2 개수의 비교 방법의 구체적인 예는 상술한 바와 같다.
The
(5) 일정 시간 동안 특정 IP 주소를 갖는 단말기로부터의 특정 요청을 하기 위한 명령어의 수가 비정상적으로 다수 입력되는 경우(5) When an abnormally large number of commands for making a specific request from a terminal having a specific IP address is input for a certain time
판단 서버(101)는 로그 데이터베이스(102)에 제1 기간 동안 기록된 로그 정보를 이용하여 각 단말기로부터 상기 제1 기간 동안 입력된 명령어의 제1 개수를 요청 내용 정보 별로 산출한다. 즉, 소정의 단말기로부터 소정의 요청 내용 정보가 포함된 명령어가 상기 제1 기간 동안 몇 개 입력되었는지 각각 산출한다. 각 단말기를 식별하기 위해 IP 주소가 사용될 수 있다. 즉, 동일 IP 주소로부터 입력된 명령어는 하나의 단말기로부터 입력된 것으로 볼 수 있다.The
판단 서버(101)는 로그 데이터베이스(102)에 제2 기간 동안 기록된 로그 정보를 이용하여 상기 명령어에 포함된 상기 IP 주소를 갖는 단말기로부터 상기 제2 기간 동안 입력된 명령어 중 상기 요청 내용 정보를 포함하는 명령어의 제2 개수를 산출한다. The
상기 제1 기간은 상기 제2 기간과 동일할 수도 있으나, 상기 제1 기간은 상 기 제2 기간에 비해 큰 값으로 선정하는 것이 바람직하다. 또한, 상기 제2 기간은 오전, 오후, 저녁, 심야, 새벽 등 특정 시기의 기간을 선정함으로써 특정 시기별로 명령어가 입력되는 패턴을 고려하여 명령어의 유효성을 판단할 수 있다. 예를 들면, 새벽 4시경에는 명령어가 입력되는 횟수가 현저히 감소하기 때문에 이를 반영하여 유효성 판단을 할 수도 있다. The first period may be the same as the second period, but the first period may be selected to be larger than the second period. In addition, the second period may determine the validity of the command in consideration of a pattern in which the command is input for each specific time period by selecting a specific time period such as morning, afternoon, evening, late night, or dawn. For example, since the number of times a command is input is significantly reduced at about 4 am, the validity may be determined by reflecting this.
판단 서버(101)는 상기 단말기 별 그리고 상기 요청 내용 정보 별 제1 개수와 상기 제2 개수를 비교하여 상기 제2 개수가 상기 제1 개수에 비해 비정상적으로 크다고 판단되는 경우 상기 명령어를 무효로 판단할 수 있다.The
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 상기 명령어가 무효로 판단되는 경우, 상기 IP 주소 정보를 차단 IP 주소 데이터베이스(103)에 차단 IP 주소 정보로서 기록할 수 있다.
In addition, according to another embodiment of the present invention, when it is determined that the command is invalid, the
(6) 2차 명령어와 연관된 1차 정보가 존재하지 않는 경우 (6) When there is no primary information associated with the secondary instruction
검색 서버(120)는 사용자로부터 검색 쿼리를 입력 받고 상기 검색 쿼리에 대응하는 검색 결과 목록을 생성하여 상기 사용자에게 제공한다. 상기 검색 결과 목록을 제공 받은 상기 사용자는 상기 검색 결과 목록 중 검색 결과를 선택하고, 검색 서버(120)는 상기 선택된 검색 결과에 대응하는 정보를 제공하거나, 상기 검색 결과와 연관된 웹 페이지로 상기 사용자가 접속하도록 중계한다. 이와 같이 검색 서버(120) 또는 판단 서버(101)와 사용자의 단말기 사이에는 여러 정보들이 송수신(통신)된다.
The
본 명세서에서는 검색 서버(120) 또는 판단 서버(101)와 사용자 사이에서 통신되는 정보가 순차적인 인과 관계를 갖고 있는 경우, 원인이 되는 정보는 1차 정보, 상기 1차 정보에 기초하여 생성되는 결과 정보는 2차 정보로 정의한다. 또한, 상기 정보는 명령어를 포함한다. In the present specification, when the information communicated between the
예를 들면, 상기 검색 결과 목록은 상기 검색 쿼리에 기초하여 생성되는 것으로, 상기 검색 쿼리는 1차 명령어, 상기 검색 결과 목록은 2차 정보로 정의할 수 있다. 또한, 사용자가 상기 검색 결과를 선택하는 명령어를 입력하고 상기 선택 명령에 대응하여 상기 정보가 제공되는 경우, 상기 명령어는 1차 명령어, 상기 정보는 2차 정보로 정의할 수 있다. For example, the search result list may be generated based on the search query, the search query may be defined as a primary command, and the search result list as secondary information. In addition, when a user inputs a command for selecting the search result and the information is provided in response to the selection command, the command may be defined as a primary command and the information as secondary information.
판단 서버(101)는 사용자의 상기 단말기와 통신하는 정보에 대응하는 로그 정보를 생성하여 로그 데이터베이스(102)에 기록한다. 상기 로그 정보는 상기 정보 또는 상기 정보의 송수신 시점에 대한 정보를 포함한다. The
판단 서버(101)는 상기 단말기로부터 입력된 명령어가 그 요청 내용으로 보아 2차 명령어로 판단된 경우, 로그 데이터베이스(102)를 참조하여 상기 명령어와 연관된 1차 정보(또는 1차 명령어)에 대응하는 로그 정보를 검색한다. 상기 명령어와 연관된 1차 정보에 대응하는 상기 로그 정보는 상기 2차 명령어에 포함된 질의의 내용, 상기 2차 명령어에 포함된 IP 주소 정보를 참조하여 검색될 수 있다. When the command inputted from the terminal is determined to be a secondary command based on the request content, the
2차 명령어는 1차 정보에 기초하여 발생되므로, 상기 1차 정보에 대응하는 로그 정보가 검색되지 않는다면, 상기 명령어는 정상적인 절차에 따라 입력된 명령어가 아니라고 할 수 있으므로, 판단 서버(101)는 상기 명령어를 무효로 판단할 수 있다.
Since the secondary command is generated based on the primary information, if the log information corresponding to the primary information is not retrieved, it may be said that the command is not an input command according to a normal procedure. The command can be determined to be invalid.
(7) 2차 명령어와 연관된 1차 정보가 존재하지 않는 경우 - 명령어 자체에 포함된 정보를 이용하는 경우(7) When there is no primary information associated with the secondary instruction-When using the information contained in the instruction itself
정상적인 절차에 따라 명령어가 입력되는지 여부, 예를 들면 사용자의 웹 페이지 제공 요청에 따라 소정의 웹 페이지를 제공하고, 상기 사용자로부터 상기 웹 페이지에 포함된 정보를 이용한 추가 요청을 입력 받는 것과 같이, 정상적인 절차에 따르는 경우 상기 추가 요청은 상기 웹 페이지의 제공을 전제로 한다. Whether a command is input according to a normal procedure, for example, providing a predetermined web page according to a user's request for providing a web page, and receiving an additional request using the information included in the web page from the user. The further request, upon procedure, presupposes the provision of the web page.
따라서, 판단 서버(101)는 명령어의 유효성을 판단하기 위해 명령어 자체에 상기와 같은 이력(history) 정보가 포함되도록 할 수 있다. 상기 이력 정보는 이후 상기 명령어의 유효성을 판단하는 기준이 되므로, 상기 이력 정보는 암호화되어 상기 명령어에 포함되도록 제어하는 것이 바람직하다. Therefore, the
판단 서버(101)는 사용자의 단말기로부터 제1 명령어를 입력 받고, 상기 제1 명령어에 따라 상기 사용자에게 소정의 정보를 포함하는 웹 페이지를 제공한다. The
상기 사용자는 상기 정보에 기초하여 제2 명령어를 입력할 수 있다. 예를 들면, 상기 제1 명령어는 소정의 검색 쿼리를 포함한 검색 요청이며, 상기 제2 명령어는 검색 결과 목록 중 소정의 검색 결과를 선택하는 명령일 수 있다. The user may input a second command based on the information. For example, the first command may be a search request including a predetermined search query, and the second command may be a command for selecting a predetermined search result from a list of search results.
이때, 판단 서버(101)는 상기 제2 명령어에 이력 정보가 포함되도록 한다. 상기 이력 정보는 상기 단말기가 직전에 접속한 웹 페이지의 URL 정보(이러한 URL 정보는 웹 브라우저로부터 제공 받을 수도 있음), 상기 단말기의 제1 IP 주소, 또 는 상기 제1 명령어를 입력한 단말기의 제2 IP 주소 등이다. 정상적인 경우 상기 단말기의 제2 IP 주소와 상기 제1 명령어를 입력한 단말기의 제1 IP 주소는 일치할 것이다. At this time, the
이와 같은 구성에 따르면, 판단 서버(101)는 소정의 명령어가 입력되는 경우, 상기 명령어에 포함된 이력 정보를 이용하여 상기 명령어의 유효성 여부를 판단할 수 있게 된다. According to such a configuration, when a predetermined command is input, the
예를 들면, 판단 서버(101)는 상기 명령어에 현재 또는 이전 웹 페이지에 대응하는 URL 정보가 포함되어 있지 않는 경우 상기 명령어를 무효로 할 수 있다.For example, the
또는, 판단 서버(101)는 상기 명령어에 URL 정보가 포함되어 있는 경우, 상기 URL이 정상적으로 상기 단말기가 명령어를 입력하기 위해 현재 접속 중, 또는 이전에 접속했어야 하는 웹 페이지의 URL이 아닌 경우에는 상기 명령어를 무효로 판단한다. Alternatively, when the URL information is included in the command, the
또한, 판단 서버(101)는 제1 명령어의 입력을 전제로 하여 생성될 수 있는 제2 명령어에, 제1 명령어를 입력한 단말기의 제1 IP 주소 정보가 포함되어 있지 않은 경우 상기 명령어를 무효로 판단할 수 있다.In addition, the
또한, 판단 서버(101)는 상기 제2 명령어에 포함된 제1 IP 주소 정보와 제2 IP 주소 정보를 비교하여 일치하지 않는 경우 상기 제2 명령어를 무효로 판단한다.
In addition, the
(8) 일정 시간 동안 일정한 네트워크 그룹에서 특정한 질의의 수가 비정상적으로 다수인 경우(8) An abnormally large number of specific queries in a certain network group for a certain time
판단 서버(101)는 상기 IP 주소 정보에 기초하여 상기 IP 주소와 연관된 네트워크 그룹을 식별한다. The
네트워크 그룹의 일례로서 IPv4에 따른 네크워크 클래스(Network Class)를 예로 들 수 있다. 네크워크 클래스는 IP 주소 공간을 분할하는 메커니즘에 대한 것이다. 8bit를 갖는 4개의 옥텟(Octet)으로 구성되어 있는 IPv4에 따른 IP 주소 체계에 있어서 IP 주소 정보로부터 상기 IP 주소를 갖는 단말기가 접속되는 네트워크를 식별할 수 있다. 예를 들면, 클래스 C 네트워크는 192.0.0.0부터 223.255.255.0까지의 IP 주소를 갖고, 앞에서부터 3개의 옥텟이 네크워크 번호를 나타내기 위해 사용되었다. An example of a network group is a network class according to IPv4. The network class is about a mechanism for partitioning the IP address space. In the IP address system according to IPv4, which is composed of four octets having 8 bits, the network to which the terminal having the IP address is connected can be identified from the IP address information. For example, a class C network has IP addresses from 192.0.0.0 to 223.255.255.0, and three octets from the beginning were used to represent the network number.
판단 서버(101)는 로그 데이터베이스(102)에 기록된 로그 정보를 이용하여 제1 기간 동안 각 단말기로부터 입력된 명령어의 제1 개수를 요청 내용 정보 별로 각각 산출한다. 판단 서버(101)는 동일 IP 주소를 갖는 단말기로부터 입력된 명령어는 하나의 단말기로부터 입력된 것으로 결정할 수 있다. 단, 상기 네트워크 주소가 프락시 서버 또는 공유기의 IP 주소인 경우에는 예외로 한다.The
판단 서버(101)는 로그 데이터베이스(102)에 기록된 로그 정보를 이용하여 제2 기간 동안 상기 네트워크 클래스와 연관된 IP 주소 정보를 포함하고 상기 요청 내용 정보를 포함하는 명령어의 제2 개수를 산출한다.The
판단 서버(101)는 상기 제1 개수 및 상기 제2 개수를 비교하여 상기 제2 개수가 상기 제1 개수에 비해 비정상적으로 다수인 경우 상기 명령어를 무효로 판단할 수 있다.
The
따라서, 본 실시예에 따르면, 동일 네트워크 클래스 등 동일 네트워크 그룹에 접속되어 있는 다수의 단말기를 이용하여 악의적인 의도로 소정이 명령어를 입력하는 경우 이를 감지할 수 있게 된다. Therefore, according to the present exemplary embodiment, when a predetermined command is input with a malicious intention by using a plurality of terminals connected to the same network group such as the same network class, it can be detected.
한편, 상기 실시예에서는 IPv4 방식을 예로 들어 설명했으나, 이 외에도 IP 주소 공간을 하나 이상의 집단으로 분류하는 방식을 채택하는 IP 주소 방식에 대해서도 본 발명이 적용될 수 있음은 당연하다.
Meanwhile, although the above embodiment has been described using the IPv4 scheme as an example, it is obvious that the present invention can be applied to the IP address scheme that adopts the scheme of classifying the IP address space into one or more groups.
(9) 명령어에 포함된 식별 정보가 동일한 명령어가 중복적으로 입력되는 경우(9) When the same command with the same identification information included in the command is inputted repeatedly
본 실시예에 있어서, 판단 서버(101)는 사용자의 단말기로부터 소정의 정보를 요청하는 명령어를 입력 받는 경우, 상기 명령어에 상기 정보 또는 상기 단말기의 IP 주소와 연관된 식별 정보가 포함되도록 제어한다. In the present embodiment, when the
또한, 판단 서버(101)는 상기 명령어에 포함된 식별 정보를 참조하여 상기 식별 정보를 포함하는 명령어의 입력 횟수를 판단하고, 판단 결과 상기 식별 정보를 포함하는 명령어가 복수 개 입력된 경우에는 상기 명령어를 무효로 판단한다. In addition, the
상기 구성에 따르면, 판단 서버(101)는 동일 단말기의 사용자가 동일 정보를 반복적으로 요청하는지 여부를 판단할 수 있게 되고, 한번 제공 받은 정보를 불필요하게 반복적으로 요청하는 명령어는 악의적인 의도로 입력된 명령어로 간주할 수 있을 것이다. According to the above configuration, the
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 동일한 식별 정보를 포함하는 모든 명령어를 무효로 판단할 수도 있고, 상기 식별 정보를 포함하는 명령어 중 시간적으로 가장 먼저 입력된 명령어를 제외한 명령어를 무효로 판단할 수 도 있다.
In addition, according to another embodiment of the present invention, the
이상, 요청 형식에 기초하여 명령어의 유효성을 판단하는 과정(단계(206)), 및 로그 정보를 이용하여 명령어의 유효성을 판단하는 과정(단계(209))을 구체적으로 설명했다. 판단 서버(101)는 상기와 같은 각 판단 방법을 하나 이상 채택할 수 있으며, 각 판단 방법에 따른 판단 결과를 종합적으로 검토하여 상기 명령어의 유효성 여부를 판단할 수도 있다. 또한, 판단 서버(101)각 판단 결과에 가중치를 부여하여 산출한 전체 판단 결과를 이용하여 상기 명령어의 유효성 여부를 판단할 수도 있다.In the above, the process of determining the validity of the command based on the request format (step 206) and the process of determining the validity of the command using the log information (step 209) have been described in detail. The
한편 판단 서버(101)는 상기 2. (1) 내지 (3), 및 (4) 에서 상술한 바와 같이 로그 정보를 이용하여 명령어의 유효성을 판단한 결과, 상기 명령어가 유효가 아니라고 판단되는 경우 상기 명령어에 포함된 IP 주소 정보를 차단 IP 주소 정보로 결정한다. On the other hand, when the
본 발명의 또 다른 실시예에 따르면, 판단 시스템(100)은 차단 IP 주소 데이터베이스(103)뿐만 아니라 무효 의심 IP 주소 정보를 포함하는 무효 의심 IP 주소 데이터베이스(104)를 더 유지하여 소정의 IP 주소를 갖는 단말기로부터 입력된 명령어가 무효인지 여부를 "단계적으로" 판단할 수 있다. According to another embodiment of the present invention, the
판단 서버(101)는 무효 의심 IP 주소 데이터베이스(104) 또는 차단 IP 주소 데이터베이스(103)를 참조하여 상기 명령어에 포함된 IP 주소 정보가 차단 IP 주소 정보인지, 또는 무효 의심 IP 주소 정보인지 여부를 판단한다. The
판단 결과 상기 IP 주소 정보가 무효 의심 IP 주소 정보인 경우, 상기 명령어와 연관하여 로그 정보를 생성한다. 이때, 상기 명령어를 "제1 명령어", 상기 로그 정보를 "제1 로그 정보"라고 한다. As a result of the determination, when the IP address information is suspected invalid IP address information, log information is generated in association with the command. In this case, the command is referred to as "first command" and the log information as "first log information".
판단 서버(101)는 로그 데이터베이스(102)를 참조하여 상기 IP 주소 정보를 포함하는 로그 정보를 검색하고, 상기 검색된 로그 정보를 "제2 로그 정보"라고 한다. 또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 로그 정보에 포함된 입력 시점 정보를 이용하여 소정 기간 동안 입력된 명령어와 연관된 제2 로그 정보만을 검색할 수도 있다. The
판단 서버(101)는 상기 제1 로그 정보 및 상기 제2 로그 정보를 이용하여, 상기 IP 주소 정보가 차단 IP 주소 정보인지 여부를 판단한다. 이때, 판단 서버(101)는 2. (1) 내지 (3)에서 상술한 판단 방법을 사용하여 상기 명령어가 무효인지 여부를 판단하고, 상기 명령어가 무효로 판단되는 경우 상기 IP 주소 정보를 차단 IP 주소 정보로 결정할 수 있다. The
예를 들면, IP 주소가 123.25.29.01인 단말기로부터 명령어가 2004년 4월 17일 2시, 2004년 4월 17일 4시에 입력된 바 있고, 다시 상기 단말기로부터 2004년 4월 17일 6시에 명령어가 입력된 경우 판단 서버(101)는 6시에 입력된 명령어가 무효일 가능성은 있지만 정확히 판단하기 어렵다고 생각되는 경우, 상기 IP 주소에 대한 IP 주소 정보를 무효 의심 IP 주소 데이터베이스(104)에 기록한다.
For example, a command from a terminal with an IP address of 123.25.29.01 was entered at 2 pm on April 17, 2004, and at 4 pm on April 17, 2004, and again from 6 pm on April 17, 2004 at the terminal. If the command is input to the
이후, 상기 IP 주소를 갖는 단말기로부터 다시 명령어가 입력된 경우, 판단 서버(101)는 상기 명령어의 입력 시점을 판별한다. 상기 입력 시점이 2004년 4월 17일 8시인 경우, 판단 서버(101)는 규칙적인 시간 간격, 즉 2시간 간격으로 입력되는 상기 명령어는 명령어 자동 생성 프로그램에 의해 생성된 명령어로 판단하고 상기 명령어를 무효로 한다. 또한, 상기 IP 주소 정보를 무효 의심 IP 주소 데이터베이스(104)에서 삭제하고 차단 IP 주소 데이터베이스(103)에 기록하여, 이후 상기 단말기로부터 입력되는 명령어는 모두 무효로 간주한다. Subsequently, when a command is input again from the terminal having the IP address, the
또한, 본 발명의 또 다른 실시예에 따르면, 무효 의심 IP 주소 데이터베이스는 복수 개 존재할 수 있으며, 이에 따라 소정의 IP 주소를 차단 IP 주소로 결정하기까지 2단계 이상의 판단 과정을 수행할 수도 있다. In addition, according to another embodiment of the present invention, a plurality of invalid suspicious IP address database may exist, and accordingly, two or more steps of determining may be performed until the predetermined IP address is determined as the blocking IP address.
이와 같은 구성에 따르면, 이제까지 입력된 명령어에 대한 로그 정보만으로는 상기 명령어를 입력한 단말기의 IP 주소 정보가 차단 IP 주소 정보인지 판단하기 어려운 경우에는, 상기 IP 주소 정보를 무효 의심 IP 주소 정보로 결정하고 이후에 상기 IP 주소 정보를 포함하는 명령어를 더 관찰함으로써 상기 IP 주소 정보를 차단 IP 주소 정보로 결정할지 여부를 판단함으로써 소정의 명령어가 무효인지 여부를 더욱 정확하게 판단할 수 있게 된다. According to such a configuration, when it is difficult to determine whether the IP address information of the terminal which inputs the command is the blocking IP address information only by log information on the command input so far, the IP address information is determined as the invalid suspicious IP address information. Subsequently, by further observing the command including the IP address information, it is possible to more accurately determine whether a predetermined command is invalid by determining whether to determine the IP address information as the blocking IP address information.
또한, 본 발명의 또 다른 실시예에 따르면, 판단 서버(101)는 차단 IP 주소 데이터베이스(103)에 기록된 차단 IP 주소 정보를 포함하는 명령어가 입력된 경우 또는 상술한 바와 같이 명령어의 요청 형식에 기초하여 판단한 결과 상기 명령어가 무효로 판단된 경우에는 상기 명령어와 연관된 로그 정보를 생성/기록하지 않는다. 따라서, 판단 서버(101)는 상기 명령어와 연관된 로그 정보를 처리하기 위해 필요한 시스템 자원을 절약할 수 있다. In addition, according to another embodiment of the present invention, the
또한, 차단 IP 주소 정보를 사용하는 경우에는, 상기 단말기를 사용하여 악의적인 의도로 명령어를 입력한 바 있는 사용자가 다른 방법을 사용하여 악의적인 의도를 은폐하여 명령어를 입력하고자 하는 경우에도 차단 IP 주소를 갖는 단말기로부터 입력된 명령어는 모두 무효로 판단함으로써 악의적인 의도로 상기 단말기로부터 입력된 명령어를 모두 무력화할 수 있다. In addition, when the blocking IP address information is used, the blocking IP address may be used even if a user who has input a command with a malicious intention using the terminal wants to input the command by concealing the malicious intention using another method. All the commands input from the terminal having an invalidity can be invalidated by deciding all the commands input from the terminal for malicious intention.
한편, 판단 서버(101)는 무효로 판단된 명령어에 대해서는 아무런 응답을 하지 않을 수 있다. 또한, 판단 서버(101)는 무효로 판단된 명령어에 대해서도 소정의 효과는 발생하도록 할 수도 있다. 예를 들면, 상기 명령어가 검색 서버(120)가 제공한 검색 결과 목록 중에서 검색 결과를 선택하기 위한 요청인 경우, 검색 서버(120)는 상기 명령어가 무효인지 여부와 관계없이 상기 선택된 검색 결과와 연관된 정보를 상기 단말기로 전송할 수 있다. 다만, 상기 명령어가 상기 검색 결과와 연관하여 광고를 제공하는 광고주에게 과금하기 위한 기준, 또는 상기 검색 결과를 선택하는 사용자의 선호도를 판단하기 위한 기준 등으로도 사용되는 경우, 무효로 판단된 상기 명령어는 상기 기준으로는 사용하지 않는 것이 바람직할 것이다. On the other hand, the
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램은 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별 히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. Further, embodiments of the present invention include a computer readable medium having program instructions for performing various computer implemented operations. The program recorded on the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
이하에서는, 본 발명의 또 다른 실시예에 따른 명령어의 유효성을 판단하는 판단 시스템(100)에 대해 설명한다. 도 5는 판단 시스템(100)의 내부 구성을 도시한 블록도이다. 판단 시스템(100, 500)은 차단 IP 주소 데이터베이스(501), 명령어 입력부(502), 로그 정보 생성부(503), 로그 데이터베이스(504), 로그 데이터베이스 관리부(505), 및 유효성 판단부(506)를 포함한다. Hereinafter, a
차단 IP 주소 데이터베이스(501)는 차단 IP 주소 정보를 포함한다. 상기 차단 IP 주소 정보는 후술하는 바와 같이 소정의 IP 주소를 갖는 단말기로부터 입력된 명령어를 무효로 하기 위해 사용된다. The blocking
명령어 입력부(502)는 유무선 통신망을 통해 사용자의 단말기(510)로부터 명령어를 입력 받는다.The
로그 정보 생성부(503)는 상기 명령어와 연관된 로그 정보를 생성한다. 상기 로그 정보는 상기 명령어에 포함된 IP 주소 정보, 상기 명령어의 입력 시점에 대한 입력 시점 정보, 상기 명령어에 포함된 요청 내용 정보 등을 포함한다. The
본 실시예에 따르면, 로그 정보 생성부(503)는 상기 명령어와 연관된 로그 정보를 생성하기 전에, 차단 IP 주소 데이터베이스(501)를 참조하여 상기 명령어에 포함된 상기 IP 주소 정보가 차단 IP 주소 정보인지 여부를 판단한다. 판단 결과 상기 IP 주소 정보가 차단 IP 주소 정보인 경우 로그 정보 생성부(503)는 상기 명령어와 연관된 로그 정보는 생성하지 않는다.
According to the present embodiment, before generating log information associated with the command, the log
또한, 유효성 판단부(506)는 상기 IP 주소 정보가 차단 IP 주소 정보인 경우에는 상기 명령어를 무효로 판단한다. In addition, the
로그 데이터베이스 관리부(505)는 상기 로그 정보를 로그 데이터베이스(504)에 기록한다. The
유효성 판단부(506)는 상기 명령어와 연관되어 생성된 로그 정보, 또는 로그 데이터베이스(504)에 기록되어 있는 하나 이상의 로그 정보를 이용하여 상기 명령어의 유효성을 판단한다. The
로그 정보를 이용하여 명령어의 유효성을 판단하는 구체적인 구성은 상술한 실시예에서 설명했으므로 본 실시예에서는 그 자세한 설명은 생략한다. Since the detailed configuration for determining the validity of the command by using the log information has been described in the above-described embodiment, the detailed description thereof will be omitted in this embodiment.
도 6은 본 발명에 따른 명령어의 유효성을 판단하는 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.6 is an internal block diagram of a general purpose computer device that may be employed to perform a method for determining the validity of an instruction in accordance with the present invention.
컴퓨터 장치(600)는 램(RAM: Random Access Memory)(620)과 롬(ROM: Read Only Memory)(630)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(610)를 포함한다. 프로세서(610)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(630)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(620)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(620) 및 롬(630)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(640)는 양방향성으로 프로세서(610)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장 치(640)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(660)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(610)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(650)와 연결된다. 마지막으로, 프로세서(610)는 네트워크 인터페이스(670)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다.While specific embodiments of the present invention have been described so far, various modifications are possible without departing from the scope of the present invention.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below, but also by the equivalents of the claims.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.
본 발명에 따르면, 차단 네트워크 주소 정보를 설정함으로써 소정의 네트워크 주소를 갖는 단말기로부터 입력된 명령어가 무효인지 여부를 신속하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템이 제공된다. According to the present invention, there is provided a method and system for determining validity of a command which can quickly determine whether a command input from a terminal having a predetermined network address is invalid by setting blocking network address information.
또한, 본 발명에 따르면, 소정의 네트워크 주소를 갖는 단말기로부터 입력된 명령어가 무효인지 여부를 판단하기 어려운 경우 상기 네트워크 주소에 대한 네트워크 주소 정보를 무효 의심 네트워크 주소 정보로 설정하고, 추후 상기 네트워크 주소로부터 입력된 명령어를 더 이용하여 상기 네트워크 주소 정보를 차단 네트워크 주소 정보를 설정할지 여부를 결정하는 2단계 이상의 설정 과정을 이용함으로써 명령어의 유효성 여부를 더욱 정확하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템이 제공된다. In addition, according to the present invention, if it is difficult to determine whether a command input from a terminal having a predetermined network address is invalid, the network address information for the network address is set as invalid suspicious network address information, and later from the network address. A method and system for determining validity of a command that can more accurately determine whether a command is valid by using a two or more setting process of determining whether to block the network address information by using an input command. This is provided.
또한, 본 발명에 따르면, 명령어의 유효성 여부를 판단할 수 있는 새로운 판단 기준을 제시하고, 특히 명령어의 요청 형식과 명령어의 요청 내용을 모두 고려하여 상기 명령어의 유효성 여부를 정확하게 판단할 수 있는 명령어의 유효성 판단 방법 및 그 시스템이 제공된다. In addition, according to the present invention, a new criterion for determining the validity of the command is proposed, and in particular, in consideration of both the request form of the command and the request content of the command of the command that can accurately determine the validity of the command A validity determination method and system are provided.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040036533A KR101122413B1 (en) | 2004-05-21 | 2004-05-21 | A method for determining validity of command and a system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040036533A KR101122413B1 (en) | 2004-05-21 | 2004-05-21 | A method for determining validity of command and a system thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040036490A Division KR100483025B1 (en) | 2004-05-21 | 2004-05-21 | A method for determining validity of command and a system thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100120892A Division KR101094021B1 (en) | 2010-11-30 | 2010-11-30 | A method for determining validity of command and a system thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050111290A KR20050111290A (en) | 2005-11-24 |
KR101122413B1 true KR101122413B1 (en) | 2012-03-09 |
Family
ID=37286591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040036533A KR101122413B1 (en) | 2004-05-21 | 2004-05-21 | A method for determining validity of command and a system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101122413B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100922862B1 (en) * | 2007-11-14 | 2009-10-20 | 성균관대학교산학협력단 | Security method of system by? encoding instructions |
-
2004
- 2004-05-21 KR KR1020040036533A patent/KR101122413B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20050111290A (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4722927B2 (en) | Method and system for determining validity of instruction word | |
JP4358188B2 (en) | Invalid click detection device in Internet search engine | |
US20150019730A1 (en) | Method for Managing Computer Network Access | |
US20020152262A1 (en) | Method and system for preventing the infringement of intellectual property rights | |
TW201025069A (en) | Method and apparatus for information recovery in using snap shot database | |
US8365241B1 (en) | Method and apparatus for archiving web content based on a policy | |
CN104836781A (en) | Method distinguishing identities of access users, and device | |
US20170013023A1 (en) | System and Method for Tracking and Auditing Data Access in a Network Environment | |
CN111597173A (en) | Data warehouse system | |
JP4025408B2 (en) | User adaptive information distribution system and storage medium recording information distribution program | |
US9843559B2 (en) | Method for determining validity of command and system thereof | |
KR100462829B1 (en) | A method for determining validity of command and a system thereof | |
KR101122413B1 (en) | A method for determining validity of command and a system thereof | |
KR101094021B1 (en) | A method for determining validity of command and a system thereof | |
KR20070117758A (en) | System for relaying the personal information and method for the same | |
KR101137150B1 (en) | A method for determining validity of command and a system thereof | |
KR100810887B1 (en) | System for Relaying the Personal Information and Method for the Same | |
CN113395268A (en) | Online and offline fusion-based web crawler interception method | |
KR102141411B1 (en) | The content based clean cloud systems and method | |
KR20050116546A (en) | A method for determining validity of command and a system thereof | |
KR100777659B1 (en) | Device of detecting invalid use of keyword advertisement | |
KR101976802B1 (en) | A Contents Monitering System For Protection Of Copyright | |
CN111930995B (en) | Data processing method and device | |
CN115718766A (en) | Multi-database data sharing management method, system and storage medium | |
CN117556113A (en) | Crawling data identification method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
A107 | Divisional application of patent | ||
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: 20151223 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170117 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180102 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 9 |