KR101272026B1 - System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof - Google Patents

System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof Download PDF

Info

Publication number
KR101272026B1
KR101272026B1 KR1020110077552A KR20110077552A KR101272026B1 KR 101272026 B1 KR101272026 B1 KR 101272026B1 KR 1020110077552 A KR1020110077552 A KR 1020110077552A KR 20110077552 A KR20110077552 A KR 20110077552A KR 101272026 B1 KR101272026 B1 KR 101272026B1
Authority
KR
South Korea
Prior art keywords
verification function
communication terminal
verification
specific application
hacking
Prior art date
Application number
KR1020110077552A
Other languages
Korean (ko)
Other versions
KR20130015520A (en
Inventor
심재훈
정지혜
Original Assignee
정지혜
유비아이텍 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정지혜, 유비아이텍 주식회사 filed Critical 정지혜
Priority to KR1020110077552A priority Critical patent/KR101272026B1/en
Publication of KR20130015520A publication Critical patent/KR20130015520A/en
Application granted granted Critical
Publication of KR101272026B1 publication Critical patent/KR101272026B1/en

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)

Abstract

본 발명은 해킹 방지 시스템 및 그 제어방법과, 그 시스템에 포함되는 해킹 방지 지원 서버 및 그 제어방법에 관한 것이다. 본 발명에 따른 해킹 방지 시스템의 제어방법은, 특정 어플리케이션을 실행하는 통신 단말기가 검증 펑션 요청 신호를 해킹 방지 지원 서버에 전송하는 단계와; 상기 해킹 방지 지원 서버가 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하며, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하는 단계와; 상기 통신 단말기가 상기 해킹 방지 지원 서버로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 상기 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버에 전송하는 단계와; 상기 해킹 방지 지원 서버가 상기 저장된 검증 펑션 결과값과 상기 통신 단말기로부터 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a hacking prevention system and a control method thereof, a hacking prevention support server included in the system and a control method thereof. A control method of a hacking prevention system according to the present invention includes the steps of: transmitting, by a communication terminal executing a specific application, a verification function request signal to a hacking prevention support server; The hacking prevention support server determines a verification function list and a verification function execution order, transmits verification function information including the determined verification function list and verification function execution order to the communication terminal, and executes the verification function list and verification function execution. Storing a verification function result value calculated by performing at least one verification function on the program code related to the specific application based on the order; Verification function result value by performing at least one verification function for the program code associated with the specific application based on the verification function list and the verification function execution order included in the verification function information received from the hacking prevention support server Calculating and transmitting the calculated verification function result to the hacking prevention support server; The hacking prevention support server compares the stored verification function result value with the verification function result value received from the communication terminal, and if the comparison result is determined that hacking is not performed for the specific application included in the communication terminal. Characterized in that it comprises a step.

Description

해킹 방지 시스템 및 그 제어방법과, 그 시스템에 포함되는 해킹 방지 지원 서버 및 그 제어방법{SYSTEM FOR HACKING PREVENTION AND CONTROL METHOD THEREOF, SERVER FOR SUPPORTING HACKING PREVENTION COMPRISED IN THE SYSTEM AND CONTROL METHOD THEREOF}Anti-hacking system and its control method, anti-hacking support server included in the system and its control method {SYSTEM FOR HACKING PREVENTION AND CONTROL METHOD THEREOF, SERVER FOR SUPPORTING HACKING PREVENTION COMPRISED IN THE SYSTEM AND CONTROL METHOD THEREOF}

본 발명은 해킹 방지 시스템 및 그 제어방법과, 그 시스템에 포함되는 해킹 방지 지원 서버 및 그 제어방법에 관한 것으로, 보다 상세하게는 소정의 통신 단말기 상에서 구동되는 어플리케이션에 대해서 해킹이 이루어지는 것을 방지하고 더 나아가 이를 검출할 수 있도록 구성된 해킹 방지 시스템 및 그 제어방법과, 그 시스템에 포함되는 해킹 방지 지원 서버 및 그 제어방법에 관한 것이다.The present invention relates to a hacking prevention system and a control method thereof, a hacking prevention support server included in the system and a control method thereof, and more particularly, to prevent hacking against an application running on a predetermined communication terminal. Furthermore, the present invention relates to a hacking prevention system and a control method configured to detect the same, a hacking prevention support server included in the system, and a control method thereof.

현대 사회는 전자분야의 발전으로 인해 다양한 기기들이 전자화, 디지털화 되고 있고, 이에 따라 소프트웨어 프로그램에 의해 동작되는 기기들이 늘어나고 있다.In modern society, due to the development of the electronic field, various devices are being digitalized and digitized, and accordingly, devices operated by software programs are increasing.

그 중 대표적인 것이 컴퓨터이다. 컴퓨터에는 OS(OPERATION SYSTEM)이 설치되어 있고, 각종 어플리케이션은 별도의 소프트웨어로 컴퓨터에 설치되어 동작될 수 있다.The most representative one is a computer. An OS (OPERATION SYSTEM) is installed in the computer, and various applications may be installed and operated in the computer as separate software.

이러한 컴퓨터는 비단 데스크톱과 같은 개인용 컴퓨터(Personal Computer) 뿐만 아니라 스마트폰과 같은 통신 단말기도 해당된다.Such a computer is not only a personal computer such as a desktop, but also a communication terminal such as a smartphone.

그런데, 이처럼 소프트웨어에 의해 프로그래밍된 어플리케이션들이 이용됨에 따라 가장 크게 문제가 되는 것은 해당 어플리케이션의 해킹이다.However, as the applications programmed by the software are used, the biggest problem is the hacking of the corresponding application.

일반적으로 해킹은 컴퓨터 네트워크의 취약한 보안망에 불법적으로 접근하거나 정보 시스템 또는 특정 단말기 상의 동작에 유해한 영향을 끼치는 제반 행위를 일컫는 것으로서, 결국 어플리케이션의 프로그램 코드를 임의로 조작하여 해당 어플리케이션을 개발한 개발자가 의도하지 않은 형태로 어플리케이션이 동작하도록 하는 것을 말한다.In general, hacking refers to all kinds of activities that illegally access a vulnerable security network of a computer network or have a detrimental effect on the operation of an information system or a specific terminal.As a result, a developer who develops an application by arbitrarily manipulating the program code of the application is intended. This is to make an application run in a form that is not.

예를 들어 통신 단말기에 특정 서버와의 통신에 따른 인증 과정을 거친 경우에만 특정 기능이 수행되는 어플리케이션이 설치되어 있는 경우, 해킹에 의해서 인증 과정을 회피하여 해당 특정 기능이 수행되도록 할 수도 있는 것이다.For example, when an application that performs a specific function is installed only in a communication terminal through an authentication process according to communication with a specific server, the specific function may be performed by avoiding the authentication process by hacking.

이처럼 해킹의 문제는 서비스 제공, 사용자 인증, 과금 등 통신 시스템 전반에 있어서 큰 영향을 미치는 것으로서 결코 무시하거나 간과할 수 없는 중요한 문제에 해당한다.As such, the problem of hacking is an important problem that can never be ignored or overlooked as it has a great influence on the overall communication system such as service provision, user authentication, and billing.

그러나 종래의 해킹 방지를 위한 방법을 살펴보면 어플리케이션의 코드를 해커들이 쉽게 추적하지 못하도록 어렵게 만드는 수준에 머물러 있어서, 해킹을 효과적으로 방지하는데는 실패해왔다.However, the conventional methods for preventing hacking have failed to effectively prevent hacking because they are at a level that makes it difficult for hackers to track the application code easily.

본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 특정 단말기 상에서의 해킹이 쉽게 이루어지지 않도록 하고 더 나아가 그 해킹 상태를 외부의 서버에서 쉽게 확인할 수 있도록 하는 해킹 방지 시스템 및 그 제어방법과, 그 시스템에 포함되는 해킹 방지 지원 서버 및 그 제어방법을 제공하는 것이다. The present invention has been made to solve the above-mentioned conventional problems, the object of the hacking prevention system to prevent hacking on a specific terminal easily, and furthermore, to easily check the hacking state from an external server and its A control method, an anti-hacking support server included in the system, and a control method thereof are provided.

상기한 목적을 달성하기 위해 본 발명에 따른 해킹 방지 시스템의 제어방법은, 특정 어플리케이션을 실행하는 통신 단말기가 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 해킹 방지 지원 서버에 전송하는 단계와; 상기 해킹 방지 지원 서버가 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하며, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하는 단계와; 상기 통신 단말기가 상기 해킹 방지 지원 서버로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 상기 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버에 전송하는 단계와; 상기 해킹 방지 지원 서버가 상기 저장된 검증 펑션 결과값과 상기 통신 단말기로부터 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 단계를 포함하여 이루어진다.In order to achieve the above object, a control method of a hacking prevention system according to the present invention includes: transmitting, by a communication terminal executing a specific application, a verification function request signal including the specific application information to a hacking prevention support server; The hacking prevention support server determines a verification function list and a verification function execution order according to a predetermined algorithm according to the verification function request signal of the communication terminal, and verifies the verification function information including the determined verification function list and verification function execution order. Transmitting to the communication terminal a result of performing at least one verification function on the program code associated with the specific application based on the verification function list and the execution order of the verification functions; Verification function result value by performing at least one verification function for the program code associated with the specific application based on the verification function list and the verification function execution order included in the verification function information received from the hacking prevention support server Calculating and transmitting the calculated verification function result to the hacking prevention support server; The hacking prevention support server compares the stored verification function result value with the verification function result value received from the communication terminal, and if the comparison result is determined that hacking is not performed for the specific application included in the communication terminal. A step is made.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 해킹 방지 시스템은, 특정 어플리케이션을 실행하고 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 해킹 방지 지원 서버에 전송하고, 상기 해킹 방지 지원 서버로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 상기 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버에 전송하는 통신 단말기와; 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하며, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하고, 상기 저장된 검증 펑션 결과값과 상기 통신 단말기로부터 수신된 검증 펑션 결과값을 비교하여 그 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 상기 해킹 방지 지원 서버를 포함하여 구성된다.In addition, in order to achieve the above object, the hacking prevention system according to the present invention executes a specific application and transmits a verification function request signal including the specific application information to the hacking prevention support server, and receives from the hacking prevention support server. The verification function result value is calculated by performing at least one verification function on the program code related to the specific application based on the verification function list and verification function execution order included in the verification function information. Communication terminal for transmitting to the hacking prevention support server; Determine a verification function list and a verification function execution order according to a predetermined algorithm according to a verification function request signal of the communication terminal, and transmit verification function information including the determined verification function list and verification function execution order to the communication terminal; And storing a verification function result value calculated by performing at least one verification function on the program code related to the specific application based on the verification function list and the verification function execution order, and storing the stored verification function result value and the communication terminal. And the anti-hacking support server that compares the verification function result value received from the terminal and determines that hacking is not performed for the specific application included in the communication terminal when the comparison result is matched.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 해킹 방지 지원 서버의 제어방법은, 특정 어플리케이션을 실행하는 통신 단말기로부터 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 수신하는 단계와; 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하는 단계와; 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하는 단계와; 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하는 단계와; 상기 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출한 상기 통신 단말기로부터 상기 산출한 검증 펑션 결과값을 수신하는 단계와; 상기 저장된 검증 펑션 결과값과 상기 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 단계를 포함하여 이루어진다.In addition, to achieve the above object, the control method of the hacking prevention support server according to the present invention comprises the steps of: receiving a verification function request signal including the specific application information from a communication terminal for executing a specific application; Determining a verification function list and an execution order of verification functions according to a predetermined algorithm according to the verification function request signal of the communication terminal; Storing a verification function result value calculated by performing at least one verification function on a program code related to the specific application based on the determined verification function list and a verification function execution order; Transmitting verification function information including the determined verification function list and a verification function execution order to the communication terminal; The verification calculated from the communication terminal that calculates a verification function result value by performing at least one verification function on a program code related to the specific application based on a verification function list included in the verification function information and an execution order of verification functions. Receiving a function result value; And comparing the stored verification function result value with the received verification function result value and determining that hacking is not performed for the specific application included in the communication terminal when the comparison result is matched.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 해킹 방지 지원 서버는, 저장부와; 특정 어플리케이션을 실행하는 통신 단말기로부터 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 수신하는 요청 수신부와; 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 상기 저장부에 저장하는 요청 처리부와; 상기 요청 처리부에서 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하는 전송부와; 상기 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 통신 단말기에서 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 수신하는 데이터 수신부와; 상기 저장부에 저장된 검증 펑션 결과값과 상기 데이터 수신부에 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 해킹 여부 판단부를 포함하여 구성된다.In addition, the anti-hacking support server according to the present invention to achieve the above object, the storage unit; A request receiving unit which receives a verification function request signal including the specific application information from a communication terminal executing a specific application; Determine a verification function list and a verification function execution order according to a predetermined algorithm according to a verification function request signal of the communication terminal, and based on the determined verification function list and verification function execution order, at least one program code related to the specific application. A request processing unit for storing a verification function result value calculated by performing a verification function of the storage unit; A transmission unit which transmits verification function information including a verification function list determined by the request processing unit and a verification function execution order to the communication terminal; A data receiver configured to receive a verification function result value calculated by performing at least one verification function on a program code related to the specific application in the communication terminal based on a verification function list included in the verification function information and an execution order of verification functions; Wow; Compare the verification function result value stored in the storage unit and the verification function result value received in the data receiving unit, and if the comparison result is determined that the hacking to determine that the hacking is not performed for the specific application included in the communication terminal It is configured to include a wealth.

이상 설명한 바와 같이 본 발명에 따르면, 해커들이 단말기 상에서 특정 어플리케이션의 실행 코드를 추적하면서 특정 코드의 내용을 변경하더라도 다음 번 해당 어플리케이션의 실행 순서는 달라질 수 있어서 해킹이 이루어지지 않은 플로어를 따라 정상적인 실행이 이루어질 수 있다.As described above, according to the present invention, even if the hacker changes the content of a specific code while tracking the execution code of a specific application on the terminal, the execution order of the next application may be different, so that normal execution is performed along the floor where the hacking is not performed. Can be done.

또한 해킹이 이루어진 경우 이를 검출하여 해당 어플리케이션이 정상동작하지 못하도록 하는(예를 들어 죽이는) 쓰레드 또는 프로세스의 종류가 매번 변할 뿐만 아니라 해커가 해당 쓰레드 또는 프로세스를 검출해내기가 용이하지 않으므로, 실제 해킹이 이루어졌을 때 해당 어플리케이션의 동작을 차단할 수 있다.In addition, the type of thread or process that detects the hacking and prevents the application from operating (for example, kills) changes every time, and it is not easy for the hacker to detect the thread or process. When it is done, you can block the operation of the application.

특히 실제 특정 어플리케이션의 실행과는 무관한 복수 개의 쓰레드나 프로세스 또는 검증 펑션 등을 메모리 등에 상주시키거나 이러한 실행 코드를 어플리케이션에 포함되도록 하는 경우 상술한 해킹 방지 효과를 극대화할 수 있다.In particular, when the plurality of threads or processes or verification functions irrelevant to the execution of a specific application reside in a memory or the like, or the execution code is included in the application, the above hacking prevention effect can be maximized.

도 1은 본 발명의 일 실시예에 따른 해킹 방지 시스템의 개략 구성도이고,
도 2는 도 1의 해킹 방지 지원 서버의 기능 블록도이고,
도 3 내지 도 5는 본 발명의 일 실시예에 따른 해킹 방지 시스템의 제어 및 신호 흐름도이다.
1 is a schematic configuration diagram of a hacking prevention system according to an embodiment of the present invention,
2 is a functional block diagram of the hacking prevention support server of Figure 1,
3 to 5 are control and signal flow diagrams of the hacking prevention system according to an embodiment of the present invention.

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 해킹 방지 시스템은 도 1에 도시된 바와 같이 통신 단말기(200), 해킹 방지 지원 서버(100)를 포함하여 구성되고, 추가적으로 서비스 제공 서버(300)가 더 포함될 수 있다.Hacking prevention system according to an embodiment of the present invention is configured to include a communication terminal 200, the hacking prevention support server 100, as shown in Figure 1, and may further include a service providing server 300. .

상술한 구성요소에 대해 개략적으로 살펴보면 통신 단말기(200)는 각 사용자가 사용하는 단말기로서 본 실시예에 따라 특정 어플리케이션에 대한 해킹이 방지되는 장치에 해당하는 것이고, 해킹 방지 지원 서버(100)는 통신 단말기(200)에서의 해킹이 발생되지 않도록 각종 처리 과정을 수행하는 서버에 해당하고, 서비스 제공 서버(300)는 통신 단말기(200)에 소정의 서비스(예를 들어 통신 서비스, 또는 파일 제공 서비스, 정보 제공 서비스, 온라인 게임 서비스 등)를 제공하는 서버에 해당한다.Referring to the above components in brief, the communication terminal 200 is a terminal used by each user and corresponds to a device for preventing hacking for a specific application according to the present embodiment, and the hacking prevention support server 100 communicates. Corresponds to a server that performs various processes so that hacking does not occur in the terminal 200, and the service providing server 300 provides a predetermined service (for example, a communication service or a file providing service) to the communication terminal 200. It corresponds to a server that provides information service, online game service, etc.).

이하 각 장치들의 기능에 대해 보다 구체적으로 설명한다.Hereinafter, the functions of the devices will be described in more detail.

통신 단말기(200)는 개인용 컴퓨터는 물론이고, PDA(Personal Digital Assistants), 휴대폰, 스마트 폰 등 네트워크 통신이 가능한 모든 통신 장치를 의미한다.The communication terminal 200 refers to all communication devices capable of network communication, such as personal digital assistants (PDAs), mobile phones, smart phones, as well as personal computers.

통신 단말기(200)는 다양한 어플리케이션을 실행할 수 있는데, 특히 본 실시예에서는 해킹 방지 대상이 되는 어플리케이션을 '특정 어플리케이션'이라 지칭하기로 한다.The communication terminal 200 may execute various applications. In particular, in the present embodiment, an application that is a hacking prevention target will be referred to as a 'specific application'.

통신 단말기(200)는 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 해킹 방지 지원 서버(100)에 전송하고, 해킹 방지 지원 서버(100)로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 그 산출한 검증 펑션 결과값을 해킹 방지 지원 서버(100)에 전송하는 기능을 수행한다.The communication terminal 200 transmits a verification function request signal including specific application information to the hacking prevention support server 100, and includes a verification function list and verification function included in the verification function information received from the hacking prevention support server 100. Performs a function of calculating a verification function result value by performing at least one verification function on program code related to a specific application based on the execution order, and transmitting the calculated verification function result value to the hacking prevention support server 100. do.

예를 들어 특정 어플리케이션(즉, 해당 특정 어플리케이션의 프로그램 코드)에 다수 개의 검증 펑션(예를 들어 실행 함수)이 포함되어 있는 경우, 통신 단말기(200)는 해킹 방지 지원 서버(100)로부터 수신되는 검증 펑션 정보에 따라 몇 개의 검증 펑션을 수행할 수 있는 것이다.For example, when a plurality of verification functions (for example, execution functions) are included in a specific application (that is, program code of the specific application), the communication terminal 200 verifies that the terminal is received from the hacking prevention support server 100. Several verification functions can be performed according to the function information.

일 예로, 특정 어플리케이션에 1~100번 검증 펑션이 포함되어 있고, 해킹 방지 지원 서버(100)로부터 수신되는 검증 펑션 정보의 검증 펑션 목록과 그 실행 순서가 "3,37,11,21,85,57" 인 경우, 통신 단말기(200)는 특정 어플리케이션에 포함된 검증 펑션 중에서 3번, 37, 11번, 21번, 85번, 57번 검증 펑션을 순서대로 실행하는 것이다.For example, a specific application includes a verification function 1 to 100, the verification function list of the verification function information received from the hacking prevention support server 100 and the execution order is "3,37,11,21,85," 57 ", the communication terminal 200 executes verification functions 3, 37, 11, 21, 85, and 57 in order from among verification functions included in a specific application.

이때, 검증 펑션이라는 것은 특정 어플리케이션이 해킹되었는지 여부, 즉, 실행 코드가 변경되었는지 여부를 확인하기 위해 수행되는 것으로서, 예를 들어 특정 어플리케이션 프로그램 코드에 대해 해쉬(hash)처리하는 해쉬 함수를 포함할 수 있다.In this case, the verification function is performed to determine whether a specific application has been hacked, that is, whether the execution code has changed, and may include, for example, a hash function that hashes the specific application program code. have.

여기서 소정의 프로그램 코드에 대해 해쉬 처리를 수행하여 산출되는 값은 해당 프로그램 코드의 작은 변화(즉, 해킹이 이루어짐에 따라 발생하는 변화)도 검출해내는데 유용하게 이용될 수 있다.In this case, a value calculated by performing a hash process on a predetermined program code may be usefully used to detect a small change of the corresponding program code (that is, a change generated by hacking).

이처럼 통신 단말기(200)는 동적으로 해킹 방지 지원 서버(100)로부터 수신되는 정보를 기초로 특정 어플리케이션이 변조되었는지 여부를 확인하기 위한 검증 펑션을 실행하고, 그에 따라 산출되는 결과값을 해킹 방지 지원 서버(100)에 전송한다.As such, the communication terminal 200 dynamically executes a verification function for confirming whether a specific application has been modulated based on the information received from the hacking prevention support server 100, and uses the result value calculated according to the hacking prevention support server. To 100.

한편, 통신 단말기(200)는 상기 해킹 방지 지원 서버(100)로부터 수신되는 소정의 인증 토큰에 대해 기 수신된 검증 펑션 정보에 기초하여 적어도 하나의 검증 펑션을 수행하고, 그에 따라 산출되는 인증 토큰 가공값을 서비스 제공 서버(300)에 전송하는 기능도 수행한다. 물론 수행되는 검증 펑션이 인증 토큰 값을 그대로 반환하는 함수인 경우에는 인증 토큰 가공값은 인증 토큰 값과 동일할 수도 있다.Meanwhile, the communication terminal 200 performs at least one verification function based on previously received verification function information on a predetermined authentication token received from the hacking prevention support server 100, and processes the authentication token calculated accordingly. It also performs the function of transmitting the value to the service providing server 300. Of course, if the verification function performed is a function that returns the authentication token value as it is, the authentication token processing value may be the same as the authentication token value.

이처럼 수신된 인증 토큰을 인자로 하여 변환시키는 통신 단말기(200) 상의 펑션의 종류 및 순서는 해킹 방지 지원 서버(100)로부터 수신된 검증 펑션 정보에 기초할 수 있다.The type and order of the functions on the communication terminal 200 converting the received authentication token as a factor may be based on the verification function information received from the hacking prevention support server 100.

한편, 통신 단말기(200)는 해킹 방지 지원 서버(100)로부터 수신된 토큰 저장 위치 정보에 기초한 특정 저장 영역에 기 수신된 인증 토큰을 저장하고, 해킹 방지 지원 서버(100)로부터 수신된 실행 대상 프로세스 목록에 기초하여 복수 개의 쓰레드(또는 프로세스)를 실행시킨다. 이때, 통신 단말기(200)에서 실행되는 복수 개의 쓰레드 중 적어도 어느 하나는 특정 저장 영역에 저장된 데이터를 읽어 그 저장된 데이터의 유효성 여부를 판단하고, 판단결과 유효성이 인정되지 않는 경우 해당 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션을 수행하는 것이다.Meanwhile, the communication terminal 200 stores the authentication token previously received in a specific storage area based on the token storage location information received from the hacking prevention support server 100, and executes the target process received from the hacking prevention supporting server 100. Run multiple threads (or processes) based on the list. In this case, at least one of a plurality of threads executed in the communication terminal 200 reads data stored in a specific storage area to determine whether the stored data is valid, and if the validity is not recognized, execution of the specific application is performed. Is to perform a software function that stops.

여기서 인증 토큰이 저장되는 특정 저장 영역은 예를 들어 메모리의 특정 위치에 해당할 수도 있고, 또는 파일 시스템상의 특정 경로의 특정 파일에 매칭된 저장 영역에 해당할 수도 있다.In this case, the specific storage area in which the authentication token is stored may correspond to a specific location of the memory, or may correspond to a storage area matched to a specific file of a specific path on the file system.

즉, 인증 토큰이 특정 저장 영역에 저장된 상태에서, 실행되는 복수 개의 쓰레드 중 적어도 어느 하나가 해당 특정 저장 영역에 저장된 데이터(즉, 인증 토큰에 해당할 수 있음)를 읽어 그 저장된 데이터의 유효성(즉, 인증 토큰의 유효성)을 판단하는 것이다. 여기서 인증 토큰의 유효성 판단은 예를 들어 CRC 체크나, PKI 기반의 인증서에 대한 유효성 검증 방식 등 다양한 방식에 의해 이루어질 수 있다.That is, with an authentication token stored in a particular storage area, at least one of the plurality of threads executed reads data stored in that particular storage area (ie, may correspond to the authentication token) and validates the stored data (ie , The validity of the authentication token). In this case, the validity of the authentication token may be determined by various methods such as a CRC check or a validation method for a PKI-based certificate.

그리고 인증 토큰에 대해 유효성이 인정되지 않는 경우에 수행하게 되는 해당 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션은 특정 어플리케이션을 대상으로 하는 종료 코드를 실행하는 펑션, 또는 통신 단말기(200) 자원 할당과 관련한 에러 또는 에러 방지 동작이 실행되도록 하는 펑션, 또는 무의미한 무한루프가 실행되도록 하는 펑션 등에 해당할 수 있다.The software function to stop execution of the specific application performed when the validity of the authentication token is not recognized is a function for executing an exit code for a specific application, or a resource allocation of the communication terminal 200. It may correspond to a function for executing an associated error or error prevention operation, or a function for executing a meaningless infinite loop.

여기서 종료 코드를 실행하는 펑션은 예를 들어 특정 어플리케이션을 제거하는 kill 명령어 또는 특정 어플리케이션의 종료를 의미하는 Exit 명령어를 포함하는 것일 수 있고, 통신 단말기(200) 자원 할당과 관련한 에러 또는 에러 방지 동작이 실행되도록 하는 펑션은 예를 들어 메모리 할당과 메모리 카피를 반복적으로 수행함으로써 메모리 관련 에러가 발생하도록 하거나 또는 그러한 메모리 관련 에러를 OS 차원에서 방지하는 동작(예를 들어 메모리 할당 및 카피를 반복 수행하는 프로세스 즉, 특정 어플리케이션을 제거함)이 수행되도록 하는 기능을 포함하는 것일 수 있으며, 무의미한 무한루프가 실행되도록 하는 펑션은 예를 들어 while 구문과 같이 무한루프가 일어나도록 하는 기능을 포함하는 것일 수 있다.Here, the function for executing the exit code may include, for example, a kill command for removing a specific application or an Exit command for terminating a specific application, and an error or error prevention operation related to resource allocation of the communication terminal 200 may be performed. A function to be executed is an operation that causes a memory related error to occur, for example, by repeatedly performing memory allocation and memory copying, or an operation that prevents such memory related error at the OS level (e.g., a process of repeatedly performing memory allocation and copying). That is, a specific application may be removed), and a function for executing a meaningless infinite loop may include a function for causing an infinite loop such as, for example, a while statement.

상술한 종료 코드를 실행하는 펑션 이외에 통신 단말기(200) 자원 할당과 관련한 에러 또는 에러 방지 동작이 실행되도록 하는 펑션 또는 무의미한 무한루프가 실행되도록 하는 펑션은 결국 특정 어플리케이션이 해커가 의도한대로 동작하지 못하도록(예를 들어 특정 어플리케이션이 에러 발생 또는 OS차원의 에러 처리에 의해 죽도록 하거나, 자원 할당을 받는 시간을 줄여 해당 특정 어플리케이션 전체 동작이 지연되도록) 하면서도 이러한 펑션은 해커에 의해 쉽게 발견되지 않는 것이어서 해킹 과정을 어렵게 할 수 있다.In addition to the function that executes the above-described exit code, a function that causes an error or an error prevention operation related to resource allocation of the communication terminal 200 or a function that causes an infinite infinite loop to be executed eventually prevents a specific application from operating as intended by a hacker. For example, if a specific application dies due to an error or OS-level error handling, or a resource allocation time is reduced, the overall operation of the specific application is delayed. However, such a function is not easily found by a hacker. It can be difficult.

즉, 해커들은 이처럼 특정 어플리케이션의 해킹 여부를 검출하여 죽이는 쓰레드에 해당하는 코드를 찾으려고 하겠지만, 상술한 바와 같이 프로그램의 종료 코드를 사용하지 않는 우회적인 쓰레드를 이용하는 경우에는 특정 어플리케이션의 해킹 여부를 검출하고 그 해킹된 특정 어플리케이션의 실행을 방해하는 쓰레드에 해당하는 프로그램 코드를 쉽게 확인할 수 없는 것이다.That is, hackers will try to find the code corresponding to the thread that detects and kills a specific application. However, when using a bypass thread that does not use the exit code of the program as described above, the hacker detects whether or not the specific application is hacked. You can't easily see the program code that corresponds to a thread that prevents that particular application from being hacked.

게다가 인증 토큰이 저장되는 특정 저장 영역 위치도 해킹 방지 지원 서버(100)에 의해 매번 변할 수 있는 것이므로 해커가 어떤 프로그램 코드가 특정 어플리케이션의 해킹 여부를 확인하는 쓰레드에 해당하는 코드인지를 발견해내는 것도 쉽지 않다.In addition, since the specific storage area where the authentication token is stored can also be changed every time by the anti-hacking support server 100, it is easy for a hacker to find out which program code corresponds to a thread that checks whether a specific application is hacked. not.

또한, 해킹 방지 지원 서버(100)로부터 수신된 실행 대상 프로세스 목록에 기초하여 실행시킨 복수 개의 쓰레드(또는 프로세스) 중 일부는 특정 어플리케이션의 주요 기능과는 전혀 상관없고 단지 해커를 속이기 위한 fake 동작을 수행하는 것들이다.In addition, some of the plurality of threads (or processes) executed based on the execution target process list received from the hacking prevention support server 100 have nothing to do with the main functions of a specific application, and merely perform fake operations to trick hackers. That's what they do.

한편, 서비스 제공 서버(300)는 앞서 설명한 바와 같이 통신 단말기(200)가 전송하는 인증 토큰 가공값을 수신하고, 그 수신된 인증 토큰 가공값을 포함하는 검증 요청 신호를 해킹 방지 지원 서버(100)에 전송한다.On the other hand, the service providing server 300 receives the authentication token processing value transmitted by the communication terminal 200 as described above, the anti-hacking support server 100 to verify the verification request signal including the received authentication token processing value To transmit.

그리고 해킹 방지 지원 서버(100)로부터 해당 인증 토큰 가공값을 기초로 한 검증 결과를 수신하고, 그 검증 결과에 따라 통신 단말기(200)에 각종 서비스를 제공할지 여부를 판단하게 된다.Then, the verification result based on the authentication token processing value is received from the hacking prevention support server 100, and it is determined whether to provide various services to the communication terminal 200 according to the verification result.

즉, 해킹 방지 지원 서버(100)로부터 수신되는 검증 결과는 또 하나의 인증 결과에 해당하는 것이고, 서비스 제공 서버(300)는 인증 결과에 따라 통신 단말기(200)상에서 구동되는 특정 어플리케이션이 해킹되지 않았다고 판단하는 경우에만 해당 통신 단말기(200)의 요청에 따른 각종 서비스(예를 들어 통신 서비스)를 제공할 수 있는 것이다.That is, the verification result received from the hacking prevention support server 100 corresponds to another authentication result, and the service providing server 300 indicates that a specific application running on the communication terminal 200 is not hacked according to the authentication result. Only in case of determination, various services (for example, communication services) can be provided according to a request of the corresponding communication terminal 200.

한편, 해킹 방지 지원 서버(100)는 통신 단말기(200)의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 그 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 통신 단말기(200)에 전송하는 기능을 수행한다.Meanwhile, the hacking prevention support server 100 determines the verification function list and the verification function execution order according to a preset algorithm according to the verification function request signal of the communication terminal 200, and determines the determined verification function list and verification function execution order. It performs the function of transmitting the verification function information, including the communication terminal 200.

또한 해킹 방지 지원 서버(100)는 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 특정 어플리케이션(해킹 방지 지원 서버(100)에는 미리 통신 단말기(200)에 설치된 특정 어플리케이션에 대한 정보가 저장되어 있음)과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하고, 그 저장된 검증 펑션 결과값과 상술한 바와 같이 통신 단말기(200)로부터 수신되는 검증 펑션 결과값을 비교하여 그 비교결과 일치하는 경우 통신 단말기(200)에 포함된 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 것이다.In addition, the anti-hacking support server 100 is based on the verification function list and the verification function execution order specific application (hacking prevention support server 100 is stored in advance information about the specific application installed on the communication terminal 200) and Save the verification function result calculated by performing at least one verification function on the associated program code, and compare the stored verification function result with the verification function result received from the communication terminal 200 as described above. If the comparison result matches, it is determined that hacking is not performed for a specific application included in the communication terminal 200.

이러한 해킹 방지 지원 서버(100)의 구체적인 기능에 대해서 도 2의 기능 블록을 참조하여 설명하면 다음과 같다.A detailed function of the hacking prevention support server 100 will be described with reference to the functional block of FIG. 2.

동 도면에 도시된 바와 같이 해킹 방지 지원 서버(100)는 저장부(150), 요청 수신부(110), 요청 처리부(120), 전송부(130), 데이터 수신부(140), 해킹 여부 판단부(160), 토큰 생성부(170)를 포함하여 구성될 수 있다.As shown in the figure, the hacking prevention support server 100 includes a storage unit 150, a request receiving unit 110, a request processing unit 120, a transmitting unit 130, a data receiving unit 140, a hacking determination unit ( 160, the token generating unit 170 may be configured.

여기서 저장부(150)에는 해킹 방지 지원 서버(100)의 기능 수행 중 발생하는 임시 데이터가 저장될 수 있고, 해킹 방지 지원 서버(100)의 기능 수행을 위해 필요한 정보들이 미리 저장된다.Here, the storage 150 may store temporary data generated while the function of the hacking prevention support server 100 is performed, and information necessary for performing the function of the hacking prevention support server 100 is stored in advance.

요청 수신부(110)는 통신 단말기(200)로부터 각종 요청 신호를 수신하는 기능을 수행하는 것으로서, 특히 통신 단말기(200)로부터 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 수신하는 기능과, 소정의 인증 토큰에 대해 통신 단말기(200)에서 생성된 인증 토큰 가공값을 포함하는 검증 요청 신호를 서비스 제공 서버(300)로부터 수신하는 기능을 수행한다.The request receiving unit 110 performs a function of receiving various request signals from the communication terminal 200. In particular, the request receiving unit 110 receives a verification function request signal including specific application information from the communication terminal 200 and predetermined authentication. It performs a function for receiving a verification request signal including the authentication token processing value generated in the communication terminal 200 from the service providing server 300 for the token.

요청 처리부(120)는 통신 단말기(200)의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고 그 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행한다. 그리고 요청 처리부(120)는 검증 펑션의 수행 결과 산출한 검증 펑션 결과값을 저장부(150)에 저장하는 기능을 수행한다.The request processing unit 120 determines a verification function list and a verification function execution order according to a predetermined algorithm according to the verification function request signal of the communication terminal 200 and based on the determined verification function list and the verification function execution order. Perform at least one verification function on the associated program code. In addition, the request processing unit 120 stores the verification function result value calculated as a result of the verification function in the storage unit 150.

여기서 기 설정된 알고리즘은 예를 들어 랜덤 방식을 이용하는 알고리즘일 수도 있는데, 검증 펑션 목록과 검증 펑션 실행 순서가 랜덤 방식에 의해 섞이는 시점은 다양하게 선택 가능하다. 예를 들어 요청 처리부(120)는 통신 단말기(200)로부터의 요청이 있을 때마다 랜덤 방식에 따른 검증 펑션 목록과 그 실행 순서를 결정할 수도 있고, 또는 하루에 한번 꼴로 검증 펑션 목록과 그 실행 순서가 변경되도록 할 수도 있다.Here, the preset algorithm may be, for example, an algorithm using a random method. The time point at which the verification function list and the verification function execution order are mixed by the random method may be variously selected. For example, the request processing unit 120 may determine the verification function list and its execution order according to a random method whenever there is a request from the communication terminal 200, or the verification function list and its execution order may be once a day. It can also be changed.

또한, 요청 처리부(120)는 통신 단말기(200)의 요청에 따라 통신 단말기(200)상에서 실행될 적어도 하나의 프로세스 목록을 포함하는 실행 대상 프로세스 목록과 토큰 저장 위치(검증대상이 되는 토큰이 통신 단말기(200)상에 저장되는 위치에 해당)를 생성하는 기능을 수행한다.In addition, the request processing unit 120 includes a list of execution target processes including a list of at least one process to be executed on the communication terminal 200 according to a request of the communication terminal 200 and a token storage location (the token to be verified is a communication terminal ( Corresponding to the location stored on the server 200).

여기서 실행 대상 프로세스는 특정 어플리케이션의 실행과 별도로 실행되는 독립 프로세스일 수도 있고, 또는 특정 어플리케이션의 실행과 연계하여 실행되는 일종의 쓰레드에 해당할 수도 있다.In this case, the execution target process may be an independent process executed separately from the execution of a specific application, or may correspond to a kind of thread executed in connection with the execution of a specific application.

전송부(130)는 각종 데이터 또는 정보를 통신 단말기(200) 또는 서비스 제공 서버(300)에 전송하는 기능을 수행한다.The transmitter 130 transmits various data or information to the communication terminal 200 or the service providing server 300.

특히 전송부(130)는 요청 처리부(120)에서 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 통신 단말기(200)에 전송하고, 후술하는 토큰 생성부(170)에 의해 생성된 인증 토큰을 통신 단말기(200)에 전송하며, 해킹 여부 판단부(160)에서 생성한 검증 결과를 서비스 제공 서버(300)에 전송하는 기능을 수행한다.In particular, the transmission unit 130 transmits verification function information including the verification function list determined by the request processing unit 120 and the verification function execution order to the communication terminal 200, and is generated by the token generating unit 170 to be described later. The authentication token is transmitted to the communication terminal 200, and the verification result generated by the hacking determination unit 160 is transmitted to the service providing server 300.

데이터 수신부(140)는 통신 단말기(200)로부터 검증 펑션 결과값을 수신하는 기능을 수행하는데, 여기서 데이터 수신부(140)가 통신 단말기(200)로부터 수신하는 검증 펑션 결과값은 해당 통신 단말기(200)가 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 값에 해당한다.The data receiving unit 140 performs a function of receiving a verification function result value from the communication terminal 200, where the verification function result value received by the data receiving unit 140 from the communication terminal 200 corresponds to the corresponding communication terminal 200. This value corresponds to a value calculated by performing at least one verification function on a program code related to a specific application based on the verification function list included in the verification function information and the execution order of the verification functions.

해킹 여부 판단부(160)는 저장부(150)에 저장된 검증 펑션 결과값과 데이터 수신부(140)에 수신된 검증 펑션 결과값을 비교하고, 그 비교 결과에 따라 통신 단말기(200)에 포함된 특정 어플리케이션에 대해 해킹이 이루어졌는지 여부를 판단한다. 예를 들어 비교 결과 일치하는 경우 해킹 여부 판단부(160)는 통신 단말기(200)에 포함된 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단한다.The hacking determination unit 160 compares the verification function result value stored in the storage unit 150 with the verification function result value received in the data receiving unit 140, and according to the comparison result, the specific function included in the communication terminal 200. Determine whether hacking has occurred for the application. For example, if the comparison result is matched, the hacking determination unit 160 determines that hacking is not performed on a specific application included in the communication terminal 200.

또한, 해킹 여부 판단부(160)는 서비스 제공 서버(300)로부터 수신된 인증 토큰 가공값과 저장부(150)에 저장된 인증 토큰 가공값을 비교하고, 비교결과에 따른 검증 결과를 생성하는 기능도 수행한다.In addition, the hacking determination unit 160 compares the authentication token processing value received from the service providing server 300 and the authentication token processing value stored in the storage unit 150, and also generates a verification result according to the comparison result. To perform.

토큰 생성부(170)는 해킹 여부 판단부(160)에 의해 통신 단말기(200)에 포함된 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단되는 경우, 소정의 인증 토큰을 생성하고 통신 단말기(200)에 기 전송한 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 인증 토큰에 대해 적어도 하나의 검증 펑션을 수행하고 그 수행결과에 따라 산출한 인증 토큰 가공값을 저장부(150)에 저장하는 기능을 수행한다.If the token generating unit 170 determines that the hacking is not performed for the specific application included in the communication terminal 200 by the hacking determining unit 160, the token generating unit 170 generates a predetermined authentication token and transmits the predetermined authentication token to the communication terminal 200. Performs at least one verification function on the authentication token based on the previously transmitted verification function list and verification function execution order and stores the authentication token processing value calculated according to the execution result in the storage unit 150. .

이하에서는 본 발명의 일 실시예에 따른 해킹 방지 시스템의 전체적인 제어 흐름을 도 3 내지 도 5를 참조하여 설명한다.Hereinafter, the overall control flow of the hacking prevention system according to an embodiment of the present invention will be described with reference to FIGS. 3 to 5.

우선 도 3을 참조하여 해킹 방지 지원 서버(100)에서 통신 단말기(200)의 특정 어플리케이션의 해킹 여부를 판단하는 과정을 설명한다. 본 실시예를 설명함에 있어서 통신 단말기(200)가 해킹 방지 지원 서버(100)와 통신하여 각종 요청 신호 또는 소정의 결과값을 전송하거나 서비스 제공 서버(300)와 통신하는 모든 기능은 특정 어플리케이션의 구동 및 실행에 따라 이루어지는 것으로 가정한다.First, a process of determining whether a specific application of the communication terminal 200 is hacked by the hacking prevention support server 100 will be described with reference to FIG. 3. In describing the present embodiment, all functions in which the communication terminal 200 communicates with the hacking prevention support server 100 to transmit various request signals or predetermined result values or communicate with the service providing server 300 are driven by a specific application. And according to the implementation.

우선, 통신 단말기(200)(예를 들어 통신 단말기(200)에서 실행되는 특정 어플리케이션)는 해킹 방지 지원 서버(100)에 검증 펑션 및 실행 대상 프로세스 목록 요청 신호를 전송하는데, 이 요청 신호에는 특정 어플리케이션 정보가 포함된다(단계 S1). 통신 단말기(200)가 후술하는 바와 같이 서비스 제공 서버(300)에 접속하여 소정의 서비스를 제공받기 위해서는 이러한 과정이 필수적이다.First, the communication terminal 200 (for example, a specific application executed in the communication terminal 200) transmits a verification function and an execution target process list request signal to the hacking prevention support server 100, which includes a specific application. Information is included (step S1). This process is essential for the communication terminal 200 to access the service providing server 300 and receive a predetermined service as described below.

해킹 방지 지원 서버(100)는 통신 단말기(200)의 요청에 따라 검증 펑션 목록 및 그 실행 순서를 결정하고(단계 S3), 결정된 검증 펑션 목록 및 그 실행 순서에 따른 검증 펑션 결과값을 산출하여 저장한다(단계 S5).The anti-hacking support server 100 determines the verification function list and its execution order according to the request of the communication terminal 200 (step S3), calculates and stores the determined verification function list and the verification function result value according to the execution order thereof. (Step S5).

여기서 해킹 방지 지원 서버(100)가 산출하는 검증 펑션 결과값은 특정 어플리케이션 코드의 해킹 여부를 확인하기 위한 것이므로, 당연히 특정 어플리케이션 코드의 적어도 일부를 하나의 인자로 하는 결과값에 해당한다. 예를 들어 특정 어플리케이션의 동작에 필요한 주요 코드들에 대한 해쉬값이 검증 펑션 결과값을 산출하는 과정에 포함될 수 있다.Here, since the verification function result value calculated by the hacking prevention support server 100 is for checking whether or not the specific application code is hacked, it naturally corresponds to a result value having at least a part of the specific application code as one factor. For example, a hash value for major codes required for the operation of a specific application may be included in the process of calculating a verification function result value.

해킹 방지 지원 서버(100)는 또한 실행 대상 프로세스 목록 및 토큰 저장 위치 정보를 생성한다(단계 S7).The anti-hacking support server 100 also generates a list of target processes to be executed and token storage location information (step S7).

이어서 해킹 방지 지원 서버(100)는 생성한 검증 펑션 목록 및 그 실행순서와, 실행대상 프로세스 목록 및 토큰 저장 위치 정보를 통신 단말기(200)에 전송한다(단계 S9).Subsequently, the hacking prevention support server 100 transmits the generated verification function list and its execution order, the execution target process list, and the token storage position information to the communication terminal 200 (step S9).

통신 단말기(200)는 수신된 검증 펑션 목록 및 그 실행순서에 따라 특정 어플리케이션에 대한 검증 펑션 결과값을 산출한다(단계 S11). 즉, 통신 단말기(200)는 특정 어플리케이션의 코드에 대한 검증 펑션 결과값을 산출함에 있어서 특정 함수를 이용할 수 있는데, 그 함수의 종류와 순서는 해킹 방지 지원 서버(100)에서 결정된 종류 및 순서에 따르는 것이다.The communication terminal 200 calculates the verification function result value for the specific application according to the received verification function list and its execution order (step S11). That is, the communication terminal 200 may use a specific function in calculating a verification function result value for a code of a specific application, and the type and order of the function depend on the type and order determined by the hacking prevention support server 100. will be.

동일한 어플리케이션 코드에 대한 검증 펑션 결과값을 산출함에 있어서 적용되는 함수와 그 적용 순서에 따라 서로 다른 결과가 나올 수 있음은 물론이므로 해커가 특정 어플리케이션 코드에 대한 검증 펑션 결과값을 미리 예측하기는 거의 불가능하다.It is almost impossible for a hacker to predict the verification function result value for a specific application code in advance, because different results may be generated depending on the function and the order of application in calculating the verification function result value for the same application code. Do.

통신 단말기(200)는 산출된 검증 펑션 결과값을 포함하는 인증 토큰 요청 신호를 해킹 방지 지원 서버(100)에 전송한다(단계 S13).The communication terminal 200 transmits an authentication token request signal including the calculated verification function result value to the hacking prevention support server 100 (step S13).

이에 해킹 방지 지원 서버(100)는 수신된 검증 펑션 결과값과 자체적으로 산출하여 기 저장한 검증 펑션 결과값을 비교하고(단계 S15), 비교결과 일치하는 경우 인증 토큰을 생성하여(단계 S19) 통신 단말기(200)에 전송한다(단계 S21). 여기서 실행 대상 프로세스 목록 및 토큰 저장 위치 정보는 이 시점에 통신 단말기(200)에 전송될 수도 있다.The anti-hacking support server 100 compares the received verification function result value with the verification function result value which is calculated and stored by itself (step S15), and generates an authentication token when the comparison result is matched (step S19). It transmits to the terminal 200 (step S21). In this case, the execution target process list and the token storage location information may be transmitted to the communication terminal 200 at this time.

통신 단말기(200)는 해킹 방지 지원 서버(100)로부터 수신되는 인증 토큰을 저장하는데(단계 S23), 이때 앞서 해킹 방지 지원 서버(100)로부터 수신된 토큰 저장 위치 정보에 따른 특정 저장 영역에 해당 인증 토큰을 저장할 수 있다. 인증 토큰이 저장되는 특정 저장 영역은 후술하는 바와 같이 이를 검증하는 쓰레드가 접근하도록 예약(또는 코딩)되어 있는 영역에 해당한다.The communication terminal 200 stores the authentication token received from the hacking prevention support server 100 (step S23), and at this time, the authentication token corresponding to the specific storage area according to the token storage location information received from the hacking prevention support server 100. You can store tokens. The specific storage area in which the authentication token is stored corresponds to an area that is reserved (or coded) for access by a thread that verifies it, as described below.

이러한 인증 토큰은 후술하는 바와 같이 서비스 제공 서버(300)와 통신할 때 필요한 정보이다.This authentication token is information required when communicating with the service providing server 300, as described below.

한편, 해킹 방지 서버는 인증 토큰을 이용한 가공값 즉, 인증 토큰 가공값을 생성 및 저장할 수 있는데(단계 S25), 인증 토큰 가공값을 산출하는데는 앞서 통신 단말기(200)에 전송한 검증 펑션 목록 및 그 실행순서를 따를 수가 있다.Meanwhile, the hacking prevention server may generate and store a processed value using the authentication token, that is, an authentication token processed value (step S25), and the verification function list previously transmitted to the communication terminal 200 to calculate the authentication token processed value and You can follow the order of execution.

여기서 인증 토큰 가공값을 산출하는 검증 펑션 목록 및 그 실행 순서와 앞서 설명한 검증 펑션 결과값을 산출하는 검증 펑션 목록 및 그 실행 순서는 서로 구별될 수도 있다.Here, the verification function list for calculating the authentication token processing value and the execution order thereof and the verification function list for calculating the verification function result value described above and the execution order thereof may be distinguished from each other.

이하에서는 도 4를 참조하여 인증 토큰을 수신한 통신 단말기(200) 상에서 이루어지는 과정을 설명한다.Hereinafter, a process performed on the communication terminal 200 that receives the authentication token will be described with reference to FIG. 4.

통신 단말기(200)는 인증 토큰이 수신된 경우 크게 두 가지 기능을 수행하는데, 하나는 해당 인증 토큰의 유효성을 검사하는 기능이고, 다른 하나는 실제 필요한 서비스의 제공을 받기 위해 서비스 제공 서버(300)에 접속하는 기능이다. 각각의 기능에 대해서 설명하면 다음과 같다.When the authentication token is received, the communication terminal 200 performs two functions, one of which is a function of validating a corresponding authentication token, and the other of which provides a service providing server 300 in order to receive an actual necessary service. It is a function to access. Each function is explained as follows.

통신 단말기(200)는 해킹 방지 지원 서버(100)로부터 수신한 인증 토큰을 특정 저장 영역(즉, 수신한 토큰 저장 위치 정보에 따른 저장 영역)에 저장하고(단계 S31), 또한 기 수신한 실행 대상 프로세스 목록에 따라 적어도 하나의 쓰레드를 실행시킨다(단계 S33).The communication terminal 200 stores the authentication token received from the hacking prevention support server 100 in a specific storage area (that is, a storage area according to the received token storage location information) (step S31), and also executes the previously received execution target. At least one thread is executed according to the process list (step S33).

이때 해커를 속이기 위한 적어도 하나의 페이크(fake) 쓰레드가 함께 실행될 수 있고, 또한 실행되는 쓰레드 중 적어도 어느 하나는 인증 토큰의 유효성을 검증하는 검증용 쓰레드에 해당한다.In this case, at least one fake thread for cheating a hacker may be executed together, and at least one of the executed threads corresponds to a verification thread for validating an authentication token.

이러한 검증용 쓰레드는 특정 저장 영역에 저장되어 있는 인증 토큰을 읽고, 해당 인증 토큰의 유효성을 판별한다(단계 S35). 판별결과 그 유효성이 인정되지 않는 경우에는(단계 S37) 해당 검증용 쓰레드는 현재 실행중인 특정 어플리케이션을 강제 종료 시킨다(단계 S39). The verification thread reads the authentication token stored in the specific storage area and determines the validity of the authentication token (step S35). If the validity is not recognized as a result of the determination (step S37), the verification thread forcibly terminates the specific application currently being executed (step S39).

특정 어플리케이션이 강제 종료 방법은 상술한 방법과 같이 직접 kill 명령어 또는 exit 코드를 실행시키거나, 무한 루프로 빠지도록 하여 특정 어플리케이션의 기능이 수행되지 못하도록 하거나, 또는 메모리와 같은 자원 할당에 큰 부하를 발생시켜 OS에 의해 해당 특정 어플리케이션이 강제 종료되도록 하거나, 더 나아가 통신 단말기(200) 전체가 리부팅 되도록 하는 등 다양한 방법이 이용될 수 있다.The method of killing a specific application directly executes a kill command or exit code as described above, or causes an infinite loop to prevent a specific application from executing a function or generates a heavy load on resource allocation such as memory. For example, various methods may be used such that the specific application is forcibly terminated by the OS, or further, the entire communication terminal 200 is rebooted.

이에 따라 특정 어플리케이션이 해킹이 이루어진 경우에는 해커가 원하는 특정 어플리케이션의 기능이 제대로 동작하지 않도록 할 수 있다.Accordingly, when a specific application is hacked, the function of the specific application desired by the hacker may not be properly operated.

한편, 인증 토큰에 대한 유효성이 인정되는 경우에는 주기적으로 해당 인증 토큰에 대한 유효성을 다시 검증하는 과정이 수행될 수도 있고, 또는 인증 토큰을 이용하여 서비스 제공 서버(300)의 소정 서비스를 이용하는 과정이 수행될 수도 있다.On the other hand, when the validity of the authentication token is recognized, the process of periodically validating the validity of the authentication token may be again performed, or the process of using a predetermined service of the service providing server 300 using the authentication token is performed. It may also be performed.

한편, 통신 단말기(200)(보다 정확히는 특정 어플리케이션)는 상술한 바와 같이 인증 토큰의 유효성이 인정되거나 또는 인증 토큰의 유효성과는 별도로 인증 토큰을 이용하여 인증 토큰 가공값을 생성할 수 있다(단계 S41).On the other hand, the communication terminal 200 (or more precisely, the specific application) may recognize the validity of the authentication token as described above, or generate an authentication token processing value using the authentication token separately from the validity of the authentication token (step S41). ).

여기서 인증 토큰 가공값을 산출하는 것도, 해킹 방지 지원 서버(100)로부터 기 수신한 검증 펑션 목록 및 그 순서에 따를 수 있다. 여기서 인증 토큰 가공값은 수행되는 검증 펑션에 따라 인증 토큰과 동일한 값에 해당할 수도 있음은 물론이다.Here, the calculation of the authentication token processing value may be based on the verification function list previously received from the hacking prevention support server 100 and the order thereof. Here, the authentication token processing value may correspond to the same value as the authentication token according to the verification function performed.

통신 단말기(200)는 생성한 인증 토큰 가공값을 서비스 제공 서버(300)에 전송하면서 소정의 서비스 제공 또는 이용을 요청할 수 있다(단계 S43).The communication terminal 200 may request to provide or use a predetermined service while transmitting the generated authentication token processing value to the service providing server 300 (step S43).

서비스 제공 서버(300)를 이용하는 과정은 도 5를 참조하여 설명한다.A process of using the service providing server 300 will be described with reference to FIG. 5.

통신 단말기(200)는 인증 토큰 가공값을 포함하는 서비스 요청 신호를 서비스 제공 서버(300)에 전송한다(단계 S51).The communication terminal 200 transmits a service request signal including the authentication token processing value to the service providing server 300 (step S51).

그러면 서비스 제공 서버(300)는 수신된 인증 토큰 가공값을 포함하는 검증 요청 신호를 해킹 방지 지원 서버(100)에 전송한다(단계 S53).Then, the service providing server 300 transmits a verification request signal including the received authentication token processing value to the hacking prevention support server 100 (step S53).

해킹 방지 지원 서버(100)는 기 생성하여 저장한 인증 토큰 가공값과 서비스 제공 서버(300)로부터 수신되는 인증 토큰 가공값의 일치 여부를 판단하고(단계 S55), 그 검증 결과를 서비스 제공 서버(300)에 전송한다(단계 S57).The anti-hacking support server 100 determines whether the authentication token processing value previously generated and stored matches the authentication token processing value received from the service providing server 300 (step S55), and the verification result is determined by the service providing server ( 300) (step S57).

서비스 제공 서버(300)는 해킹 방지 지원 서버(100)로부터 수신되는 검증 결과에 따라 정상 인증이 이루어진 경우에는(단계 S59) 통신 단말기(200)의 요청에 따른 서비스를 제공하고(단계 S63), 정상 인증이 이루어지지 않은 경우에는 에러처리를 수행한다(단계 S61).If the normal authentication is made according to the verification result received from the hacking prevention support server 100 (step S59), the service providing server 300 provides a service according to the request of the communication terminal 200 (step S63). If authentication is not made, error processing is performed (step S61).

이에 따라 서비스 제공 서버(300)는 통신 단말기(200)의 특정 어플리케이션이 해킹이 이루어지지 않은 경우에 한하여 해당 통신 단말기(200)의 요청에 따른 서비스를 제공할 수 있게 된다.Accordingly, the service providing server 300 may provide a service according to a request of the corresponding communication terminal 200 only when a specific application of the communication terminal 200 is not hacked.

상술한 예에서는 통신 단말기 상에서 실행되는 검증용 프로세스가 특정 어플리케이션에 종속되는 소정 쓰레드인 것을 일 예로 하였으나, 특정 어플리케이션과는 독립하여 수행되는 프로세스에 해당할 수도 있음은 물론이다.In the above example, it is assumed that the verification process executed on the communication terminal is a predetermined thread that depends on a specific application. However, the verification process may correspond to a process performed independently of the specific application.

한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. It is to be understood that such variations and modifications are intended to be included in the scope of the appended claims.

100 : 해킹 방지 지원 서버 200 : 통신 단말기
300 : 서비스 제공 서버 110 : 요청 수신부
120 : 요청 처리부 130 : 전송부
140 : 데이터 수신부 150 : 저장부
160 : 해킹 여부 판단부 170 : 토큰 생성부
100: anti-hacking support server 200: communication terminal
300: service providing server 110: request receiving unit
120: request processing unit 130: transmission unit
140: data receiving unit 150: storage unit
160: hacking determination unit 170: token generation unit

Claims (18)

특정 어플리케이션을 실행하는 통신 단말기가 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 해킹 방지 지원 서버에 전송하는 단계와;
상기 해킹 방지 지원 서버가 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하며, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버 내에 저장하는 단계와;
상기 통신 단말기가 상기 해킹 방지 지원 서버로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 상기 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버에 전송하는 단계와;
상기 해킹 방지 지원 서버가 상기 저장된 검증 펑션 결과값과 상기 통신 단말기로부터 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 단계를 포함하는 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
Transmitting, by a communication terminal executing a specific application, a verification function request signal including the specific application information to a hacking prevention support server;
The hacking prevention support server determines a verification function list and a verification function execution order according to a predetermined algorithm according to the verification function request signal of the communication terminal, and verifies the verification function information including the determined verification function list and verification function execution order. Transmits to the communication terminal, and stores a result of the verification function calculated by performing at least one verification function on the program code related to the specific application based on the verification function list and the execution order of the verification function in the hacking prevention support server. Making a step;
Verification function result value by performing at least one verification function for the program code associated with the specific application based on the verification function list and the verification function execution order included in the verification function information received from the hacking prevention support server Calculating and transmitting the calculated verification function result to the hacking prevention support server;
The hacking prevention support server compares the stored verification function result value with the verification function result value received from the communication terminal, and if the comparison result is determined that hacking is not performed for the specific application included in the communication terminal. The control method of the hacking prevention system comprising a step.
제1항에 있어서,
상기 해킹 방지 지원 서버가 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 경우 소정의 인증 토큰을 생성하여 상기 통신 단말기에 전송하고, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 인증 토큰에 대해 적어도 하나의 검증 펑션을 수행하여 산출한 인증 토큰 가공값을 상기 해킹 방지 지원 서버 내에 저장하는 단계와;
상기 통신 단말기가 상기 해킹 방지 지원 서버로부터 수신된 인증 토큰에 대해 상기 검증 펑션 정보에 기초한 적어도 하나의 검증 펑션을 수행하여 인증 토큰 가공값을 생성하고, 상기 생성된 인증 토큰 가공값을 소정의 서비스를 제공하는 서비스 제공 서버에 전송하는 단계와;
상기 서비스 제공 서버가 상기 통신 단말기로부터 수신된 인증 토큰 가공값을 상기 해킹 방지 지원 서버에 전송하며 검증을 요청하는 단계와;
상기 해킹 방지 지원 서버가 상기 서비스 제공 서버로부터 수신된 인증 토큰 가공값과 상기 저장된 인증 토큰 가공값을 비교하고, 비교결과에 따른 검증 결과를 상기 서비스 제공 서버에 전송하는 단계를 더 포함하는 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
The method of claim 1,
If the hacking prevention support server determines that hacking is not performed on the specific application included in the communication terminal, a predetermined authentication token is generated and transmitted to the communication terminal, based on the verification function list and the verification function execution order. Storing the authentication token processing value calculated by performing at least one verification function on the authentication token in the hacking prevention support server;
The communication terminal generates an authentication token processing value by performing at least one verification function based on the verification function information on the authentication token received from the hacking prevention support server, and generates the authentication token processing value as a predetermined service. Transmitting to the providing service providing server;
Sending, by the service providing server, the authentication token processing value received from the communication terminal to the hacking prevention support server and requesting verification;
And comparing, by the anti-hacking support server, the authentication token processing value received from the service providing server with the stored authentication token processing value, and transmitting a verification result according to the comparison result to the service providing server. How to control the hacking prevention system.
제1항에 있어서,
상기 통신 단말기의 요청이 있는 경우 상기 해킹 방지 지원 서버가 실행 대상 프로세스 목록과 토큰 저장 위치 정보를 생성하여 상기 통신 단말기에 전송하는 단계와;
상기 통신 단말기가 상기 해킹 방지 지원 서버로부터 수신된 토큰 저장 위치 정보에 기초한 특정 저장 영역에 상기 수신된 인증 토큰을 저장하고, 상기 해킹 방지 지원 서버로부터 수신된 실행 대상 프로세스 목록에 기초하여 복수 개의 프로세스를 실행시키는 단계를 더 포함하여 구성되고,
상기 통신 단말기에서 실행되는 복수 개의 프로세스 중 적어도 어느 하나는 상기 특정 저장 영역에 저장된 데이터를 읽어 그 저장된 데이터의 유효성 여부를 판단하고, 판단결과 유효성이 인정되지 않는 경우 상기 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션을 수행하는 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
The method of claim 1,
Generating, by the hacking prevention support server, a list of process targets to be executed and token storage location information to the communication terminal upon request of the communication terminal;
The communication terminal stores the received authentication token in a specific storage area based on the token storage location information received from the hacking prevention support server, and generates a plurality of processes based on the list of execution target processes received from the hacking prevention supporting server. It further comprises the step of executing,
At least one of a plurality of processes executed in the communication terminal reads the data stored in the specific storage area to determine whether the stored data is valid and stops the execution of the specific application if the validity is not recognized. A method for controlling a hacking prevention system, characterized in that to perform a software function.
제3항에 있어서,
상기 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션은, 상기 특정 어플리케이션을 대상으로 하는 종료 코드를 실행하는 펑션과, 상기 통신 단말기 자원 할당과 관련한 에러 또는 에러 방지 동작이 실행되도록 하는 펑션과, 무의미한 무한루프가 실행되도록 하는 펑션 중 적어도 어느 하나인 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
The method of claim 3,
The software function for stopping the execution of the specific application includes a function for executing an exit code for the specific application, a function for executing an error or an error prevention operation related to the communication terminal resource allocation, and meaningless infinite. The control method of the hacking prevention system, characterized in that at least one of the functions to execute the loop.
제3항에 있어서,
상기 통신 단말기가 실행시키는 복수 개의 프로세스는 상기 특정 어플리케이션과 관련된 쓰레드에 해당하는 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
The method of claim 3,
And a plurality of processes executed by the communication terminal correspond to threads associated with the specific application.
제1항 내지 제5항 중 어느 한 항에 있어서,
상기 통신 단말기가 상기 특정 어플리케이션과 관련된 프로그램 코드에 대해 수행하는 적어도 하나의 검증 펑션은 상기 특정 어플리케이션의 프로그램 코드에 대해 해쉬 알고리즘을 적용하여 산출하는 검증 펑션인 것을 특징으로 하는 해킹 방지 시스템의 제어방법.
The method according to any one of claims 1 to 5,
The at least one verification function performed by the communication terminal on the program code associated with the specific application is a verification function that calculates by applying a hash algorithm to the program code of the specific application.
특정 어플리케이션을 실행하고 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 해킹 방지 지원 서버에 전송하고, 상기 해킹 방지 지원 서버로부터 수신되는 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출하고, 상기 산출한 검증 펑션 결과값을 상기 해킹 방지 지원 서버에 전송하는 통신 단말기와;
상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고, 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하며, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 저장하고, 상기 저장된 검증 펑션 결과값과 상기 통신 단말기로부터 수신된 검증 펑션 결과값을 비교하여 그 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 상기 해킹 방지 지원 서버를 포함하는 것을 특징으로 하는 해킹 방지 시스템.
Runs a specific application and transmits a verification function request signal including the specific application information to the hacking prevention support server, and based on the verification function list and the verification function execution order included in the verification function information received from the hacking prevention support server. A communication terminal configured to perform at least one verification function on a program code related to the specific application, calculate a verification function result value, and transmit the calculated verification function result value to the hacking prevention support server;
Determine a verification function list and a verification function execution order according to a predetermined algorithm according to a verification function request signal of the communication terminal, and transmit verification function information including the determined verification function list and verification function execution order to the communication terminal; And storing a verification function result value calculated by performing at least one verification function on the program code related to the specific application based on the verification function list and the verification function execution order, and storing the stored verification function result value and the communication terminal. And the anti-hacking support server that compares the verification function result values received from the terminal and determines that hacking is not performed on the specific application included in the communication terminal if the comparison result is matched.
제7항에 있어서,
상기 통신 단말기의 요청에 따라 소정의 서비스를 제공하는 서비스 제공 서버를 더 포함하고,
상기 통신 단말기는 상기 해킹 방지 지원 서버로부터 수신되는 소정의 인증 토큰에 대해 상기 검증 펑션 정보에 기초한 적어도 하나의 검증 펑션을 수행하여 인증 토큰 가공값을 생성하고, 상기 생성된 인증 토큰 가공값을 상기 서비스 제공 서버에 전송하고,
상기 서비스 제공 서버는 상기 통신 단말기로부터 수신된 인증 토큰 가공값을 포함하는 검증 요청 신호를 상기 해킹 방지 지원 서버에 전송하며,
상기 해킹 방지 지원 서버는 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 경우 소정의 인증 토큰을 생성하여 상기 통신 단말기에 전송하고, 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 인증 토큰에 대해 적어도 하나의 검증 펑션을 수행하여 산출한 인증 토큰 가공값을 상기 해킹 방지 지원 서버 내에 저장하며, 상기 서비스 제공 서버로부터 수신된 인증 토큰 가공값과 상기 저장된 인증 토큰 가공값을 비교하고 그 비교결과에 따른 검증 결과를 상기 서비스 제공 서버에 전송하는 것을 특징으로 하는 해킹 방지 시스템.
The method of claim 7, wherein
Further comprising a service providing server for providing a predetermined service at the request of the communication terminal,
The communication terminal generates an authentication token processing value by performing at least one verification function based on the verification function information on a predetermined authentication token received from the hacking prevention support server, and generates the authentication token processing value by using the generated authentication token processing value. To the provisioning server,
The service providing server transmits a verification request signal including an authentication token processing value received from the communication terminal to the hacking prevention support server.
When the hacking prevention support server determines that hacking is not performed on the specific application included in the communication terminal, the hacking prevention support server generates a predetermined authentication token and transmits it to the communication terminal, based on the verification function list and the verification function execution order. Storing the authentication token processing value calculated by performing at least one verification function on the authentication token in the hacking prevention support server, and comparing the authentication token processing value received from the service providing server with the stored authentication token processing value. And transmitting a verification result according to the comparison result to the service providing server.
제7항에 있어서,
상기 통신 단말기의 요청이 있는 경우 상기 해킹 방지 지원 서버는 실행 대상 프로세스 목록과 토큰 저장 위치 정보를 생성하여 상기 통신 단말기에 전송하고,
상기 통신 단말기는 상기 해킹 방지 지원 서버로부터 수신된 토큰 저장 위치 정보에 기초한 특정 저장 영역에 상기 수신된 인증 토큰을 저장하고, 상기 해킹 방지 지원 서버로부터 수신된 실행 대상 프로세스 목록에 기초하여 복수 개의 프로세스를 실행시키며,
상기 통신 단말기에서 실행되는 복수 개의 프로세스 중 적어도 어느 하나는 상기 특정 저장 영역에 저장된 데이터를 읽어 그 저장된 데이터의 유효성 여부를 판단하고, 판단결과 유효성이 인정되지 않는 경우 상기 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션을 수행하는 것을 특징으로 하는 해킹 방지 시스템.
The method of claim 7, wherein
When the communication terminal requests, the anti-hacking support server generates a process target process list and token storage location information and transmits the generated information to the communication terminal.
The communication terminal stores the received authentication token in a specific storage area based on the token storage location information received from the hacking prevention support server, and generates a plurality of processes based on the list of execution target processes received from the hacking prevention supporting server. Run it,
At least one of a plurality of processes executed in the communication terminal reads the data stored in the specific storage area to determine whether the stored data is valid and stops the execution of the specific application if the validity is not recognized. Anti-hack system, characterized in that performing a software function.
제9항에 있어서,
상기 특정 어플리케이션의 실행이 멈추도록 하는 소프트웨어적 펑션은, 상기 특정 어플리케이션을 대상으로 하는 종료 코드를 실행하는 펑션과, 상기 통신 단말기 자원 할당과 관련한 에러 또는 에러 방지 동작이 실행되도록 하는 펑션과, 무의미한 무한루프가 실행되도록 하는 펑션 중 적어도 어느 하나인 것을 특징으로 하는 해킹 방지 시스템.
10. The method of claim 9,
The software function for stopping the execution of the specific application includes a function for executing an exit code for the specific application, a function for executing an error or an error prevention operation related to the communication terminal resource allocation, and meaningless infinite. Anti-hack system, characterized in that at least one of the functions to cause the loop to run.
제9항에 있어서,
상기 통신 단말기가 실행시키는 복수 개의 프로세스는 상기 특정 어플리케이션과 관련된 쓰레드에 해당하는 것을 특징으로 하는 해킹 방지 시스템.
10. The method of claim 9,
And a plurality of processes executed by the communication terminal correspond to threads associated with the specific application.
제7항 내지 제11항 중 어느 한 항에 있어서,
상기 통신 단말기가 상기 특정 어플리케이션과 관련된 프로그램 코드에 대해 수행하는 적어도 하나의 검증 펑션은 상기 특정 어플리케이션의 프로그램 코드에 대해 해쉬 알고리즘을 적용하여 산출하는 검증 펑션인 것을 특징으로 하는 해킹 방지 시스템.
12. The method according to any one of claims 7 to 11,
And at least one verification function performed by the communication terminal on the program code associated with the specific application is a verification function that applies a hash algorithm to the program code of the specific application to calculate the verification function.
(a) 특정 어플리케이션을 실행하는 통신 단말기로부터 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 수신하는 단계와;
(b) 상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하는 단계와;
(c) 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 기 구비된 저장부에 저장하는 단계와;
(d) 상기 (b) 단계에서 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하는 단계와;
(e) 상기 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 검증 펑션 결과값을 산출한 상기 통신 단말기로부터 상기 산출한 검증 펑션 결과값을 수신하는 단계와;
(f) 상기 (c) 단계에서 저장된 검증 펑션 결과값과 상기 (e) 단계에서 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 단계를 포함하는 것을 특징으로 하는 해킹 방지 지원 서버의 제어방법.
(a) receiving a verification function request signal including the specific application information from a communication terminal executing a specific application;
determining a verification function list and a verification function execution order according to a predetermined algorithm according to the verification function request signal of the communication terminal;
(c) storing a verification function result value calculated by performing at least one verification function on the program code related to the specific application based on the determined verification function list and the verification function execution order; ;
(d) transmitting verification function information including a verification function list determined in step (b) and a verification function execution order to the communication terminal;
(e) performing the at least one verification function on the program code related to the specific application based on the verification function list included in the verification function information and the execution order of the verification functions, and calculating a result of the verification function from the communication terminal. Receiving the calculated verification function result value;
(f) comparing the verification function result value stored in step (c) with the verification function result value received in step (e), and if the comparison result is matched, hacking is performed on the specific application included in the communication terminal. And determining that it is not supported.
제13항에 있어서,
(g) 상기 (f) 단계에서 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 경우, 소정의 인증 토큰을 생성하고 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 인증 토큰에 대해 적어도 하나의 검증 펑션을 수행하여 산출한 인증 토큰 가공값을 기 구비된 저장부에 저장하는 단계와;
상기 (g) 단계에서 생성된 인증 토큰을 상기 통신 단말기에 전송하는 단계와;
상기 인증 토큰에 대해 상기 통신 단말기에서 생성된 인증 토큰 가공값을 포함하는 검증 요청 신호를 소정의 서비스 제공 서버로부터 수신하는 단계와;
상기 서비스 제공 서버로부터 수신된 인증 토큰 가공값과 상기 (g) 단계에서 저장된 인증 토큰 가공값을 비교하고 그 비교결과에 따른 검증 결과를 상기 서비스 제공 서버에 전송하는 단계를 더 포함하는 것을 특징으로 하는 해킹 방지 지원 서버의 제어방법.
The method of claim 13,
(g) If it is determined in step (f) that hacking has not been performed for the specific application included in the communication terminal, a predetermined authentication token is generated and the authentication is performed based on the verification function list and the verification function execution order. Storing the authentication token processing value calculated by performing at least one verification function on the token in a storage unit;
Transmitting the authentication token generated in step (g) to the communication terminal;
Receiving a verification request signal including a verification token processing value generated at the communication terminal for the authentication token from a predetermined service providing server;
And comparing the authentication token processing value received from the service providing server with the authentication token processing value stored in the step (g) and transmitting a verification result according to the comparison result to the service providing server. How to control hacking prevention server.
제13항에 있어서,
상기 통신 단말기의 요청에 따라 상기 통신 단말기상에서 실행될 적어도 하나의 프로세스 목록을 포함하는 실행 대상 프로세스 목록과, 상기 통신 단말기상에서 검증하기 위한 토큰이 저장되는 위치를 지정한 토큰 저장 위치 정보를 생성하는 단계와;
상기 생성한 실행 대상 프로세스 목록과 토큰 저장 위치 정보를 상기 통신 단말기에 전송하는 단계를 더 포함하는 것을 특징으로 하는 해킹 방지 지원 서버의 제어방법.
The method of claim 13,
Generating at least one process list including at least one process list to be executed on the communication terminal according to a request of the communication terminal, and token storage location information designating a location where a token for verification on the communication terminal is stored;
And transmitting the generated execution target process list and token storage location information to the communication terminal.
저장부와;
특정 어플리케이션을 실행하는 통신 단말기로부터 상기 특정 어플리케이션 정보를 포함하는 검증 펑션 요청 신호를 수신하는 요청 수신부와;
상기 통신 단말기의 검증 펑션 요청 신호에 따라 기 설정된 알고리즘에 따라 검증 펑션 목록과 검증 펑션 실행 순서를 결정하고 상기 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 상기 저장부에 저장하는 요청 처리부와;
상기 요청 처리부에서 결정된 검증 펑션 목록과 검증 펑션 실행 순서를 포함하는 검증 펑션 정보를 상기 통신 단말기에 전송하는 전송부와;
상기 검증 펑션 정보에 포함된 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 통신 단말기에서 상기 특정 어플리케이션과 관련된 프로그램 코드에 대한 적어도 하나의 검증 펑션을 수행하여 산출한 검증 펑션 결과값을 수신하는 데이터 수신부와;
상기 저장부에 저장된 검증 펑션 결과값과 상기 데이터 수신부에 수신된 검증 펑션 결과값을 비교하고, 비교결과 일치하는 경우 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단하는 해킹 여부 판단부를 포함하는 것을 특징으로 하는 해킹 방지 지원 서버.
A storage unit;
A request receiving unit which receives a verification function request signal including the specific application information from a communication terminal executing a specific application;
Determine a verification function list and a verification function execution order according to a predetermined algorithm according to a verification function request signal of the communication terminal, and based on the determined verification function list and verification function execution order, at least one program code related to the specific application. A request processing unit for storing a verification function result value calculated by performing a verification function of the storage unit;
A transmission unit which transmits verification function information including a verification function list determined by the request processing unit and a verification function execution order to the communication terminal;
A data receiver configured to receive a verification function result value calculated by performing at least one verification function on a program code related to the specific application in the communication terminal based on a verification function list included in the verification function information and an execution order of verification functions; Wow;
Compare the verification function result value stored in the storage unit and the verification function result value received in the data receiving unit, and if the comparison result is determined that the hacking to determine that the hacking is not performed for the specific application included in the communication terminal Anti-hacking support server, characterized in that it comprises a.
제16항에 있어서,
상기 해킹 여부 판단부에 의해 상기 통신 단말기에 포함된 상기 특정 어플리케이션에 대해 해킹이 이루어지지 않았다고 판단되는 경우, 소정의 인증 토큰을 생성하고 상기 검증 펑션 목록과 검증 펑션 실행 순서를 기초로 상기 인증 토큰에 대해 적어도 하나의 검증 펑션을 수행하여 산출한 인증 토큰 가공값을 상기 저장부에 저장하는 토큰 생성부를 더 포함하고,
상기 전송부가 상기 토큰 생성부에 의해 생성된 인증 토큰을 상기 통신 단말기에 전송한 후, 상기 요청 수신부는 상기 인증 토큰에 대해 상기 통신 단말기에서 생성된 인증 토큰 가공값을 포함하는 검증 요청 신호를 소정의 서비스 제공 서버로부터 수신하고,
상기 해킹 여부 판단부는 상기 서비스 제공 서버로부터 수신된 인증 토큰 가공값과 상기 저장부에 저장된 인증 토큰 가공값을 비교하고, 비교결과에 따른 검증 결과를 생성하며,
상기 전송부는 상기 해킹 여부 판단부에서 생성한 검증 결과를 상기 서비스 제공 서버에 전송하는 것을 특징으로 하는 해킹 방지 지원 서버.
17. The method of claim 16,
If it is determined by the hacking determining unit that hacking has not been performed for the specific application included in the communication terminal, a predetermined authentication token is generated, and the authentication token is generated based on the verification function list and the verification function execution order. And a token generator configured to store the authentication token processing value calculated by performing at least one verification function on the storage unit.
After the transmitting unit transmits the authentication token generated by the token generating unit to the communication terminal, the request receiving unit prescribes a verification request signal including an authentication token processing value generated in the communication terminal for the authentication token. Receive from the provisioning server,
The hacking determination unit compares the authentication token processing value received from the service providing server and the authentication token processing value stored in the storage unit, and generates a verification result according to the comparison result,
And the transmission unit transmits the verification result generated by the hacking determination unit to the service providing server.
제16항에 있어서,
상기 요청 처리부는 상기 통신 단말기의 요청에 따라 상기 통신 단말기상에서 실행될 적어도 하나의 프로세스 목록을 포함하는 실행 대상 프로세스 목록과, 상기 통신 단말기상에서 검증하기 위한 토큰이 저장되는 위치를 지정한 토큰 저장 위치 정보를 생성하고,
상기 전송부는 상기 요청 처리부에서 생성한 실행 대상 프로세스 목록과 토큰 저장 위치 정보를 상기 통신 단말기에 전송하는 것을 특징으로 하는 해킹 방지 지원 서버.
17. The method of claim 16,
The request processing unit generates an execution target process list including at least one process list to be executed on the communication terminal according to a request of the communication terminal, and token storage location information specifying a location where a token for verification on the communication terminal is stored. and,
And the transmitting unit transmits the execution target process list and the token storage position information generated by the request processing unit to the communication terminal.
KR1020110077552A 2011-08-04 2011-08-04 System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof KR101272026B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110077552A KR101272026B1 (en) 2011-08-04 2011-08-04 System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110077552A KR101272026B1 (en) 2011-08-04 2011-08-04 System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof

Publications (2)

Publication Number Publication Date
KR20130015520A KR20130015520A (en) 2013-02-14
KR101272026B1 true KR101272026B1 (en) 2013-06-07

Family

ID=47895312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110077552A KR101272026B1 (en) 2011-08-04 2011-08-04 System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof

Country Status (1)

Country Link
KR (1) KR101272026B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569618B2 (en) 2013-08-28 2017-02-14 Korea University Research And Business Foundation Server and method for attesting application in smart device using random executable code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075463A (en) * 2006-01-13 2007-07-24 엘지전자 주식회사 Authentic apparatus and method for system
KR20080051753A (en) * 2006-12-06 2008-06-11 삼성전자주식회사 System and method for providing security
KR20090019576A (en) * 2007-08-21 2009-02-25 (주)에이티솔루션 Certification method and system for a mobile phone

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075463A (en) * 2006-01-13 2007-07-24 엘지전자 주식회사 Authentic apparatus and method for system
KR20080051753A (en) * 2006-12-06 2008-06-11 삼성전자주식회사 System and method for providing security
KR20090019576A (en) * 2007-08-21 2009-02-25 (주)에이티솔루션 Certification method and system for a mobile phone

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569618B2 (en) 2013-08-28 2017-02-14 Korea University Research And Business Foundation Server and method for attesting application in smart device using random executable code

Also Published As

Publication number Publication date
KR20130015520A (en) 2013-02-14

Similar Documents

Publication Publication Date Title
CN108900559B (en) Login certificate management method and device, computer equipment and storage medium
CN108399329B (en) Method for improving security of trusted application program
CN105164633B (en) The configuration and verifying carried out by trusted provider
CN104023032B (en) Application based on credible performing environment technology is limited discharging method, server and terminal
KR101756692B1 (en) Terminal Device for Dynamic Secure Module and Driving Method Thereof
US20090193211A1 (en) Software authentication for computer systems
KR20150036104A (en) Method, client, server and system of login verification
CN104199654A (en) Open platform calling method and device
US20200159893A1 (en) Authentication apparatus, method, system and program, and server apparatus
CN103329095A (en) Authenticate a hypervisor with encoded information
EP3293656A1 (en) Method for controlling access to a trusted application in a terminal
CN109842616B (en) Account binding method and device and server
CN109691060A (en) Electronic equipment, software issue server and its method
KR101272026B1 (en) System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof
CN110290109B (en) Data processing method and device, and processing authority acquisition method and device
KR101272027B1 (en) System for hacking prevention and control method thereof, server for supporting hacking prevention comprised in the system and control method thereof
JP6343928B2 (en) Portable terminal, authentication system, authentication method, and authentication program
KR101397666B1 (en) Method for controlling access right of application, and user device
CN114257451B (en) Verification interface replacement method and device, storage medium and computer equipment
CN105335673A (en) Information safety processing method and device
KR101334771B1 (en) surveillance system and method for authentication procedure based by unique identifier
KR20140106940A (en) Apparatus for application for mobile terminal
KR102201218B1 (en) Access control system and method to security engine of mobile terminal
CN106485139A (en) A kind of safe verification method of application program
CN107315610A (en) Realize method, device and the computer-readable recording medium of cryptographic function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee