본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[도 1 내지 도 7 설명][Description of FIGS. 1 to 7]
도 1은 본 발명의 제1 실시예에 따른 전자상거래의 불법 거래를 탐지하고 차단할 수 있는 시스템을 개략적으로 도시한 블록도이고, 도 2는 본 발명의 실시예에 따른 수집되는 정보에 대한 종류 및 수집방식 별로 정보의 종류를 분류한 도면이고, 도 3은 본 발명의 실시예에 따른 수집정보 중 VPN 사용 시 원래 공인IP를 획득하는 방안에 대한 기술적 설명을 하기 위한 도면이고, 도 4는 본 발명의 실시예에 따른 실시간 탐지/차단 기술에서의 불법거래에 대한 정책 패턴 및 적용방법과 조치방법에 대한 상세한 표를 나타낸 도면이고, 도 5는 본 발명에 의해 부가적으로 얻을 수 있는 고객 개별 보안서비스인 “전자상거래 전용 PC지정 서비스“ 및 ”해외 IP차단서비스“에 대한 신청 방법과 화면을 설명하기 위해 예시한 도면이며, 도 6은 도 5에 대한 신청절차와 실제 구현되는 시스템에 대한 구체적인 설명을 플로우 차트로 나타낸 도면이고, 도 7은 도 5의 서비스를 제공하기 위한 시스템 구성의 한 예를 나타낸 도면이다.1 is a block diagram schematically illustrating a system capable of detecting and blocking illegal transactions of an electronic commerce according to a first embodiment of the present invention, and FIG. 2 is a diagram illustrating types and types of information collected according to an embodiment of the present invention. FIG. 3 is a diagram illustrating classification of types of information according to a collection method, and FIG. 3 is a view for technical description of a method of obtaining an original public IP when a VPN is used among collection information according to an embodiment of the present invention, and FIG. FIG. 5 is a diagram illustrating a detailed table of a policy pattern, an application method, and a countermeasure method for illegal transactions in a real-time detection / blocking technology according to an embodiment of FIG. 5, and FIG. 5 is a customer individual security service additionally obtained by the present invention. FIG. 6 is a diagram illustrating an application method and a screen for “e-commerce dedicated PC designated service” and “overseas IP blocking service”. FIG. 6 is a view illustrating an application procedure for FIG. FIG. 7 is a flowchart illustrating a detailed description of a system that is actually implemented, and FIG. 7 is a diagram illustrating an example of a system configuration for providing a service of FIG. 5.
도 1을 참조하면, 전자상거래의 불법 거래를 탐지하고 차단할 수 있는 시스템(이하에서는 이해와 설명의 편의를 도모하기 위해 "전자상거래 불법 거래 탐지 및 차단 시스템"이라 칭하기로 함)은, 사용자 단말(100), 전자상거래 웹 서버(200) 및 불법 거래 방지 서버(300)를 포함하여 구성된다.Referring to FIG. 1, a system capable of detecting and blocking illegal transactions of e-commerce (hereinafter referred to as "e-commerce illegal transaction detection and blocking system" for convenience of understanding and explanation) may be referred to as a user terminal ( 100), the e-commerce web server 200 and the illegal transaction prevention server 300 is configured to include.
사용자 단말(100)은 통신망을 통해 전자상거래 웹 서버(200)와 연결되어 해당 전자상거래 웹 서버(200)에서 제공하는 다양한 서비스를 제공받기 위한 장치이다. 여기서, 사용자 단말(100)은 당해 전자상거래 웹 서버(200)에서 제공하는 서비스를 제공받기 위해, 해당 전자상거래 웹 서버(200)로부터 복수의 정보 수집을 위한 적어도 하나의 어플리케이션 설치 파일을 다운로드받아 설치할 수 있다.The user terminal 100 is connected to the e-commerce web server 200 through a communication network to receive a variety of services provided by the e-commerce web server 200. Here, the user terminal 100 downloads and installs at least one application installation file for collecting a plurality of information from the e-commerce web server 200 in order to receive the service provided by the e-commerce web server 200. Can be.
본 명세서에서는 이해와 설명의 편의를 도모하기 위해 해당 사용자 단말(100)이 해당 전자상거래 웹 서버(200)를 통해 정보 수집을 위해 다운로드받아 설치한 어플리케이션을 정보수집 에이전트라 칭하여 설명하기로 한다.In the present specification, for convenience of understanding and explanation, an application downloaded and installed by the user terminal 100 to collect information through the e-commerce web server 200 will be described as an information collection agent.
또한, 사용자 단말(100)은 해당 전자상거래 웹 서버(200)에서 제공하는 다양한 서비스 이용을 위해 적어도 하나의 전용 어플리케이션을 별도로 다운로드받아 당해 사용자 단말(100)상에 설치할 수도 있다. 예를 들어, 전용 어플리케이션은 증권거래를 위한 HTS(Home Trading System)일 수 있다. 물론, 전용 어플리케이션은 이외에도 전자상거래 웹 서버(200)에서 제공하는 특정 서비스 이용을 위해 설치되는 별도의 어플리케이션인 경우 모두 동일하게 적용될 수 있다.In addition, the user terminal 100 may separately download at least one dedicated application for use of various services provided by the e-commerce web server 200 and install it on the user terminal 100. For example, the dedicated application may be a home trading system (HTS) for stock trading. Of course, the dedicated application may be applied in the same manner in addition to the separate application installed for using a specific service provided by the e-commerce web server 200.
또한, 정보 수집 에이전트는 서명방식으로 당해 사용자 단말(100)에 설치되거나 비서명 방식으로 설치될 수도 있다. 물론, 정보 수집 에이전트는 서명방식 및 비서명 방식으로 동시에 사용자 단말(100)에 복수개 설치될 수도 있다. 본 명세서에서는 정보 수집 에이전트가 서명 방식과 비서명 방식 각각으로 복수개 설치되어 있는 것을 가정하기로 한다. 따라서, 본 명세서에서 별도의 설명이 없더라도 정보 수집 에이전트는 서명 방식 및 비서명 방식을 모두 포함하는 것으로 이해되어야 함은 당연하다.In addition, the information collection agent may be installed in the user terminal 100 in a signature manner or may be installed in a non-signature manner. Of course, a plurality of information collection agents may be installed in the user terminal 100 in a signature manner and a non-signature manner at the same time. In this specification, it is assumed that a plurality of information collection agents are installed in each of a signature method and a non-signature method. Therefore, it should be understood that the information collecting agent is understood to include both the signature method and the non-signature method, unless otherwise described herein.
본 명세서에서 서명 방식의 정보 수집 에이전트는 해당 정보 수집 에이전트가 당해 사용자 단말(100)에 설치시, 사용자의 동의하에 해당 사용자 단말(100)상에 설치되어 구동되는 에이전트를 지칭한다. 예를 들어, 서명 방식의 정보 수집 에이전트는 JAVA/FLEX 및 JAVA Applet 등으로 구현될 수 있다.In the present specification, the signature type information collecting agent refers to an agent installed and driven on the user terminal 100 with the consent of the user when the information collecting agent is installed in the user terminal 100. For example, the signature gathering agent may be implemented with JAVA / FLEX and JAVA Applet.
또한, 비서명 방식의 정보 수집 에이전트는 사용자의 동의나 별도의 설치과정 없이 바로 구동할 수 있는 에이전트를 지칭하며, 예를 들어, Flash, MMS, RTSP, simple JAVA Applet, white-night, Ajax 등으로 구현될 수 있다.In addition, the non-signature information collection agent refers to an agent that can be run immediately without the user's consent or separate installation process. For example, Flash, MMS, RTSP, simple JAVA Applet, white-night, Ajax, etc. Can be implemented.
본 명세서에서는 정보 수집 에이전트가 전자상거래 웹 서버를 통해 제공되어 당해 사용자 단말(100)상에 설치되는 것을 가정하여 설명하나, 이외에도 불법 거래 방지 서버(300)에 의해 제어되어 해당 사용자 단말(100)상에 설치될 수도 있음은 당연하다. In the present specification, the information collection agent is provided on the user terminal 100 provided through the e-commerce web server, but will be described on the user terminal 100, in addition to being controlled by the illegal transaction prevention server 300 on the user terminal 100 Of course, it can be installed in.
예를 들어, 사용자 단말(100)이 전자상거래 웹 서버(200)에 최초 접속시, 해당 전자상거래 웹 서버(200)를 통해 설치될 수 있다. For example, when the user terminal 100 accesses the e-commerce web server 200 for the first time, the user terminal 100 may be installed through the e-commerce web server 200.
정보 수집 에이전트는 복수의 수집 채널(channel)을 통해 수집된 정보(이하에서는 이해와 설명의 편의를 도모하기 위해 "단말 수집 정보"라 칭하기로 함)를 전자상거래 웹 서버(200) 및 불법 거래 방지 서버(300)로 각각 전송할 수 있다.The information collection agent collects information collected through a plurality of collection channels (hereinafter referred to as "terminal collection information" for convenience of understanding and explanation) to the e-commerce web server 200 and to prevent illegal transactions. Each server 300 may transmit.
정보 수집 에이전트는 제1 채널을 통해 전자상거래 웹 서버(200)와 연결되어 해당 전자상거래 웹 서버(200)로 수집된 수집 정보를 전송하거나 해당 전자상거래 웹 서버(200)로부터 다양한 서비스를 제공받을 수 있다. 여기서, 제1 채널은 패킷 통신 채널일 수 있다.The information collection agent may be connected to the e-commerce web server 200 through the first channel to transmit collected information to the e-commerce web server 200 or receive various services from the e-commerce web server 200. have. Here, the first channel may be a packet communication channel.
반면, 정보 수집 에이전트는 제2 채널을 통해 불법 거래 방지 서버(300)와 보안 통신을 형성하고, 해당 제2 채널을 통해 해당 사용자 단말(100)의 접속 정보를 전송할 수 있다. 여기서, 제2 채널은 소켓 통신 채널일 수 있다.On the other hand, the information collection agent may form a secure communication with the illegal transaction prevention server 300 through the second channel, and transmit the access information of the corresponding user terminal 100 through the second channel. Here, the second channel may be a socket communication channel.
정보 수집 에이전트는 도 1을 참조하면, 단말 정보 수집 모듈(131), 암호화 모듈(135), 전송 제어 모듈(137)을 포함하여 구성된다.1, the information collecting agent includes a terminal information collecting module 131, an encryption module 135, and a transmission control module 137.
단말 정보 수집 모듈(131)은 당해 사용자 단말(100)에 대한 다양한 정보를 수집하는 기능을 수행한다. 단말 정보 수집 모듈(131)을 통해 수집된 정보가 도 2에 도시되어 있다. 즉, 단말 정보 수집 모듈(131)은 당해 사용자 단말(100)의 불법접근 또는 불법 거래 여부를 판단하기 위해 필요한 다양한 정보들(예를 들어, 접속 정보(전자상거래 웹 서버 접속 일시, 전자상거래 웹 서버 접속 IP 어드레스, VPN client IP 어드레스, VPN gateway IP 어드레스, 프락시 IP 어드레스, 공인 IP 어드레스 등), 이더넷 정보, MAC 정보, 하드웨어 정보, 단말 정보(예를 들어, 전화번호, IMSI, IMEI, USIM 정보 등)일 수 있다. 물론, 단말 정보 수집 모듈(131)에 의해 수집되는 정보는 도 2에 도시된 정보들 이외에도 다른 정보들을 더 포함할 수도 있음은 당연하다.The terminal information collection module 131 performs a function of collecting various information about the user terminal 100. Information collected through the terminal information collection module 131 is illustrated in FIG. 2. That is, the terminal information collection module 131 may include various pieces of information (eg, access information (e-commerce web server access date and time, e-commerce web server) necessary for determining whether the user terminal 100 is illegally accessed or illegally traded. Connection IP Address, VPN Client IP Address, VPN Gateway IP Address, Proxy IP Address, Public IP Address, etc., Ethernet Information, MAC Information, Hardware Information, Terminal Information (e.g. Phone Number, IMSI, IMEI, USIM Information, etc.) Of course, the information collected by the terminal information collection module 131 may further include other information in addition to the information shown in FIG.
암호화 모듈(135)은 단말 정보 수집 모듈(131)에 의해 수집된 수집 정보를 미리 정해진 방법에 따라 암호화하는 기능을 수행한다. 예를 들어, 암호화 모듈(135)은 RSA(Rivest Shamir Adleman), Seed, 3DES(Data Encryption Standard) The encryption module 135 encrypts the collection information collected by the terminal information collection module 131 according to a predetermined method. For example, the encryption module 135 may include the Rivest Shamir Adleman (RSA), Seed, and Data Encryption Standard (3DES).
전송 제어 모듈(137)은 제1 채널 및 제2 채널을 통해 암호화된 수집 정보를 불법 거래 방지 서버(300)로 전송하도록 제어하는 기능을 수행한다.The transmission control module 137 controls to transmit the encrypted collection information to the illegal transaction prevention server 300 through the first channel and the second channel.
예를 들어, 전송 제어 모듈(137)은 제1 채널의 제1 통신 경로를 통해 불법 거래 방지 서버(300)의 통신 상태를 확인하여 통신 상태가 통신 가능 상태(즉, “alive”)이면, 암호화된 수집 정보를 제1 통신 경로를 통해 일괄적으로 불법 거래 방지 서버(300)로 전송하도록 제어할 수 있다.For example, the transmission control module 137 checks the communication state of the illegal transaction prevention server 300 through the first communication path of the first channel, and if the communication state is a communicable state (ie, “alive”), encrypts it. The collected information may be controlled to be transmitted to the illegal transaction prevention server 300 collectively through the first communication path.
또한, 전송 제어 모듈(137)은 불법 거래 방지 서버(300)의 통신 상태가 통신 불가능 상태인 경우(또는 통신 가능 여부가 미확인된 경우), 제2 채널을 통해 암호화된 수집 정보를 전자상거래 웹 서버(200)로 전송한 후, 해당 전자상거래 웹 서버(200)를 통해 불법 거래 방지 서버(300)로 전송하도록 제어할 수 있다.In addition, when the communication state of the illegal transaction prevention server 300 is in a state where communication is impossible (or whether communication is unconfirmed), the transmission control module 137 transmits the collected information encrypted through the second channel to the e-commerce web server. After the transmission to the 200, it may be controlled to transmit to the illegal transaction prevention server 300 through the e-commerce web server 200.
제2 채널은 사용자 단말(100)상에 설치된 웹 브라우저 또는 특정 어플리케이션(앱)과 전자상거래 웹 서버(200)간의 연결을 위한 패킷 통신 통로로, 항상 통신이 가능하지만, 제1 채널은 사용자 단말(100)이 속한 네트워크 환경(예를 들어, 방화벽 설정 등)에 따라 통신이 불가능할 수도 있다. The second channel is a packet communication path for connection between a web browser or a specific application (app) installed on the user terminal 100 and the e-commerce web server 200, and communication is always possible, but the first channel is a user terminal ( Communication may not be possible depending on the network environment (for example, firewall setting, etc.) to which 100) belongs.
이와 같은 이유에도 불구하고, 제1 채널을 통해 우선 암호화된 수집 정보를 전송하는 이유는 다음과 같다.Despite this reason, the reason why the encrypted collection information is first transmitted through the first channel is as follows.
첫째, 사용자 단말(100)의 브라우저를 통해 프락시 서버를 사용하여 접속 경로를 우회하여 접속하더라도 소켓 통신 특성상 원래의 공인 IP 어드레스를 파악할 수 있다.First, even if a user accesses the connection path by using a proxy server through a browser of the user terminal 100, the original public IP address may be determined due to the characteristics of the socket communication.
둘째, 제2 채널을 통해 전자상거래 웹 서버(200)로 전송하는 데이터가 줄어들어 결과적으로 전자상거래 웹 서버(200)의 부하를 줄일 수 있는 이점이 있다.Second, the data transmitted to the e-commerce web server 200 through the second channel is reduced, and as a result, the load of the e-commerce web server 200 may be reduced.
본 발명의 일실시예에 따른 전자상거래웹서버(200)에는 로그인 및 계좌이체 등 주요 정보를 제공하고 수정할 수 있는 정보페이지를 제공하는 웹서비스부(210), 웹서버/WAS/DBMS 등의 인프라 제공 기능을 수행하는 서버프레임워크(220)와 본 발명의 일실시예에 따른 보안정책을 위하여 전자상거래서버 전용 또는 웹서버(200)(이하, 전자상거래웹서버 라 한다) 내에서 수집정보를 실시간 연동하고 처리하는 수집처리 및 차단정보 수신부(250)가 포함된다.An e-commerce web server 200 according to an embodiment of the present invention includes an infrastructure such as a web service unit 210, a web server / WAS / DBMS, etc. that provides an information page for providing and modifying main information such as login and account transfer. The server framework 220 performing the providing function and the collected information in the e-commerce server dedicated or web server 200 (hereinafter referred to as the e-commerce web server) for the security policy according to an embodiment of the present invention in real time Collection processing and blocking information receiving unit 250 for interlocking and processing is included.
상기 수집처리 및 차단정보 수신부(250)는 사용자 단말(100) 내 정보수집 에이전트를 통제하는 명령 Set 파일로 이뤄진 수집처리명령부(251), 수집된 정보를 실시간 다채널 수집정보 송수신부(340)로 전송하고 실시간 수집정보분석 및 정책 탐지/차단부(350)로부터 차단 정보를 수신하는 기능을 수행하는 수집/차단정보 송수신부(252), 그리고 실시간 수집정보분석 및 정책 탐지/차단부(500)에서 관리되는 정책 데이터를 자체 정책DB에 동기화하여 저장하는 기능을 수행하는 탐지차단정책 및 Key저장부(253)를 포함한다.The collection processing and blocking information receiving unit 250 is a collection processing command unit 251 consisting of a command set file for controlling the information collection agent in the user terminal 100, the real-time multi-channel collection information transmission and reception unit 340 The collection / blocking information transmitting / receiving unit 252, which performs the function of transmitting and receiving the blocking information from the real-time collecting information analysis and policy detection / blocking unit 350, and the real-time collection information analysis and policy detecting / blocking unit 500 The detection block policy and key storage unit 253 performs a function of synchronizing and storing the policy data managed in the own policy DB.
본 발명의 일실시예에 따른 불법거래방지서버(300)는 실시간 다채널 수집정보 송수신부(340)와 실시간 수집정보분석 및 정책 탐지/차단부(수집정보 분석 및 차단부 350)를 포함한다.Illegal transaction prevention server 300 according to an embodiment of the present invention includes a real-time multi-channel collection information transmission and reception unit 340 and a real-time collection information analysis and policy detection / blocking unit (collection information analysis and blocking unit 350).
수집정보 분석 및 차단부(350)에서는 수집된 정보를 로그 및 정책 데이터베이스에 저장하고 상기 데이터베이스의 정책데이터와 비교하여 차단 여부를 판단하는 수단을 포함한다.The collected information analysis and blocking unit 350 includes means for storing the collected information in a log and policy database and comparing the policy data with the policy data of the database to determine whether to block.
본 발명의 일실시예에 따른 실시간 다채널 수집정보 송수신부(340)에는 A Channel(190) 및 수집처리 및 차단정보 수신부(250)로부터의 수많은 정보를 유실되지 않도록 수신 처리하는 기능을 수행하는 다채널 수집정보 통합송수신부(341), 정보를 암호화 하고 수신된 정보를 복호화하는 수집정보 암/복호화부(342), 관리자가 수집정보를 모니터하고 관리할 수 있는 관리자 User I/F(343)를 포함한다.The real-time multi-channel collection information transmitting and receiving unit 340 according to an embodiment of the present invention performs a function of receiving processing so as not to lose a lot of information from the A Channel 190 and the collection processing and blocking information receiving unit 250. The channel collection information integrated transmission and reception unit 341, the collection information encryption / decryption unit 342 for encrypting the information and decrypting the received information, and the administrator user I / F 343 for the administrator to monitor and manage the collection information. Include.
또한, 실시간 수집정보분석 및 정책 탐지/차단부(350)는 여러 개의 실시간 다채널 수집정보 송수신부(340)로부터의 정보를 수신하여 취합하는 기능을 수행하는 통합정보 실시간 취합부(351), 수신된 정보를 분석하여 탐지나 차단 여부를 결정하는 기능을 수행하는 유저단말 정책 판단 및 실행부(352), 수집정보 및 정책 관련 정보를 저장하는 실시간 로그 및 정책데이터베이스(353), 그리고 관리자가 정보 수집 및 분석 결과를 모니터할 수 있는 관리자 User I/F(354)을 포함한다.In addition, the real-time collection information analysis and policy detection / blocking unit 350 receives the information from a plurality of real-time multi-channel collection information transmission and reception unit 340 to perform the function of collecting and collecting the integrated information real-time collecting unit 351, User terminal policy decision and execution unit 352 that analyzes the detected information to determine whether to detect or block, a real-time log and policy database 353 that stores collected information and policy-related information, and the administrator collects the information. And an administrator User I / F 354 that can monitor the analysis results.
실시간 다채널 수집정보 송수신부(340)에게서 수집된 정보는 실시간 수집정보 분석 및 정책 탐지/차단부(350)로 즉시 전송되어 무결성(integrity)이 유지된 수집정보를 저장함과 동시에 필요한 정책적용 처리를 실시한 후 정책에 의해 판단된 내용을 전자상거래웹서버(200)에 전송하여 유저단말에 의한 거래 시도 시에 탐지/차단 처리를 실시간으로 처리할 수 있게 한다.The information collected from the real-time multichannel collection information transmission / reception unit 340 is immediately transmitted to the real-time collection information analysis and policy detection / blocking unit 350 to store the collection information in which integrity is maintained, and simultaneously perform necessary policy application processing. After implementation, the content determined by the policy is transmitted to the e-commerce web server 200 so that the detection / blocking process can be processed in real time when a transaction is attempted by the user terminal.
본 발명의 일실시예에 따른 “전자상거래 불법거래 차단 방법 및 시스템”은 기존 전자상거래웹서버와는 별도로 독립된 시스템으로 구성할 수 있는 형태이므로 실시간으로 일어나는 정보저장과 정책처리 시 발생할 수 있는 모든 부하는 기존 전자상거래웹서버에 거의 영향을 미치지 않기 때문에 (즉 기존 전자상거래웹서버에 미치는 추가 부하가 최소화됨으로) 기존 서비스이용자나 서비스제공자 모두가 만족하는 발명임에 분명하다."E-commerce illegal transaction blocking method and system" according to an embodiment of the present invention is a form that can be configured as a system independent from the existing e-commerce web server, so that any load that may occur during information storage and policy processing that occurs in real time It is clear that the invention is satisfactory for both existing service users and service providers because it has little effect on the existing e-commerce web server (ie, the additional load on the existing e-commerce web server is minimized).
본 발명의 일실시예에 따른 각 구성 요소의 동작과 각 요소 간 상호 작용을 상세히 설명하면, 사용자 단말(100)이 전자상거래를 목적으로 웹 접속용 웹브라우저(110)나 거래전용 단말설치프로그램(120)(예: 증권HTS, Home Trading System) 또는 두 가지를 다 사용하여 전자상거래웹서버(200)에 접속하게 된다. 이때 전자상거래웹서버(200)의 응답용 웹페이지에는 수집처리명령부(251)에 해당하는 스크립트(JavaScript) 파일 및 명령이 포함되어 있는데 브라우저(110)가 이 명령을 실행함에 따라 Agent를 설치하고 정보를 수집하며 수집 정보를 전송하게 된다. Referring to the operation of each component and the interaction between each component according to an embodiment of the present invention in detail, the user terminal 100 is a web browser for web access 110 or a dedicated terminal installation program for the purpose of electronic commerce ( 120) (eg, HTS, Home Trading System) or both to access the e-commerce web server 200. In this case, the response web page of the e-commerce web server 200 includes a script (JavaScript) file and a command corresponding to the collection processing command unit 251. The browser 110 executes this command to install the agent. It collects information and transmits collected information.
또한, 이 명령 스크립트에는 여러 가지 중요한 정보도 포함되어 있는데 예를 들면 Agent 컴포넌트를 지칭하는 고유번호인 Class ID, Agent 설치 파일의 경로, Agent의 버전, 수집정보를 전송할 서버의 주소인 제1 수집어드레스, 1차 통신 실패 시 재전송할 서버의 주소인 제2수집어드레스 정보 등이 있다. The command script also contains a variety of important information, such as the Class ID, which is a unique number that refers to the Agent component, the path of the Agent installation file, the version of the Agent, and the first collection address, which is the address of the server to which to collect the collected information. For example, second collection address information, which is an address of a server to be resent when a primary communication fails.
우선 Agent 사용준비 명령에 의해 브라우저는 사용자 단말(100)에 설치되어 있는 Agent를 확인하는데 만일 Agent가 미설치되었거나 설치되었더라도 버전이 명령에서 지정한 버전보다 낮은 경우에는 새 Agent를 다운받아 설치하여 정보수집 에이전트를 사용준비 상태로 만든다. (설치 시 사용자의 동의를 구하는지 여부에 따라 서명 방식 및 비서명 방식 Agent로 분류된다.) 이렇게 정보수집 에이전트의 사용 준비가 완료되면 브라우저는 후속 스크립트 명령을 실행하여 이 Agent에게 구동 명령을 내림으로써 사용자 단말(100)의 정보를 수집하고 이를 단말정보 암호화 모듈(135)에서 암호화한 후 단말정보 전송제어부(137)에 의해 수집정보의 전송을 시작하게 만든다. 이때 수집된 정보의 종류는 도 2와 같다.First of all, the Agent checks the Agent installed in the user terminal 100 by using the Agent Ready command. If the version is lower than the version specified by the command even if the Agent is not installed or installed, the new Agent is downloaded and installed to collect the information gathering agent. Make it ready for use. (It is classified as either signed or non-signed agent based on whether the user asks for the user's consent at the time of installation.) When the information gathering agent is ready for use, the browser executes a subsequent script command to give this agent a run command. After collecting information of the user terminal 100 and encrypting it in the terminal information encryption module 135, the terminal information transmission control unit 137 starts the transmission of the collected information. At this time, the type of information collected is shown in FIG. 2.
본 발명의 일실시예에서는 전자상거래웹서버(200)에 사용자 단말(100)이 전자상거래를 목적으로 접속(예를 들면 로그인, 구매결제, 계좌이체, 게시판, 공인인증서 재발급 화면 등) 하면 전자상거래웹서버(200)가 웹서비스 서버 형태일 경우, 웹서비스부(210)로부터 화면이 제공되고 동시에 수집처리 명령부(251)로부터 명령 스크립트가 제공되도록 구성하고 사용자 단말(100) 내에서 해당 명령어들이 실행됨에 따라 정보수집 에이전트가 설치 및 구동된다.In an embodiment of the present invention, if the user terminal 100 is connected to the e-commerce web server 200 for the purpose of e-commerce (for example, login, payment, account transfer, bulletin board, recertification screen, etc.) When the web server 200 is in the form of a web service server, a screen is provided from the web service unit 210 and a command script is provided from the collection processing command unit 251 at the same time, and the corresponding commands in the user terminal 100 are configured. As it runs, the information gathering agent is installed and running.
수집처리 명령부(251)는 사용자 단말(100) 내의 접속 웹 브라우저(110)에서 실행하게 될 스크립트 파일 및 명령어들로 구성된다.The collection processing command unit 251 is composed of a script file and instructions to be executed in the access web browser 110 in the user terminal 100.
본 발명의 일실시예에서는 수집/차단정보 송수신부(252)는 B channel(191)를 통해 수집경로(193, 194)로 전송된 수집정보에 대해 즉시 실시간 다채널 수집정보 송수신부(340)로 전송한다. In an embodiment of the present invention, the collection / blocking information transmitting / receiving unit 252 immediately transmits the real-time multichannel collection information transmitting / receiving unit 340 with respect to the collection information transmitted through the B channel 191 to the collecting paths 193 and 194. send.
이때 수집처리 및 차단정보 수신부(250)를 포함하고 있는 전자상거래 웹서버(200)와 실시간 다채널 수집정보 송수신부(340) 간의 네트워크 간에 암호화가 필요할 경우 (이 구간은 모두 업체의 내부망이므로 통상 암호화는 하지 않지만 업체의 정책에 따라 암호화를 하기도 함), 앞서 설명한 바와 같이 동일하게 암복호화 처리를 하도록 작동한다.At this time, if encryption is required between the network between the e-commerce web server 200 including the collection processing and blocking information receiving unit 250 and the real-time multi-channel collection information transmitting and receiving unit 340 (this section is all the internal network of the company usually It does not encrypt it, but also encrypts it according to the company's policy.) As described above, the encryption and decryption process works.
본 발명의 일실시예에 따른 탐지차단정책 및 KEY 저장부(253)는 실시간 정책패턴 등록 DB 및 단말통합정보저장부(353)를 포함하고 있는 실시간 수집정보분석 및 정책 탐지/차단부(350) 장비까지의 네트워크나 해당 HW서버에 장애가 발생하거나 프로세스가 동작하지 않을 경우를 대비하여(원활한 전자상거래 서비스를 무장애로 제공하기 위해) 실시간 정책 패턴 등록 DB 및 단말통합정보저장부(353)에서 제공하는 중요 정책 데이터베이스(도 4 참조) 중 하나 또는 그 이상의 정책 패턴을 변경과 동시에 동기화하도록 되어 있다.The detection blocking policy and the KEY storage unit 253 according to an embodiment of the present invention includes a real-time policy pattern registration DB and the terminal integrated information storage unit 353, real-time collection information analysis and policy detection / blocking unit 350 Provided by the real-time policy pattern registration DB and the terminal integrated information storage unit 353 in order to provide a seamless e-commerce service with no obstacles (in order to provide a seamless e-commerce service without failure) in case the network to the equipment or the corresponding HW server fails. Synchronize one or more policy patterns of the critical policy database (see FIG. 4) with the change.
따라서 실시간 수집정보분석 및 정책 탐지/차단부(350)의 장애와 무관하게 불법거래 실시간 차단 서비스를 제공할 수 있다.Therefore, the real-time collection information analysis and policy detection / blocking unit 350 can provide a real-time blocking services illegal transactions.
예를 들어 해외IP차단 서비스의 경우, 이 서비스를 신청한 사용자의 ID와 국내 IP 대역 정보 등이 실시간 정책 패턴 등록 DB 및 단말통합정보저장부(353)에 저장되어 있고 수시로 갱신되는데 이 정보를 탐지차단정책 및 KEY 저장부(253)에 항상 동기화함으로써 실시간 수집정보분석 및 정책 탐지/차단부(350)에 장애가 발생하더라도 수집/차단정보 송수신부(252)에서 단독으로 차단 여부를 판단할 수 있게 된다.For example, in the case of the overseas IP blocking service, the ID of the user who applied for the service and the domestic IP band information are stored in the real-time policy pattern registration DB and the terminal integrated information storage unit 353 and updated from time to time. By always synchronizing to the blocking policy and KEY storage unit 253, even if a failure occurs in the real-time collection information analysis and policy detection / blocking unit 350, it is possible to determine whether to block alone in the collection / blocking information transmission and reception unit 252. .
본 발명의 일실시예에서는 실시간 다채널 수집정보 송수신부(340)는 사용자 단말(100)로부터 2개의 channel과 3개의 통신경로로 전송된 모든 수집정보를 실시간으로 고속 복호화하도록 구성하였고, 복호화된 정보가 실시간 수집정보 분석 및 정책 탐지/차단부(350)로 전송되면 거기서 하나의 수집정보(Record)로 통합 되도록 구성된다.In one embodiment of the present invention, the real-time multi-channel collection information transmitting and receiving unit 340 is configured to decode in real time all the collection information transmitted in the two channels and three communication paths from the user terminal 100, the decoded information When the real-time collection information analysis and policy detection / blocking unit 350 is transmitted there is configured to be integrated into one collection information (Record).
본 발명의 일실시예에서는 초당 수집되는 정보의 양이 점진적으로 많아지거나 폭증을 할 경우를 대비하여 실시간 다채널 수집정보 송수신부(340)와 실시간 수집정보 분석 및 정책 탐지/차단부(350) 각 각의 모듈을 별도의 H/W 서버에 분리 운영할 수도 있으며, 실시간 다채널 수집정보 송수신부(340)를 이중 또는 삼중화 할 수 있도록 큐(Queue) 기능을 가진 모듈로 통합정보 실시간 취합부(351)가 포함된다.In one embodiment of the present invention, the real-time multi-channel collection information transmission and reception unit 340 and the real-time collection information analysis and policy detection / blocking unit 350 in case the amount of information collected per second is gradually increased or exploded Each module can be separated and operated in a separate H / W server, and the integrated information real-time collecting unit as a module having a Queue function to double or triple the real-time multi-channel collection information transmission / reception unit 340 ( 351).
통합정보 실시간 취합부(351)는 FIFO(First-In-First-Out) 데이터 구조를 가진 큐(Queue)를 사용함으로써 여러 개의 실시간 다채널 수집정보 송수신부(340)가 동시에 전송하는 정보를 혼동 없이 수신하여 차례로 후속 처리할 수 있게 해준다. FIFO Queue를 사용함으로써 여러 개의 실시간 다채널 수집정보 송수신부(340)가 동시에 정보를 전송하거나 전체적으로 정보 전송량이 폭증하는 경우에도 수신/처리 측이 다운 되거나 일부 정보라도 유실하는 경우 없이 처리할 수 있게 된다.The integrated information real-time collector 351 uses a queue having a FIFO (First-In-First-Out) data structure so that multiple real-time multichannel collection information transceivers 340 simultaneously transmit information without confusion. Receive and in turn allow subsequent processing. By using the FIFO queue, even if multiple real-time multi-channel acquisition information transmission / reception units 340 simultaneously transmit information or the total amount of information transmission is exploding, the receiving / processing side can be processed without losing information or even losing some information. .
유저단말정책 판단 및 실행부(352)는 실시간 정책 결정부와 실시간 탐지/차단 정책 실행부로 구분하였고, 도 4에 도시된 바와 같은 최초 수집된 정보를 실시간 정책 패턴 등록 DB(353)에 따라 비교 분석 판단하도록 실시간 정책 결정부 모듈을 구성하였다.The user terminal policy determination and execution unit 352 is divided into a real time policy determination unit and a real time detection / blocking policy execution unit, and comparatively analyzes the first collected information as shown in FIG. 4 according to the real time policy pattern registration DB 353. The real-time policy decision unit module is configured to judge.
실시간 정책 결정부 모듈에서 비교, 판단된 값은 실시간 탐지/차단 정책 실행부에 의해 해당 Event log를 DB에 저장하고, 정책을 자동 차단으로 설정하였을 경우엔 수집/차단정보 송수신부(252)를 통해 웹서비스부(210)에서 실시간으로 즉시 차단이 이루어지도록 하였으며, 정책을 자동탐지로 설정하였을 경우에는 시스템관리자 User Interface(343, 354)를 통해 관리자에게 SMS, 이메일, 관리시스템 화면 등으로 통보하도록 구성하였다. Compared and determined by the real-time policy determination module, the corresponding event log is stored in the DB by the real-time detection / blocking policy execution unit, and when the policy is set to automatic blocking, the collection / blocking information transmission / reception unit 252 is used. The web service unit 210 was immediately blocked in real time, and if the policy is set to automatic detection, it is configured to notify the administrator by SMS, email, management system screen, etc. through the system administrator user interface (343, 354). It was.
실시간 차단이 가능하게 하려면 사용자 단말(100)이 전자상거래를 목적으로 전자상거래웹서버(200)의 중요 화면에 접속하는 순간부터 웹서비스부(210)에서 차단이 이루어지기까지 수초 (예: 1~3초) 이내에 처리할 수 있어야 한다. 이를 위해서는 통상적인 처리 시간을 대폭 단축하는 기술이 필요하다.To enable real-time blocking, a few seconds from the moment the user terminal 100 accesses the important screen of the e-commerce web server 200 for the purpose of electronic commerce, until the blocking is made in the web service unit 210 (for example, 1 ~ 1). Must be able to process within 3 seconds). This requires a technique that significantly shortens the typical processing time.
본 발명의 일실시예에서는 다음과 같은 세가지 방법을 사용하도록 구성하였다. In one embodiment of the present invention was configured to use the following three methods.
첫째, 추가 조사 없이도 원래 공인 IP의 파악이 가능한 경우를 구분하여 신속히 처리하도록 구성하였다. First, it is possible to classify cases where the original public IP can be identified without further investigation and to deal with them quickly.
기존에는 사용자 단말(100)의 IP 우회 가능성 때문에 공인 IP를 파악하기 위해서 A channel(190) 정보를 기다렸는데, A channel(190)은 사용자 단말(100)이 속한 네트워크의 상태에 따라 전송 속도가 불안정하여 시간이 걸리거나 통신 자체가 불가능한 경우도 있다는 문제가 있었다. Conventionally, the A channel 190 waited for information about the public IP due to the possibility of IP detour of the user terminal 100, and the A channel 190 has an unstable transmission speed depending on the state of the network to which the user terminal 100 belongs. There was a problem that sometimes takes time or communication itself is impossible.
그러나 본 발명에서는 사용자 단말(100)이 Proxy나 VPN 등의 IP 우회 기법을 사용하지 않았음을 정보수집 에이전트에서 미리 확인한 경우에는 (Proxy 사용 여부를 확인하기 위해서는 OS Registry를 확인하고, VPN 사용 여부를 확인하기 위해서는 PC의 통신용 Adapter 장치의 Description에 TAP, VPN, LZIP, SOCKv5 등의 특정 문자열이 포함되어 있는지 확인한다.) 차단 여부 판단에 우선적으로 필요한 정보(예: 공인IP, 사용자ID, MAC 주소 등)를 B channel(191)의 No.2 수집경로(193)를 통하여 수집처리 및 차단정보 수신부(250)로 전송한다.However, in the present invention, when the information collecting agent confirms in advance that the user terminal 100 does not use an IP bypassing technique such as a proxy or a VPN (to check whether the proxy is used, check the OS registry and determine whether to use the VPN). To check, check if the description of the PC communication adapter device includes a specific string such as TAP, VPN, LZIP, SOCKv5, etc.) Priority information necessary for blocking or not (eg public IP, user ID, MAC address, etc.) ) Is transmitted to the collection processing and blocking information receiver 250 through the No. 2 collection path 193 of the B channel 191.
이 후 실시간 다채널 수집정보 송수신부(340)를 거쳐 실시간 수집정보 분석 및 정책 탐지/차단부(350)에서 나머지 정보(No.1(192) 또는 No.3(194))와의 통합을 위한 기다림 없이 바로 단독 분석함으로써 차단 여부 판단을 신속히 수행할 수 있도록 구성하였다.After the real-time multi-channel collection information transmission and reception unit 340, the real-time collection information analysis and policy detection / blocking unit 350 waits for integration with the remaining information (No. 1 (192) or No. 3 (194)) It is configured to be able to quickly determine whether to block or not by analyzing alone.
Proxy, VPN 등 우회접속 비율이 평균 0.5% 수준이므로 이 발명으로 인해 99.5%의 거래는 불안정한 A channel(190)의 영향을 받지 않고 즉시 실시간 차단을 할 수 있게 된 것이다. Since the detour access rate such as proxy and VPN is about 0.5% on average, this invention allows 99.5% of transactions to be immediately blocked in real time without being affected by unstable A channel 190.
둘째, 단말정보 전송제어부(137)에서 수집정보를 A channel(190)의 No.1 수집경로(192)와 B channel(191)의 No.2 수집경로(193)를 통하여 서버로 보낼 때 비동기 통신(Asynchronous I/O, 또는 Non-Blocking I/O) 방식을 사용함으로써 통신 대기 시간을 없애도록 구성하였다. Second, when the terminal information transmission control unit 137 sends the collected information to the server through the No.1 collection path 192 of the A channel 190 and the No.2 collection path 193 of the B channel 191 to asynchronous communication. By using the Asynchronous I / O or Non-Blocking I / O method, the communication latency is eliminated.
동기 통신 방식은 통신 요청의 수행이 끝날 때까지 아무 작업도 하지 않고 기다리는 방식으로, 구현이 용이하나 여러 가지 통신이 병행되는 상황에서는 차례대로 진행되므로 시간이 많이 소요된다. The synchronous communication method is a method of waiting without performing any work until the completion of a communication request. The synchronous communication method is easy to implement, but it takes a lot of time because the communication proceeds in sequence in a situation where various communication is performed in parallel.
그러나 비동기 통신 방식은 통신 요청 후 그 수행이 끝나기도 전에 후속 작업을 수행하는 방식으로, 여러 작업을 동시에 빨리 수행할 수 있으나 구현의 난이도가 높다.However, the asynchronous communication method is a method of performing a subsequent task after a communication request and even before the execution is completed. Although a plurality of tasks can be performed quickly at the same time, the difficulty of implementation is high.
셋째, 차단 여부 판단에 필요한 정보(예: 설정된 정책, 국가별 IP 대역 표, 차단 여부 Flag 등)는 메인 메모리(주기억장치)에 저장하여 사용함으로써 접속자 폭주 시에도 고속 처리가 가능하도록 구성하였다. Third, information necessary for determining whether to block (eg, set policy, country IP band table, blocking flag, etc.) is stored and used in main memory (main memory) to enable high-speed processing even when the visitor is congested.
이와 같이 고속으로 조회 및 생성/삭제가 가능하도록 메모리에 해쉬 테이블(Hash Table)을 사용함으로써, 데이터베이스나 파일 등의 디스크 I/O를 수반하는 방식보다 월등히 빠른 응답을 할 수 있도록 구성하였다. In this way, by using a hash table in memory to be able to search and create / delete at high speed, it is configured to respond much faster than the method involving disk I / O such as database or file.
또한, 메모리 사용량이 너무 커지는 것을 방지하기 위해 주기적으로 (40초 마다 점검 실행) 불필요한 정보를 삭제하도록 구성하였다. In addition, in order to prevent the memory usage from becoming too large, it is configured to delete unnecessary information periodically (period of checking every 40 seconds).
본 발명의 일실시예에서와 같이 효율적으로 메모리를 활용하는 것에 의하여 저렴한 인텔 서버를 사용해도 초당 200~300건을 처리할 수 있는 구조가 가능한 효과를 얻게 된다.By utilizing the memory efficiently, as in the embodiment of the present invention, even if a low-cost Intel server is used, a structure capable of processing 200 to 300 cases per second can be obtained.
정교한 정책에 의해 신속하게 실시간 탐지/차단을 수행한다고 해도 사용자 단말(100)의 우회나 변조 공격을 막지 못하면 헛수고가 되고 말 것이다. 우선 공인IP 주소를 변조하기 위해 사용되는 모든 우회 방식(Proxy, VPN, 원격접속 등)에 대비하여 사용자 단말(100)의 원래 공인 IP 주소를 획득하여 정책 판단 시 사용하도록 구성하였다. Even if the real-time detection / blocking is performed quickly by a sophisticated policy, it will be in vain if the user terminal 100 does not prevent the bypass or the tampering attack. First of all, in preparation for all bypass methods (Proxy, VPN, remote access, etc.) used to modulate the public IP address, the original public IP address of the user terminal 100 was obtained and configured to be used for policy determination.
또한, 사용자 단말(100)의 MAC 주소도 손쉽게 변조가 가능함을 감안하여 MAC 주소 정보를 수집할 때에는 변조 여부 및 원래 MAC 주소 정보를 수집하여 정책 판단 시 사용하도록 구성하였다. In addition, since the MAC address of the user terminal 100 can be easily modulated, when collecting MAC address information, the MAC address is collected and used to determine the original MAC address information.
이로써 불법거래자가 자신의 정보를 숨기거나 회피하여 전자상거래 웹서버(200)에 접속할 수 있는 방법을 원천적으로 방지할 수 있게 된다. As a result, a method for preventing illegal traders from accessing the electronic commerce web server 200 by hiding or avoiding their information can be prevented at the source.
상술한 우회 방식 중 VPN(Virtual Private Network, 가상사설망)은 모든 전자상거래상의 가장 위협적인 IP우회 기술 중 하나인데 VPN Gateway 서버(도면 3)가 제공하는 터널링 기능을 이용하여 사용자 단말(100)의 원래IP를 숨길 수 있어서 (전자상거래웹서버(200)는 VPN Gateway의 IP만을 알 수 있음) 악의적으로 사용되는 경우가 많다. 이러한 VPN 구현 방식은 다양하여 PPTP, GRE, L2TP, SSL VPN 등의 프로토콜이 사용된다.VPN (Virtual Private Network) is one of the most threatening IP bypass technologies in all e-commerce, and the original method of the user terminal 100 using the tunneling function provided by the VPN gateway server (Fig. 3). Since the IP can be hidden (the e-commerce web server 200 can only know the IP of the VPN gateway), it is often used maliciously. These VPN implementations are diverse, and protocols such as PPTP, GRE, L2TP, and SSL VPN are used.
도 3에서 유저단말이 VPN Driver를 통하여 접속을 하게 되면(410), 정보수집 에이전트에서 플러그인 구동명령으로 수집된 정보도 도 3에 도시된 바와 같이 VPN Driver를 통하여 우회하여(430) 불법거래방지서버(300)에 정보를 전송하게 된다.When the user terminal is connected to the VPN driver in FIG. 3 (410), the information collected by the plug-in driving command from the information collection agent is also bypassed through the VPN driver as shown in FIG. 3 (430). Information is sent to 300.
본 발명의 일실시예에서는 A channel(190) 통신을 실시한 후 사용자 단말(100) 내 활성 연결(Active Connection)된 통신용 Adapter 장치의 Description에 상기의 프로토콜 명칭(PPTP, GRE, L2TP, SSL VPN 등) 중 하나라도 포함되어 있으면 VPN 우회 접속 가능자라고 판단한다.In one embodiment of the present invention, after performing the A channel 190 communication, the protocol name (PPTP, GRE, L2TP, SSL VPN, etc.) described above in the description of the communication adapter for active connection in the user terminal 100. If any of these are included, it is determined that a VPN bypass connection is possible.
도 3에서 수집된 정보가 VPN드라이버를 거쳐서 우회하여 불법거래방지서버(300)로 전송된 경우(420)에는 다음과 같이 통신 경로를 바꿔 도 3에 도시된 바와 같이 원래의 ethernet Driver로 A channel(190) 통신을 한번 더 실시함(430)으로써 원래의 공인IP를 획득하도록 하였다.When the information collected in FIG. 3 is bypassed through the VPN driver and transmitted to the illegal transaction prevention server 300 (420), the communication channel is changed as follows, and as shown in FIG. 190) by performing the communication once more (430) to obtain the original public IP.
즉, 정보수집 에이전트에서 해당 사용자 단말(100)이 현재 사용 중인(즉, 외부 VPN Gateway에 연결된) 네트워크 드라이버 외에 VPN 사용 전에 원래 사용하던 네트워크 드라이버를 찾아낸 후 (GetAdaptersInfo 함수를 사용하여 IP_ADAPTER_INFO 구조체로 구성된 어댑터들의 정보를 획득하고 이 어댑터들 중 사설IP와 게이트웨이IP 둘 다 존재하는 어댑터를 찾음) 이를 선택하고, 상기 드라이버 인터페이스로 A channel(190)통신을 한번 더 수행(420)함으로써 실시간 다채널 수집정보 송수신부(400)에서 VPN 우회 후와 우회 전의 공인 IP 주소를 모두 수집할 수 있는 절차(도 3 참조)를 수행하도록 하였다.That is, the information gathering agent finds the network driver that was originally used before the VPN in addition to the network driver that the user terminal 100 is currently using (i.e., connected to the external VPN gateway), and then uses the GetAdaptersInfo function to configure the IP_ADAPTER_INFO structure. Information of the adapters and finds one of the adapters that has both a private IP and a gateway IP) and selects and transmits the real-time multi-channel collection information by performing the A channel 190 communication once more with the driver interface (420). Part 400 is to perform a procedure (see Figure 3) to collect both the public IP address after the VPN bypass and before the bypass.
이때 브라우저와 웹서버 간 통신에 사용 중인 VPN 드라이버와는 별도로 원래의 네트워크 드라이버로 통신을 하기 위해서는 Agent가 사용자 단말(100)의 Routing Table(네트워크 통신 경로를 정의한 목록)을 임시로 변경하는 기법을 사용하는데, 이로 인해 전에는 VPN 드라이버로 나가던 외부 인터넷 통신이 도 3의 소켓통신으로 원래의 네트워크 드라이버로 나가도록 경로를 바꾸게 되며(430), 바로 이 경로를 통해 실시간 다채널 수집정보 송수신부(340)에서 수집된 공인 IP가 우회하기 전의 원래 공인 IP인 것이다.In this case, in order to communicate with the original network driver separately from the VPN driver used for communication between the browser and the web server, the agent uses a technique of temporarily changing the routing table (list defining network communication paths) of the user terminal 100. This causes the external Internet communication, which previously went out with the VPN driver, to be changed to the original network driver with the socket communication of FIG. 3 (430), and in this real-time multi-channel collection information transmission / reception unit 340 through this path. The collected public IP is the original public IP before bypass.
또 다른 IP 우회 방식인 Proxy 사용 시에도 다음의 절차로 원래 공인 IP를 획득할 수 있다. When using Proxy, another IP bypass method, the original public IP can be obtained by the following procedure.
먼저, 정보수집 에이전트가 사용자 단말(100)의 OS 설정 정보를 담고 있는 레지스트리(Registry)를 조회하여 브라우저에 Proxy 세팅이 되었는지 1차로 판단한다. 이때 Proxy 세팅이 되었으면 2차로 A channel(190) 통신을 사용하여 실시간 다채널 수집정보 송수신부(400)에서 원래의 공인IP를 획득할 수 있다.First, the information gathering agent queries the registry containing OS setting information of the user terminal 100 to determine whether the proxy setting is made in the browser. In this case, if the proxy setting is made, the original public IP may be obtained from the real-time multichannel collection information transmission / reception unit 400 using the A channel 190 communication.
Agent가 원격접속을 이용하여 우회했는지 여부를 판단하기 위해서는 사용자 단말(100)의 특정 레지스트리(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp)에서 포트 번호를 확인한 후 GetTcpTable 함수를 사용하여 이 포트의 상태 정보를 얻어오는데 만일 이 포트가 열려있으면 원격접속 중임을 알 수 있다. MAC 변조 여부 및 원래 MAC 주소를 획득하기 위해서는 레지스트리 중 해당 NIC(Network Interface Card) 부분을 참조한다.To determine whether the Agent bypasses the remote connection, check the port number in the specific registry (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp) of the user terminal 100 and then use the GetTcpTable function. You can get status information of this port by using. If this port is open, you can see that you are connected remotely. Refer to the network interface card (NIC) part of the registry to determine whether the MAC has been modified and the original MAC address.
상술한 본 발명의 일실시예에 따른 전자상거래 불법거래에 대한 실시간 탐지와 차단을 지원하는 시스템은 현 웹서비스 구조나 클라이언트-서버 구조 등의 어떤 구조에서도 부가적으로 설치하여 구현이 가능할 수 있게 된다.The system supporting real-time detection and blocking of illegal e-commerce transactions according to an embodiment of the present invention described above may be additionally installed and implemented in any structure such as a current web service structure or a client-server structure. .
즉, 불법거래 방지 서버(300)는 사용자 단말(100) 및 전자상거래웹서버(200)로부터 각각 단말 고유 정보 및 사용자에 대한 다양한 정보를 획득하고, 이를 분석하여 해당 전자상거래웹서버(200)에서 설정한 차단 정책에 따라 탐지 및 차단 조치를 단계적으로 취할 수 있게 해준다.That is, the illegal transaction prevention server 300 obtains terminal specific information and various information about the user from the user terminal 100 and the e-commerce web server 200, respectively, and analyzes the same in the corresponding e-commerce web server 200. It allows you to take steps to detect and block according to the blocking policy you set.
도 4를 참조하면, 등록정보에 의한 실시간 탐지 및 차단 정책을 활용하여 전자상거래 서비스업체는 개별 고객에게 전자상거래용 보안서비스를 제공함으로써 안전한 거래를 할 수 있는 업체로서의 이미지를 제고할 수 있게 된다.Referring to FIG. 4, an e-commerce service company may enhance an image as a company that can securely trade by providing a security service for e-commerce to individual customers by utilizing a real-time detection and blocking policy based on registered information.
본 발명의 일실시예 들을 이용하여 고객에게 추가로 제공할 수 있는 서비스 형태로는 다음과 같은 것들이 있다. Service forms that can be additionally provided to customers using one embodiment of the present invention include the following.
첫째는 “전자상거래 전용PC 지정서비스”인데, 전자상거래 업체가 제공하는 신청화면(도 5) 및 절차(도 6)에 따라 고객이 스스로 자택 내 컴퓨터나 근무처의 컴퓨터 또는 휴대형 컴퓨터 등 한 개 이상의 자신이 신뢰하는 컴퓨터를 사전에 등록하여 놓고 이외의 컴퓨터에서는 거래할 수 없도록 함으로써 자신의 개인정보를 도용하여 중요정보를 탈취하거나 재화 등을 해킹하는 행위를 할 수 없도록 사전에 예방할 수 있게 해준다. 이때 등록된 컴퓨터는 MAC 주소로 식별하게 되며, 따라서 앞서 언급한 변조 전 원래 MAC 주소를 획득하는 능력이 필수 조건이 된다.The first is “E-Commerce Dedicated PC Designation Service.” According to the application screen (FIG. 5) and the procedure (FIG. 6) provided by the e-commerce company, the customer himself or herself is one or more of his / her own computer or his / her computer or portable computer. By registering this trusted computer in advance and not trading with other computers, you can prevent your users from stealing important information or hacking goods by stealing their personal information. In this case, the registered computer is identified by the MAC address, so the ability to obtain the original MAC address before the modulation is a prerequisite.
둘째는 “해외IP차단서비스”인데, 고객이 국내에 있는 컴퓨터에서만 사용하겠다고 신청하면 해외에서는 접속할 수 없도록 보호해 주는 서비스이다. 이를 이용하면 고객은 해외 해커의 접근을 원천 봉쇄할 수 있게 된다. The second is the “Overseas IP Blocking Service”, which is a service that protects users from accessing overseas when they apply for use only in computers in Korea. This allows customers to block the access of foreign hackers.
접근자의 공인 IP가 국내 IP인지를 판단하기 위하여는 KRNIC(한국인터넷진흥원)에서 공표한 국내 IP할당 정보를 사용하게 되는데, 이때 접근자가 IP우회 기법을 사용할 경우에도 앞서 언급한 것처럼 원래의 공인IP를 알 수 있어야만 정확한 국가를 판단할 수 있게 된다. 이런 추가적인 보안서비스를 통하여 고객은 기존 보안장비나 서비스 서버가 제공하지 못하는 보호 기능을 제공받게 되고 해킹 위험이 없는 안전한 전자상거래를 할 수 있게 되는 부가적인 효과를 얻을 수 있다. 단, 이 서비스는 전자상거래 업체가 오프라인 등과 연계하여 고객이 방문 신청할 경우도 대비하여야 함은 자명하다 할 것이다.To determine whether the accessor's public IP is a domestic IP, the domestic IP allocation information published by KRNIC (Korea Internet Security Agency) is used.In this case, when the accessor uses the IP bypass technique, the original public IP is used. Only then can we determine the correct country. These additional security services provide customers with the added protection that traditional security equipment or service servers can't provide and the added benefit of enabling secure e-commerce with no hacking risk. However, it is obvious that this service should be prepared in case an e-commerce company requests a visit in connection with offline.
도 7은 도 5의 서비스를 제공하기 위한 시스템 구성의 한 예를 나타낸 블록 구성도이다. 첫째 단계인 등록/해지 신청 단계에서는 전자상거래 업체에서 등록/해지 화면을 제공하고 고객이 스스로 서비스를 신청 또는 해지하게 되며 그 신청/해지 결과는 업체 DB에 저장된다. FIG. 7 is a block diagram illustrating an example of a system configuration for providing a service of FIG. 5. In the first step, the registration / cancellation application step, the e-commerce company provides the registration / cancellation screen, and the customer applies for or cancels the service himself and the result of the application / cancellation is stored in the company DB.
둘째 단계인 거래실행 단계에서는 사용자 단말(100)에서 전자상거래 서버로 보낸 B channel(191)정보가 JSP 모듈(HTML Form 형태로 정보를 받아서 처리하는 기능을 하는 Java Server Page 모듈)과 업체의 처리 프로그램을 거쳐 수집데몬에게 전달된다. 수집데몬은 이 정보와 사용자 단말(100)에서 직접 수신한 A channel(190)정보를 모두 분석데몬에게 전송하여, 분석데몬이 차단 여부 Flag를 생성할 수 있게 한다. In the second step, the transaction execution step, the B channel (191) information sent from the user terminal 100 to the e-commerce server is a JSP module (a Java Server Page module that receives and processes information in the form of HTML Form) and the processing program of the company. It is delivered to the collection daemon via. The collection daemon transmits both this information and the A channel 190 information received directly from the user terminal 100 to the analysis daemon, so that the analysis daemon can generate a flag to block.
본 발명의 일실시예에 따른 분석데몬은 수집된 원래 MAC 주소와 사전 등록된 MAC 주소를 비교하고(“전자상거래 전용PC 지정서비스”의 경우), 또는 수집된 원래 공인IP가 국내에 할당된 IP인지를 판단하여 (“해외IP차단서비스”의 경우) 차단 여부를 판단하여 메모리에 Flag를 세팅한다. 이렇게 생성된 차단 Flag는 전자상거래웹서버 내의 동기화데몬에 의해 전자상거래웹서버(200)로 실시간 복제되어 전자상거래웹서버 내의 메모리에 차단 Flag 정보가 유지되며, 업체의 중요 거래(로그인, 계좌이체 등) 처리 프로그램은 이 Flag 정보를 참조하여 필요 시 즉시 차단 조치를 취할 수 있게 된다.The analysis daemon according to an embodiment of the present invention compares the collected original MAC address with a pre-registered MAC address (in the case of “E-Commerce Dedicated PC Designation Service”), or the collected original public IP is assigned to the domestic IP. Determine flag (in case of “Overseas IP Blocking Service”) to determine whether to block and set Flag in memory. The blocking flag generated in this way is replicated in real time to the e-commerce web server 200 by the synchronization daemon in the e-commerce web server to maintain the blocking flag information in the memory in the e-commerce web server, and important transactions (login, account transfer, etc.) of the company. ) The processing program can refer to this flag information and take immediate blocking action if necessary.
[도 8 설명][Description of Fig. 8]
도 8은 본 발명의 제2 실시예에 따른 전자상거래의 불법 거래를 탐지하고 차단할 수 있는 시스템을 개략적으로 도시한 블록도이다.8 is a block diagram schematically illustrating a system capable of detecting and blocking illegal transactions of electronic commerce according to a second embodiment of the present invention.
도 8을 참조하면, 전자상거래 불법 거래 차단 시스템은 사용자 단말(100), 전자상거래 웹 서버(200) 및 불법 거래 방지 서버(300)를 포함하여 구성된다.Referring to FIG. 8, the illegal e-commerce blocking system includes a user terminal 100, an e-commerce web server 200, and an illegal transaction prevention server 300.
이하에서는 도 1에서 설명한 구성 요소 및 기능에 대한 설명은 생략하도록 하며 상이한 부분에 대해서만 설명하기로 한다.Hereinafter, the description of the components and functions described with reference to FIG. 1 will be omitted and only different parts will be described.
사용자 단말(100)은 당해 전자상거래 웹 서버(200)에서 제공하는 특정 서비스 제공을 위해 해당 사용자 단말(100)에 구비된 전용 어플리케이션 실행시, 정보수집 에이전트가 구동되어 제1 통신 채널을 통해 불법 거래 방지 서버(300)로 접속하여 공인 접속정보를 수집할 수 있다. 여기서, 공인 접속정보는 당해 사용자 단말(100)의 공인 IP 어드레스로, 프락시 서버 및 VPN을 통한 우회 접속 여부에 상관없이 당해 불법 거래 방지 서버(300)에 의해 획득될 수 있다. 이때, 정보수집 에이전트는 공인 접속정보 이외에도 정책 정보를 불법 거래 방지 서버(300)로부터 더 획득할 수 있다. 이에 따라, 정보수집 에이전트는 해당 정책 정보를 분석하여 차단 이벤트를 전용 어플리케이션(또는 전용 소프트웨어)로 전달하여 전자상거래 웹 서버(200)로의 접근을 미연에 차단하게 할 수 있는 이점이 있다.When the user terminal 100 executes a dedicated application provided in the user terminal 100 to provide a specific service provided by the e-commerce web server 200, an information collecting agent is driven to illegally trade through the first communication channel. Access to the prevention server 300 may collect the authorized access information. Here, the public access information is the public IP address of the user terminal 100, and may be obtained by the illegal transaction prevention server 300 regardless of whether the detour connection through the proxy server and the VPN. In this case, the information collecting agent may further obtain policy information from the illegal transaction prevention server 300 in addition to the authorized access information. Accordingly, the information collecting agent analyzes the corresponding policy information and delivers a blocking event to a dedicated application (or dedicated software) to block access to the e-commerce web server 200 in advance.
보다 상세하게, 사용자 단말(100)의 정보수집 에이전트가 제1 통신 채널을 통해 서버에 전달 패킷으로 H 데이터 또는 V 데이터를 불법 거래 방지 서버(300)로 전송하고, 불법 거래 방지 서버는 전달 패킷(H 데이터 또는 V 데이터) 응답으로 공인 접속정보(NAT IP 어드레스)를 정보수집 에이전트로 전송할 수 있다.In more detail, the information collecting agent of the user terminal 100 transmits the H data or the V data to the illegal transaction prevention server 300 as a delivery packet to the server through the first communication channel, and the illegal transaction prevention server transmits the delivery packet ( The public access information (NAT IP address) may be transmitted to the information gathering agent in response to the H data or V data).
예를 들어, 정보수집 에이전트는 당해 사용자 단말(100)이 VPN 설정된 경우, VPN 가상 이더넷을 통해 전달 패킷을 불법 거래 방지 서버(300)로 전송하지 않고, 실제 이더넷을 통해 불법 거래 방지 서버(300)로 전달 패킷을 전송하도록 할 수 있다. 이에 따라, 불법 거래 방지 서버(300)는 당해 사용자 단말(100)이 VPN을 사용하더라도 실제 사용자 단말(100)의 공인 접속정보를 획득할 수 있다.For example, when the user terminal 100 is set as the VPN, the information collection agent does not transmit the forwarded packet to the illegal transaction prevention server 300 through the VPN virtual Ethernet, but the illegal transaction prevention server 300 through the actual Ethernet. Send packets forwarded to the network. Accordingly, the illegal transaction prevention server 300 may obtain authorized access information of the actual user terminal 100 even if the user terminal 100 uses a VPN.
이를 위해, 불법 거래 방지 서버(300)는 도 8에 도시된 바와 같이, 공인 접속정보 전송을 위한 IP 모듈(360)을 더 포함하고 있다. IP 모듈(360)은 사용자 단말(100)에 구동된 정보수집 에이전트로부터 H 데이터 또는 V 데이터가 수신되면, 이에 대한 응답으로 사용자 단말(100)의 공인 접속정보(NAT IP 어드레스)를 전송해주는 기능을 수행한다. To this end, the illegal transaction prevention server 300 further includes an IP module 360 for transmitting authorized access information, as shown in FIG. 8. When the IP module 360 receives the H data or the V data from the information collecting agent driven by the user terminal 100, the IP module 360 transmits the public access information (NAT IP address) of the user terminal 100 in response thereto. To perform.
본 명세서에서 공인 접속정보(NAT IP 어드레스)는 소켓 통신을 통해 획득된 IP 어드레스를 지칭한다. 즉, 일반적으로 웹 통신을 통해 획득된 IP 어드레스는 프락시 서버 또는 VPN 설정 등에 따라 실제 사용자 단말(100)의 IP 어드레스와는 상이할 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 정보수집 에이전트는 사용자에 의해 전자상거래 웹 서버(200)를 통해 특정 서비스 이용을 위해 전용 어플리케이션이 구동되는 경우 구동되어 실제 서비스가 제공되기 이전에 제1 통신 채널을 통해 불법 거래 방지 서버(300)에 접속하여 공인 접속정보와 정책 정보를 사전에 획득할 수 있다. 이에 따라, 정보수집 에이전트는 해당 정책 정보에 따라 차단 이벤트를 전용 어플리케이션으로 전달할 수 있으며, 전용 어플리케이션은 차단 이벤트의 입력에 따라 서비스 차단 여부를 결정할 수 있다. 이로 인해, 사용자가 실제 전자상거래 웹 서버(200)로부터 실제 중요 서비스를 제공받기 이전에 차단 여부를 결정할 수 있어 대기 시간이 현저하게 줄어들고, 불법 거래로 인한 사용자의 피해를 사전에 예방할 수 있는 이점이 있다.In this specification, the public access information (NAT IP address) refers to an IP address obtained through socket communication. That is, in general, the IP address obtained through the web communication may be different from the IP address of the actual user terminal 100 according to the proxy server or VPN setting. Accordingly, the information gathering agent according to an embodiment of the present invention is driven when a dedicated application is run for the use of a specific service by the user through the e-commerce web server 200, so that the first communication before the actual service is provided. By accessing the illegal transaction prevention server 300 through a channel, it is possible to obtain the authorized access information and policy information in advance. Accordingly, the information gathering agent may deliver the blocking event to the dedicated application according to the policy information, and the dedicated application may determine whether to block the service according to the input of the blocking event. As a result, the user can determine whether to block before receiving the actual important service from the actual e-commerce web server 200, significantly reducing the waiting time, and has the advantage of preventing the user from damage due to illegal transactions in advance. have.
사용자 단말(100)의 정보수집 에이전트는 제1 통신 채널을 통해 H 데이터 또는 V 데이터 전송에 따른 공인 접속정보가 획득되면, 이를 포함하여 당해 사용자 단말(100)에 대해 수집된 수집정보와 함께 전자상거래 웹 서버(200)로 전송할 수 있다. 여기서, 수집 정보는 예를 들어, 사용자 단말(100)의 정보(CPU, 네트워크 인터페이스, MAC, IP, Hard Disk, Keyboard, OS정보, 브라우저정보, 보안소프트웨어 설치 및 동작여부 등)의 정보와 전자상거래 웹 서버(200)를 통해 획득한 계정정보(로그인 ID), 로그인 성공 여부, 접근한 URL 중 적어도 하나 이상일 수 있다.When the information collection agent of the user terminal 100 obtains the authorized access information according to the transmission of the H data or the V data through the first communication channel, the electronic commerce together with the collected information collected for the user terminal 100 including the same. It may be transmitted to the web server 200. Here, the collected information, for example, information of the user terminal 100 (CPU, network interface, MAC, IP, Hard Disk, Keyboard, OS information, browser information, security software installation and operation, etc.) and electronic commerce It may be at least one of account information (login ID) obtained through the web server 200, whether the login is successful, or the URL accessed.
이때, 사용자 단말(100)의 정보수집 에이전트는 제2 통신 채널을 통해 획득된 공인 접속정보와 수집 정보를 전자상거래 웹 서버(200)로 전송할 수 있다. 전술한 봐와 같이, 제1 통신 채널은 소켓 통신 채널이고, 제2 통신 채널은 패킷 통신 채널일 수 있다. 또한, 제1 통신 채널 및 제2 통신 채널은 비동기 데이터 통신에 따라 통신할 수 있다.In this case, the information collecting agent of the user terminal 100 may transmit the authorized access information and the collected information obtained through the second communication channel to the e-commerce web server 200. As described above, the first communication channel may be a socket communication channel, and the second communication channel may be a packet communication channel. Also, the first communication channel and the second communication channel can communicate according to asynchronous data communication.
이에 따라, 전자상거래 웹 서버(200)는 사용자 단말(100)로부터 수집된 수집 정보와 공인 접속정보를 불법 거래 방지 서버(300)로 전송할 수 있으며, 이는 추후 해당 사용자 단말(100)의 정책 판단에 이용될 수도 있다.Accordingly, the e-commerce web server 200 may transmit the collected information and the authorized access information collected from the user terminal 100 to the illegal transaction prevention server 300, which will later be determined in the policy determination of the user terminal 100. May be used.
한편, 본 발명의 실시예에 따른 전자상거래 웹 서버 및 불법 거래 방지 서버를 포함하는 전자상거래 불법 거래 차단 시스템에서 불법 거래를 차단하는 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다. Meanwhile, a method of blocking illegal transactions in an electronic commerce illegal transaction blocking system including an e-commerce web server and an illegal transaction prevention server according to an embodiment of the present invention may be performed through various electronically processed means. It can be implemented in the form of instructions and written to a storage medium. The storage medium may include program instructions, data files, data structures, etc. alone or in combination.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The program instructions recorded in the storage medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the software art. Examples of storage media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic-optical media such as floppy disks. hardware devices specifically configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. In addition, the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also devices that process information electronically using an interpreter, for example, high-level language code that can be executed by a computer.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.