KR102362031B1 - Method for preventing macro on web service and server performing the same - Google Patents
Method for preventing macro on web service and server performing the same Download PDFInfo
- Publication number
- KR102362031B1 KR102362031B1 KR1020200080052A KR20200080052A KR102362031B1 KR 102362031 B1 KR102362031 B1 KR 102362031B1 KR 1020200080052 A KR1020200080052 A KR 1020200080052A KR 20200080052 A KR20200080052 A KR 20200080052A KR 102362031 B1 KR102362031 B1 KR 102362031B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- macro
- value
- user terminal
- dummy
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000002265 prevention Effects 0.000 claims abstract description 91
- 238000004891 communication Methods 0.000 claims description 22
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000001105 regulatory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
웹 서비스 상에서의 매크로 방지 방법 및 이를 수행하는 서버가 도시된다. 본 발명의 다양한 실시예 중 하나에 따른 매크로 방지 서버의 매크로 동작 방지 방법은, 사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 단계; 적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계; 상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하는 단계; 암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하고, 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하는 단계; 상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 단계; 및 복호화된 입력값을 데이터베이스에 저장하는 단계를 포함할 수 있다.A method of preventing macros on a web service and a server performing the same are shown. A macro operation prevention method of a macro prevention server according to one of various embodiments of the present invention includes the steps of: randomly determining positions of a plurality of input fields existing on a service interface provided to a user terminal; generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions where the plurality of input fields are displayed; In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. performing; transmitting the encrypted name and ID to the user terminal, and receiving an encrypted input value from the user terminal; decoding the input value received from the user terminal based on the session ID value and the seed value; and storing the decoded input value in a database.
Description
본 발명의 다양한 실시예는 웹 서비스 상에서의 매크로 방지 방법 및 이를 수행하는 서버에 관한 것이다. Various embodiments of the present invention relate to a method for preventing macros on a web service and a server for performing the same.
인터넷이 실생활과 밀접하게 연관되면서, 오프라인에서 행해지던 각종 행위들이 온라인 상에서 가능하게 되는 경우가 많다.As the Internet is closely related to real life, various actions that were performed offline are often made possible online.
그 중 하나는 구매, 주문 또는 예약과 관련된 분야이다. 선착순 구매의 경우 웹 서비스 상에서 우선적으로 구매 신청을 완료한 특정 인원수의 사람들에게 구매 기회가 가게 되며, 특정 서비스에 대한 예약 또한 마찬가지로 웹 서비스 상에서 우선적으로 예약을 진행한 특정 인원수의 사람들에게 예약 기회가 가게 된다.One of them is related to purchasing, ordering or reservation. In the case of first-come-first-served purchase, the purchase opportunity goes to a certain number of people who have completed the purchase application on the web service preferentially. do.
웹 서비스를 통해 선착순으로 이루어지는 구매, 주문 또는 예약의 경우, 이를 원하는 사람들의 수가 많은 경우 경쟁이 치열해질 수 있다. 이 경우, 사람들은 구매, 주문 또는 예약이 오픈되는 시각에 대기하고 있다가 해당 시각이 도달하게 되면 구매, 주문 또는 예약에 필요한 정보(예를 들어, 아이디, 이름, 전화번호, 결제 정보 등)를 입력하여 구매, 주문 또는 예약을 시도하게 된다. In the case of purchases, orders, or reservations made on a first-come, first-served basis through a web service, competition may intensify if the number of people who want it is large. In this case, people wait at the time when a purchase, order or reservation is opened, and when that time arrives, information necessary for purchase, order or reservation (eg ID, name, phone number, payment information, etc.) Enter to try to buy, place an order, or make a reservation.
많은 경우에 구매, 주문 또는 예약을 진행하는 웹 서버에 과도한 부하가 발생하기도 하며, 그에 따라 사용자들은 구매, 주문 또는 예약이 완료될 때까지 반복하여 웹 페이지를 새로고침하고, 필요 정보들을 입력하여 반복적인 시도를 하게 된다.In many cases, excessive load is generated on the web server that performs purchase, order, or reservation, and accordingly, users repeatedly refresh the web page until the purchase, order or reservation is completed, and enter necessary information repeatedly. will make an attempt
보통의 사용자는 이와 같은 구매, 주문 또는 예약에 대한 반복 시도를 스스로 진행하지만, 일부 사용자들은 매크로(macro)라는 도구를 이용하여 구매, 주문 또는 예약을 수행한다. 매크로란, 특정 작업을 반복하여 자동 수행할 수 있도록 설정된 프로그램으로 구매, 주문 또는 예약에 있어서는 웹 서비스 상에서 구매, 주문 또는 예약이 성공될 때까지 반복하여 시도하는 프로그램을 의미한다.Ordinary users make repeated attempts for such purchase, order, or reservation by themselves, but some users use a tool called a macro to make a purchase, order, or reservation. A macro is a program set so that a specific task can be repeatedly and automatically performed, and in the case of purchase, order, or reservation, it means a program that repeatedly tries until the purchase, order, or reservation is successful on the web service.
구매, 주문 또는 예약과 관련하여 매크로는 크게 두 가지 방식으로 동작할 수 있는데, 첫 번째는 UI(User Interface)를 활용한 방식으로, 사용자 단말기의 화면 내에 표시되는 각종 입력창 등의 위치를 파악하여 이에 대한 선택이 매크로에 의해 수행되고 각 입력창에 대응되는 정보가 자동으로 입력되도록 하는 것이다. 즉, 첫 번째 방식은 마우스 커서 등의 입력 장치 위치를 조작하고, 키보드 등의 입력 장치를 조작하여 입력창마다 대응되는 정보가 입력되도록 하는 것이다.In relation to purchase, order, or reservation, macros can be operated in two main ways. The first is a method using a UI (User Interface), This selection is performed by a macro, and information corresponding to each input window is automatically entered. That is, in the first method, information corresponding to each input window is input by manipulating the position of an input device such as a mouse cursor and the like, and manipulating an input device such as a keyboard.
매크로 동작과 관련된 두 번째 방식은 Html(Hypertext Markup Language) 소스 코드 내의 탐색을 활용한 방식으로, 돔 셀렉터(Dom Selector)를 활용하여 각종 입력창의 위치를 확인하고 각 입력창에 대응되는 정보가 입력되도록 하는 것이다. Dom(Document Object Model)은 웹 페이지에 대한 인터페이스로, 원본 Html 문서의 계층적 객체 기반 표현 방식을 의미한다. 두번째 방식을 활용한 매크로는 각 입력창에 대응되는 돔 셀렉터를 통해 돔(Dom)의 위치를 파악하고 파악된 위치에 대응되는 정보가 입력되도록 한다.The second method related to macro operation is a method that utilizes the search within the Html (Hypertext Markup Language) source code, and uses the Dom Selector to check the positions of various input windows and to input information corresponding to each input window. will do Dom (Document Object Model) is an interface to a web page and refers to a hierarchical object-based representation of the original HTML document. The macro using the second method detects the location of the dome through the dome selector corresponding to each input window and allows information corresponding to the identified location to be input.
따라서, 웹 서비스 상에서 매크로를 방지하기 위해서는 두가지 방식의 매크로가 전부 정상적으로 동작하지 못하도록 하는 대비책이 필요한 실정이었다.Therefore, in order to prevent macros on the web service, a countermeasure was needed to prevent all macros of the two types from operating normally.
본 발명의 다양한 실시예는 서비스 인터페이스 상에서의 입력 필드 위치를 통해 동작하는 매크로의 정상 동작을 방지하는 것을 그 목적으로 한다. It is an object of various embodiments of the present invention to prevent the normal operation of a macro operating through an input field position on a service interface.
본 발명의 다양한 실시예는 서비스 인터페이스를 구현하기 위한 소스 코드의 탐색을 통해 동작하는 매크로의 정상 동작을 방지하는 것을 그 목적으로 한다.It is an object of various embodiments of the present invention to prevent the normal operation of a macro operating through a search of a source code for implementing a service interface.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 과제를 해결하기 위한 본 발명의 다양한 실시예 중 하나에 따르면, 매크로 방지 서버가 웹(Web) 상에서 제공되는 서비스에 대한 매크로 동작을 방지하는 방법은, 사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 단계; 적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계; 상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하는 단계; 암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하고, 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하는 단계; 상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 단계; 및 복호화된 입력값을 데이터베이스에 저장하는 단계를 포함하여 구성될 수 있다.According to one of the various embodiments of the present invention for solving the above-described problem, the method for preventing the macro operation of a service provided on the web by the macro prevention server is present on the service interface provided to the user terminal. randomly determining positions of a plurality of input fields; generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions where the plurality of input fields are displayed; In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. performing; transmitting the encrypted name and ID to the user terminal, and receiving an encrypted input value from the user terminal; decoding the input value received from the user terminal based on the session ID value and the seed value; and storing the decoded input value in a database.
상기 더미 입력 필드의 생성 단계는, 상기 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 더미 입력 필드 생성을 위한 더미 코드를 삽입하는 단계를 더 포함할 수 있다.The generating of the dummy input field may further include inserting a dummy code for generating the dummy input field into the source code for implementing the service interface.
상기 매크로 방지 서버의 매크로 동작 방지 방법은, 상기 소스 코드 내부에 삽입되는 더미 코드의 개수가 랜덤하게 결정되는 것을 특징으로 할 수 있다.The macro operation prevention method of the macro prevention server may be characterized in that the number of dummy codes inserted into the source code is randomly determined.
상기 매크로 방지 서버의 매크로 동작 방지 방법은, 상기 더미 코드는 상기 더미 코드를 통해 생성되는 더미 입력 필드와 대응되는 입력 필드의 소스 코드와 동일한 형식으로 생성되며, 대응되는 소스 코드와 일부 식별자만이 상이하도록 생성되는 것을 특징으로 할 수 있다.In the method for preventing macro operation of the macro prevention server, the dummy code is generated in the same format as a source code of an input field corresponding to a dummy input field generated through the dummy code, and only some identifiers are different from the corresponding source code It may be characterized in that it is generated to do so.
생성된 더미 입력 필드가 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계는, 상기 생성된 더미 입력 필드가 삽입되기 이전에 해당 위치에 존재하던 입력 필드의 크기를 축소시키거나 위치를 이동시켜, 생성된 더미 입력 필드와 위치적으로 중복되는 부분이 존재하지 않도록 조절하는 단계를 더 포함할 수 있다.The inserting of the generated dummy input field so that it occupies a portion of the positions where the plurality of input fields are displayed may include reducing the size of the input field existing at the corresponding position before the generated dummy input field is inserted or positioning the input field. The method may further include adjusting so that there is no positionally overlapping part with the generated dummy input field by moving the .
상기 복수의 입력 필드 위치를 랜덤하게 결정하는 단계는, 복수의 입력 필드 간의 간격을 조절하는 단계를 더 포함할 수 있다.The step of randomly determining the positions of the plurality of input fields may further include adjusting an interval between the plurality of input fields.
상기 매크로 방지 서버의 매크로 동작 방지 방법은, 상기 사용자 단말기를 통해 시도되는 서비스 요청의 시간 대비 빈도수를 계산하고 계산된 값에 기초하여 매크로 동작 방지 기술을 적용할 사용자를 결정하는 단계를 더 포함할 수 있다.The method for preventing macro operation of the macro prevention server may further include calculating the frequency versus time of service requests attempted through the user terminal and determining a user to which the macro operation prevention technology is to be applied based on the calculated value. have.
상기 매크로 방지 서버의 매크로 동작 방지 방법은, 상기 시드값이 암호화가 수행되는 시각 정보에 기초하여 결정되는 것을 특징으로 할 수 있다.The macro operation prevention method of the macro prevention server may be characterized in that the seed value is determined based on time information at which encryption is performed.
상술한 과제를 해결하기 위한 본 발명의 다양한 실시예 중 하나에 따르면, 웹(Web) 상에서 제공되는 서비스에 대한 매크로 동작 방지를 위해 동작하는 매크로 방지 서버는 사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 DOM구조 랜덤화부; 적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드가 상기 복수의 입력 필드가 표시하는 위치 중 일부를 차지하도록 삽입하는 더미 필드 생성부; 상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하며, 암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하는 입력 필드 암호화부; 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하여, 상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 입력값 복호화부; 및 복호화된 입력값을 데이터베이스 서버에 전달하는 통신부를 포함하여 구성될 수 있다.According to one of the various embodiments of the present invention for solving the above-described problems, the macro prevention server that operates to prevent macro operation for a service provided on the web exists on a service interface provided to a user terminal. a DOM structure randomizer that randomly determines positions of a plurality of input fields; a dummy field generator generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions displayed by the plurality of input fields; In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. an input field encryption unit for transmitting the encrypted name and ID to the user terminal; an input value decoding unit receiving an encrypted input value from the user terminal and decoding the input value received from the user terminal based on the session ID value and the seed value; and a communication unit that transmits the decoded input value to the database server.
본 발명의 실시예에 따르면, 서비스 인터페이스 내에서 표시되는 입력 필드들의 순서, 위치 및 간격이 랜덤으로 결정되고 더미 입력 필드가 삽입됨에 따라 서비스 인터페이스 내의 입력 필드 위치를 이용한 매크로가 정상적으로 동작하지 않게 될 수 있다.According to an embodiment of the present invention, as the order, position, and interval of input fields displayed in the service interface are randomly determined and a dummy input field is inserted, a macro using the position of the input field in the service interface may not operate normally. have.
본 발명의 실시예에 따르면, 더미 필드 삽입과 더불어 소스 코드의 암호화를 통해 소스 코드 내에서의 탐색을 활용하여 동작하는 매크로가 정상적으로 동작하지 않게 될 수 있다.According to an embodiment of the present invention, a macro operating by utilizing a search in the source code through the encryption of the source code along with the insertion of the dummy field may not operate normally.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 매크로 방지 서버가 동작하는 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 매크로 방지 서버의 구성을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 매크로 방지 서버가 동작하는 방식을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 매크로 방지 서버에 의해 사용자 단말기 측으로 제공되는 인터페이스의 예시도로, 인터페이스의 입력 필드 위치 변화를 통해 매크로 동작을 방지하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 매크로 방지 서버에 의해 사용자 단말기 측으로 제공되는 인터페이스의 예시도로, 인터페이스의 입력 필드 간격 변화를 통해 매크로 동작을 방지하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 매크로 방지 서버가 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 삽입하는 더미 코드에 대해 설명하기 위한 도면이다.1 is a diagram schematically illustrating an environment in which a macro prevention server according to an embodiment of the present invention operates.
2 is a block diagram schematically showing the configuration of a macro prevention server according to an embodiment of the present invention.
3 is a flowchart illustrating a method of operating a macro prevention server according to an embodiment of the present invention.
4 is an exemplary view of an interface provided to a user terminal side by a macro prevention server according to an embodiment of the present invention, and is a diagram for explaining a method of preventing a macro operation by changing the position of an input field of the interface.
5 is an exemplary view of an interface provided to a user terminal side by a macro prevention server according to an embodiment of the present invention, and is a diagram for explaining a method of preventing a macro operation by changing an input field interval of the interface.
6 is a view for explaining a dummy code inserted into a source code for implementing a service interface by the macro prevention server according to an embodiment of the present invention.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 매크로 방지 서버(100)가 동작하는 환경을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating an environment in which a
도 1을 참조하면, 일반적인 웹 서비스는 도 1과 유사한 형태로 구성되어 사용자에게 서비스를 제공할 수 있다.Referring to FIG. 1 , a general web service may be configured in a form similar to that of FIG. 1 to provide a service to a user.
본 명세서 상에서는 설명의 편의를 위해 매크로 방지 서버(100)가 웹 서버와 WAS 서버의 역할을 대신하는 것과 같이 표시되었지만, 일반적인 웹 서비스 상에서는 사용자 단말기(200)가 웹 서버와 통신을 수행하고, 웹 서버는 WAS 서버와 통신을 수행하며, WAS 서버는 데이터베이스 서버(300)와 통신을 수행할 수 있다.In the present specification, for convenience of explanation, the
WAS 서버란, 웹 서버에서 처리하지 못하는 동적인 처리를 수행하는 서버로, 사용자의 서비스 요청에 따라 변환되어야 하는 컨텐츠에 대한 처리를 수행하는 서버일 수 있다. The WAS server is a server that performs dynamic processing that cannot be processed by a web server, and may be a server that processes content to be converted according to a user's service request.
본 발명의 다양한 실시예들에 따르면 매크로 방지 서버(100)는 웹 서버 및 WAS 서버의 역할을 동시에 수행하며 매크로 방지 기능을 동시에 수행할 수 있으며, 이와 달리 웹 서버 및 WAS 서버와 별도로 존재하며 웹 서버 및 WAS 서버와의 통신을 통해 매크로 방지 기능을 제공할 수도 있다.According to various embodiments of the present invention, the
매크로 방지 서버(100)는 사용자들이 특정한 웹 서비스에 접속하여 다양한 주문, 예약 또는 신청 등을 수행하는 과정에서 매크로를 활용하기 어려운 형태로 서비스를 제공하는 역할을 수행할 수 있다.The
이를 위해, 매크로 방지 서버(100)는 UI(User Interface)를 활용한 방식의 매크로를 방지하기 위해, 사용자 단말기(200)에서 표시되는 웹 서비스의 인터페이스 상에서 복수의 입력 필드들의 위치가 랜덤하게 표시되도록 사용자 인터페이스를 조절할 수 있다.To this end, the
또한, 매크로 방지 서버(100)는 돔 셀렉터(Dom Selector)를 활용한 매크로 방식을 방지하기 위해 소스 코드 상에 더미 입력 필드를 삽입하고, 입력 필드와 관련된 값들의 암호화를 수행할 수 있다.In addition, the
이와 같은 매크로 방지 서버(100)는 적어도 하나의 프로세서를 가지는 제어부, 통신 모듈, 저장부(예: 메모리) 등과 같은 하드웨어 또는 알고리즘 연산을 위한 소프트웨어를 포함하여 구성될 수 있다.Such a
사용자 단말기(200)는 사용자에 의해 제어되며, 웹 브라우저 또는 사용자 단말기(200) 상에 설치된 컴퓨터 소프트웨어 또는 어플리케이션을 통하여 매크로 방지 서버(100)에 접속할 수 있다. 사용자 단말기(200)는 매크로 방지 서버(100)와 각종 데이터를 주고받을 수 있으며, 매크로 방지 서버(100)로부터 수신하는 데이터를 기초로 하여 사용자 단말기(200)의 화면(디스플레이부)을 통해 웹 서비스의 인터페이스를 표시할 수 있다.The
사용자는 사용자 단말기(200)를 통해 각종 상품 또는 서비스에 대한 구매, 주문, 예약 등을 수행할 수 있으며, 이는 사용자 단말기(200)가 특정 웹 서비스를 제공하는 매크로 방지 서버(100)에 접속하여 상품 또는 서비스에 대한 인터페이스를 제공받고 이를 표시하면 사용자가 구매, 주문 또는 예약에 필요한 정보를 인터페이스 상에 표시되는 각종 입력 필드에 입력하여 진행될 수 있다.A user may purchase, order, or make a reservation for various products or services through the
사용자 단말기(200)는 동작에 필요한 정보들을 저장하는 메모리, 동작에 필요한 각종 연산을 수행하는 CPU와 같은 중앙처리장치, 입출력 장치 등을 포함하여 구성될 수 있다.The
이러한 사용자 단말기(200)는 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC, 등과 같이 네트워크를 통하여 웹 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기 중 하나일 수도 있다.The
데이터베이스 서버(300)는 매크로 방지 서버(100)에서 처리된 각종 데이터를 저장하는 역할을 수행할 수 있다. 일 실시예에 따르면, 데이터베이스 서버(300)는 사용자의 아이디, 비밀번호, 성명, 주소, 전화번호 등과 같은 개인 정보를 저장할 수 있으며, 웹 서비스를 통해 제공되는 상품 또는 서비스에 대한 정보 또한 저장할 수 있다.The
일 실시예에 따르면, 데이터베이스 서버(300)는 도 1에서와 같이 매크로 방지 서버(100)와 별도로 존재할 수도 있지만, 다른 실시예에 따르면 데이터베이스 서버(300)의 역할은 매크로 방지 서버(100) 내에 존재하는 저장부에 의해 대체될 수도 있다.According to one embodiment, the
본 발명의 일 실시예에 따르면, 매크로 방지 서버(100)가 사용자 단말기(200) 및 데이터베이스 서버(300)와 통신하기 위해서 사용하는 통신망은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 예를 들면, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구현될 수 있다. 바람직하게는, 본 발명의 일 실시예에 따른 통신망은 공지의 월드와이드웹(WWW: World Wide Web) 등일 수도 있다.According to an embodiment of the present invention, the communication network used by the
도 2는 본 발명의 일 실시예에 따른 매크로 방지 서버(100)의 구성을 개략적으로 나타낸 블록도이다.2 is a block diagram schematically showing the configuration of the
도 2를 참조하면, 매크로 방지 서버(100)는 DOM구조 랜덤화부(110), 더미 필드 생성부(120), 입력 필드 암호화부(130), 입력값 복호화부(140), 매크로 방지 대상 결정부(150), 통신부(160), 저장부(170) 및 제어부(180)를 포함하여 구성될 수 있다.Referring to FIG. 2 , the
설명의 편의를 위하여 매크로 방지 서버(100) 내에서 각각의 역할을 수행하는 주체들을 ~부 또는 ~모듈의 형태로 표시하였으나, 각각의 부분들은 매크로 방지 서버(100) 내에서 동작하는 서브 프로그램 모듈 또는 제어부(180)를 기능적으로 분류한 구성들일 수 있다. 이러한 프로그램 모듈들은 각 동작을 수행하거나, 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하는 개념이지만, 이에 제한되지는 않는다. For convenience of explanation, the subjects performing each role in the
DOM구조 랜덤화부(110)는 사용자 단말기(200)에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정할 수 있다. 예를 들어, 사용자 단말기(200)에 표시되는 서비스 인터페이스 상에 주문자 성명, 휴대폰 번호, 이메일 주소 및 배송지 주소에 해당하는 입력 필드가 존재하는 경우, DOM구조 랜덤화부(110)는 각각의 입력 필드 항목에 표시되는 순서 또는 위치를 변경할 수 있다.The
DOM구조 랜덤화부(110)는 사용자 단말기(200)에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정함에 있어, 복수의 입력 필드 간의 간격이 랜덤으로 결정되도록 조절을 수행할 수 있다. 예를 들어, 주문자 성명, 휴대폰 번호, 이메일 주소 및 배송지 주소에 해당하는 입력 필드가 화면의 상단에서 하단으로 순차적으로 이어지는 형태로 표시되는 경우에 있어, 주문자 성명에 해당하는 입력 필드와 휴대폰 번호에 해당하는 입력 필드 간의 간격은 10 픽셀로, 휴대폰 번호에 해당하는 입력 필드와 이메일 주소에 해당하는 입력 필드 간의 간격은 20 픽셀로 결정되는 식으로 간격 조절이 수행될 수 있다.When the DOM
DOM구조 랜덤화부(110)는 후술될 더미 필드 생성부(120)에 의해 생성되는 더미 입력 필드가 웹 서비스를 위한 인터페이스 상에서 어느 부분에 위치할지를 결정할 수도 있다.The
더미 필드 생성부(120)는 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를, 더미 입력 필드가 존재하지 않는 상태의 인터페이스 상에 존재하는 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입할 수 있다. The
일 실시예에 따르면, 더미 필드가 삽입되는 위치는 더미 필드 생성부(120)에 의해 결정될 수도 있지만, 전술한 바와 같이 DOM구조 랜덤화부(110)에 의해 결정될 수도 있다.According to an embodiment, the position at which the dummy field is inserted may be determined by the
생성된 더미 입력 필드가 다른 입력 필드가 표시되는 위치 중 일부를 차지하게 되는 경우, 더미 필드 생성부(120)는 생성된 더미 입력 필드가 삽입되기 이전에 해당 위치에 존재하던 입력 필드를 축소시키거나 해당 위치에 존재하던 입력 필드를 이동시켜, 생성된 더미 입력 필드와 위치적으로 중복되는 부분이 존재하지 않도록 조절을 수행할 수 있다.When the generated dummy input field occupies a portion of the positions where other input fields are displayed, the
더미 필드 생성부(120)는 더미 입력 필드를 생성하기 위해, 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 더미 입력 필드 생성을 위한 더미 코드를 삽입할 수 있다. In order to generate the dummy input field, the
삽입된 더미 코드는 더미 입력 필드의 각종 속성을 정의할 수 있다. 일 예로, html로 작성된 더미 코드는 이름(name), 아이디(id), 클래스(class) 등의 속성들을 정의하는 형식으로 생성될 수 있다.The inserted dummy code may define various properties of the dummy input field. For example, the dummy code written in html may be generated in a format defining properties such as name, ID, and class.
생성되는 더미 코드는 해당 더미 코드를 통해 생성되는 더미 입력 필드와 대응되는 입력 필드의 소스 코드와 동일한 형식으로 생성될 수 있으며, 대응되는 소스 코드와 일부 식별자만이 상이하도록 생성될 수 있다. 예를 들어, 더미 코드는 이와 대응되는 소스 코드와 이름(name)에 해당하는 식별자만이 상이하고 아이디(id) 또는 클래스(class) 및 기타 식별자들은 동일하도록 생성될 수 있다.The generated dummy code may be generated in the same format as the source code of the input field corresponding to the dummy input field generated through the corresponding dummy code, and may be generated such that only some identifiers are different from the corresponding source code. For example, the dummy code may be generated such that only the identifier corresponding to the name is different from the corresponding source code, and the ID or class and other identifiers are the same.
일 실시예에 따르면, 더미 필드 생성부(120)는 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 삽입되는 더미 코드의 개수를 랜덤하게 결정할 수 있다. 다만, 사용자 단말기(200)에 표시되는 서비스 인터페이스의 크기에는 제약이 있으므로, 더미 필드 생성부(120)는 한정된 숫자 내에서 더미 코드의 개수가 랜덤하게 결정되도록 설정할 수도 있다. 예를 들어, 더미 필드 생성부(120)는 생성되는 더미 코드의 개수가 3개를 초과하지 않도록 최대 더미 코드 생성 개수를 제한할 수 있다.According to an embodiment, the
입력 필드 암호화부(130)는 사용자 단말기(200)에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 중 적어도 일부에 대해 입력 필드의 속성 중 이름(name) 및 아이디(id) 값에 대한 암호화를 수행할 수 있다.The input
입력 필드 암호화부(130)의 암호화 동작은 특정한 사용자 단말기(200)가 매크로 방지 서버(100)에 접속할 때에 부여되는 세션 ID값 및 시드값을 기초로 하여 수행될 수 있다. 즉, 세션 ID값 및 시드값은 암호화 및 복호화에 사용되는 키(key) 값으로 활용될 수 있다. 시드값은 다양한 방식으로 설정될 수 있으며 일 실시예에 따르면 암호화가 수행되는 시각 정보에 기초하여 결정될 수도 있다.The encryption operation of the input
입력 필드 암호화부(130)는 암호화가 수행된 이름 및 아이디를 사용자 단말기(200)로 전송할 수 있다.The input
입력값 복호화부(140)는 사용자 단말기(200)로부터, 사용자가 각종 입력 필드에 입력한 입력값을 암호화된 상태로 수신할 수 있다. 사용자 단말기(200)는 매크로 방지 서버(100)의 입력 필드 암호화부(130)가 암호화를 수행하는 방식과 동일한 방식으로, 사용자가 웹 서비스의 인터페이스 상에 존재하는 복수의 입력 필드에 입력하는 입력값 각각에 대한 암호화를 수행할 수 있으며, 입력 항목의 정보에 대한 암호화 또한 추가적으로 수행할 수 있다.The input
입력값 복호화부(140)는 사용자 단말기(200)로부터 수신한 입력값을 암호화시에 활용했던 세션 ID값 및 시드값을 통해 복호화할 수 있다.The input
일 실시예에 따르면, 입력값 복호화부(140)는 복호화된 입력값과 해당 입력값이 속하는 입력 필드의 종류를 비교하여, 복호화된 입력값이 대응되는 입력 필드에 정상적으로 배치되었는지 여부를 확인할 수 있다.According to an embodiment, the input
입력값 복호화부(140)는 복호화된 입력값을 데이터베이스 상에 저장할 수 있으며, 일 실시예에 따르면 이는 입력값을 외부의 데이터베이스 서버(300)에 전송함으로써 이루어질 수 있다.The input
일 실시예에 따르면, 입력값 복호화부(140)는 복호화된 입력값과 해당 입력값이 속하는 입력 필드의 종류를 비교하여, 복호화된 입력값이 대응되는 입력 필드에 정상적으로 배치되었는지를 확인한 후에 복호화된 입력값을 데이터베이스 상에 저장할 수 있다.According to an embodiment, the input
예를 들어, 복호화된 입력값이 11자리의 숫자로 이루어진 경우 이는 전화번호에 해당되는데 이와 같은 입력값이 주소 또는 주문자 성명에 배치된 경우 이와 같은 서비스 요청 시도는 비정상적인 요청이라고 판단되어 매크로 방지 서버(100) 상에서 요청이 거부되고 입력값이 데이터베이스 상에 저장되지 않을 수 있다.For example, if the decoded input value consists of 11 digits, it corresponds to a phone number. 100), the request may be rejected and the input value may not be stored in the database.
매크로 방지 대상 결정부(150)는 사용자 단말기(200)를 통해 시도되는 서비스 요청의 시간 대비 빈도수를 계산하고, 계산된 값에 기초하여 매크로 동작 방지 기술을 적용할 사용자를 결정할 수 있다. The macro
즉, 사용자가 웹 서비스를 통해 특정 상품 또는 서비스에 대한 구매, 주문 또는 예약을 수행함에 있어 매크로를 통해 반복적인 서비스 요청을 진행하는 경우에만 매크로 동작 방지 기술이 적용되도록 설정될 수 있다.That is, when a user purchases, orders, or makes a reservation for a specific product or service through the web service, the macro operation prevention technology may be set to be applied only when the user repeatedly requests a service through the macro.
이와 같은 매크로 방지 대상 결정부(150)의 동작에 의해, 매크로를 활용하지 않고 정상적으로 웹 서비스를 이용하는 사용자는 인터페이스 변경으로 인한 불편을 겪지 않을 수 있게 된다.Due to the operation of the macro prevention
통신부(160)는 매크로 방지 서버(100)가 사용자 단말기(200) 및 데이터베이스 서버(300)와의 통신을 수행할 수 있도록 한다. 통신부(160)가 통신을 수행하기 위해서 사용하는 통신망은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 예를 들면, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구현될 수 있다.The
통신부(160)는 입력 필드 암호화부(130) 및 입력값 복호화부(140)의 설명에서 전술된 통신 기능을 실제로 구현하는 역할을 수행할 수 있다. The
저장부(170)는 매크로 방지 서버(100)의 각종 구성부 내에서 수집되고, 생성되고, 가공되는 정보들을 저장하는 역할을 수행한다. 즉, 저장부(170)에는 웹 서비스의 운용을 위해서 필요한 웹 페이지의 인터페이스 관련 정보, 제공되는 상품 또는 서비스에 대한 정보 등이 저장될 수 있다. 이와 같은 정보들은 데이터베이스 서버(300)에 별도로 저장될 수도 있지만 그 일부가 저장부(170) 내에 저장될 수도 있다. 이러한 저장부(170)는 예를 들어, 메모리(memory), 캐시(cash), 버퍼(buffer) 등을 포함할 수 있으며, 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.The
제어부(180)는 DOM구조 랜덤화부(110), 더미 필드 생성부(120), 입력 필드 암호화부(130), 입력값 복호화부(140), 매크로 방지 대상 결정부(150), 통신부(160) 및 저장부(170) 간의 데이터 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(180)는 DOM구조 랜덤화부(110), 더미 필드 생성부(120), 입력 필드 암호화부(130), 입력값 복호화부(140), 매크로 방지 대상 결정부(150), 통신부(160) 및 저장부(170)에서 각각 고유한 기능을 수행하도록 제어하고 지원할 수 있다.The control unit 180 includes a DOM
도 2에서 DOM구조 랜덤화부(110), 더미 필드 생성부(120), 입력 필드 암호화부(130), 입력값 복호화부(140), 매크로 방지 대상 결정부(150) 및 통신부(160)는 제어부(180)를 기능적으로 분류한 구성이므로 하나의 제어부(180)로서 통합되어 구성될 수도 있다.In FIG. 2 , the DOM
도 3은 본 발명의 일 실시예에 따른 매크로 방지 서버(100)가 동작하는 방식을 설명하기 위한 흐름도이다.3 is a flowchart for explaining how the
도 3의 각 단계들은 적어도 일부가 생략될 수 있으며 상호 순서가 변경되어 수행될 수도 있다.At least some of the steps of FIG. 3 may be omitted and may be performed by changing the mutual order.
도 3을 참조하면, 매크로 방지 서버(100)는 사용자 단말기(200)로부터 웹 서비스에 대한 요청을 수신할 수 있다(S310). 웹 서비스에 대한 요청은 전술한 바와 같이 특정 상품 또는 서비스에 대한 구매, 주문, 예약 등의 요청을 포함할 수 있다.Referring to FIG. 3 , the
매크로 방지 서버(100)는 사용자 단말기(200)로부터 웹 서비스에 대한 요청을 수신받은 이후, 사용자 단말기(200)로 웹 서비스를 위한 웹 페이지 정보를 제공할 수 있다. 웹 페이지에는 사용자를 위한 다양한 인터페이스가 포함될 수 있으며 일 실시예에 따르면 이와 같은 웹 페이지의 인터페이스는 html을 통해 구현될 수 있다.After receiving the request for the web service from the
매크로 방지 서버(100)는 사용자 단말기(200)에 제공되는 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정할 수 있다(S320). 사용자 단말기(200)에 제공되는 인터페이스 중, 상품 또는 서비스의 구매, 주문, 예약 등의 요청을 위해 제공되는 인터페이스 상에는 사용자에 의해 입력되어야 하는 복수의 입력 필드가 존재할 수 있다. 예를 들어, 특정 서비스를 예약하기 위한 인터페이스에는 예약자 성명, 전화번호, 예약 희망 시간 등의 입력을 위한 입력 필드들이 존재할 수 있으며, 사용자는 각각의 입력 필드에 필요한 정보를 입력함으로써 웹 서비스를 통해 특정 서비스의 예약을 진행할 수 있다.The
매크로 방지 서버(100)는 더미 입력 필드를 생성하여 생성된 더미 입력 필드가 기존 입력 필드 위치의 일부를 차지하도록 삽입할 수 있다(S330). 이 경우, 기존 입력 필드는 더미 입력 필드의 삽입에 따라 축소되거나 위치가 이동되어 더미 입력 필드와 위치적으로 중복되지 않게 조절될 수 있다.The
이와 같은 더미 입력 필드의 생성은 웹 서비스를 제공하기 위한 인터페이스를 구현하는 html 소스 코드 내에 더미 코드를 삽입함으로써 이루어질 수도 있다.The generation of such a dummy input field may be accomplished by inserting a dummy code into an html source code that implements an interface for providing a web service.
매크로 방지 서버(100)는 사용자 단말기(200)가 매크로 방지 서버(100)에 접속할 때에 부여되는 세션 ID값과, 임의의 방식으로 결정되는 시드값을 기초로 하여 입력 필드의 이름(name) 및 아이디(id) 속성에 대한 암호화를 수행할 수 있다(S340). 일 실시예에 따르면 시드값은 서비스 요청이 수행되는 시각 정보에 따라 결정될 수 있다.The
암호화가 완료된 이후, 매크로 방지 서버(100)는 사용자 단말기(200) 상으로 생성된 인터페이스 정보를 전송할 수 있다(S350). 이와 같은 단계는 매크로 방지 서버(100)가 html 방식의 소스 코드를 사용자 단말기(200)에 전송하는 방식으로 이루어질 수 있으며, 이 경우 사용자 단말기(200)는 수신한 소스 코드를 통해 인터페이스를 생성하여 디스플레이부를 통해 표시할 수 있다.After the encryption is completed, the
사용자 단말기(200) 상에서는 암호화가 수행된 항목들에 대한 복호화가 이루어질 수 있으며, 복호화는 매크로 방지 서버(100)에서 암호화에 활용되었던 세션 ID값 및 시드값을 활용함으로써 수행될 수 있다.Encrypted items may be decrypted on the
이후, 사용자는 사용자 단말기(200)를 통해 확인한 인터페이스 상에 존재하는 복수의 입력 필드에 각각 대응되는 정보를 입력할 수 있으며, 사용자 단말기(200) 상에서는 사용자가 입력 필드에 입력한 입력값과, 해당 입력값이 어떠한 항목에 대해 입력된 것인지에 대한 정보의 암호화가 수행될 수 있다. 이와 같은 암호화는 매크로 방지 서버(100)에서 진행되었던 암호화 방식과 동일하게 진행될 수 있다.Thereafter, the user may input information corresponding to a plurality of input fields present on the interface confirmed through the
사용자 단말기(200)는 암호화된 상탱의 입력값을 매크로 방지 서버(100)로 전송하고, 그에 따라 매크로 방지 서버(100)는 암호화된 상태의 입력값을 수신할 수 있다(S360). 매크로 방지 서버(100)는 수신한 입력값을 세션 ID값 및 시드값을 활용하여 복호화할 수 있으며(S370), 복호화된 입력값을 데이터베이스 서버(300)로 전송할 수 있다(S380).The
매크로 방지 서버(100)는 복호화된 입력값을 S380 단계를 통해 데이터베이스 서버(300)에 전송하기 전에, 복호화된 입력값과 해당 입력값이 속하는 입력 필드의 종류 정보를 비교하여, 복호화된 입력값이 대응되는 입력 필드에 정상적으로 배치되었는지를 확인할 수 있으며, 주소값이 전화 번호에 해당하는 입력 필드에 배치되는 것과 같이 입력값이 정확히 배치되지 않은 경우 이에 대한 오류 처리를 진행하고 해당 입력값은 데이터베이스 서버(300)에 저장하지 않을 수 있다.Before transmitting the decoded input value to the
도 4는 본 발명의 일 실시예에 따른 매크로 방지 서버(100)에 의해 사용자 단말기(200) 측으로 제공되는 인터페이스의 예시도로, 인터페이스의 입력 필드 위치 변화를 통해 매크로 동작을 방지하는 방법을 설명하기 위한 도면이다.4 is an exemplary view of an interface provided to the
도 4의 (a)를 참조하면, 사용자가 특정 상품 또는 서비스에 대한 주문을 수행할 수 있는 인터페이스의 기본 형태가 표시되어 있다.Referring to FIG. 4A , a basic form of an interface through which a user can place an order for a specific product or service is displayed.
매크로 방지 서버(100)는 도 4의 (a)와 같은 형태의 서비스 인터페이스를 사용자 단말기(200)에 제공할 수도 있지만, 입력 필드 위치를 랜덤하게 결정하여 변경함으로써 도 4의 (b)와 같은 형태의 서비스 인터페이스를 사용자 단말기(200)에 제공할 수도 있다.The
도 4의 (a)와 (b)를 비교하여 보면, '주문자'에 해당하는 입력 필드와 '휴대폰번호'에 해당하는 입력 필드의 위치가 서로 전환된 것을 확인할 수 있다.Comparing (a) and (b) of FIG. 4 , it can be seen that the positions of the input field corresponding to 'orderer' and the input field corresponding to 'mobile phone number' are switched.
매크로 방지 서버(100)는 하나 이상의 더머 입력 필드를 생성하고 생성된 더미 입력 필드가 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입할 수 있다. 이는 도 4의 (c)를 통해서 확인할 수 있는데, '주문자'에 해당하는 입력필드가 도 4의 (a) 및 (b)에서와는 달리 복수개로 구성된 것을 확인할 수 있다. 도 4의 (c)에서는 '주문자'에 해당하는 입력 필드가 3개로 구성되어 있는데 가장 좌측과 가장 우측에 위치한 상대적으로 짧은 길이의 입력 필드는 더미 입력 필드에 해당하고, 중간에 위치한 입력 필드만이 실제로 사용자가 정보를 입력할 수 있는 입력 필드에 해당할 수 있다.The
일 실시예에 따르면, 실제로 사용되는 입력 필드와 더미 입력 필드는 크기의 차이, 색상의 차이로 구분될 수도 있으며 실제로 사용되는 입력 필드에 표시가 될 수도 있다. According to an embodiment, the actually used input field and the dummy input field may be classified by a difference in size and color, or may be displayed in an actually used input field.
사용자가 더미 입력 필드에 정보를 입력하거나, 매크로에 의해서 더미 입력 필드에 정보가 입력되더라도 이는 사용자의 서비스 이용에 있어 정상적으로 활용되지 않을 수 있다.Even if the user inputs information into the dummy input field or information is input into the dummy input field by a macro, this may not be normally utilized in the user's service use.
도 4의 (c)에서는 두 개의 더미 입력 필드가 실제 입력 필드의 좌우에 배치되는 것으로 도시되었으나, 더미 입력 필드의 개수 및 위치는 랜덤으로 결정될 수 있다.Although two dummy input fields are shown to be disposed on the left and right of the actual input field in FIG. 4C , the number and positions of the dummy input fields may be randomly determined.
도 5는 본 발명의 일 실시예에 따른 매크로 방지 서버(100)에 의해 사용자 단말기(200) 측으로 제공되는 인터페이스의 예시도로, 인터페이스의 입력 필드 간격 변화를 통해 매크로 동작을 방지하는 방법을 설명하기 위한 도면이다.5 is an exemplary view of an interface provided to the
도 5의 (a)를 참조하면, 사용자가 특정 상품 또는 서비스에 대한 주문을 수행할 수 있는 인터페이스의 기본 형태가 표시되어 있다.Referring to FIG. 5A , a basic form of an interface through which a user can place an order for a specific product or service is displayed.
매크로 방지 서버(100)는 도 5의 (a)와 같은 형태의 서비스 인터페이스를 사용자 단말기(200)에 제공할 수도 있지만, 입력 필드 간의 간격을 랜덤하게 결정하여 변경함으로써 도 5의 (b)와 같은 형태의 서비스 인터페이스를 사용자 단말기(200)에 제공할 수도 있다.The
도 5의 (a)와 (b)를 비교하여 보면, '주문자'에 해당하는 입력 필드와 '휴대폰번호'에 해당하는 입력필드 간의 간격이 (b)에서는 (a)에서 보다 큰 폭으로 이격되어 있는 것을 확인할 수 있다.Comparing (a) and (b) of FIG. 5, the interval between the input field corresponding to 'orderer' and the input field corresponding to 'mobile phone number' is larger in (b) than in (a). can confirm that there is
이와 같이, 매크로 방지 서버(100)는 도 4를 통해 전술된 것과 같이 입력 필드 간의 순서, 위치를 변경시킬 뿐 아니라 복수의 입력 필드 간의 간격 또한 변경시킴으로써 UI를 활용한 매크로의 동작을 방지할 수 있다.In this way, the
도 6은 본 발명의 일 실시예에 따른 매크로 방지 서버(100)가 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 삽입하는 더미 코드에 대해 설명하기 위한 도면이다.6 is a view for explaining a dummy code inserted into the source code for implementing the service interface by the
도 6을 참조하면, 도 4 및 도 5를 통해 도시된 인터페이스 상의 '주문자' 항목에 대한 입력 필드에 대응되는 소스 코드가 표시되어 있다.Referring to FIG. 6 , a source code corresponding to an input field for an 'orderer' item on the interface shown in FIGS. 4 and 5 is displayed.
상세하게는, 도 6에 표시된 소스 코드는 도 4의 (c)에 관한 소스 코드이며, 소스 코드 중 붉은 색으로 표시된 부분은 더미 입력 필드 생성을 위한 더미 코드 부분이다.In detail, the source code shown in FIG. 6 is the source code of FIG. 4C , and the red part of the source code is a dummy code part for generating a dummy input field.
도 6에서는 3개의 더미 코드가 표시되어 있으며, 표시된 더미 코드들은 더미 코드를 통해 생성되는 더미 입력 필드와 대응되는 입력 필드의 소스 코드와 동일한 형식으로 생성된 것을 확인할 수 있다. 또한, 더미 코드는 이와 대응되는 소스 코드와 일부 식별자만이 상이하도록 생성된 것을 확인할 수 있다. 도 6에서는 name에 해당하는 식별자만이 상이하게 설정되고 나머지 식별자들은 동일하게 설정된 것을 확인할 수 있다.In FIG. 6 , three dummy codes are displayed, and it can be seen that the displayed dummy codes are generated in the same format as a source code of an input field corresponding to a dummy input field generated through the dummy code. Also, it can be confirmed that the dummy code is generated so that only some identifiers are different from the corresponding source code. In FIG. 6 , it can be seen that only the identifier corresponding to the name is set differently and the remaining identifiers are set the same.
일 실시예에 따르면, 더미 코드 중 적어도 일부는 사용자 인터페이스 상에서는 표시되지 않는 형태로 삽입될 수 있으며, 이 경우 더미 코드는 소크 코드 상에는 삽입되지만 사용자 인터페이스 상에는 이에 대응되는 더미 입력 필드가 표시되지 않을 수 있다.According to an embodiment, at least a portion of the dummy code may be inserted in a form that is not displayed on the user interface. In this case, the dummy code is inserted on the soak code, but a corresponding dummy input field may not be displayed on the user interface. .
이와 같이, 본 발명의 다양한 실시예들에 따르면 웹 서비스를 제공하는 인터페이스의 외관적 변화를 통해 UI를 활용한 매크로의 동작을 방지할 수 있으며, html 소스 코드 내에서의 돔 셀렉터를 활용한 매크로의 경우에는 더미 코드들의 삽입과 암호화를 통해 매크로의 동작을 방지할 수 있다.As described above, according to various embodiments of the present invention, it is possible to prevent the operation of the macro using the UI through the external change of the interface that provides the web service, and the macro using the dome selector in the html source code. In this case, the operation of the macro can be prevented through the insertion and encryption of dummy codes.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in relation to the embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing the technical spirit or essential features thereof. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
100: 매크로 방지 서버
200: 사용자 단말기
300: 데이터베이스 서버100: anti-macro server
200: user terminal
300: database server
Claims (10)
사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 단계;
적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계;
상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하는 단계;
암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하고, 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하는 단계;
상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 단계; 및
복호화된 입력값을 데이터베이스에 저장하는 단계를 포함하고,
생성된 더미 입력 필드가 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계는,
상기 생성된 더미 입력 필드가 삽입되기 이전에 해당 위치에 존재하던 입력 필드의 크기를 축소시키거나 위치를 이동시켜, 생성된 더미 입력 필드와 위치적으로 중복되는 부분이 존재하지 않도록 조절하는 단계를 더 포함하는, 매크로 방지 서버의 매크로 동작 방지 방법.
In the method of preventing macro action for a service provided on the web by a macro prevention server,
randomly determining positions of a plurality of input fields existing on a service interface provided to a user terminal;
generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions where the plurality of input fields are displayed;
In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. performing;
transmitting the encrypted name and ID to the user terminal, and receiving an encrypted input value from the user terminal;
decoding the input value received from the user terminal based on the session ID value and the seed value; and
storing the decrypted input value in a database;
Inserting the generated dummy input field so that it occupies a portion of the positions where the plurality of input fields are displayed includes:
The step of reducing the size or moving the position of the input field existing at the corresponding position before the generated dummy input field is inserted so that there is no positionally overlapping part with the generated dummy input field is further performed. A method for preventing macro action of a macro prevention server, including.
상기 더미 입력 필드의 생성 단계는,
상기 서비스 인터페이스를 구현하기 위한 소스 코드 내부에 더미 입력 필드 생성을 위한 더미 코드를 삽입하는 단계를 더 포함하는, 매크로 방지 서버의 매크로 동작 방지 방법.
According to claim 1,
The step of generating the dummy input field includes:
The method for preventing macro operation of a macro prevention server further comprising inserting a dummy code for generating a dummy input field into the source code for implementing the service interface.
상기 소스 코드 내부에 삽입되는 더미 코드의 개수가 랜덤하게 결정되는 것을 특징으로 하는, 매크로 방지 서버의 매크로 동작 방지 방법.
3. The method of claim 2,
A method for preventing macro operation of a macro prevention server, characterized in that the number of dummy codes inserted into the source code is randomly determined.
상기 더미 코드는 상기 더미 코드를 통해 생성되는 더미 입력 필드와 대응되는 입력 필드의 소스 코드와 동일한 형식으로 생성되며, 대응되는 소스 코드와 일부 식별자만이 상이하도록 생성되는 것을 특징으로 하는, 매크로 방지 서버의 매크로 동작 방지 방법.
3. The method of claim 2,
The dummy code is generated in the same format as the source code of the input field corresponding to the dummy input field generated through the dummy code, and is generated so that only some identifiers are different from the corresponding source code. How to prevent macro action in .
상기 복수의 입력 필드 위치를 랜덤하게 결정하는 단계는,
복수의 입력 필드 간의 간격을 조절하는 단계를 더 포함하는, 매크로 방지 서버의 매크로 동작 방지 방법.
According to claim 1,
The step of randomly determining the positions of the plurality of input fields includes:
Further comprising the step of adjusting an interval between the plurality of input fields, the macro operation prevention method of the macro prevention server.
사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 단계;
적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계;
상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하는 단계;
암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하고, 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하는 단계;
상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 단계; 및
복호화된 입력값을 데이터베이스에 저장하는 단계를 포함하고,
상기 사용자 단말기를 통해 시도되는 서비스 요청의 시간 대비 빈도수를 계산하고 계산된 값에 기초하여 매크로 동작 방지 기술을 적용할 사용자를 결정하는 단계를 더 포함하는, 매크로 방지 서버의 매크로 동작 방지 방법.
In the method of preventing macro action for a service provided on the web by a macro prevention server,
randomly determining positions of a plurality of input fields existing on a service interface provided to a user terminal;
generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions where the plurality of input fields are displayed;
In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. performing;
transmitting the encrypted name and ID to the user terminal, and receiving an encrypted input value from the user terminal;
decoding the input value received from the user terminal based on the session ID value and the seed value; and
storing the decrypted input value in a database;
Calculating the frequency versus time of service requests attempted through the user terminal, and determining a user to which a macro operation prevention technology is to be applied based on the calculated value.
상기 시드값은, 암호화가 수행되는 시각 정보에 기초하여 결정되는 것을 특징으로 하는, 매크로 방지 서버의 매크로 동작 방지 방법.
According to claim 1,
The seed value, characterized in that determined based on the time information on which encryption is performed, the macro operation prevention method of the macro prevention server.
사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 단계;
적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드를 상기 복수의 입력 필드가 표시되는 위치 중 일부를 차지하도록 삽입하는 단계;
상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하는 단계;
암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하고, 상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하는 단계;
상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 단계; 및
복호화된 입력값을 데이터베이스에 저장하는 단계를 포함하고,
상기 복호화된 입력값과 해당 입력값이 속하는 입력 필드의 종류를 비교하여 상기 복호화된 입력값이 대응되는 입력 필드에 정상적으로 배치되었는지를 확인하는 단계를 더 포함하는, 매크로 방지 서버의 매크로 동작 방지 방법.
In the method of preventing macro action for a service provided on the web by a macro prevention server,
randomly determining positions of a plurality of input fields existing on a service interface provided to a user terminal;
generating at least one or more dummy input fields and inserting the generated dummy input fields to occupy a portion of positions where the plurality of input fields are displayed;
In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. performing;
transmitting the encrypted name and ID to the user terminal, and receiving an encrypted input value from the user terminal;
decoding the input value received from the user terminal based on the session ID value and the seed value; and
storing the decrypted input value in a database;
The method further comprising the step of comparing the decoded input value with a type of an input field to which the corresponding input value belongs, and confirming whether the decoded input value is normally placed in a corresponding input field.
사용자 단말기에 제공되는 서비스 인터페이스 상에 존재하는 복수의 입력 필드 위치를 랜덤하게 결정하는 DOM구조 랜덤화부;
적어도 하나 이상의 더미 입력 필드를 생성하고 생성된 더미 입력 필드가 상기 복수의 입력 필드가 표시하는 위치 중 일부를 차지하도록 삽입하는 더미 필드 생성부;
상기 복수의 입력 필드의 적어도 일부에 대해 입력 필드의 이름 및 아이디에 대한 암호화를 수행함에 있어, 상기 사용자 단말기가 상기 매크로 방지 서버에 접속할 시에 부여되는 세션 ID값 및 시드값을 기초로 하여 암호화를 수행하며, 암호화가 수행된 이름 및 아이디를 상기 사용자 단말기로 전송하는 입력 필드 암호화부;
상기 사용자 단말기로부터 암호화된 상태의 입력값을 수신하여, 상기 사용자 단말기로부터 수신한 입력값을 상기 세션 ID값 및 시드값을 기초로 복호화하는 입력값 복호화부; 및
복호화된 입력값을 데이터베이스 서버에 전달하는 통신부를 포함하고,
상기 더미 필드 생성부는 상기 생성된 더미 입력 필드가 삽입되기 이전에 해당 위치에 존재하던 입력 필드의 크기를 축소시키거나 위치를 이동시켜, 생성된 더미 입력 필드와 위치적으로 중복되는 부분이 존재하지 않도록 조절하는, 매크로 방지 서버.In the macro prevention server that operates to prevent macro operation for services provided on the Web,
a DOM structure randomizer for randomly determining positions of a plurality of input fields existing on a service interface provided to a user terminal;
a dummy field generator generating at least one dummy input field and inserting the generated dummy input field to occupy a portion of positions displayed by the plurality of input fields;
In performing encryption on the name and ID of the input field for at least a portion of the plurality of input fields, encryption is performed based on the session ID value and the seed value provided when the user terminal accesses the macro prevention server. an input field encryption unit for transmitting the encrypted name and ID to the user terminal;
an input value decoding unit receiving an encrypted input value from the user terminal and decoding the input value received from the user terminal based on the session ID value and the seed value; and
It includes a communication unit that transmits the decoded input value to the database server,
The dummy field generating unit reduces the size or moves the position of the input field existing at the corresponding position before the generated dummy input field is inserted, so that there is no positionally overlapping part with the generated dummy input field. Regulating, anti-macro server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200080052A KR102362031B1 (en) | 2020-06-30 | 2020-06-30 | Method for preventing macro on web service and server performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200080052A KR102362031B1 (en) | 2020-06-30 | 2020-06-30 | Method for preventing macro on web service and server performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220001743A KR20220001743A (en) | 2022-01-06 |
KR102362031B1 true KR102362031B1 (en) | 2022-02-11 |
Family
ID=79347824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200080052A KR102362031B1 (en) | 2020-06-30 | 2020-06-30 | Method for preventing macro on web service and server performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102362031B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200059490A1 (en) * | 2015-10-22 | 2020-02-20 | Versafe Ltd. | Methods for hypertext markup language (html) input field obfuscation and devices thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070039415A (en) * | 2005-10-08 | 2007-04-12 | 강영주 | Macro prevention technique and algorithm in online game |
KR101042227B1 (en) * | 2009-11-24 | 2011-06-16 | 이니텍(주) | A Method for Preventing from Hacking with Virtual Keyboard |
KR101837726B1 (en) | 2017-07-11 | 2018-04-27 | 주식회사 쿼리시스템즈 | Method and apparatus for blocking illegal reservation |
EP3461055B1 (en) * | 2017-09-20 | 2020-02-12 | Universidad de Vigo | System and method for secure outsourced annotation of datasets |
-
2020
- 2020-06-30 KR KR1020200080052A patent/KR102362031B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200059490A1 (en) * | 2015-10-22 | 2020-02-20 | Versafe Ltd. | Methods for hypertext markup language (html) input field obfuscation and devices thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20220001743A (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201516911A (en) | Data processing method, device and system thereof | |
KR101746279B1 (en) | System and method for authenticating user using contact list | |
CN103269273B (en) | A kind of dynamic password login system of independent account seamless access and method | |
US20190354669A1 (en) | 3d virtual interactive digital user authentication security | |
KR20230173672A (en) | On-demand applications for extending web services | |
US20150339744A1 (en) | Systems and methods for requesting a quote or processing an order | |
US11301862B2 (en) | Secure transfer of tokens between devices | |
CN105516225A (en) | Operation object method, device and system | |
KR102362031B1 (en) | Method for preventing macro on web service and server performing the same | |
KR20220169876A (en) | System for providing ip licensing platform | |
KR102114409B1 (en) | Revocable platform identifiers | |
US20210397679A1 (en) | System and method for securing a browser against font usage fingerprinting | |
CN110266686B (en) | Data sharing method, device, equipment and computer readable storage medium | |
US10861111B2 (en) | Distributed systems, devices and methods for dispensing fuel | |
US20180060867A1 (en) | Secure Electronic Payment Transaction Processing with Integrated Data Tokenization | |
JP2007052489A (en) | User authentication method and user authentication program | |
CN114846466A (en) | System and method for data access control of secure memory using short-range transceivers | |
KR101459283B1 (en) | 2 Channel authentication device and method | |
JP5028231B2 (en) | Transaction authentication method | |
CN104395922A (en) | Systems, methods, and computer program products for providing offers to mobile wallets | |
US20240086519A1 (en) | System and method for distributed management of consumer data | |
US9703448B2 (en) | Systems, devices, and methods for distributed processing for preauthorized payment | |
US9323910B2 (en) | Method, client and server of password verification, and password terminal system | |
US11037554B1 (en) | Network of domain knowledge based conversational agents | |
CN107272920B (en) | Method and device for changing corresponding relation between keys and characters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |