KR101306656B1 - Apparatus and method for providing dynamic analysis information of malignant code - Google Patents
Apparatus and method for providing dynamic analysis information of malignant code Download PDFInfo
- Publication number
- KR101306656B1 KR101306656B1 KR1020110146432A KR20110146432A KR101306656B1 KR 101306656 B1 KR101306656 B1 KR 101306656B1 KR 1020110146432 A KR1020110146432 A KR 1020110146432A KR 20110146432 A KR20110146432 A KR 20110146432A KR 101306656 B1 KR101306656 B1 KR 101306656B1
- Authority
- KR
- South Korea
- Prior art keywords
- dynamic analysis
- malware
- code
- analysis information
- malicious code
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Abstract
종래의 동적 분석은, 디버깅 검출 및 안티 디버깅 기법 등이 코드에 포함되는 경우에 분석가의 판단에 의해 코드를 스킵(skip)하는 노력이 필요하다. 즉, 디버깅 유틸리티 등을 통해 코드를 하나씩 실행시키면서 실행압축 해제 또는 안티 디버깅 코드를 확인하면서 디버깅을 할 수밖에 없다. 따라서, 분석가 입장에서 안티 디버깅 기법 및 디버깅 검출 기법을 모른다면 어려움에 처할 수 있다. 이에 본 발명의 실시예에서는, 악성코드 동작의 호출 지점을 기반으로 악성코드의 동적 분석을 수행함으로써, 디버깅을 수행하지 않은 상황에서 악성코드 발생을 모니터링하고, 악성코드가 발생된 프로그램의 코드를 확인할 수 있게 하여 분석가가 원하는 시점에 디버깅을 수행할 수 있도록 하는 악성코드 동적 분석 기술을 제안하고자 한다.Conventional dynamic analysis requires an effort to skip code at the analyst's discretion when debugging detection, anti-debugging techniques, etc. are included in the code. In other words, debugging is executed while checking the execution decompression or anti-debugging code while executing the code one by one through a debugging utility. As a result, analysts may face difficulties if they do not know anti-debugging techniques and debugging-detection techniques. Accordingly, in the embodiment of the present invention, by performing the dynamic analysis of the malicious code based on the call point of the malicious code operation, monitor the occurrence of the malicious code in the absence of debugging, and check the code of the program that generated the malicious code In this paper, we propose a dynamic analysis technique for malware that enables the analyst to perform debugging at the desired time.
Description
본 발명은 악성코드 동적 분석정보 제공 기술에 관한 것으로, 특히 안티 디버깅(anti-debugging) 기법이나 코드 난독화 기법 등으로 인하여 동적 분석이 어려운 경우에도 시스템 모니터링을 통해 악성코드의 동작을 찾고 동작 발생 시점의 코드를 확인하는데 적합한 악성코드 동적 분석정보 제공 방법 및 장치에 관한 것이다.
The present invention relates to a technique for providing malicious code dynamic analysis information, in particular, even when dynamic analysis is difficult due to an anti-debugging technique or a code obfuscation technique. The present invention relates to a method and apparatus for providing dynamic analysis information suitable for identifying a code of a computer.
예를 들어, 윈도우(Windows) 등의 운영체제를 갖는 PC(Personal Computer) 환경에서 악성코드를 분석하기 위해서는 별도의 분석 프로그램을 실행시켜 그 결과 또는 그 과정을 확인해야만 한다.For example, in order to analyze malicious codes in a personal computer (PC) environment having an operating system such as Windows, a separate analysis program must be executed to check the result or the process thereof.
이러한 악성코드 분석은 크게 정적 분석과 동적 분석으로 구분될 수 있는데, 정적 분석은 프로그램 코드를 있는 그대로 분석하는 것이고, 동적 분석은 코드를 일부 실행시키거나 코드 실행 도중에 악성코드를 분석하는 과정을 의미한다.Malware analysis can be divided into static analysis and dynamic analysis. Static analysis is the analysis of program code as it is, and dynamic analysis is the process of executing some code or analyzing malware during code execution. .
정적 분석의 경우에는 디버깅 검출이나 가상환경 검출 등으로 분석을 방해하는 경우에는 대응할 수 있으나, 코드 변형이나 실행 압축된 경우, 암호화된 경우 등에는 보호전 코드를 복원해야 한다.In the case of static analysis, it is possible to cope with the case where the analysis is interrupted by debugging detection or virtual environment detection, but the code before protection should be restored in case of code modification, execution compression or encryption.
한편, 실행압축이나 코드 변형 문제로 인해 동적 분석을 수행하는 경우에는, 코드를 실행해 복원 코드를 만들어 코드를 확인하고, 악의적 기능을 확인하기 위해 추가적으로 실행하여 그 결과 및 코드를 보고 판단하게 된다. 즉, 분석을 방해할 목적으로 실행 압축되었거나 암호화된 경우, 그리고 디버깅 감지 코드 등이 포함된 악성코드의 경우에는 분석을 방해하는 코드를 별도로 분석해야만 한다.On the other hand, when dynamic analysis is performed due to execution compression or code modification problem, the code is executed to generate the restored code to check the code, and additionally executed to confirm the malicious function, and the result and the code are judged. In other words, if the code is executed or compressed for the purpose of interfering with the analysis, and in the case of the malicious code including the debugging detection code, the code for the analysis must be analyzed separately.
이러한 동적 분석은, 디버깅 검출 및 안티 디버깅 기법 등이 코드에 포함되는 경우에 분석가의 판단에 의해 코드를 스킵(skip)하는 노력이 필요하다. 즉, 디버깅 유틸리티 등을 통해 코드를 하나씩 실행시키면서 실행압축 해제 또는 안티 디버깅 코드를 확인하면서 디버깅을 할 수밖에 없다. 따라서, 분석가 입장에서 안티 디버깅 기법 및 디버깅 검출 기법을 모른다면 어려움에 처할 수 있다.Such dynamic analysis requires an effort to skip code at the analyst's discretion when debugging detection and anti-debugging techniques are included in the code. In other words, debugging is executed while checking the execution decompression or anti-debugging code while executing the code one by one through a debugging utility. As a result, analysts may face difficulties if they do not know anti-debugging techniques and debugging-detection techniques.
또한, 특정 프로그램(애플리케이션)의 기능 수행 과정을 모니터링할 필요가 있는데, 이때 악성코드 내에서 해당 프로그램을 호출하는 코드를 찾는 경우에는 코드 전체를 확인해야 하는 번거로움이 있으며, 특정 함수가 비동기적으로 수행되는 시점을 확인해야 할 뿐만 아니라, 윈도우즈 등의 운영체제에서 DLL(Dynamic Linking Library)을 동적으로 로드하는 경우에 DLL 내에 포함된 API(Application Programming Interface)를 후킹(hooking)하여 분석하는 과정들이 필요하다.
In addition, it is necessary to monitor the function performance of a specific program (application). In this case, when finding the code that calls the program in the malicious code, it is cumbersome to check the entire code. In addition to checking the timing of execution, in the case of dynamically loading a DLL (Dynamic Linking Library) in an operating system such as Windows, a process of hooking and analyzing an API (Application Programming Interface) included in the DLL is necessary. .
이에 본 발명의 실시예에서는, 악성코드 동작의 호출 지점을 기반으로 악성코드의 동적 분석을 수행함으로써, 디버깅을 수행하지 않은 상황에서 악성코드 발생을 모니터링하고, 악성코드가 발생된 프로그램의 코드를 확인할 수 있게 하여 분석가가 원하는 시점에 디버깅을 수행할 수 있도록 하는 악성코드 동적 분석정보 제공 기술을 제안하고자 한다.
Accordingly, in the embodiment of the present invention, by performing the dynamic analysis of the malicious code based on the call point of the malicious code operation, monitor the occurrence of the malicious code in the absence of debugging, and check the code of the program that generated the malicious code This paper proposes a technique for providing dynamic analysis information on malicious code that enables an analyst to perform debugging at a desired time.
본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치는, 악성코드 또는 네트워크의 동작을 스레드(thread) 단위로 모니터링하는 모니터링부와, 상기 모니터링부의 특정 API(Application Programming Interface) 또는 기 설치된 이벤트 핸들러(event handler)로부터의 호출지점을 검출하는 호출지점 검출부와, 상기 호출지점 검출부를 통해 검출되는 호출지점에 따른 악성코드 동적 분석 결과를 디스플레이 제어하는 제어부를 포함할 수 있다.The apparatus for providing dynamic analysis information for malicious code according to an embodiment of the present invention includes a monitoring unit for monitoring the operation of a malicious code or a network in units of threads, a specific API (Application Programming Interface) or an event handler installed in the monitoring unit. and a call point detection unit for detecting a call point from an event handler, and a controller for displaying and controlling a result of dynamic analysis of malicious code according to the call point detected through the call point detection unit.
여기서, 상기 모니터링부는, 악성코드에 의해 사용되는 API를 모니터링하는 시스템 모니터링부와, 악성코드에 의해 발생되는 네트워크 관련 I/O(Input/Output)를 모니터링하는 네트워크 모니터링부를 포함할 수 있다.Here, the monitoring unit may include a system monitoring unit for monitoring an API used by the malicious code, and a network monitoring unit for monitoring network-related input / output (I / O) generated by the malicious code.
또한, 상기 악성코드 동적 분석 결과는, 악성코드 동작 시점의 코드 정보, 또는 스택(stack) 정보, 또는 참조 데이터 중 적어도 하나를 포함할 수 있다.In addition, the malicious code dynamic analysis result may include at least one of code information, a stack information, or reference data at the time of the malicious code operation.
또한, 상기 참조 데이터는, API 입출력 데이터 또는 네트워크 송수신 데이터 중 적어도 하나를 포함할 수 있다.In addition, the reference data may include at least one of API input / output data or network transmission / reception data.
또한, 상기 제어부는, 상기 악성코드 동적 분석 결과를 저장부에 임시 저장하되, 악성코드 동작 발생시의 스레드의 크기에 따른 스레드 주소 공간을 상기 저장부에 기록할 수 있다.The controller may temporarily store the result of the dynamic analysis of the malicious code in a storage unit, and record a thread address space according to the thread size when the malicious code operation occurs in the storage unit.
또한, 상기 제어부는, 악성코드의 호출시점별 상황 정보를 포함하는 악성코드 동적 분석 결과를 기 설정된 시간 간격으로 상기 저장부에 저장할 수 있다.In addition, the controller may store the malicious code dynamic analysis result including the status information for each call point of the malicious code in the storage unit at predetermined time intervals.
또한, 상기 제어부는, 상기 악성코드 동적 분석 결과에 따라 코드의 변경된 영역을 체크하여 디스플레이 제어할 수 있다.The controller may control display by checking a changed region of the code according to the malicious code dynamic analysis result.
또한, 상기 제어부는, 특정 동작의 시점으로부터 디버깅을 연동할 수 있게 디버깅 화면을 디스플레이 제어할 수 있다.In addition, the controller may control the display of the debugging screen so that debugging can be linked from a time point of a specific operation.
또한, 상기 특정 동작은, 파일의 생성 후 실행, 또는 자동 실행 레지스터리 생성, 또는 원격 스레드 생성, 또는 네트워크 연결 시도 중 적어도 하나를 포함할 수 있다.In addition, the specific operation may include at least one of execution after generation of a file, automatic execution registry generation, remote thread generation, or network connection attempt.
본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 방법은, 검색 엔진이 활성화되면 악성코드의 시스템 동작 및 네트워크의 동작을 스레드 단위로 모니터링하는 과정과, 상기 모니터링하는 과정에서 호출지점이 검출되면 상기 호출지점이 포함된 동작시점의 악성코드 동적 분석 결과를 디스플레이하는 과정을 포함할 수 있다.In the method for providing dynamic analysis information for malicious code according to an embodiment of the present invention, when a search engine is activated, a process of monitoring a system operation and a network operation of the malicious code in units of threads, and when a call point is detected in the monitoring process, And displaying a result of the dynamic analysis of the malicious code at the time of operation including the call point.
여기서, 상기 모니터링하는 과정은, 악성코드에 의해 사용되는 API를 모니터링하는 과정과, 악성코드에 의해 발생되는 네트워크 관련 I/O를 모니터링하는 과정을 포함할 수 있다.Here, the monitoring may include monitoring an API used by the malicious code, and monitoring a network-related I / O generated by the malicious code.
또한, 상기 호출지점은, 상기 모니터링하는 과정의 특정 API로부터의 호출지점인 것을 특징으로 할 수 있다.The call point may be a call point from a specific API of the monitoring process.
또한, 상기 악성코드 동적 분석 결과는, 호출지점이 포함된 동작시점의 코드 영역, 또는 스택 영역, 또는 참조 데이터 영역 중 어느 하나를 포함할 수 있다.In addition, the result of the dynamic analysis of the malicious code may include any one of a code region, a stack region, or a reference data region at the point of operation including a call point.
또한, 상기 참조 데이터 영역은, API 입출력 데이터 또는 네트워크 송수신 데이터 중 적어도 하나를 포함할 수 있다.The reference data area may include at least one of API input / output data or network transmission / reception data.
또한, 상기 악성코드 동적 분석정보 제공 방법은, 특정 동작이 발생될 때 상기 특정 동작의 시점의 코드 영역, 또는 스택 영역, 또는 참조 데이터 영역 중 적어도 하나를 표시하는 과정과, 상기 특정 동작을 지연 또는 중지시키는 과정을 더 포함할 수 있다.The malicious code dynamic analysis information providing method may further include displaying at least one of a code region, a stack region, or a reference data region at the time of the specific operation when a specific operation occurs, and delaying or delaying the specific operation. The process may further include stopping.
또한, 상기 악성코드 동적 분석정보 제공 방법은, 상기 특정 동작의 시점으로부터 디버깅 연동이 가능한 화면 정보를 제공하는 과정을 더 포함할 수 있다.The malicious code dynamic analysis information providing method may further include providing screen information capable of interlocking with debugging from a time point of the specific operation.
또한, 상기 특정 동작은, 파일의 생성 후 실행, 또는 자동 실행 레지스터리 생성, 또는 원격 스레드 생성, 또는 네트워크 연결 시도 중 적어도 하나를 포함할 수 있다.In addition, the specific operation may include at least one of execution after generation of a file, automatic execution registry generation, remote thread generation, or network connection attempt.
또한, 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 포함할 수 있다.
The computer readable recording medium may also include a computer readable program for executing the method for providing malicious code dynamic analysis information according to an exemplary embodiment of the present invention.
본 발명에 의하면, 시스템 모니터링을 통해 악성코드의 동작을 찾고 동작 발생 시점의 코드를 확인할 수 있기 때문에 동작 발생 시점에서의 디버깅이 가능한 효과가 있다. 또한, 악성코드 동작이 발생한 이후 동작 상황에 대한 입출력 데이터 등을 체크하여 분석시 동작으로만 판단하기 어려운 사항들을 명확히 파악할 수 있다.
According to the present invention, since the operation of the malicious code can be found through the system monitoring and the code at the time of the operation occurrence can be debugged at the time of the operation occurrence. In addition, by checking the input and output data of the operation status after the malicious code operation occurs, it is possible to clearly identify the items that are difficult to determine only by the operation during the analysis.
도 1은 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치에 대한 구성 블록도,
도 2는 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 과정을 예시적으로 설명하는 흐름도,
도 3은 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치의 모니터링 결과 출력 화면을 예시한 도면,
도 4 및 도 5는 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치에서 호출지점 코드 영역을 파악할 수 있는 출력 화면 예시도,
도 6은 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치에서 코드 표시 화면을 예시한 도면.1 is a block diagram illustrating an apparatus for providing malware dynamic analysis information according to an embodiment of the present invention;
2 is a flowchart illustrating a process of providing malicious code dynamic analysis information according to an embodiment of the present invention;
3 is a diagram illustrating a monitoring result output screen of the apparatus for providing malicious code dynamic analysis information according to an embodiment of the present invention;
4 and 5 are examples of the output screen to grasp the call point code region in the apparatus for providing dynamic analysis information of malicious code according to an embodiment of the present invention;
6 is a diagram illustrating a code display screen in the apparatus for providing dynamic analysis information for malicious code according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like numbers refer to like elements throughout.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.
실시예의 설명에 앞서, 본 발명은 악성코드 동작의 호출 지점을 기반으로 악성코드의 동적 분석을 수행함으로써, 디버깅을 수행하지 않은 상황에서 악성코드 발생을 모니터링하고, 악성코드가 발생된 동작 호출 시점의 프로그램 코드를 확인할 수 있게 하여 분석가가 원하는 시점에 디버깅을 수행할 수 있도록 한다는 것으로, 이러한 기술 사상으로부터 본 발명의 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
Prior to the description of the embodiment, the present invention performs the dynamic analysis of the malware based on the call point of the malicious code operation, thereby monitoring the occurrence of the malicious code in the absence of debugging, and at the time of invoking the operation in which the malicious code is generated. By allowing the program code to be checked so that the analyst can perform debugging at the desired time, it is easy to achieve the object of the present invention from this technical idea.
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 장치에 대한 구성 블록도로서, 시스템 모니터링부(100), 네트워크 모니터링부(102), 호출지점 검출부(104), 제어부(106), 저장부(108), 표시부(110) 등을 포함할 수 있다.1 is a block diagram illustrating a malicious code dynamic analysis information providing apparatus according to an embodiment of the present invention, the
도 1에 도시한 바와 같이, 시스템 모니터링부(100)는 악성코드의 동작, 예컨대 악성코드에 의해 사용되는 API를 모니터링하는 역할을 수행할 수 있다. 이러한 모니터링을 위해, 예를 들면 파일, 레지스터리, 메모리 등과 관련된 API들을 후킹할 수 있다.As shown in FIG. 1, the
네트워크 모니터링부(102)는 네트워크 동작, 예컨대 악성코드에 의해 발생되는 네트워크 관련 I/O(Input/Output)를 모니터링하는 역할을 수행할 수 있다.The
이와 같은 시스템 모니터링부(100) 및 네트워크 모니터링부(102)는, 본 발명의 실시예에 따라 프로세스, 파일 등의 실행 및 동작을 스레드(thread) 단위로 모니터링하는 것을 특징으로 한다. 본 발명의 실시예와 같이, 스레드 단위로 모니터링할 경우, 프로세스 단위로 모니터링하는 경우와 비교하여 원격 스레드(remote thread)에 대한 효율적인 대처가 가능하다.Such a
호출지점 검출부(104)는 시스템 모니터링부(100) 또는 네트워크 모니터링부(102)의 특정 API 또는 기 설치된 이벤트 핸들러(event handler)로부터 호출지점을 검출하고, 검출되는 호출지점을 제어부(106)로 제공할 수 있다.The
제어부(106)는 호출지점 검출부(104)를 통해 검출되는 호출지점에 따른 악성코드 동적 분석 결과를 저장부(108)에 임시 저장하고, 해당 동적 분석 결과를 외부로 표시하도록 표시부(110)를 제어할 수 있다. 여기서, 동적 분석 결과는, 예컨대 악성코드 동작 시점의 코드 정보, 스택(stack) 정보, 참조 데이터 등을 포함할 수 있다. 참조 데이터는, 예를 들어 송신 데이터 또는 수신 데이터를 포함할 수 있다.The
한편, 제어부(106)는 모듈의 이름을, 예를 들어 CRC(Cyclic Redundancy Check)32로 축약하고 로드된 주소만 기록할 수 있다. API 위치는 파일에서 쉽게 파악 가능하지만, 로드되는 주소는 프로세스마다 변경될 수 있기 때문이다. API를 모두 기록할 필요 없이 모듈과 로드된 주소만 알 수 있다면 분석 시점의 주소를 해석하는데 크게 문제는 없다.Meanwhile, the
또한, 제어부(106)는 악성코드 동작 발생시 스레드의 크기를 파악한 후 스레드 주소 공간을 기록할 수 있다. 스레드의 크기는 일정 크기로 제한할 수 있으며, 코드 영역인 경우에는 메모리 복사 없이 주소만 제공할 수 있다.In addition, the
또한, 제어부(106)는 스레드 호출 주소와 코드 전후의 메모리 참조 코드에 대해서 저장부(108)를 판독하여 그 값을 같이 저장할 수 있다.In addition, the
저장부(108)에는 제어부(106)의 제어에 따라 임의의 호출지점에서의 동적 분석 결과가 저장될 수 있는데, 예컨대 저장부(108)에는 각 분석 대상 동작이 발생할 경우에 기 설정된 시간 간격, 예를 들어 2~3초 간격으로 호출 시점의 상황 정보를 포함하는 동적 분석 결과가 저장될 수 있다. 이에 따라, 악성코드 동작 시점의 코드와 스택, 모듈상황 등을 관리자가 파악할 수 있게 된다.The
표시부(110)는 제어부(106)의 제어에 의거하여 시스템 모니터링부(100) 및 네트워크 모니터링부(102)를 통해 모니터링된 결과, 예컨대 악성코드 동작 정보, 호출지점 정보 등을 표시할 수 있다.The
또한, 표시부(110)는 제어부(106)에 의해 분석되는 호출지점 코드를 표시할 수 있으며, 특정 동작 시점으로부터 디버깅을 연동할 수 있게 디버깅 화면을 제공할 수 있다. 이에 따라, 모니터링 도중에 특정 동작 발생시 관리자가 특정 동작을 지연 또는 중지시키고 디버깅 작업을 수행할 수 있다. 여기서의 특정 동작이라 함은, 예를 들어 파일의 생성 후 실행, 자동 실행 레지스터리 생성, 원격 스레드 생성, 네트워크 연결 시도 등 일반 프로그램에서는 제한적으로 수행되는 동작들을 포함할 수 있다.In addition, the
한편, 코드는 주요 동작이 발생할 경우 변경된 영역으로 체크되어 해당 부분만 표시되도록 한다. 이때, 기존에 표시했던 코드 영역이 존재한다면, 코드 영역 전체에 대해 블록 단위로 CRC32 값을 비교한 후 일치하지 않을 경우에만 해당 코드를 표시할 수 있다.
On the other hand, when the main operation occurs, the code is checked as the changed area so that only the corresponding part is displayed. In this case, if there is a code region previously displayed, the code may be displayed only when the CRC32 values are compared in units of blocks with respect to the entire code region.
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 과정을 첨부한 도 2의 흐름도를 참조하여 구체적으로 설명하기로 한다.Hereinafter, with reference to the above-described configuration, with reference to the flowchart of Figure 2 attached to the process of providing malicious code dynamic analysis information according to an embodiment of the present invention will be described in detail.
도 2에 도시한 바와 같이, 도시 생략된 검색 엔진이 활성화되면(S200), 시스템 모니터링부(100)는 임의의 악성코드의 동작, 예컨대 임의의 악성코드에 의해 사용되는 API를 모니터링할 수 있으며, 네트워크 모니터링부(102)는 네트워크 동작, 예컨대 악성코드에 의해 발생되는 네트워크 관련 I/O를 모니터링할 수 있다(S202).As shown in FIG. 2, when the search engine (not shown) is activated (S200), the
이와 같은 시스템 모니터링부(100) 및 네트워크 모니터링부(102)는, 본 발명의 실시예에 따라 프로세스, 파일 등의 실행 및 동작을 스레드 단위로 모니터링할 수 있다. 본 발명의 실시예에서는, 프로세스 단위로 모니터링하는 종래의 기술과 비교하여 원격 스레드에 대한 대처를 효율적으로 수행할 수 있다.The
도 3은 이러한 시스템 모니터링부(100)와 네트워크 모니터링부(102)를 통해 모니터링되는 결과 출력 화면을 예시적으로 도시한 것이다. 모니터링 결과 출력 화면은 제어부(106)의 제어 하에 표시부(110) 등을 통해 디스플레이 처리될 수 있으며, 이러한 사실은 본 발명의 기술 분야에서 통상의 지식을 가진 자는 용이하게 이해할 수 있을 것이다.3 exemplarily illustrates a result output screen monitored through the
먼저, 시스템 모니터링부(100)와 네트워크 모니터링부(102)는 최초 실행할 악성코드로 추정되는 파일, 예를 들어 "drivefix.exe" 등의 파일 이름으로 실행되는 프로세스들을 모니터링할 수 있다.First, the
예를 들어, 도 3의 하이라이트 처리된 부분과 같이, "drivefix"가 실행될 때 "explorer.exe"에 메모리를 강제 할당한 후 코드를 기록하며, 이를 "CThread(Createthread)"를 통해 실행하게 된다. "explorer.exe"에 코드 인젝션(code injection)되고 스레드가 생성되며, 인젝션된 스레드에 의해 실행되는 동작들을 모니터링 할 수 있다.For example, as shown in the highlighted portion of FIG. 3, when "drivefix" is executed, memory is forcibly allocated to "explorer.exe" and the code is recorded and executed through "CThread (Createthread)". You can code injection into "explorer.exe", create a thread, and monitor the actions executed by the injected thread.
이때, 제어부(106)는 호출지점 검출부(104)를 통해 시스템 모니터링부(100)와 네트워크 모니터링부(102)의 모니터링 결과에 의한 호출지점이 검출되는지를 판단하고(S204), 호출지점이 검출되면 제어부(106)는 악성코드의 상황별 호출 지점이 포함된 동작 시점의 스택 영역, 참조 데이터(송수신 데이터) 영역 등이 디스플레이 되도록 표시부(110)를 제어할 수 있다(S206).At this time, the
이는 도 4 및 도 5의 예시 화면에 도시한 바와 같다.This is as shown in the example screens of FIGS. 4 and 5.
또한, 확인이 필요한 코드의 경우, 제어부(106)는 도 6에 예시한 바와 같이, 호출 후 리턴되는 주소를 알 수 있는 코드 영역이 디스플레이 되도록 표시부(110)를 제어할 수 있다.In addition, in the case of a code requiring confirmation, the
이에 따라, 관리자는 각각의 상황에서의 호출지점을 파악할 수 있으며, 호출지점이 포함된 코드 영역도 파악할 수 있게 된다.Accordingly, the administrator can identify the call point in each situation, and can also identify the code area including the call point.
한편, 제어부(106)는 특정 동작이 발생되는지를 판단하고(S208), 특정 동작이 발생되면 상술한 바와 같이 특정 동작 시점의 코드 영역, 스택 영역, 참조 데이터 영역 등을 표시하되, 해당 특정 동작을 지연 또는 중지시킬 수 있다(S210). 이때의 특정 동작은, 예를 들어 파일의 생성 후 실행, 자동 실행 레지스터리 생성, 원격 스레드 생성, 네트워크 연결 시도 등과 같은 일반 프로그램에서는 제한적으로 수행되는 동작들을 포함할 수 있다.Meanwhile, the
이후, 제어부(106)는 특정 동작 시점으로부터 디버깅을 연동할 수 있게 디버깅 화면을 제공할 수 있으며, 이에 따라 모니터링 도중에 특정 동작 발생시 관리자가 특정 동작을 지연 또는 중지시키고 디버깅 작업을 수행할 수 있다.
Thereafter, the
다른 한편, 상술한 바와 같이 다양한 실시예를 제시하고 있는 본 발명의 악성코드 동적 분석정보 제공 방법은, 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 실행할 수 있는 프로그램으로 구현할 수 있는데, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다. 이러한 컴퓨터가 읽을 수 있는 기록매체는, 예를 들어 ROM, 플래시 메모리, 자기 기억 장치 등과 같은 비휘발성 메모리(non-volatile memory)와, RAM과 같은 휘발성 메모리(volatile memory) 등을 포함할 수 있으며, 컴퓨터로 실행할 수 있는 코드 또는 프로그램은 본 발명의 실시예에 따른 악성코드 동적 분석을 위한 클라이언트 장치 내에 저장되거나, 네트워크로 연결된 컴퓨터 시스템에 분산 저장될 수 있을 것이다.On the other hand, as described above, the method for providing dynamic analysis information for malicious code according to the present invention, which provides various embodiments, may be implemented as a computer executable program on a computer readable recording medium. The recording medium may include any kind of recording device that stores data that can be read by a computer system. Such computer-readable recording media may include, for example, non-volatile memory such as ROM, flash memory, magnetic storage, and the like, volatile memory such as RAM, and the like. Computer-executable code or program may be stored in a client device for malware dynamic analysis according to an embodiment of the present invention or distributedly stored in a networked computer system.
또한, 본 발명의 실시예에 따른 악성코드 동적 분석정보 제공 서비스를 수행할 수 있는 프로그램은 클라이언트 단말 장치 내의 기록매체에 저장되는 것으로 설명하였으나, 이는 실시예의 설명을 위해 예시한 것일 뿐, 본 발명의 권리범위를 한정하는 것은 아니다. 예컨대, 네트워크 상의 가상화 장치(또는 서버)에 상술한 정보들이 영구적으로 저장되고, 클라이언트 장치에는 상술한 정보들이 일시적으로 보관되는 클라우드 컴퓨팅(cloud computing) 환경을 포함할 수 있을 것이다. 즉, 상술한 정보들을 네트워크 상의 가상화 장치에 저장하고, 이 정보들을 클라이언트 장치를 통해 언제 어디서든 이용할 수도 있음을 주지할 필요가 있다.
In addition, the program capable of performing the malicious code dynamic analysis information providing service according to an embodiment of the present invention has been described as being stored in a recording medium in the client terminal device, but this is only illustrative for the description of the present invention. It does not limit the scope of rights. For example, the above-mentioned information may be permanently stored in the virtualization device (or server) on the network, and the client device may include a cloud computing environment in which the above-mentioned information is temporarily stored. In other words, it is necessary to store the above-described information in the virtualization device on the network, and that the information may be available anytime and anywhere through the client device.
이상 설명한 바와 같이, 본 발명의 실시예에 의하면, 악성코드 동작의 호출 지점을 기반으로 악성코드의 동적 분석을 수행함으로써, 디버깅을 수행하지 않은 상황에서 악성코드 발생을 모니터링하고, 악성코드가 발생된 프로그램의 코드를 확인할 수 있게 하여 분석가가 원하는 시점에 디버깅을 수행할 수 있도록 하는 악성코드 동적 분석 기술을 구현한 것이다.
As described above, according to an embodiment of the present invention, by performing the dynamic analysis of the malware based on the call point of the malware operation, by monitoring the occurrence of the malware in the absence of debugging, the malware is generated It is an implementation of dynamic malware analysis technology that enables the programmers to check the code of the program so that the analyst can debug when desired.
100: 시스템 모니터링부
102: 네트워크 모니터링부
104: 호출지점 검출부
106: 제어부
108: 저장부
110: 표시부100: system monitoring unit
102: network monitoring unit
104: call point detector
106: control unit
108:
110:
Claims (18)
상기 모니터링부의 특정 API(Application Programming Interface) 또는 기 설치된 이벤트 핸들러(event handler)로부터의 호출지점을 검출하는 호출지점 검출부와,
상기 호출지점 검출부를 통해 검출되는 호출지점에 따른 악성코드 동적 분석 결과를 디스플레이 제어하고, 특정 동작의 시점으로부터 디버깅을 연동할 수 있게 디버깅 화면을 디스플레이 제어하는 제어부를 포함하는
악성코드 동적 분석정보 제공 장치.
Monitoring unit for monitoring the operation of malware or network in units of threads,
A call point detection unit for detecting a call point from a specific API (Application Programming Interface) or a pre-installed event handler of the monitoring unit;
And a control unit configured to display and control a malicious code dynamic analysis result according to a call point detected through the call point detection unit, and to display and control a debugging screen so that debugging can be linked from a time point of a specific operation.
Malware dynamic analysis information providing device.
상기 모니터링부는,
악성코드에 의해 사용되는 API를 모니터링하는 시스템 모니터링부와,
악성코드에 의해 발생되는 네트워크 관련 I/O(Input/Output)를 모니터링하는 네트워크 모니터링부를 포함하는
악성코드 동적 분석정보 제공 장치.
The method of claim 1,
The monitoring unit,
System monitoring unit for monitoring the API used by the malware,
Network monitoring unit for monitoring the network-related input / output (I / O) caused by malware
Malware dynamic analysis information providing device.
상기 악성코드 동적 분석 결과는,
악성코드 동작 시점의 코드 정보, 또는 스택(stack) 정보, 또는 참조 데이터 중 적어도 하나를 포함하는
악성코드 동적 분석정보 제공 장치.
The method of claim 1,
The malware dynamic analysis results,
At least one of code information, stack information, or reference data at the time of malware operation.
Malware dynamic analysis information providing device.
상기 참조 데이터는,
API 입출력 데이터 또는 네트워크 송수신 데이터 중 적어도 하나를 포함하는
악성코드 동적 분석정보 제공 장치.
The method of claim 3, wherein
The reference data includes:
At least one of API input / output data or network transmission / reception data
Malware dynamic analysis information providing device.
상기 제어부는,
상기 악성코드 동적 분석 결과를 저장부에 임시 저장하되, 악성코드 동작 발생시의 스레드의 크기에 따른 스레드 주소 공간을 상기 저장부에 기록하는
악성코드 동적 분석정보 제공 장치.
The method of claim 1,
The control unit,
While temporarily storing the result of the dynamic analysis of the malicious code in a storage unit, writing the thread address space according to the size of the thread when the malicious code operation occurs in the storage unit
Malware dynamic analysis information providing device.
상기 제어부는,
악성코드의 호출시점별 상황 정보를 포함하는 악성코드 동적 분석 결과를 기 설정된 시간 간격으로 상기 저장부에 저장하는
악성코드 동적 분석정보 제공 장치.
The method of claim 5, wherein
The control unit,
Storing the dynamic analysis result of the malicious code including the status information for each time point of the malicious code is stored in the storage unit at a predetermined time interval.
Malware dynamic analysis information providing device.
상기 제어부는, 상기 악성코드 동적 분석 결과에 따라 코드의 변경된 영역을 체크하여 디스플레이 제어하는
악성코드 동적 분석정보 제공 장치.
The method according to claim 6,
The controller checks and displays the changed area of the code according to the malicious code dynamic analysis result to control the display.
Malware dynamic analysis information providing device.
상기 특정 동작은,
파일의 생성 후 실행, 또는 자동 실행 레지스터리 생성, 또는 원격 스레드 생성, 또는 네트워크 연결 시도 중 적어도 하나를 포함하는
악성코드 동적 분석정보 제공 장치.
The method of claim 1,
In the specific operation,
At least one of the creation and execution of a file, or an automatic execution registry creation, a remote thread creation, or a network connection attempt.
Malware dynamic analysis information providing device.
상기 모니터링하는 과정에서 호출지점이 검출되면 상기 호출지점이 포함된 동작시점의 악성코드 동적 분석 결과를 디스플레이하는 과정과,
특정 동작이 발생될 때 상기 특정 동작의 시점의 코드 영역, 또는 스택 영역, 또는 참조 데이터 영역 중 적어도 하나를 표시하는 과정과,
상기 특정 동작을 지연 또는 중지시키는 과정을 포함하는
악성코드 동적 분석정보 제공 방법.
When the search engine is activated, the process of monitoring the system behavior of the malware and the behavior of the network on a per-thread basis,
If a call point is detected in the monitoring process, displaying a result of dynamic analysis of malicious code at an operation point including the call point;
Displaying at least one of a code region, a stack region, or a reference data region at the time of the specific operation when a specific operation occurs;
Delaying or stopping the specific operation;
How to provide malware dynamic analysis information.
상기 모니터링하는 과정은,
악성코드에 의해 사용되는 API를 모니터링하는 과정과,
악성코드에 의해 발생되는 네트워크 관련 I/O를 모니터링하는 과정을 포함하는
악성코드 동적 분석정보 제공 방법.
11. The method of claim 10,
The monitoring process,
Monitoring the APIs used by malware,
Monitoring network-related I / O caused by malware
How to provide malware dynamic analysis information.
상기 호출지점은,
상기 모니터링하는 과정의 특정 API로부터의 호출지점인 것을 특징으로 하는
악성코드 동적 분석정보 제공 방법.
11. The method of claim 10,
The call point is
Call point from a specific API of the monitoring process, characterized in that
How to provide malware dynamic analysis information.
상기 악성코드 동적 분석 결과는,
호출지점이 포함된 동작시점의 코드 영역, 또는 스택 영역, 또는 참조 데이터 영역 중 어느 하나를 포함하는
악성코드 동적 분석정보 제공 방법.
11. The method of claim 10,
The malware dynamic analysis results,
A code area of the operation point including a call point, a stack area, or a reference data area
How to provide malware dynamic analysis information.
상기 참조 데이터 영역은,
API 입출력 데이터 또는 네트워크 송수신 데이터 중 적어도 하나를 포함하는
악성코드 동적 분석정보 제공 방법.
The method of claim 13,
The reference data area is
At least one of API input / output data or network transmission / reception data
How to provide malware dynamic analysis information.
상기 악성코드 동적 분석정보 제공 방법은,
상기 특정 동작의 시점으로부터 디버깅 연동이 가능한 화면 정보를 제공하는 과정을 더 포함하는
악성코드 동적 분석정보 제공 방법.
11. The method of claim 10,
The malicious code dynamic analysis information providing method,
The method may further include providing screen information that enables debugging interoperation from the time point of the specific operation.
How to provide malware dynamic analysis information.
상기 특정 동작은,
파일의 생성 후 실행, 또는 자동 실행 레지스터리 생성, 또는 원격 스레드 생성, 또는 네트워크 연결 시도 중 적어도 하나를 포함하는
악성코드 동적 분석정보 제공 방법.
17. The method of claim 16,
In the specific operation,
At least one of the creation and execution of a file, or an automatic execution registry creation, a remote thread creation, or a network connection attempt.
How to provide malware dynamic analysis information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110146432A KR101306656B1 (en) | 2011-12-29 | 2011-12-29 | Apparatus and method for providing dynamic analysis information of malignant code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110146432A KR101306656B1 (en) | 2011-12-29 | 2011-12-29 | Apparatus and method for providing dynamic analysis information of malignant code |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130077621A KR20130077621A (en) | 2013-07-09 |
KR101306656B1 true KR101306656B1 (en) | 2013-09-10 |
Family
ID=48990826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110146432A KR101306656B1 (en) | 2011-12-29 | 2011-12-29 | Apparatus and method for providing dynamic analysis information of malignant code |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101306656B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101880375B1 (en) * | 2013-12-27 | 2018-07-19 | 맥아피, 엘엘씨 | Segregating executable files exhibiting network activity |
KR101982734B1 (en) * | 2015-10-26 | 2019-05-27 | 삼성에스디에스 주식회사 | Apparatus and method for detecting malicious code |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070049511A (en) * | 2005-11-08 | 2007-05-11 | 한국정보보호진흥원 | Analysis system for malicious code and method thereof |
KR20110057297A (en) * | 2009-11-24 | 2011-06-01 | 한국인터넷진흥원 | Dynamic analyzing system for malicious bot and methods therefore |
KR101051641B1 (en) | 2010-03-30 | 2011-07-26 | 주식회사 안철수연구소 | Mobile communication terminal and behavior based checking virus program method using the same |
KR20110088042A (en) * | 2010-01-28 | 2011-08-03 | 주식회사 안철수연구소 | Apparatus and method for automatically discriminating malicious code |
-
2011
- 2011-12-29 KR KR1020110146432A patent/KR101306656B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070049511A (en) * | 2005-11-08 | 2007-05-11 | 한국정보보호진흥원 | Analysis system for malicious code and method thereof |
KR20110057297A (en) * | 2009-11-24 | 2011-06-01 | 한국인터넷진흥원 | Dynamic analyzing system for malicious bot and methods therefore |
KR20110088042A (en) * | 2010-01-28 | 2011-08-03 | 주식회사 안철수연구소 | Apparatus and method for automatically discriminating malicious code |
KR101051641B1 (en) | 2010-03-30 | 2011-07-26 | 주식회사 안철수연구소 | Mobile communication terminal and behavior based checking virus program method using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20130077621A (en) | 2013-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003764B2 (en) | System and method for exploiting attack detection by validating application stack at runtime | |
US10372444B2 (en) | Android dynamic loading file extraction method, recording medium and system for performing the method | |
US8752182B2 (en) | Pinpointing security vulnerabilities in computer software applications | |
JP5908132B2 (en) | Apparatus and method for detecting attack using vulnerability of program | |
EP3039608B1 (en) | Hardware and software execution profiling | |
US10839077B2 (en) | Detecting malicious software | |
US20180373876A1 (en) | Software security | |
JP2009129451A (en) | Apparatus and method for detecting dynamic link library inserted by malicious code | |
US10599558B1 (en) | System and method for identifying inputs to trigger software bugs | |
US11055168B2 (en) | Unexpected event detection during execution of an application | |
JP2019502197A (en) | System and method for detection of malicious code in runtime generated code | |
US20160224791A1 (en) | Process testing apparatus, process testing program, and process testing method | |
EP2988242B1 (en) | Information processing device, and information processing method | |
CN108319850B (en) | Sandbox detection method, sandbox system and sandbox equipment | |
US10318731B2 (en) | Detection system and detection method | |
KR101306656B1 (en) | Apparatus and method for providing dynamic analysis information of malignant code | |
US8291389B2 (en) | Automatically detecting non-modifying transforms when profiling source code | |
WO2016126206A1 (en) | Method for obfuscation of code using return oriented programming | |
EP2819055B1 (en) | System and method for detecting malicious software using malware trigger scenarios | |
EP3394786B1 (en) | Software security | |
US11314855B2 (en) | Detecting stack pivots using stack artifact verification | |
US9122551B2 (en) | Methods and systems for generating read-only operating systems | |
US20170091066A1 (en) | Debugger write interceptor | |
CN117744082A (en) | Method and device for detecting malicious software in operating system and storage medium | |
Yoon et al. | A Hidden File Extraction Scheme Defeating Malware Using Android Dynamic Loading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160905 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170904 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180904 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190904 Year of fee payment: 7 |