[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20160107712A - Apparatus and method for anti-debugging - Google Patents

Apparatus and method for anti-debugging Download PDF

Info

Publication number
KR20160107712A
KR20160107712A KR1020150030835A KR20150030835A KR20160107712A KR 20160107712 A KR20160107712 A KR 20160107712A KR 1020150030835 A KR1020150030835 A KR 1020150030835A KR 20150030835 A KR20150030835 A KR 20150030835A KR 20160107712 A KR20160107712 A KR 20160107712A
Authority
KR
South Korea
Prior art keywords
process module
debugging
main process
main
module
Prior art date
Application number
KR1020150030835A
Other languages
Korean (ko)
Other versions
KR101657950B1 (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 KR1020150030835A priority Critical patent/KR101657950B1/en
Publication of KR20160107712A publication Critical patent/KR20160107712A/en
Application granted granted Critical
Publication of KR101657950B1 publication Critical patent/KR101657950B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to an apparatus and method for anti-debugging. The apparatus for anti-debugging according to the present invention comprises: a main process module including an anti-debugging process generating unit for generating an anti-debugging process module, and an anti-debugging process attaching unit for attaching a process module thereof to the anti-debugging process module generated by the anti-debugging process generating unit; and the anti-debugging process module including a main process attaching unit for attaching a process module thereof to the main process module, and an anti-debugging process information providing unit for providing the main process module with information indicating that the main process attaching unit has normally attached a process module thereof to the main process module. The apparatus for anti-debugging according to the present invention can fundamentally prevent a debugging caused by hacking.

Description

안티디버깅 장치 및 방법{Apparatus and method for anti-debugging}[0001] Apparatus and method for anti-debugging [0002]

본 발명은 안티디버깅 장치 및 방법에 관한 것으로, 메인 프로세스의 프로그램 실행시 안티디버깅 프로세스를 생성하여 부착하게 하는 안티디버깅 장치 및 방법에 관한 것이다. The present invention relates to an anti-debugging apparatus and method, and more particularly, to an anti-debugging apparatus and method for creating and attaching an anti-debugging process when a program of a main process is executed.

해킹은 프로그램을 분석하는 것으로부터 시작된다. 프로그램을 분석하여 로직을 파악해야 실질적으로 조작(Crack)을 할 수 있다. 프로그램을 분석하는 방법에는 두 가지 방법이 있다. 하나는 정적(Static) 분석 방법이고 다른 하나는 동적(Dynamic) 분석 방법이다.Hacking begins by analyzing the program. Analyzing the program and understanding the logic can actually make a crack. There are two ways to analyze the program. One is the static analysis method and the other is the dynamic analysis method.

정적 분석 방법은 프로그램 파일을 실행시키지 않고 파일 자체만을 분석하는 것으로, 바이너리 프로그램 파일을 디스어셈블리 도구(Tool)나 디컴파일 도구를 이용하여 분석한다. 이러한 도구들은 바이너리 프로그램 파일을 어셈블리나 그 밖의 고급 언어 형태로 변환하여 나타낼 수 있고 이를 분석하면 프로그램의 로직을 파악할 수 있다.The static analysis method analyzes only the file itself without executing the program file, and analyzes the binary program file using a disassembly tool or a decompilation tool. These tools can translate binary program files into assemblies or other high-level language forms and analyze them to understand the logic of the program.

동적 분석 방법은 정적 분석 방법과는 달리 프로그램을 실행시키고 디버깅 도구에서 프로그램의 실행 중인 코드(Code), 메모리 상태, 레지스터 상태 등을 보고 프로그램을 분석한다. 디버거를 이용한 분석 방법은 실행 중인 코드의 흐름을 보며 분석하기 때문에 프로그램의 로직을 파악하기 용이하며 실제 코드가 수행되는 부분과 그렇지 않은 부분을 판단할 수 있게 되며, 또한 분석 중에 메모리나 레지스터의 값을 수정할 수도 있다.Unlike the static analysis method, the dynamic analysis method executes the program, and analyzes the program by looking at the code, memory state, register state, etc. of the program in the debugging tool. Debugger analysis method is easy to understand the logic of the program because it analyzes and analyzes the flow of executing code. It can judge the part where the actual code is executed and the part that does not. Also, It can also be modified.

이러한 디버깅에 의한 분석 방법은 프로그램의 논리적 흐름이나 실행 중에 데이터를 실시간으로 변화시킬 수 있는 등 분석 범위가 정적 분석 방법보다 넓어 널리 이용되고 있다.The analysis method by debugging is widely used because it is broader than the static analysis method, such as the logical flow of the program or the data can be changed in real time during execution.

안티디버깅(Anti-Debugging)이란 디버깅을 방해하여 프로그램 분석을 방해하는 기술이다. 디버깅을 당한다면 해당 디버거 프로그램을 종료시키거나 에러를 발생시키는 방법 등 다양한 방법을 사용하여 분석을 방해할 수 있다. 종래의 안티디버깅 기술은 주로 디버깅 프로그램이 실행 중인지 여부를 확인하여 디버깅 대상 프로그램이 실행되지 않도록 한다. 하지만, 이 방법에 따르면, 새로운 디버깅 프로그램의 출현처럼 미리 예상하지 못한 상황이 발생하는 경우에 대처하기 어렵다는 문제점이 있다. Anti-Debugging is a technique that hinders debugging and hinders program analysis. If you are debugging, you can stop the analysis by using various methods such as terminating the debugger program or generating an error. The conventional anti-debugging technique mainly checks whether the debugging program is being executed and prevents the debugging target program from being executed. However, according to this method, there is a problem that it is difficult to cope with an unexpected situation such as the appearance of a new debugging program.

또한 특정 운영체제(Operating System)나 프로세서에 한정된 안티디버깅 기술이 사용되고 있다. 예를 들면, 윈도우즈 운영체제에서는 윈도우즈에서 제공하는 API(Application Program Interface)인 IsDebuggerPresent(), CheckRemoteDebuggerPresent() 및 NtGlobeFlag 값을 이용하여 디버깅 여부를 판단하는 방법이 사용된다. 하지만, 이 방법에는 리눅스, 유닉스, OS X 등에서는 이와 동일하거나 유사한 API를 제공하지 않아 사용할 수 없다는 문제점이 있다.Also, anti-debugging technology limited to a specific operating system or a processor is used. For example, in the Windows operating system, a method of judging whether debugging is performed by using IsDebuggerPresent (), CheckRemoteDebuggerPresent (), and NtGlobeFlag, which are application program interfaces (APIs) provided by Windows, is used. However, this method does not provide the same or similar API for Linux, Unix, OS X, etc., and thus can not be used.

이에, 본 발명자들은 프로세스의 상태를 감시하여 안티디버깅 방법을 제공하는 기술을 한국특허출원 2013-0138644호로 출원하였다. 하지만 한국특허출원 2013-0138644호의 기술도 안티디버깅을 완벽하게 제공하지 못하고 있다.Accordingly, the present inventors filed a Korean patent application No. 2013-0138644 for a technology for monitoring the state of a process and providing an anti-debugging method. However, the technology of Korean Patent Application No. 2013-0138644 does not provide anti-debugging completely.

상술한 문제점을 해결하기 위해, 본 발명은 원천적으로 해킹에 의한 디버깅을 방지할 수 있는 안티디버깅 장치 및 방법을 제공하는 것을 목적으로 한다. In order to solve the above-described problems, it is an object of the present invention to provide an anti-debugging apparatus and method capable of preventing debugging by hacking.

상술한 목적을 달성하기 위해, 본 발명의 일실시예에 따른 안티디버깅 장치는, 안티디버깅 프로세스 모듈을 생성하는 안티디버깅 프로세스 생성부와, 상기 안티디버깅 프로세스 생성부에 의해 생성된 상기 안티디버깅 프로세스 모듈에 자신의 프로세스 모듈을 부착시키는 안티디버깅 프로세스 부착부를 구비하는 메인 프로세스 모듈과, 및 상기 메인 프로세스 모듈에 자신의 프로세스 모듈을 부착시키는 메인 프로세스 부착부와, 상기 메인 프로세스 부착부에 의해 자신의 프로세스 모듈이 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 상기 메인 프로세스 모듈에 제공하는 안티디버깅 프로세스 정보 제공부를 구비하는 안티디버깅 프로세스 모듈을 제공할 수 있다.In order to achieve the above object, an anti-debugging apparatus according to an embodiment of the present invention includes an anti-debugging process generating unit for generating an anti-debugging process module, an anti-debugging process module And an anti-debugging process attaching unit for attaching a process module of the process module to the process module, and a main process attaching unit attaching a process module of the process module to the main process module, And an anti-debugging process information providing unit for providing the main process module with information on whether the main process module is normally attached to the main process module.

상기 메인 프로세스 모듈은 상기 안티디버깅 프로세스 모듈로부터 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 수신할 때까지 오동작을 실행시키는 오동작 실행부를 더 포함할 수 있다.The main process module may further include a malfunctioning execution unit for executing a malfunction until the main processing module receives information from the anti-debugging process module to normally attach to the main process module.

상기 메인 프로세스 모듈은 메인 프로그램이 실행되면 오동작을 실행시키도록 상기 오동작 실행부를 제어하고 또한 상기 안티디버깅 프로세스 모듈을 생성하도록 상기 안티디버깅 프로세스 생성부를 제어하는 메인 프로세스 제어부를 더 포함할 수 있다.The main process module may further include a main process control unit for controlling the malfunctioning execution unit to execute a malfunction when the main program is executed and controlling the anti-debugging process generating unit to generate the anti-debugging process module.

상기 메인 프로세스 제어부는 메인 프로그램이 실행되면 오동작을 실행시키도록 변조된 복호화 키를 생성하고, 상기 안티디버깅 프로세스 모듈로부터 변조된 복호화 키에 대한 수정된 원본 키가 제공되면 오동작을 정지시킬 수 있다.The main process control unit may generate a decryption key modulated to execute a malfunction when the main program is executed and stop the malfunction if the modified original key for the decryption key modulated from the anti-debugging process module is provided.

상기 안티디버깅 프로세스 모듈은 상기 안티디버깅 프로세스 부착부의 동작에 의해 자신의 프로세스 모듈에 상기 메인 프로세스 모듈이 부착된 경우 그 부착 결과를 상기 메인 프로세스 모듈에 제공할 수 있다.The anti-debugging process module may provide the attachment result of the main process module to the main process module when the main process module is attached to the process module of the anti-debugging process module.

상기 메인 프로세서 모듈은 상기 메인 프로세스 부착부의 동작에 의해 자신의 프로세스 모듈에 안티디버깅 프로세스 모듈이 부착된 경우 그 부착 결과를 상기 안티디버깅 프로세스 모듈에 제공할 수 있다.The main processor module may provide an attachment result of the anti-debugging process module to the anti-debugging process module when the process module is attached to the process module.

상기 안티디버깅 프로세스 모듈은 상기 메인 프로세서 모듈의 동작 프로그램이 바이러스에 감염되었음을 감지하면 바이러스 백신 프로그램을 제공할 수 있다.The anti-debugging process module may provide an antivirus program when it detects that an operation program of the main processor module is infected with a virus.

본 발명의 다른 실시예에 따른 메인 프로세스 모듈과 안티디버깅 프로세스 모듈을 구비한 안티디버깅 장치에서의 안티디버깅 방법은, 상기 메인 프로세스 모듈에서, 프로그램이 실행되면 안티디버깅 프로세스 모듈을 생성하는 단계와, 상기 메인 프로세스 모듈에서, 상기 안티디버깅 프로세스 모듈을 생성하는 단계에서 생성된 상기 안티디버깅 프로세스 모듈에 상기 메인 프로세스 모듈 자신의 프로세스 모듈을 부착시키는 단계와, 상기 안티디버깅 프로세스 모듈에서, 상기 메인 프로세스 모듈에 상기 안티디버깅 프로세스 모듈 자신의 프로세스 모듈을 부착시키는 단계와, 및 상기 안티디버깅 프로세스 모듈에서, 자신의 프로세스 모듈이 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 상기 메인 프로세스 모듈에 제공하는 단계를 제공함으로써, 상술한 목적을 달성할 수 있다. An anti-debugging method in an anti-debugging apparatus having a main process module and an anti-debugging process module according to another embodiment of the present invention includes: generating an anti-debugging process module in the main process module when the program is executed; Attaching a process module of the main process module itself to the anti-debugging process module generated in the step of creating the anti-debugging process module in the main process module; and in the anti-debugging process module, Attaching a process module of the anti-debugging process module itself to the main process module, and providing, in the anti-debugging process module, information about that the process module of the anti-debugging process module is normally attached to the main process module, Thereby, it is possible to achieve the above object.

상술한 구성에 의해, 본 발명은 해킹 디버거 프로그램이 메인 프로세스 모듈에 부착될 수 없어 해킹으로부터 메인 프로세스 모듈의 동작을 보호할 수 있다.With the above-described configuration, the present invention can not attach the hacking debugger program to the main process module, thereby protecting the operation of the main process module from hacking.

또한, 본 발명은 안티디버깅 프로세스 모듈에 메인 프로세스 모듈이 부착되지 않아도, 해킹으로부터 메인 프로세스 모듈의 동작을 보호할 수 있다.In addition, the present invention can protect the operation of the main process module from hacking without the main process module being attached to the anti-debugging process module.

또한, 본 발명은 메인 프로그램이 바이러스에 감염된 경우에도 안티디버깅 프로그램에서 바이러스 백신을 제공하여 치료할 수 있다.In addition, the present invention can provide an antivirus program for an antivirus program even when the main program is infected with a virus.

도 1은 본 발명의 일실시예에 따른 안티디버깅 장치의 블록도를 도시하는 도면이다.
도 2는 도 1에서 설명되는 프로세스 부착의 개념을 도시하는 도면이다.
도 3은 도 1에 따른 안티디버깅 방법의 흐름도를 도시하는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 안티디버깅 장치의 블록도를 도시하는 도면이다.
도 5는 도 4에서 설명되는 메인 프로세스의 오동작을 설명하는 도면이다.
도 6은 도 4에 따른 안티디버깅 방법의 흐름도를 도시하는 도면이다.
도 7은 도 6의 흐름도를 프로세스 다이어그램으로 도시하는 도면이다.
1 is a block diagram of an anti-debugging apparatus according to an embodiment of the present invention.
Fig. 2 is a view showing the concept of process attachment described in Fig. 1. Fig.
FIG. 3 is a flowchart showing an anti-debugging method according to FIG. 1. FIG.
4 is a block diagram of an anti-debugging apparatus according to another embodiment of the present invention.
5 is a diagram for explaining a malfunction of the main process described in Fig.
6 is a flowchart showing an anti-debugging method according to FIG.
FIG. 7 is a process diagram showing the flow chart of FIG. 6. FIG.

이하, 첨부된 도면을 참조하여 본 발명에 따른 안티디버깅 장치 및 방법의 바람직한 실시예를 설명한다. 참고로, 아래에서 본 발명을 설명함에 있어서, 본 발명의 구성요소를 지칭하는 용어들은 각각의 구성 요소들의 기능을 고려하여 명명된 것이므로, 본 발명의 기술적 구성요소를 한정하는 의미로 이해되어서는 안 될 것이다.Hereinafter, preferred embodiments of the anti-debugging apparatus and method according to the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the technical scope of the present invention. Will be.

도 1은 본 발명의 일실시예에 따른 안티디버깅 장치의 블록도를 도시하는 도면이다. 1 is a block diagram of an anti-debugging apparatus according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 안티디버깅 장치는 메인 프로세스 모듈(100)과 안티디버깅 프로세스 모듈(150)을 포함한다. As shown in FIG. 1, the anti-debugging apparatus includes a main process module 100 and an anti-debugging process module 150.

메인 프로세스 모듈(100)은 안티디버깅 프로세스 모듈(150)을 생성하는 안티디버깅 프로세스 생성부(110)와, 안티디버깅 프로세스 생성부(110)에 의해 생성된 안티디버깅 프로세스 모듈(150)에 자신의 프로세스 모듈을 부착시키는 안티디버깅 프로세스 부착부(115)와, 메인 프로세스 부착부(160)의 동작에 의해 안티디버깅 프로세스 모듈(150)이 자신의 프로세스 모듈에 부착되었음을 알리는 메인 프로세스 정보 제공부(120)와, 메인 프로세스 모듈(100)의 상태 정보 및/또는 안티디버깅 프로세스 모듈(150)로부터 수신한 안티디버깅 프로세스 모듈(150)과 관련된 상태 정보 등을 저장하기 위한 메인 프로세스 저장부(125)와, 및 메인 프로세스 저장부(125)에 저장된 상태 정보 등을 이용하여 메인 프로세스의 동작을 제어하는 메인 프로세스 제어부(130)를 포함한다.The main process module 100 includes an anti-debugging process generation unit 110 for generating an anti-debugging process module 150, and an anti-debugging process module 150 for generating an anti- A main process information providing unit 120 for informing that the anti-debugging process module 150 is attached to its own process module by the operation of the main process attaching unit 160; A main process storage unit 125 for storing status information of the main process module 100 and / or status information related to the anti-debugging process module 150 received from the anti-debugging process module 150, And a main process control unit 130 for controlling the operation of the main process using state information stored in the process storage unit 125. [

안티디버깅 프로세스 모듈(150)은 메인 프로세스 모듈(100)에 자신의 프로세스 모듈을 부착하는 메인 프로세스 부착부(160)와, 메인 프로세스 모듈(100)에 안티디버깅 정보, 예를 들면 메인 프로세스 부착부(160)에 의해 자신의 프로세스 모듈이 메인 프로세스 모듈(100)에 부착되었음을 알리는 안티디버깅 프로세스 정보 제공부(165)와, 안티디버깅 프로세스 모듈(150)의 상태 정보 및/또는 메인 프로세스 모듈(100)로부터 수신한 메인 프로세스 모듈(100)과 관련된 상태 정보 등을 저장하기 위한 안티디버깅 프로세스 저장부(170)와, 및 안티디버깅 프로세스 저장부(170)에 저장된 상태 정보 등을 이용하여 안티디버깅 프로세스의 동작을 제어하는 안티디버깅 프로세스 제어부(175)를 포함한다.The anti-debugging process module 150 includes a main process attaching unit 160 for attaching its own process module to the main process module 100 and a main process attaching unit 160 for attaching anti-debugging information, An anti-debugging process information providing unit 165 for informing that the process module of the device is attached to the main process module 100 by the process module 160 and the status information of the anti-debugging process module 150 and / An anti-debugging process storage unit 170 for storing status information and the like related to the received main process module 100 and an operation of the anti-debugging process using status information stored in the anti-debugging process storage unit 170 And an anti-debugging process control unit 175 for controlling the anti-debugging process.

도 2는 도 1에서 설명되는 프로세스 부착의 개념을 도시하는 도면이다. Fig. 2 is a view showing the concept of process attachment described in Fig. 1. Fig.

도 2에 도시된 바와 같이, 메인 프로세스 모듈(100)은 안티디버깅 프로세스 모듈(150)을 생성하고 부착되며, 안티디버깅 프로세스 모듈(150) 역시 메인 프로세스 모듈(100)에 부착된다. 이 경우 안티디버깅 프로세스 모듈(150)이 메인 프로세스 모듈(100)에 부착되어 있기 때문에 다른 디버거 프로그램이 부착될 수 없다. 따라서 해킹 디버거 프로그램이 메인 프로세스 모듈(100)에 부착될 수 없어 해킹으로부터 메인 프로세스 모듈(100)의 동작을 보호할 수 있다.As shown in FIG. 2, the main process module 100 generates and attaches an anti-debugging process module 150, and the anti-debugging process module 150 is also attached to the main process module 100. In this case, since the anti-debugging process module 150 is attached to the main process module 100, another debugger program can not be attached. Thus, a hacking debugger program can not be attached to the main process module 100, so that the operation of the main process module 100 can be protected from hacking.

도 3은 도 1에 따른 안티디버깅 방법의 흐름도를 도시하는 도면이다. FIG. 3 is a flowchart showing an anti-debugging method according to FIG. 1. FIG.

메인 프로세스 제어부(130)는 메인 프로그램이 실행되면(S302), 먼저 안티디버깅 프로세스 생성부(110)를 동작시켜 안티디버깅 프로세스 모듈(150)을 생성한다(S304). 메인 프로세스 제어부(130)는 메인 프로세스 저장부(125)에 현재 안티디버깅 프로세스 모듈(150)을 생성하고 있음을 나타내는 상태 정보를 저장할 수 있다.When the main program is executed (S302), the main process control unit 130 operates the anti-debugging process generating unit 110 to generate the anti-debugging process module 150 (S304). The main process control unit 130 may store status information indicating that the anti-debugging process module 150 is being generated in the main process storage unit 125. [

메인 프로세스 제어부(130)는 이후 안티디버깅 프로세스 정보 제공부(165)로부터 안티디버깅 프로세스 모듈(150)의 생성에 대한 상태 정보가 제공되면 안티디버깅 프로세스 부착부(115)를 실행한다. 안티디버깅 프로세스 부착부(115)는 안티디버깅 프로세스 생성부(110)에 의해 생성된 안티디버깅 프로세스 모듈(150)에 자신의 프로세스 모듈을 부착한다(S306). 안티디버깅 프로세스 정보 제공부(165)는 안티디버깅 프로세스 부착부(115)의 동작에 의해 메인 프로세스 모듈(100)이 자신의 프로세스 모듈에 부착되었음을 알리는 상태 정보를 제공한다(S308). 메인 프로세스 제어부(130)는 안티디버깅 프로세스 부착부(115)로부터 제공된 상태 정보를 메인 프로세스 저장부(125)에 저장한다.The main process control unit 130 then executes the anti-debugging process attaching unit 115 when status information on generation of the anti-debugging process module 150 is provided from the anti-debugging process information providing unit 165. [ The anti-debugging process attaching unit 115 attaches its own process module to the anti-debugging process module 150 generated by the anti-debugging process generating unit 110 (S306). The anti-debugging process information providing unit 165 provides status information indicating that the main process module 100 is attached to its process module by the operation of the anti-debugging process attaching unit 115 (S308). The main process control unit 130 stores the status information provided from the anti-debugging process attaching unit 115 in the main process storage unit 125. [

안티디버깅 프로세스 제어부(175)는 안티디버깅 프로세스 저장부(170)의 상태 정보가 소정의 값을 가지면 메인 프로세스 부착부(160)를 동작시켜 메인 프로세스 모듈(100)에 자신의 프로세스 모듈을 부착시킨다(S310). 메인 프로세스 정보 제공부(120)는 메인 프로세스 부착부(160)의 동작에 의해 안티디버깅 프로세스 모듈(150)이 자신의 프로세스 모듈에 부착되었음을 알리는 상태 정보를 제공한다(S312). 안티디버깅 프로세스 제어부(175)는 메인 프로세스 정보 제공부(120)로부터 제공된 상태 정보를 안티디버깅 프로세스 저장부(170)에 저장한다.When the state information of the anti-debugging process storage unit 170 has a predetermined value, the anti-debugging process control unit 175 operates the main process attaching unit 160 to attach its process module to the main process module 100 S310). The main process information providing unit 120 provides status information indicating that the anti-debugging process module 150 is attached to its process module by the operation of the main process attaching unit 160 (S312). The anti-debugging process control unit 175 stores the status information provided from the main process information providing unit 120 in the anti-debugging process storage unit 170.

메인 프로세스 제어부(130)는 안티디버깅 프로세스 모듈(150)이 자신의 프로세스 모듈에 정상적으로 부착되었다고 판단되면 메인 프로그램을 정상적으로 실행시킨다(S314).If the anti-debugging process module 150 determines that the anti-debugging process module 150 is properly attached to its process module, the main process controller 130 normally executes the main program (S314).

하지만, 도 1 내지 도 3에서 설명한 디버거 방지 프로세스 모듈보다 다른 프로세스 모듈이 먼저 선점하여 메인 프로세스 모듈(100)을 부착하면 다른 프로세스 모듈, 예를 들면 해킹 디버거 프로그램에 의해 디버깅이 가능하므로 보안에 문제가 발생할 수 있다.However, if another process module is preempted by the debugger prevention process module described with reference to FIGS. 1 to 3 and the main process module 100 is attached, debugging by another process module, for example, a hacking debugger program, Lt; / RTI >

도 4는 본 발명의 다른 실시예에 따른 안티디버깅 장치의 블록도를 도시하는 도면이다.4 is a block diagram of an anti-debugging apparatus according to another embodiment of the present invention.

도 4에 도시된 바와 같이, 안티디버깅 장치는 메인 프로세스 모듈(410)과 안티디버깅 프로세스 모듈(450)을 포함한다. As shown in FIG. 4, the anti-debugging apparatus includes a main process module 410 and an anti-debugging process module 450.

메인 프로세스 모듈(410)은 메인 프로그램이 실행되면 오동작을 실행시키는 오동작 실행부(410)와, 안티디버깅 프로세스 모듈(450)을 생성하는 안티디버깅 프로세스 생성부(415)와, 안티디버깅 프로세스 생성부(415)에 의해 생성된 안티디버깅 프로세스 모듈(450)에 자신의 프로세스 모듈을 부착하는 안티디버깅 프로세스 부착부(420)와, 메인 프로세스 부착부(460)의 동작에 의해 안티디버깅 프로세스 모듈(450)이 자신의 프로세스 모듈에 부착되었음을 알리는 메인 프로세스 정보 제공부(425)와, 메인 프로세스 모듈(410)의 메인 프로그램을 정상적으로 실행시키는 정상 동작 실행부(430)와, 메인 프로세스 모듈(410)의 상태 정보 및/또는 안티디버깅 프로세스 모듈(450)로부터 수신한 안티디버깅 프로세스 모듈(450)과 관련된 상태 정보 등을 저장하기 위한 메인 프로세스 저장부(435)와, 및 메인 프로세스 저장부(435)에 저장된 상태 정보 등을 이용하여 메인 프로세스의 동작을 제어하는 메인 프로세스 제어부(440)를 포함한다.The main process module 410 includes a malfunction execution unit 410 for executing a malfunction when the main program is executed, an anti-debugging process generator 415 for generating the anti-debugging process module 450, an anti- An anti-debugging process attaching unit 420 attaching its own process module to the anti-debugging process module 450 generated by the main process attaching unit 460 and the anti-debugging process module 450 by the operation of the main process attaching unit 460, A normal operation executing unit 430 for normally executing the main program of the main process module 410, and a status information generating unit 425 for generating status information of the main process module 410, A main process for storing status information related to the anti-debugging process module 450 received from the anti-debugging process module 450, And a main process control unit 440 for controlling the operation of the main process using state information stored in the main process storage unit 435 and the like.

안티디버깅 프로세스 모듈(450)은 메인 프로세스 모듈(410)에 자신의 프로세스 모듈을 부착하는 메인 프로세스 부착부(460)와, 메인 프로세스 모듈(410)에 안티디버깅 정보, 예를 들면 메인 프로세스 부착부(460)에 의해 자신의 프로세스 모듈이 메인 프로세스 모듈(410)에 부착되었음을 알리는 안티디버깅 프로세스 정보 제공부(465)와, 변조된 복호화 키를 원본 키로 수정하고 이 수정된 원본 키를 메인 프로세스 모듈(410)에 제공하는 정상 동작 정보 제공부(470)와, 메인 프로세스 모듈(410)이 바이러스 감염에 의해 프로그램이 정상적으로 동작하지 않을 경우 메인 프로그램을 해독시킬 수 있는 바이러스 백신을 제공하는 바이러스 백신 제공부(475)와, 안티디버깅 프로세스 모듈(450)의 상태 정보 및/또는 메인 프로세스 모듈(410)로부터 수신한 메인 프로세스 모듈(410)과 관련된 상태 정보 등을 저장하기 위한 안티디버깅 프로세스 저장부(480)와, 및 안티디버깅 프로세스 저장부(480)에 저장된 상태 정보 등을 이용하여 안티디버깅 프로세스의 동작을 제어하는 안티디버깅 프로세스 제어부(485)를 포함한다.The anti-debugging process module 450 includes a main process attaching unit 460 attaching its own process module to the main process module 410 and a main process attaching unit 460 attaching anti-debugging information, An anti-debugging process information providing unit 465 informing that the own process module is attached to the main process module 410 by means of the main process module 410, (470) for providing a normal operation information to the main process module (410), and a virus vaccine providing unit (475) for providing a virus vaccine capable of decrypting the main program when the main process module The status information of the anti-debugging process module 450 and / or the status information of the main process module 410 received from the main process module 410 An anti-debugging process control unit 480 for controlling the operation of the anti-debugging process using status information stored in the anti-debugging process storage unit 480, 485).

도 5는 도 4에서 설명되는 메인 프로세스의 오동작을 설명하는 도면이다. 5 is a diagram for explaining a malfunction of the main process described in Fig.

도 5에 도시된 바와 같이, 메인 프로세스 모듈(410)은 안티디버깅 프로세스 모듈(450)을 생성하고 부착되나, 안티디버깅 프로세스 모듈(450)은 아직 메인 프로세스 모듈(410)에 부착되지 않은 상태를 도시한다. 이 경우 안티디버깅 프로세스 모듈(450)이 메인 프로세스 모듈(410)에 부착되어 있지 않기 때문에 다른 디버거 프로그램이 부착될 수 있다. 이 경우 도 4에 도시된 오동작 실행부(410)는 무한 루프를 돌거나 거짓 프로그램을 실행하거나 또는 소정의 시간 동안 안티디버깅 프로세스 모듈(450)에 메인 프로세스 모듈(410)이 부착되지 않으면 프로그램을 종료할 수 있다. 따라서 안티디버깅 프로세스 모듈(450)에 메인 프로세스 모듈(410)이 부착되지 않아도, 해킹으로부터 메인 프로세스 모듈(410)의 동작을 보호할 수 있다.5, the main process module 410 generates and attaches the anti-debugging process module 450, while the anti-debugging process module 450 displays the state that is not yet attached to the main process module 410 do. In this case, since the anti-debugging process module 450 is not attached to the main process module 410, another debugger program can be attached. In this case, the malfunction execution unit 410 shown in FIG. 4 terminates the program if the main process module 410 is not attached to the anti-debugging process module 450 during an infinite loop, a false program, can do. Therefore, even if the main process module 410 is not attached to the anti-debugging process module 450, the operation of the main process module 410 from the hacking can be protected.

도 6은 도 4에 따른 안티디버깅 방법의 흐름도를 도시하는 도면이고, 도 7은 도 6의 흐름도를 프로세스 다이어그램으로 도시하는 도면이다. Fig. 6 is a flowchart showing the anti-debugging method according to Fig. 4, and Fig. 7 is a process diagram showing the flowchart of Fig.

메인 프로세스 제어부(440)는 메인 프로그램이 실행되면(S602), 먼저 오동작 실행부(410)는 메인 프로그램이 오동작을 실행하게 하다(S604). 이를 위해 도 7에 도시된 바와 같이, 오동작 실행부(410)는 오동작을 실행하도록 변조된 복호화 키를 생성할 수 있다. When the main program is executed (S602), the main process control unit 440 first causes the malfunction execution unit 410 to execute the malfunction of the main program (S604). To this end, as shown in FIG. 7, the malfunction execution unit 410 can generate a modulated decryption key to execute a malfunction.

메인 프로세스 제어부(440)는 이어서 안티디버깅 프로세스 생성부(415)를 동작시켜 안티디버깅 프로세스 모듈(450)을 생성한다(S606). 메인 프로세스 제어부(440)는 메인 프로세스 저장부(435)에 현재 안티디버깅 프로세스 모듈(450)을 생성하고 있음을 나타내는 상태 정보를 저장할 수 있다.The main process control unit 440 then operates the anti-debugging process generator 415 to generate the anti-debugging process module 450 (S606). The main process control unit 440 may store status information indicating that the anti-debugging process module 450 is currently being generated in the main process storage unit 435. [

메인 프로세스 제어부(440)는 이후 안티디버깅 프로세스 정보 제공부(465)로부터 안티디버깅 프로세스 모듈(450)의 생성에 대한 상태 정보가 제공되면 안티디버깅 프로세스 부착부(420)를 실행한다. 안티디버깅 프로세스 부착부(420)는 안티디버깅 프로세스 생성부(415)에 의해 생성된 안티디버깅 프로세스 모듈(450)에 자신의 프로세스 모듈을 부착한다(S608). 안티디버깅 프로세스 정보 제공부(465)는 안티디버깅 프로세스 부착부(420)의 동작에 의해 메인 프로세스 모듈(410)이 자신의 프로세스 모듈에 부착되었음을 알리는 상태 정보를 제공한다(S610). 메인 프로세스 제어부(440)는 안티디버깅 프로세스 부착부(420)로부터 제공된 상태 정보를 메인 프로세스 저장부(435)에 저장한다.The main process control unit 440 then executes the anti-debugging process attaching unit 420 when status information on generation of the anti-debugging process module 450 is provided from the anti-debugging process information providing unit 465. [ The anti-debugging process attaching unit 420 attaches its own process module to the anti-debugging process module 450 generated by the anti-debugging process generating unit 415 (S608). The anti-debugging process information providing unit 465 provides status information indicating that the main process module 410 is attached to its process module by the operation of the anti-debugging process attaching unit 420 (S610). The main process control unit 440 stores the status information provided from the anti-debugging process attaching unit 420 in the main process storage unit 435.

안티디버깅 프로세스 제어부(485)는 안티디버깅 프로세스 저장부(480)의 상태 정보가 소정의 값을 가지면 메인 프로세스 부착부(460)를 동작시켜 메인 프로세스 모듈(410)에 자신의 프로세스 모듈을 부착시킨다(S612). 메인 프로세스 정보 제공부(425)는 메인 프로세스 부착부(460)의 동작에 의해 안티디버깅 프로세스 모듈(450)이 자신의 프로세스 모듈에 부착되었음을 알리는 상태 정보를 제공한다(S614). 안티디버깅 프로세스 제어부(485)는 메인 프로세스 정보 제공부(425)로부터 제공된 상태 정보를 안티디버깅 프로세스 저장부(480)에 저장한다.If the state information of the anti-debugging process storage unit 480 has a predetermined value, the anti-debugging process control unit 485 operates the main process attaching unit 460 to attach its process module to the main process module 410 S612). The main process information providing unit 425 provides status information indicating that the anti-debugging process module 450 is attached to its process module by the operation of the main process attaching unit 460 (S614). The anti-debugging process control unit 485 stores the status information provided from the main process information providing unit 425 in the anti-debugging process storage unit 480.

메인 프로세스 제어부(440)는 안티디버깅 프로세스 모듈(450)이 자신의 프로세스 모듈에 정상적으로 부착되었다고 판단되면 메인 프로그램을 정상적으로 실행시킨다(S616). 이를 위해 도 7에 도시된 바와 같이, 정상 동작 정보 제공부(470)는 변조된 복호화 키를 원본 키로 수정하고 이 수정된 원본 키를 메인 프로세스 모듈(410)에 제공한다. 메인 프로세스 제어부(440)는 정상 동작 정보 제공부(470)로부터 원본 키를 수신하면 오동작 실행을 정지하도록 오동작 실행부(410)를 제어하고 정상 동작 실행부(430)를 실행시켜 정상 동작을 실행시킨다.If the anti-debugging process module 450 determines that the anti-debugging process module 450 is normally attached to its own process module, the main process controller 440 executes the main program normally (S616). For this, as shown in FIG. 7, the normal operation information providing unit 470 modifies the modulated decryption key with the original key, and provides the modified original key to the main process module 410. When the main process control unit 440 receives the original key from the normal operation information providing unit 470, the main process control unit 440 controls the malfunction execution unit 410 to stop the malfunctioning operation and executes the normal operation execution unit 430 to execute the normal operation .

바이러스 백신 제공부(475)는 메인 프로세스 모듈(410)이 바이러스 감염에 의해 프로그램이 정상적으로 동작하지 않을 경우(S618) 메인 프로그램을 해독시킬 수 있는 바이러스 백신을 제공한다(S620).If the main process module 410 does not normally operate the program due to the virus infection (S618), the antivirus providing unit 475 provides the antivirus that can decrypt the main program (S620).

본 발명의 실시예에 따른 안티디버깅 장치는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 태블릿(Tablet), 개인 휴대 단말기(PDA: Personal Digital Assistant), 게임 콘솔, 휴대용 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Termainal), 스마트폰(Smart Phone), TV, 미디어 플레이어 등과 같은 사용자 단말기일 수 있다. The anti-debugging apparatus according to an embodiment of the present invention may be applied to a personal computer (PC), a notebook computer, a tablet, a personal digital assistant (PDA), a game console, a portable multimedia player (PMP) Player, a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, a media player, and the like.

본 발명에 따른 안티디버깅 장치는 응용 서버와 서비스 서버 등 서버 단말기일 수 있다. 본 발명의 실시예에 따른 안티디버깅 장치는 각기 (i) 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ii) 프로그램을 실행하기 위한 데이터를 저장하기 위한 메모리, (iii) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.The anti-debugging apparatus according to the present invention may be a server terminal such as an application server and a service server. (I) a communication device such as a communication modem for performing communication with various devices or wired / wireless communication networks, (ii) a memory for storing data for executing a program, (iii) ) Microprocessor for executing and controlling programs and the like. According to at least one embodiment, the memory may be a computer such as a random access memory (RAM), a read only memory (ROM), a flash memory, an optical disk, a magnetic disk, or a solid state disk Readable recording / storage medium. According to at least one embodiment, a microprocessor can be programmed to selectively perform one or more of the operations and functions described in the specification. In accordance with at least one embodiment, the microprocessor may be implemented in hardware, such as an Application Specific Integrated Circuit (ASIC), in wholly or partially of a particular configuration.

이상에서 설명된 본 발명의 실시예들은 본 발명의 기술 사상을 예시적으로 보여준 것에 불과하며, 본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The embodiments of the present invention described above are merely illustrative of the technical idea of the present invention, and the scope of protection of the present invention should be interpreted according to the claims. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention as defined by the appended claims. It should be interpreted that it is included in the scope of right.

100: 메인 프로세스 모듈
110: 안티디버깅 프로세스 생성부
115: 안티디버깅 프로세스 부착부
120: 메인 프로세스 정보 제공부
125: 메인 프로세스 저장부
130: 메인 프로세스 제어부
150: 안티디버깅 프로세스 모듈
160: 메인 프로세스 부착부
165: 안티디버깅 프로세스 정보 제공부
170: 안티디버깅 프로세스 저장부
175: 안티디버깅 프로세스 제어부
100: main process module
110: Anti-debugging process generating unit
115: anti-debugging process attaching portion
120: main process information providing unit
125: main process storage unit
130: main process control section
150: Anti-debugging process module
160: main process attaching portion
165: Anti-debugging process information providing service
170: Anti-debugging process storage unit
175: Anti-debugging process control unit

Claims (10)

안티디버깅 프로세스 모듈을 생성하는 안티디버깅 프로세스 생성부와, 상기 안티디버깅 프로세스 생성부에 의해 생성된 상기 안티디버깅 프로세스 모듈에 자신의 프로세스 모듈을 부착시키는 안티디버깅 프로세스 부착부를 구비하는 메인 프로세스 모듈과, 및
상기 메인 프로세스 모듈에 자신의 프로세스 모듈을 부착시키는 메인 프로세스 부착부와, 상기 메인 프로세스 부착부에 의해 자신의 프로세스 모듈이 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 상기 메인 프로세스 모듈에 제공하는 안티디버깅 프로세스 정보 제공부를 구비하는 안티디버깅 프로세스 모듈을 포함하는 것을 특징으로 하는 안티디버깅 장치.
A main process module including an anti-debugging process generating unit for generating an anti-debugging process module, and an anti-debugging process attaching unit attaching the process module to the anti-debugging process module generated by the anti-
A main process attaching unit for attaching a process module of the main process module to the main process module; and an anti-debugging unit for providing the main process module with information about the fact that the process module of the self process module is normally attached to the main process module by the main process attaching unit. And an anti-debugging process module including a process information providing unit.
제1항에 있어서,
상기 메인 프로세스 모듈은 상기 안티디버깅 프로세스 모듈로부터 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 수신할 때까지 오동작을 실행시키는 오동작 실행부를 더 포함하는 것을 특징으로 하는 안티디버깅 장치.
The method according to claim 1,
Wherein the main process module further comprises a malfunctioning execution unit for executing a malfunction until receiving information on the normal attachment to the main process module from the anti-debugging process module.
제2항에 있어서,
상기 메인 프로세스 모듈은 메인 프로그램이 실행되면 오동작을 실행시키도록 상기 오동작 실행부를 제어하고 또한 상기 안티디버깅 프로세스 모듈을 생성하도록 상기 안티디버깅 프로세스 생성부를 제어하는 메인 프로세스 제어부를 더 포함하는 것을 특징으로 하는 안티디버깅 장치.
3. The method of claim 2,
Wherein the main process module further comprises a main process control unit for controlling the malfunction execution unit to execute a malfunction when the main program is executed and controlling the anti-debugging process generating unit to generate the anti-debugging process module Debugging device.
제3항에 있어서,
상기 메인 프로세스 제어부는 메인 프로그램이 실행되면 오동작을 실행시키도록 변조된 복호화 키를 생성하고, 상기 안티디버깅 프로세스 모듈로부터 변조된 복호화 키에 대한 수정된 원본 키가 제공되면 오동작을 정지시키는 것을 특징으로 하는 안티디버깅 장치.
The method of claim 3,
Wherein the main process control unit generates a decryption key modulated to execute a malfunction when the main program is executed and stops the malfunction if the modified original key for the decryption key modulated from the anti-debugging process module is provided Anti-debugging device.
제1항 내지 제4항 중 어느 한 항에 있어서,
상기 안티디버깅 프로세스 모듈은 상기 안티디버깅 프로세스 부착부의 동작에 의해 자신의 프로세스 모듈에 상기 메인 프로세스 모듈이 부착된 경우 그 부착 결과를 상기 메인 프로세스 모듈에 제공하는 것을 특징으로 하는 안티디버깅 장치.
5. The method according to any one of claims 1 to 4,
Wherein the anti-debugging process module provides the attachment result of the main process module to the main process module when the main process module is attached to the process module of the anti-debugging process module by the operation of the anti-debugging process attaching unit.
제5항에 있어서,
상기 메인 프로세서 모듈은 상기 메인 프로세스 부착부의 동작에 의해 자신의 프로세스 모듈에 안티디버깅 프로세스 모듈이 부착된 경우 그 부착 결과를 상기 안티디버깅 프로세스 모듈에 제공하는 것을 특징으로 하는 안티디버깅 장치.
6. The method of claim 5,
Wherein the main processor module provides an attachment result of the anti-debugging process module to the anti-debugging process module when the anti-debugging process module is attached to its own process module by the operation of the main process attaching unit.
제6항에 있어서,
상기 안티디버깅 프로세스 모듈은 상기 메인 프로세서 모듈의 동작 프로그램이 바이러스에 감염되었음을 감지하면 바이러스 백신 프로그램을 제공하는 것을 특징으로 하는 안티디버깅 장치.
The method according to claim 6,
Wherein the anti-debugging process module provides an antivirus program when it detects that an operation program of the main processor module is infected with a virus.
메인 프로세스 모듈과 안티디버깅 프로세스 모듈을 구비한 안티디버깅 장치에서의 안티디버깅 방법으로서,
상기 메인 프로세스 모듈에서, 프로그램이 실행되면 안티디버깅 프로세스 모듈을 생성하는 단계와,
상기 메인 프로세스 모듈에서, 상기 안티디버깅 프로세스 모듈을 생성하는 단계에서 생성된 상기 안티디버깅 프로세스 모듈에 상기 메인 프로세스 모듈 자신의 프로세스 모듈을 부착시키는 단계와,
상기 안티디버깅 프로세스 모듈에서, 상기 메인 프로세스 모듈에 상기 안티디버깅 프로세스 모듈 자신의 프로세스 모듈을 부착시키는 단계와, 및
상기 안티디버깅 프로세스 모듈에서, 자신의 프로세스 모듈이 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 상기 메인 프로세스 모듈에 제공하는 단계를 포함하는 것을 특징으로 하는 안티디버깅 방법.
1. An anti-debugging method in an anti-debugging apparatus having a main process module and an anti-debugging process module,
Generating, in the main process module, an anti-debugging process module when the program is executed;
Attaching a process module of the main process module to the anti-debugging process module generated in the step of creating the anti-debugging process module in the main process module;
Attaching the process module of the anti-debugging process module to the main process module in the anti-debugging process module; and
And providing the main process module with information about whether its process module is normally attached to the main process module in the anti-debugging process module.
제8항에 있어서,
상기 메인 프로세스 모듈에서, 상기 안티디버깅 프로세스 모듈로부터 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보를 수신할 때까지 오동작을 실행시키는 단계를 더 포함하는 것을 특징으로 하는 안티디버깅 방법.
9. The method of claim 8,
Further comprising the step of executing a malfunction in the main process module until receiving information on the normal attachment from the anti-debugging process module to the main process module.
제9항에 있어서,
상기 메인 프로세스 모듈에서, 프로그램이 실행되면 오동작을 실행시키도록 변조된 복호화 키를 생성하는 단계와, 및
상기 메인 프로세스 모듈에서, 상기 메인 프로세스 모듈에 정상적으로 부착됨에 대한 정보로 변조된 복호화 키에 대한 수정된 원본 키가 제공되면 오동작을 정지시키는 단계를 더 포함하는 것을 특징으로 하는 안티디버깅 방법.
10. The method of claim 9,
Generating, in the main process module, a decryption key modulated to execute a malfunction when a program is executed; and
Further comprising the step of stopping the malfunction if the modified original key is provided to the decryption key modulated with the information that the main process module is normally attached to the main process module.
KR1020150030835A 2015-03-05 2015-03-05 Apparatus and method for anti-debugging KR101657950B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150030835A KR101657950B1 (en) 2015-03-05 2015-03-05 Apparatus and method for anti-debugging

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150030835A KR101657950B1 (en) 2015-03-05 2015-03-05 Apparatus and method for anti-debugging

Publications (2)

Publication Number Publication Date
KR20160107712A true KR20160107712A (en) 2016-09-19
KR101657950B1 KR101657950B1 (en) 2016-09-21

Family

ID=57080242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150030835A KR101657950B1 (en) 2015-03-05 2015-03-05 Apparatus and method for anti-debugging

Country Status (1)

Country Link
KR (1) KR101657950B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409635B2 (en) 2019-08-23 2022-08-09 Raytheon Company Hacker-resistant anti-debug system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080085131A (en) * 2008-09-11 2008-09-23 주식회사 비즈모델라인 System for cutting off and eliminating the worm virus automatically
JP2011170836A (en) * 2009-12-24 2011-09-01 Kazuomi Oishi Information processing apparatus and program, information processing method, and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080085131A (en) * 2008-09-11 2008-09-23 주식회사 비즈모델라인 System for cutting off and eliminating the worm virus automatically
JP2011170836A (en) * 2009-12-24 2011-09-01 Kazuomi Oishi Information processing apparatus and program, information processing method, and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409635B2 (en) 2019-08-23 2022-08-09 Raytheon Company Hacker-resistant anti-debug system

Also Published As

Publication number Publication date
KR101657950B1 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
EP3779745B1 (en) Code pointer authentication for hardware flow control
KR102296754B1 (en) secure storage device
ES2857102T3 (en) Malware behavior detection using an interpretation virtual machine
US9858417B2 (en) Detecting malicious computer code in an executing program module
KR101503785B1 (en) Method And Apparatus For Protecting Dynamic Library
US10223527B2 (en) Protecting computer code against ROP attacks
KR20210001057A (en) Method for detecting and blocking ransomware
KR101638257B1 (en) Method for protecting source code of application and apparatus for performing the method
CN109472135B (en) Method, device and storage medium for detecting process injection
KR101657950B1 (en) Apparatus and method for anti-debugging
CN110516445B (en) Identification method and device for anti-detection malicious code and storage medium
US20220407695A1 (en) Electronic device and control method thereof
JP2017204173A (en) Data protection program, data protection method, and data protection system
US11556645B2 (en) Monitoring control-flow integrity
Kirmani et al. Analyzing detection avoidance of malware by process hiding
US20200364331A1 (en) Process verification
KR20190072375A (en) Apparatus and methods for detecting of stealth task using hardware task switching
KR101665850B1 (en) Method for Protecting Program by Using Heterogeneous Processor Emulation
JP2006065555A (en) Apparatus and method for developing program

Legal Events

Date Code Title Description
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190906

Year of fee payment: 4