KR101235517B1 - Method for Detecting Modification of Computer Program Executing in Memory - Google Patents

Method for Detecting Modification of Computer Program Executing in Memory Download PDF

Info

Publication number
KR101235517B1
KR101235517B1 KR1020110028668A KR20110028668A KR101235517B1 KR 101235517 B1 KR101235517 B1 KR 101235517B1 KR 1020110028668 A KR1020110028668 A KR 1020110028668A KR 20110028668 A KR20110028668 A KR 20110028668A KR 101235517 B1 KR101235517 B1 KR 101235517B1
Authority
KR
South Korea
Prior art keywords
computer program
memory
program
protected
modulation
Prior art date
Application number
KR1020110028668A
Other languages
Korean (ko)
Other versions
KR20120110660A (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 KR1020110028668A priority Critical patent/KR101235517B1/en
Publication of KR20120110660A publication Critical patent/KR20120110660A/en
Application granted granted Critical
Publication of KR101235517B1 publication Critical patent/KR101235517B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 컴퓨터 메모리에서 실행되는 컴퓨터 프로그램이 변조되는지의 여부를 탐지할 수 있도록 한다. 이를 위하여 변조로부터의 보호 대상이 되는 보호 대상 프로그램은 원본저장코드를 포함하도록 구성되며, 원본저장코드는 보호 대상 프로그램이 메모리에 로드될 때 실행되어 원본정보를 저장해 놓는다. 원본정보는 보호 대상 프로그램의 일정 보호영역에 관한 정보를 말하며, 변조탐지용 프로그램은 메모리에 로드된 보호 대상 프로그램의 보호영역 정보와 상기 원본정보를 주기적으로 비교하여 변조가 발생하였는지를 조사한다. 본 발명에 따르면, 메모리에서 실행되는 컴퓨터 프로그램의 원본정보에 근거하여 변조 여부를 탐지하기 때문에 알려져 있지 않은 악성 코드에 의한 변조까지 탐지할 수 있고, 변조를 판단하기 위한 원본정보를 별도로 배포할 필요가 없으므로, 편리하고 효율적으로 컴퓨터 프로그램의 실행 시간 변조를 탐지할 수 있다.The present invention makes it possible to detect whether a computer program running on a computer memory is tampered with. To this end, the protected program to be protected from tampering is configured to include the original stored code, which is executed when the protected program is loaded into memory to store the original information. The original information refers to information about a certain protected area of the protected program, and the tamper detection program periodically compares the protected area information of the protected program loaded in the memory with the original information to check whether tampering has occurred. According to the present invention, since tampering is detected based on original information of a computer program running in a memory, tampering by unknown malicious code can be detected, and it is necessary to separately distribute original information for judging tampering. As a result, it is possible to detect the modification of the execution time of the computer program conveniently and efficiently.

Description

메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법{ Method for Detecting Modification of Computer Program Executing in Memory }Method for Detecting Modification of Computer Program Executing in Memory}

본 발명은 컴퓨터 메모리에서 실행되는 컴퓨터 프로그램이 악성 코드에 의해 변조되는지의 여부를 탐지하여, 컴퓨터 프로그램이 부정하게 이용되는 것을 방지하고, 이에 적절히 조치를 취할 수 있도록 한다.
The present invention detects whether a computer program running in computer memory is tampered with by malicious code, thereby preventing the computer program from being used illegally and taking appropriate measures.

컴퓨터와 관련하여 매우 다양한 악성 코드가 존재하며, 특히 컴퓨터에서 실행되는 정상적인 컴퓨터 프로그램을 변조하여 부정한 목적을 달성하려는 시도가 많이 이루어지고 있다.There are a wide variety of malicious codes related to computers, and there are many attempts to achieve unjust goals by altering normal computer programs running on computers.

예컨대 온라인 게임의 경우 게임 아이템과 같은 게임 내 재화의 가치가 높아지면서 로봇 프로그램을 통해 자동화된 과정으로 게임을 진행하여 게임 내 재화를 습득하는 행위가 발생하고 있다.For example, in the case of online games, the value of in-game goods such as game items increases, and the act of acquiring in-game goods is progressing through the automated process through a robot program.

로봇 프로그램은 게임 클라이언트가 메모리에 로드하는 프로그램 모듈을 변조하여 자신의 목적에 따라 게임이 진행되도록 제어한다.The robot program modulates a program module loaded by the game client into memory to control the game to proceed according to its purpose.

이와 같은 상황을 방지하기 위해서는 컴퓨터의 메모리에서 실행되는 컴퓨터 프로그램이 변조되었는지의 여부를 탐지할 필요가 있다.To prevent such a situation, it is necessary to detect whether the computer program running in the memory of the computer has been tampered with.

이에 본 발명은 상기와 같은 필요성에 부응하기 위하여 안출된 것으로서, 컴퓨터의 메모리에서 실행되는 컴퓨터 프로그램이 변조되었는지의 여부를 효율적으로 탐지할 수 있는 방법을 제공하는데 그 목적이 있다.
Accordingly, an object of the present invention is to provide a method capable of efficiently detecting whether a computer program executed in a memory of a computer has been tampered with.

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 제1실시예는 메모리에 로드된 컴퓨터 프로그램의 일정 보호영역에 관한 정보를 원본정보로 저장해 놓는 원본저장단계; 및 변조탐지용 프로그램이 주기적으로 상기 메모리에 로드되어 있는 상기 컴퓨터 프로그램의 보호영역에 관한 정보와 상기 원본정보를 비교하여 상기 컴퓨터 프로그램이 변조되었는지의 여부를 탐지하는 변조탐지단계를 포함하여 이루어진다. 상기 원본저장단계는 상기 컴퓨터 프로그램이 상기 메모리에 로드될 때 실행되도록 상기 컴퓨터 프로그램에 설정되어 있는 원본저장코드가 수행한다.In order to achieve the above object, a first embodiment according to the present invention comprises: an original storage step of storing information about a predetermined protection area of a computer program loaded in a memory as original information; And a modulation detection step of detecting whether or not the computer program has been tampered with by comparing the original information with information about the protection area of the computer program loaded in the memory. The original storing step is performed by an original storing code set in the computer program to be executed when the computer program is loaded into the memory.

상기 원본저장코드는 상기 보호영역의 데이터를 그대로 상기 원본정보로 저장할 수 있다.The original storage code may store the data of the protection area as the original information.

상기 원본저장코드는 상기 보호영역의 데이터를 복호화가 가능한 암호화 방식으로 암호화 하여 상기 원본정보로 저장할 수 있다.The original storage code may encrypt the data of the protected area in a decryptable encryption manner and store the original information.

상기 원본저장코드는 상기 보호영역의 데이터에 관한 해쉬(Hash) 값을 상기 원본정보로 저장할 수 있다.The original storage code may store a hash value of the data of the protected area as the original information.

상기 원본정보는 상기 컴퓨터 프로그램이 상기 메모리에서 언로드될 때 삭제될 수 있다.
The original information may be deleted when the computer program is unloaded from the memory.

본 발명에 따른 제2실시예에서 보호 대상이 되는 컴퓨터 프로그램은 일정 보호영역의 데이터를 특정 암호화 방식에 따라 암호화한 암호값을 가지고 있도록 구성된다.In the second embodiment according to the present invention, the computer program to be protected is configured to have a cipher value in which data of a certain protected area is encrypted according to a specific encryption method.

본 발명에 따른 제2실시예는, 변조탐지용 프로그램이 주기적으로 메모리에 로드되어 있는 상기 컴퓨터 프로그램의 일정 보호영역에 관한 데이터를 특정 암호화 방식에 따라 암호화 하는 암호화 단계; 및 상기 변조탐지용 프로그램이 상기 암호화 단계에서 처리된 결과값과 상기 컴퓨터 프로그램이 가지고 있는 암호값을 비교하여 상기 컴퓨터 프로그램의 변조 여부를 탐지하는 변조탐지단계를 포함하여 이루어진다.According to a second embodiment of the present invention, an encryption step of encrypting data relating to a predetermined protection area of a computer program in which a tamper detection program is periodically loaded into a memory is performed; And a tamper detection step for the tamper detection program to detect whether the computer program has been tampered with by comparing a result value processed in the encryption step with a cryptographic value possessed by the computer program.

상기 제2실시예에서 상기 특정 암호화 방식은 해쉬(Hash) 함수를 이용하여 해쉬값을 산출하는 방식일 수 있다.
In the second embodiment, the specific encryption method may be a method of calculating a hash value using a hash function.

상기 제1실시예와 제2실시예에서, 상기 컴퓨터 프로그램의 일정 보호영역은 실행시 그 내용이 변경되지 않는 데이터가 저장되는 영역일 수 있다.
In the first and second embodiments, the predetermined protection area of the computer program may be an area in which data whose contents are not changed when executed is stored.

상기 변조탐지용 프로그램은 상기 메모리에 로드되어 있는 컴퓨터 프로그램이 변조된 경우, 변조와 관련된 정보를 특정 서버로 전송할 수 있다.When the computer program loaded in the memory is modulated, the modulation detection program may transmit information related to the modulation to a specific server.

이때 상기 특정 서버로 전송하는 변조와 관련된 정보는 변조된 위치, 변조 전의 데이터, 변조 후의 데이터, 변조된 데이터의 길이, 변조로 인해 분기되는 프로그램 정보 등을 포함할 수 있다.In this case, the information related to the modulation transmitted to the specific server may include a modulated position, data before modulation, data after modulation, length of modulated data, program information branched by the modulation, and the like.

상기 변조탐지용 프로그램은 상기 메모리에 로드되어 있는 컴퓨터 프로그램이 변조된 경우 상기 컴퓨터 프로그램의 실행을 종료시키거나, 또는 상기 변조된 데이터를 복구시킬 수 있다.
The modulation detection program may terminate execution of the computer program or restore the modulated data when the computer program loaded in the memory is modulated.

상기 컴퓨터 프로그램은 특정 어플리케이션(Application)이 그 실행 중 상기 메모리에 로드하는 프로그램 모듈을 포함할 수 있다.The computer program may include a program module which a specific application loads into the memory during its execution.

상기 어플리케이션은 사용자의 컴퓨터 장치에서 실행되어 통신망을 통해 게임 서버와 통신하면서 온라인 게임을 수행하는 게임 클라이언트일 수 있다.
The application may be a game client that runs on a user's computer device and performs an online game while communicating with a game server through a communication network.

본 발명에 따르면, 메모리에서 실행되는 컴퓨터 프로그램의 원본정보에 근거하여 변조 여부를 탐지하기 때문에 알려져 있지 않은 악성 코드에 의한 변조까지 탐지할 수 있다.According to the present invention, since tampering is detected based on original information of a computer program executed in a memory, tampering by unknown malicious code can be detected.

또한, IAT Wrapping 기술이나 난독화(가상화) 기술을 사용하는 패커, 실행파일 압축 프로그램 등 타 용도의 컴퓨터 프로그램에 의한 영향을 받지 않는다.In addition, it is not affected by computer programs for other purposes, such as packers and executable file compression programs that use IAT Wrapping technology or obfuscation (virtualization) technology.

뿐만 아니라 정확한 변조 위치나 변조 데이터를 판단하기 위해 보호영역에 관한 원본정보를 별도로 배포할 필요도 없다.In addition, it is not necessary to distribute original information on the protection area separately in order to determine the correct modulation position or modulation data.

이에 따라 컴퓨터 메모리에서 실행되는 컴퓨터 프로그램의 변조 여부를 효율적으로 탐지하고, 신속하게 적절한 대응 조치를 취할 수 있도록 해준다.
This effectively detects the tampering of computer programs running on computer memory, and allows for rapid response.

도 1은 컴퓨터 장치의 예,
도 2는 본 발명에 따른 제1실시예의 보호 대상 프로그램에 관한 개요,
도 3은 본 발명에 따른 제1실시예에서 보호 대상 프로그램과 변조탐지용 프로그램이 메모리에 로드되어 있는 상태를 보인 예,
도 4는 본 발명에 따른 제1실시예의 변조 탐지 방법을 설명하는 흐름도,
도 5는 본 발명에 따른 제2실시예의 보호 대상 프로그램에 관한 개요,
도 6은 본 발명에 따른 제2실시예에서 보호 대상 프로그램과 변조탐지용 프로그램이 메모리에 로드되어 있는 상태를 보인 예,
도 7은 본 발명에 따른 제2실시예의 변조 탐지 방법을 설명하는 흐름도,
도 8은 어플리케이션이 필요에 따라 여러 모듈을 메모리에 로드하는 예,
도 9와 도 10은 본 발명에 따른 변조 탐지 방법을 온라인 게임 서비스에 적용하는 예이다.
1 is an example of a computer device,
2 is an overview of a program to be protected according to the first embodiment of the present invention;
3 is a view showing a state in which a program to be protected and a tamper detection program are loaded in a memory in the first embodiment according to the present invention;
4 is a flowchart for explaining a modulation detection method of a first embodiment according to the present invention;
5 is an overview of a program to be protected according to a second embodiment of the present invention;
6 is a view showing a state in which a program to be protected and a modulation detection program are loaded in a memory in a second embodiment according to the present invention;
7 is a flowchart for explaining a modulation detection method of a second embodiment according to the present invention;
8 illustrates an example in which an application loads several modules into a memory as needed.
9 and 10 are examples of applying the modulation detection method according to the present invention to an online game service.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 컴퓨터 장치의 메모리에서 실행되는 컴퓨터 프로그램이 변조되는지의 여부를 탐지하는 방법에 관한 것이다.The present invention relates to a method for detecting whether a computer program running in a memory of a computer device is modulated.

컴퓨터 장치는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 태블릿 컴퓨터, 스마트폰, PDA(Personal Digital Assistant) 등 컴퓨터 프로그램을 메모리에 로드하여 실행할 수 있는 일체의 기기를 말한다.
A computer device refers to any device that can load and execute a computer program such as a personal computer (PC), a notebook computer, a tablet computer, a smartphone, a personal digital assistant (PDA), and the like in a memory.

도 1은 컴퓨터 장치(11)의 예를 도시한 것으로서, 각 요소들은 다양한 구조를 가질 수 있는 시스템 버스(11-9)를 통해 서로 연결되고, 중앙처리장치(CPU: Central Processing Unit,11-1)의 총괄적인 제어하에 서로 데이터를 주고 받으면서 그 역할을 수행한다.1 shows an example of a computer device 11, in which each element is connected to each other via a system bus 11-9, which may have various structures, and a central processing unit (CPU) 11-1. It plays its role by exchanging data with each other under the general control of).

저장매체(11-2)는 비휘발성의 성질을 가지며, 일반적으로 개인용 컴퓨터에서는 내장형 하드 디스크 드라이브(HDD: Hard Disk Drive)가 사용되지만, 컴퓨터 장치(11)에 의해 액세스될 수 있는 내장형, 외장형, 분리형, 비분리형의 다양한 형태를 가질 수 있다.The storage medium 11-2 has a non-volatile property, and in general, an internal hard disk drive (HDD) is used in a personal computer, but internal, external, and external devices accessible by the computer device 11 may be used. It can have a variety of forms, both separable and non-separable.

입력수단(11-3)은 사용자가 컴퓨터 장치(11)로 각종 명령이나 정보를 입력할 수 있도록 하며, 디스플레이 수단(11-4)은 시각적으로 출력할 정보를 디스플레이 화면에 표시한다.The input means 11-3 allows the user to input various commands or information to the computer device 11, and the display means 11-4 displays the information to be visually output on the display screen.

메모리(11-5)는 중앙처리장치(11-1)가 즉시 액세스할 컴퓨터 프로그램이나 데이터를 유지하는 RAM(Random Access Memory)을 말하는 것으로서, 컴퓨터 프로그램은 중앙처리장치(11-1)에 의해 메모리(11-5)에 로드되어 실행된다.The memory 11-5 refers to a random access memory (RAM) that holds a computer program or data that the central processing unit 11-1 immediately accesses. The computer program is stored in the memory by the central processing unit 11-1. It is loaded in (11-5) and executed.

네트워크 인터페이스(11-6)는 컴퓨터 장치(11)가 유선 인터넷망이나 무선 인터넷망 등 각종 통신망(13)에 접속하여 통신할 수 있도록 한다.
The network interface 11-6 allows the computer device 11 to connect and communicate with various communication networks 13 such as a wired internet network or a wireless internet network.

본 발명의 설명에서 보호 대상이 되는 컴퓨터 프로그램은 그 자체만으로 전체 기능을 수행하는 것일 수도 있고, 메인 컴퓨터 프로그램에 의해 메모리(11-5)에 로드되어 실행되는 프로그램 모듈(예: DLL, EXE)일 수도 있다.In the description of the present invention, a computer program to be protected may be a program module (eg, a DLL or an EXE) that is loaded and executed in the memory 11-5 by the main computer program. It may be.

이하에서는 설명의 편의를 위하여 변조로부터의 보호 대상이 되는 컴퓨터 프로그램을 '보호 대상 프로그램'으로 칭하기로 한다. 즉, 보호 대상 프로그램은 메인 컴퓨터 프로그램이 될 수도 있고, 메인 컴퓨터 프로그램이 필요에 따라 메모리(11-5)에 불러 오는 프로그램 모듈일 수도 있다.
Hereinafter, for convenience of description, a computer program to be protected from tampering will be referred to as a 'protected program'. That is, the program to be protected may be a main computer program or may be a program module which the main computer program loads into the memory 11-5 as necessary.

도 2를 참조하자면, 본 발명에 따른 제1실시예의 변조 탐지 방법에서 보호 대상 프로그램(310)은 원본저장코드(311)를 포함하도록 구성된다.2, in the modulation detection method of the first embodiment according to the present invention, the protected program 310 is configured to include an original storage code 311.

원본저장코드(311)는 보호 대상 프로그램(310)에 포함되는 코드로서, 보호 대상 프로그램(310)이 메모리(11-5)에 로드될 때 보호 대상 프로그램(310)의 일정 보호영역에 관한 정보를 원본정보로 저장해 놓는다.The original storage code 311 is a code included in the program to be protected 310, and when the program to be protected 310 is loaded into the memory 11-5, information about a certain protection area of the program to be protected 310 is stored. Save it as original information.

원본저장코드(311)는 메모리(11-5)에 로드된 보호 대상 프로그램(310)이 처음 실행될 때 원본정보를 저장한다.The original storage code 311 stores original information when the protected program 310 loaded in the memory 11-5 is first executed.

보호 대상 프로그램(310)의 어떤 영역을 보호영역으로 할 것인지는 필요에 따라 다양하게 설정할 수 있다. Which area of the program to be protected 310 is a protected area can be set in various ways as necessary.

보호영역의 구체적인 예를 들자면, .text, .rdata, .rsrc 등과 같이 보호 대상 프로그램(310)의 실행시 그 내용이 변경되지 않는 데이터가 저장되는 영역을 보호영역으로 설정할 수 있다.As a specific example of the protected area, an area in which data whose contents are not changed when the protected program 310 is executed, such as .text, .rdata, .rsrc, or the like, may be set as the protected area.

원본저장코드(311)는 보호영역의 데이터를 그대로 원본정보로 저장할 수도 있고, 노출 방지를 위해 보호영역의 데이터를 특정 암호화 방식으로 암호화하여 원본정보로 저장할 수도 있다. 후자의 경우 보호영역의 데이터에 관한 해쉬(Hash) 값을 원본정보로 저장할 수 있다.The original storage code 311 may store the data of the protection area as the original information, or may encrypt the data of the protection area by a specific encryption method and store it as the original information to prevent exposure. In the latter case, the hash value of the data in the protected area can be stored as the original information.

만일 변조 탐지 과정이 보호영역의 데이터를 그대로 비교하도록 구성된다면, 상기 암호화 방식은 복호화가 가능한 방식을 사용해야 한다.
If the tamper detection process is configured to compare the data of the protected area as it is, the encryption method should use a decryptable method.

도 3은 본 발명에 따른 제1실시예의 변조 탐지 방법과 관련한 메모리(11-5)의 상태를 도시한 것으로서, 메모리(11-5)에 보호 대상 프로그램(310)과 변조탐지용 프로그램(321)이 로드되어 있다.FIG. 3 shows the state of the memory 11-5 related to the modulation detection method of the first embodiment according to the present invention, in which the protected program 310 and the modulation detection program 321 are stored in the memory 11-5. Is loaded.

제1실시예에서 변조탐지용 프로그램(321)은 보호 대상 프로그램(310)의 원본저장코드(311)가 저장해 놓은 원본정보를 이용하여 보호 대상 프로그램(310)이 변조되는지의 여부를 감시한다.In the first embodiment, the tamper detection program 321 monitors whether the protected program 310 is modulated by using the original information stored in the original storage code 311 of the protected program 310.

도 4는 본 발명에 따른 제1실시예의 변조 탐지 방법을 도시한 것이다.4 shows a modulation detection method of the first embodiment according to the present invention.

먼저 보호 대상 프로그램(310)이 메모리(11-5)에 로드되고(S211), 원본저장코드(311)가 보호 대상 프로그램(310)의 최초 실행시 보호 대상 프로그램(310)의 보호영역에 관한 정보를 원본정보(331)로 저장해 놓는다(S212).First, the protected program 310 is loaded into the memory 11-5 (S211), and the information about the protected area of the protected program 310 when the original storage code 311 is initially executed. The original information 331 is stored (S212).

그러면 변조탐지용 프로그램(321)은 단계 S213 내지 S216에 따라 주기적으로 메모리(11-5)의 보호 대상 모듈(310)이 변조되는지를 탐지한다.The modulation detection program 321 then detects whether the protection target module 310 of the memory 11-5 is modulated in accordance with steps S213 to S216.

즉, 변조탐지용 프로그램(321)은 주기적으로 메모리(11-5)에 로드되어 있는 보호 대상 프로그램(310)의 보호영역에 관한 정보를 원본저장코드(311)가 저장해 놓은 원본정보(331)와 비교하여 서로 일치하는지를 조사하며(S213). 조사 결과 서로 일치하면 변조가 발생하지 않은 것으로 판단하고(S214,S215), 서로 일치하지 않으면 변조가 발생한 것으로 판단한다(S214,S216).That is, the tamper detection program 321 may include the original information 331 in which the original storage code 311 stores information about a protected area of the protected program 310 that is periodically loaded into the memory 11-5. Compare and check whether they match each other (S213). If the result of the check coincides with each other, it is determined that no modulation has occurred (S214, S215), and if it does not coincide with each other, it is determined that modulation has occurred (S214, S216).

이때, 원본정보(331)가 보호영역의 데이터 그대로인 경우에는 메모리(11-5)에 로드되어 있는 보호 대상 프로그램(310)의 보호영역 데이터를 그대로 읽어 원본정보(331)와 비교한다.At this time, when the original information 331 is the data of the protection area, the protection area data of the protection target program 310 loaded in the memory 11-5 is read as it is and compared with the original information 331.

그러나 원본정보(331)가 해쉬값인 경우에는 메모리(11-5)에 로드되어 있는 보호 대상 프로그램(310)의 보호영역 데이터의 해쉬값을 구해 서로 비교한다.However, when the original information 331 is a hash value, the hash value of the protection area data of the protected program 310 loaded in the memory 11-5 is obtained and compared with each other.

또한, 원본정보(331)가 복호화가 가능한 암호화 방식으로 암호화된 값이라면, 원본정보(331)를 복호화한 값과 메모리(11-5)에 로드되어 있는 보호 대상 프로그램(310)의 보호영역 데이터를 비교한다.
In addition, if the original information 331 is a value encrypted by the decryption method that can be decrypted, the value obtained by decrypting the original information 331 and the protection area data of the protected program 310 loaded in the memory 11-5 are stored. Compare.

원본정보(331)는 보호 대상 프로그램(310)이 메모리(11-5)에서 언로드될 때 삭제하도록 구성될 수 있다. 원본정보(331)의 삭제는 보호 대상 프로그램(310), 보호 대상 프로그램을 호출한 메인 프로그램, 변조탐지용 프로그램(321), 또는 별도의 프로그램이 수행할 수 있다.The original information 331 may be configured to be deleted when the program to be protected 310 is unloaded from the memory 11-5. The deletion of the original information 331 may be performed by the protected program 310, the main program calling the protected program, the tamper detection program 321, or a separate program.

도 5를 참조하자면, 본 발명에 따른 제2실시예의 변조 탐지 방법에서 보호 대상 프로그램(310)은 보호영역의 암호값(313)을 포함하도록 구성된다.Referring to FIG. 5, in the modulation detection method of the second embodiment of the present invention, the program to be protected 310 is configured to include an encryption value 313 of a protected area.

보호영역의 암호값이란 보호 대상 프로그램(310)의 보호영역에 관한 데이터를 특정 암호화 방식에 따라 암호화한 값을 말한다.The cipher value of the protected area refers to a value obtained by encrypting data related to the protected area of the protected program 310 according to a specific encryption method.

보호 대상 프로그램(310)의 어떤 영역을 보호영역으로 할 것인지는 필요에 따라 다양하게 설정할 수 있다. 구체적인 예로서 .text, .rdata, .rsrc 등과 같이 보호 대상 프로그램(310)의 실행시 그 내용이 변경되지 않는 데이터가 저장되는 영역을 보호영역으로 설정할 수 있다.Which area of the program to be protected 310 is a protected area can be set in various ways as necessary. As a specific example, an area in which data whose contents are not changed when the program to be protected 310 is executed, such as .text, .rdata, or .rsrc, may be set as a protection area.

보호영역의 암호값을 생성하는 암호화 방식은 다양하게 구성될 수 있으며, 구체적인 예로서 해쉬(Hash) 함수를 이용하여 보호영역의 데이터에 관한 해쉬값을 생성할 수 있다.An encryption method for generating an encryption value of a protection area may be configured in various ways. As a specific example, a hash value for data of the protection area may be generated using a hash function.

도 6은 본 발명에 따른 제2실시예의 변조 탐지 방법과 관련한 메모리(11-5)의 상태를 도시한 것으로서, 메모리(11-5)에 보호 대상 프로그램(310)과 변조탐지용 프로그램(321)이 로드되어 있다.FIG. 6 shows the state of the memory 11-5 related to the modulation detection method of the second embodiment according to the present invention, in which the protected program 310 and the modulation detection program 321 are stored in the memory 11-5. Is loaded.

제2실시예에서 변조탐지용 프로그램(321)은 보호 대상 프로그램(310)이 가지고 있는 보호영역의 암호값(313)을 이용하여 보호 대상 프로그램(310)이 변조되는지의 여부를 감시한다.
In the second embodiment, the tamper detection program 321 monitors whether the protected program 310 is modulated by using the encryption value 313 of the protected area of the protected program 310.

도 7을 참조하여, 본 발명에 따른 컴퓨터 프로그램의 변조 탐지 방법에 관한 제2실시예를 설명하기로 한다.Referring to FIG. 7, a second embodiment of a modulation detection method of a computer program according to the present invention will be described.

먼저 보호 대상 프로그램(310)이 메모리(11-5)에 로드되고(S231), 도 6에 도시된 바와 같이 메모리(11-5)에 로드된 보호 대상 프로그램(310)은 보호영역의 암호값(313)을 가지고 있다.First, the protected program 310 is loaded into the memory 11-5 (S231), and the protected program 310 loaded into the memory 11-5, as shown in FIG. 313).

그러면 변조탐지용 프로그램(321)은 단계 S232 내지 S236에 따라 주기적으로 메모리(11-5)의 보호 대상 모듈(310)이 변조되는지를 탐지한다.The modulation detection program 321 then detects whether the protection target module 310 of the memory 11-5 is modulated in accordance with steps S232 to S236.

즉, 변조탐지용 프로그램(321)은 메모리(11-5)에 로드되어 있는 보호 대상 프로그램(310)의 보호영역 데이터를 읽어 특정 암호화 방식에 따라 암호화 한다. 이때 특정 암호화 방식은 보호 대상 프로그램(310)이 가지고 있는 보호영역의 암호값(313)을 생성할 때 사용한 암호화 방식과 같은 것이다(S232).That is, the modulation detection program 321 reads the protection area data of the protection target program 310 loaded in the memory 11-5 and encrypts the data according to a specific encryption method. At this time, the specific encryption method is the same as the encryption method used when generating the encryption value 313 of the protected area that the protected program 310 has (S232).

이제 변조탐지용 프로그램(321)은 단계 S232에서 암호화한 결과값과 보호 대상 프로그램(310)이 가지고 있는 암호값(313)을 비교하여 서로 일치하는지를 조사한다(S233). 그리고 단계 S233에서의 조사 결과 서로 일치하면 변조가 발생하지 않은 것으로 판단하고(S234,S235), 서로 일치하지 않으면 변조가 발생한 것으로 판단한다(S234,S236).
The tamper detection program 321 now compares the result of encryption in step S232 with the cipher value 313 of the program to be protected 310 and checks whether they match (S233). If the result of the check in step S233 coincides with each other, it is determined that no modulation has occurred (S234, S235), and if it does not match with each other, it is determined that modulation has occurred (S234, S236).

제1실시예와 제2실시예의 변조탐지용 프로그램(321)은 보호 대상 프로그램(310)이 변조되었다고 판단된 경우 다양한 조치를 취할 수 있다.The modulation detection program 321 of the first and second embodiments may take various measures when it is determined that the program to be protected 310 is modulated.

변조탐지용 프로그램(321)은 변조된 위치, 변조 전의 데이터, 변조 후의 데이터, 변조된 데이터의 길이, 변조로 인해 분기되는 프로그램 정보 등과 같이 변조와 관련된 각종 정보를 통신망(13)을 통해 특정 서버로 전송할 수 있다.The modulation detection program 321 transmits various information related to modulation, such as a modulated position, data before modulation, data after modulation, length of modulated data, program information branched by the modulation, and the like to a specific server through the communication network 13. Can transmit

또한, 변조탐지용 프로그램(321)은 보호 대상 프로그램(310)이 변조되었다고 판단된 경우 보호 대상 프로그램(310)의 실행을 강제로 종료시키거나, 또는 메모리(11-5)의 변조된 데이터를 원상 복구시킬 수도 있다.
In addition, the modulation detection program 321 forcibly terminates execution of the program to be protected 310 when it is determined that the program to be protected 310 has been modulated, or restores the modulated data of the memory 11-5. You can also restore it.

한편, 보호 대상 프로그램(310)은 특정 어플리케이션(Application)이 그 실행 중 메모리(11-5)에 로드하는 프로그램 모듈일 수 있다.Meanwhile, the program to be protected 310 may be a program module which a specific application loads into the memory 11-5 during its execution.

예컨대 어플리케이션은 사용자의 컴퓨터 장치에서 실행되어 통신망(13)을 통해 게임 서버와 통신하면서 온라인 게임을 수행하는 게임 클라이언트일 수 있다. 이러한 게임 클라이언트는 실행 중 필요에 따라 여러 게임 모듈(DLL, EXE 등)을 메모리(11-5)에 로드한다.For example, the application may be a game client that runs on a user's computer device and performs an online game while communicating with a game server through the communication network 13. Such a game client loads several game modules (DLL, EXE, etc.) into the memory 11-5 as needed during execution.

도 8을 참조하자면, 게임 클라이언트와 같이 메모리(11-5)에서 실행 중인 어플리케이션(351)은 저장매체(11-2)에 저장되어 있는 여러 프로그램 모듈(게임 모듈)을 필요에 따라 메모리(11-5)에 로드한다.Referring to FIG. 8, an application 351 running in the memory 11-5, such as a game client, may store various program modules (game modules) stored in the storage medium 11-2 as needed. Load in 5).

이때 어플리케이션(351)이 메모리(11-5)에 로드하는 프로그램 모듈이 보호 대상 프로그램(보호 대상 모듈)이라면, 이 보호 대상 모듈은 제1실시예와 관련하여 원본저장코드를 포함하고 있거나, 제2실시예와 관련하여 보호영역의 암호값을 가지고 있게 된다.At this time, if the program module that the application 351 loads in the memory 11-5 is a protected program (protected module), the protected module includes the original stored code in accordance with the first embodiment, or In connection with the embodiment, it has a password value of a protected area.

그러면 변조탐지용 프로그램(321)은 메모리(11-5)에 로드된 각 보호 대상 모듈의 원본정보, 또는 보호영역의 암호값을 이용하여 각 보호 대상 모듈이 변조되는지의 여부를 탐지한다.Then, the tamper detection program 321 detects whether each protected module is modulated by using original information of each protected module loaded in the memory 11-5 or a cipher value of the protected area.

이때 변조탐지용 프로그램(321)은 각 보호 대상 프로그램마다 개별적으로 구비되어 그 역할을 수행할 수도 있고, 각 보호 대상 프로그램에 관한 변조 탐지를 일괄적으로 처리할 수도 있다.
In this case, the tamper detection program 321 may be provided separately for each program to be protected to perform its role, or may collectively process the tamper detection for each program to be protected.

도 9는 온라인 게임 서비스를 제공하는 시스템의 개요를 도시한 것으로서, 게임 서비스 시스템(15)은 통신망(13)을 통해 각 사용자의 컴퓨터 장치(11)에 설치된 게임 클라이언트(371)와 연동하여 온라인 게임 서비스를 제공한다.9 shows an outline of a system for providing an online game service, wherein the game service system 15 is connected to a game client 371 installed in the computer device 11 of each user through a communication network 13 to play an online game. Provide service.

게임 서비스 시스템(15)은 통신망(13)을 통해 게임 클라이언트(371)를 전송해 주고, 또한 항상 최신 버전으로 유지시켜 준다. 게임 클라이언트(371)는 일반적으로 메인 프로그램과 여러 게임 모듈로 구성된다.The game service system 15 transmits the game client 371 via the communication network 13, and also keeps the latest version at all times. The game client 371 generally consists of a main program and several game modules.

온라인 게임을 부정하게 이용하려는 사용자는 컴퓨터 장치(11)에서 실행되는 게임 클라이언트(371) 또는 각 게임 모듈을 변조하여 게임을 이용한다.
A user who illegally uses an online game modulates the game client 371 or each game module executed in the computer device 11 to use the game.

도 10을 참조하여, 온라인 게임 서비스에 본 발명에 따른 변조 탐지 방법을 적용하는 예를 살펴보기로 한다.Referring to FIG. 10, an example of applying the modulation detection method according to the present invention to an online game service will be described.

먼저 게임 서비스 시스템(15)에서는 게임 클라이언트(371)의 각 게임 모듈 중 보호 대상 모듈을 선택하고(S251), 각 보호 대상 모듈에 원본저장코드를 설정하거나, 또는 보호영역의 암호값을 포함시킨다(S252).First, the game service system 15 selects a protected target module from each game module of the game client 371 (S251), sets an original storage code in each protected target module, or includes a password value of a protected area ( S252).

그리고 각 사용자의 컴퓨터 장치(11)로 게임 클라이언트(메인 프로그램, 각 게임 모듈, 변조탐지용 프로그램 등)를 전송한다(S253).Then, a game client (main program, each game module, a tamper detection program, etc.) is transmitted to the computer device 11 of each user (S253).

컴퓨터 장치(11)에서 게임 클라이언트가 실행되어 게임이 시작되면(S254), 게임 클라이언트는 게임의 진행에 따라 필요한 게임 모듈을 메모리(11-5)에 로드하는데, 보호 대상 모듈이 메모리(11-5)에 로드되면 변조탐지용 프로그램(321)에 의해 변조 여부가 탐지된다(S255).When the game client is executed in the computer device 11 and the game is started (S254), the game client loads the necessary game module into the memory 11-5 according to the progress of the game, and the module to be protected is the memory 11-5. ), Whether or not modulation is detected by the modulation detection program 321 (S255).

즉, 본 발명에 따른 제1실시예에서는 원본정보를 이용하여 변조 여부가 탐지되고, 제2실시예에서는 보호영역의 암호값을 이용하여 변조 여부가 탐지된다.That is, in the first embodiment according to the present invention, whether or not the modulation is detected using the original information, and in the second embodiment, whether or not the tampering is detected using the encryption value of the protection area.

변조탐지용 프로그램(321)은 보호 대상 모듈에 변조가 발생하였다고 판단되면(S256), 변조와 관련된 정보를 게임 서비스 시스템(15)으로 전송한다(S257).If it is determined that the modulation has occurred in the module to be protected (S256), the modulation detection program 321 transmits the information related to the modulation to the game service system 15 (S257).

그러면 게임 서비스 시스템(15)은 해당 사용자의 게임 접속을 종료시키거나 이후 게임 이용을 제한하는 등 부정 사용자 제재 정책에 따라 필요한 조치를 취할 수 있다(S258).
Then, the game service system 15 may take necessary measures according to the illegal user sanction policy such as terminating the game access of the corresponding user or restricting the use of the game later (S258).

상술한 실시예는 본 발명의 이해를 돕기 위한 것이며, 본 발명은 상술한 실시예에 한정되지 않고 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당업자에 의해 다양하게 변형하여 실시할 수 있는 것임은 물론이다.
It is to be understood that the present invention is not limited to the above-described embodiment, and various changes and modifications may be made by those skilled in the art without departing from the technical spirit of the present invention. to be.

11: 컴퓨터 장치 11-1: 중앙처리장치
11-2: 저장매체 11-3: 입력수단
11-4: 디스플레이 수단 11-5: 메모리
11-6: 네트워크 인터페이스 13: 통신망
15: 게임 서비스 시스템 310: 보호 대상 프로그램
311: 원본저장코드 313: 보호영역의 암호값
321: 변조탐지용 프로그램 331: 원본정보
371: 게임 클라이언트
11: Computer Unit 11-1: Central Processing Unit
11-2: Storage medium 11-3: Input means
11-4: Display Means 11-5: Memory
11-6: Network Interface 13: Network
15: game service system 310: protected program
311: Source code 313: Password value for protected area
321: tamper detection program 331: source information
371: game client

Claims (13)

메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법에 있어서,
상기 메모리에 로드된 상기 컴퓨터 프로그램의 일정 보호영역에 관한 정보를 원본정보로 저장해 놓는 원본저장단계; 및
변조탐지용 프로그램이 주기적으로 상기 메모리에 로드되어 있는 상기 컴퓨터 프로그램의 보호영역에 관한 정보와 상기 원본정보를 비교하여 상기 컴퓨터 프로그램이 변조되었는지의 여부를 탐지하는 변조탐지단계를 포함하고,
상기 원본저장단계는 상기 컴퓨터 프로그램이 상기 메모리에 로드될 때 실행되도록 상기 컴퓨터 프로그램에 설정되어 있는 원본저장코드가 수행하며,
상기 컴퓨터 프로그램의 보호영역은 실행시 그 내용이 변경되지 않는 데이터가 저장되는 영역인 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
In the modulation detection method of a computer program running in the memory,
An original storage step of storing information on a predetermined protection area of the computer program loaded in the memory as original information; And
A modulation detection step of detecting whether or not the computer program has been tampered by comparing the original information with information on the protection area of the computer program loaded in the memory periodically by a modulation detection program;
The original storing step is performed by an original storing code set in the computer program to be executed when the computer program is loaded into the memory,
And a protected area of the computer program is an area in which data is stored that does not change its contents when executed.
제 1 항에 있어서,
상기 원본저장코드는 상기 보호영역의 데이터를 상기 원본정보로 저장하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method of claim 1,
And the original storage code stores the data of the protected area as the original information.
제 1 항에 있어서,
상기 원본저장코드는 상기 보호영역의 데이터를 복호화가 가능한 암호화 방식으로 암호화 하여 상기 원본정보로 저장하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method of claim 1,
And the original storage code encrypts the data of the protected area using an encryption method that can be decrypted and stores the original information as the original information.
제 1 항에 있어서,
상기 원본저장코드는 상기 보호영역의 데이터에 관한 해쉬(Hash) 값을 상기 원본정보로 저장하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method of claim 1,
And the original storage code stores a hash value of the data of the protected area as the original information.
제 1 항에 있어서,
상기 원본정보는 상기 컴퓨터 프로그램이 상기 메모리에서 언로드될 때 삭제되는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method of claim 1,
And the original information is deleted when the computer program is unloaded from the memory.
메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법에 있어서,
상기 컴퓨터 프로그램은 일정 보호영역의 데이터를 특정 암호화 방식에 따라 암호화한 암호값을 가지고 있도록 구성되고,
변조탐지용 프로그램이 주기적으로 상기 메모리에 로드되어 있는 상기 컴퓨터 프로그램의 보호영역에 관한 데이터를 상기 특정 암호화 방식에 따라 암호화 하는 암호화 단계; 및
상기 변조탐지용 프로그램이 상기 암호화 단계에서 처리된 결과값과 상기 컴퓨터 프로그램이 가지고 있는 암호값을 비교하여 상기 컴퓨터 프로그램의 변조 여부를 탐지하는 변조탐지단계를 포함하며,
상기 컴퓨터 프로그램의 보호영역은 실행시 그 내용이 변경되지 않는 데이터가 저장되는 영역인 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
In the modulation detection method of a computer program running in the memory,
The computer program is configured to have a cipher value in which data of a certain protected area is encrypted according to a specific encryption method,
An encryption step of encrypting data relating to a protected area of the computer program loaded in the memory by a modulation detection program periodically according to the specific encryption method; And
And a tamper detection step for detecting whether the computer program has been tampered with by the tamper detection program by comparing the result value processed in the encryption step with the encryption value of the computer program.
And a protected area of the computer program is an area in which data is stored that does not change its contents when executed.
제 6 항에 있어서,
상기 특정 암호화 방식은 해쉬(Hash) 함수를 이용하여 해쉬값을 산출하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method according to claim 6,
The specific encryption method is a modulation detection method of a computer program executed in a memory, characterized in that for calculating a hash value using a hash (Hash) function.
삭제delete 제 1 항 내지 제 7 항 중 어느 하나의 항에 있어서,
상기 변조탐지용 프로그램은 상기 메모리에 로드되어 있는 컴퓨터 프로그램이 변조된 경우, 변조와 관련된 정보를 특정 서버로 전송하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
8. The method according to any one of claims 1 to 7,
And the modulation detection program transmits information related to the modulation to a specific server when the computer program loaded in the memory is modulated.
제 9 항에 있어서,
상기 특정 서버로 전송하는 변조와 관련된 정보는 변조된 위치, 변조 전의 데이터, 변조 후의 데이터, 변조된 데이터의 길이, 및 변조로 인해 분기되는 프로그램 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
The method of claim 9,
In the memory, characterized in that the information related to the modulation transmitted to the particular server includes at least one of the modulated position, the data before the modulation, the data after the modulation, the length of the modulated data, and the program information branched by the modulation. How to detect tampering with computer programs running.
제 1 항 내지 제 7 항 중 어느 하나의 항에 있어서,
상기 변조탐지용 프로그램은 상기 메모리에 로드되어 있는 컴퓨터 프로그램이 변조된 경우 상기 컴퓨터 프로그램의 실행을 종료시키거나, 또는 상기 변조된 데이터를 복구시키는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
8. The method according to any one of claims 1 to 7,
The tamper detection program is configured to terminate execution of the computer program or restore the modulated data when the computer program loaded in the memory is modulated. .
제 1 항 내지 제 7 항 중 어느 하나의 항에 있어서,
상기 컴퓨터 프로그램은 특정 어플리케이션(Application)이 그 실행 중 상기 메모리에 로드하는 프로그램 모듈을 포함하는 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
8. The method according to any one of claims 1 to 7,
And the computer program comprises a program module which a specific application loads into the memory during its execution.
제 12 항에 있어서,
상기 어플리케이션은 사용자의 컴퓨터 장치에서 실행되어 통신망을 통해 게임 서버와 통신하면서 온라인 게임을 수행하는 게임 클라이언트인 것을 특징으로 하는 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법.
13. The method of claim 12,
And wherein said application is a game client running on a user's computer device and performing an online game while communicating with a game server via a communication network.
KR1020110028668A 2011-03-30 2011-03-30 Method for Detecting Modification of Computer Program Executing in Memory KR101235517B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110028668A KR101235517B1 (en) 2011-03-30 2011-03-30 Method for Detecting Modification of Computer Program Executing in Memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110028668A KR101235517B1 (en) 2011-03-30 2011-03-30 Method for Detecting Modification of Computer Program Executing in Memory

Publications (2)

Publication Number Publication Date
KR20120110660A KR20120110660A (en) 2012-10-10
KR101235517B1 true KR101235517B1 (en) 2013-02-20

Family

ID=47281463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110028668A KR101235517B1 (en) 2011-03-30 2011-03-30 Method for Detecting Modification of Computer Program Executing in Memory

Country Status (1)

Country Link
KR (1) KR101235517B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101277517B1 (en) * 2012-12-04 2013-06-21 주식회사 안랩 Apparatus and method for detecting falsified application
KR101482700B1 (en) * 2013-09-27 2015-01-14 (주)잉카엔트웍스 Method For Verifying Integrity of Program Using Hash
KR101512418B1 (en) * 2013-10-15 2015-04-15 주식회사 잉카인터넷 tampered position detection
KR101579175B1 (en) * 2014-02-21 2015-12-21 주식회사 안랩 Apparatus and method for detection of repackaging
KR101484706B1 (en) * 2014-03-25 2015-01-20 새솔다이아몬드공업 주식회사 Manufacturing method of pad conditioner
KR102337963B1 (en) * 2020-03-09 2021-12-10 엔에이치엔 주식회사 The faking code of program detecting method and apparatus thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080018683A (en) * 2006-08-25 2008-02-28 삼성전자주식회사 Tamper resistant method of executable program and module thereof
KR20090036339A (en) * 2007-10-09 2009-04-14 주식회사 안철수연구소 System and method for generating original code of execute image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080018683A (en) * 2006-08-25 2008-02-28 삼성전자주식회사 Tamper resistant method of executable program and module thereof
KR20090036339A (en) * 2007-10-09 2009-04-14 주식회사 안철수연구소 System and method for generating original code of execute image

Also Published As

Publication number Publication date
KR20120110660A (en) 2012-10-10

Similar Documents

Publication Publication Date Title
US11301575B2 (en) Secure data synchronization
USRE47364E1 (en) Method and system for protecting against the execution of unauthorized software
EP3265950B1 (en) Device attestation through security hardened management agent
US10423791B2 (en) Enabling offline restart of shielded virtual machines using key caching
US9489520B2 (en) Decryption and encryption of application data
Altuwaijri et al. Android data storage security: A review
KR101402542B1 (en) Persistent security system and method
US8886964B1 (en) Protecting remote asset against data exploits utilizing an embedded key generator
KR101235517B1 (en) Method for Detecting Modification of Computer Program Executing in Memory
US10949540B2 (en) Security policy enforcement based on dynamic security context updates
JP6072091B2 (en) Secure access method and secure access device for application programs
US20120151219A1 (en) Security usb storage medium generation and decryption method, and medium recorded with program for generating security usb storage medium
US9177121B2 (en) Code protection using online authentication and encrypted code execution
US11349651B2 (en) Measurement processing of high-speed cryptographic operation
US20160330030A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same
US9256756B2 (en) Method of encryption and decryption for shared library in open operating system
Mannan et al. Unicorn: Two-factor attestation for data security
US10754979B2 (en) Information management terminal device
CN103530169B (en) Method for protecting virtual machine files and user terminal
JP2006259848A (en) Program execution device, program execution method and program
KR20180004462A (en) Ransomware prevention technique using key backup
KR101604892B1 (en) Method and devices for fraud prevention of android-based applications
US9390280B2 (en) System and method for obtaining keys to access protected information
KR20240066716A (en) Method for managing content decryption key and apparatus for same
Mahboubi et al. Shared file protection against unauthorised encryption using a Buffer-Based Signature Verification Method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180202

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200107

Year of fee payment: 8