KR101404882B1 - A system for sorting malicious code based on the behavior and a method thereof - Google Patents

A system for sorting malicious code based on the behavior and a method thereof Download PDF

Info

Publication number
KR101404882B1
KR101404882B1 KR1020130008033A KR20130008033A KR101404882B1 KR 101404882 B1 KR101404882 B1 KR 101404882B1 KR 1020130008033 A KR1020130008033 A KR 1020130008033A KR 20130008033 A KR20130008033 A KR 20130008033A KR 101404882 B1 KR101404882 B1 KR 101404882B1
Authority
KR
South Korea
Prior art keywords
file
analysis
malicious code
pattern
api
Prior art date
Application number
KR1020130008033A
Other languages
Korean (ko)
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 KR1020130008033A priority Critical patent/KR101404882B1/en
Application granted granted Critical
Publication of KR101404882B1 publication Critical patent/KR101404882B1/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/561Virus type analysis
    • 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/52Monitoring 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a system for sorting a malicious code based on a behavior and a method thereof and, more particularly, to a system for sorting a malicious code based on a behavior and a method thereof, capable of measuring the risk score of the behavior by analyzing a parameter and API called in the execution of a file which is an analysis object and calculating the risk of the file by summing up the risk scores. According to the present invention, a malicious code detection error is reduced and an unknown malicious code is efficiently detected by analyzing the behavior based on parameter and API information called in the execution of the file.

Description

행위를 기반으로 한 악성코드 분류시스템 및 분류방법{A SYSTEM FOR SORTING MALICIOUS CODE BASED ON THE BEHAVIOR AND A METHOD THEREOF}FIELD OF THE INVENTION [0001] The present invention relates to malicious code classification systems and classification methods based on malicious codes,

본 발명은 행위를 기반으로 한 악성코드 분류시스템 및 분류방법에 관한 것으로서, 보다 상세하게는 분석의 대상이 되는 파일의 실행시에 호출되는 API와 파라메터를 분석하여 행위의 위험점수를 측정하고, 위험점수를 합산하여 파일의 위험도를 계산하는 행위를 기반으로 한 악성코드 분류시스템 및 분류방법에 관한 것이다.The present invention relates to a malicious code classification system and a classification method based on an action, and more particularly, to a malicious code classification system and a classification method based on an action, in which an API and parameters called at the time of execution of a file to be analyzed are analyzed, And calculating the risk of the file by summing the scores of the malicious codes.

종래의 악성코드 탐지 시스템은 파일 및 프로세스에 포함된 바이너리 패턴과 사전에 등록되어 있는 바이너리 패턴을 비교 판단하는 방법, 또는 비정형 악성코드를 탐지하기 위해 특정 행위에 대한 패턴을 정의하고 모니터링 시스템에 해당 패턴이 탐지되었을 경우 이를 처리하는 방법을 사용한다.A conventional malicious code detection system is a system that compares a binary pattern included in a file and a process with a binary pattern registered in advance or a pattern for a specific action in order to detect an unstructured malicious code, If detected, use a method to handle it.

바이너리 패턴을 비교하여 악성코드를 탐지하는 시스템은 사전에 분석을 통해 정확한 탐지와 분류를 기대할 수 있으나, 새로운 악성코드 및 변종이 출현할 경우 진단이 어렵고, 정적 분석이 끝난 후에 데이터베이스에 반영이 되기 때문에 신속한 처리가 어렵다. 이러한 단점을 보완하는 방안으로 행위 기반 악성코드 탐지에 대한 연구가 이루어지고 있다.A system that detects malicious codes by comparing binary patterns can expect accurate detection and classification through analysis beforehand, but it is difficult to diagnose new malicious codes and variants when they appear and is reflected in the database after the static analysis is finished Rapid processing is difficult. In order to overcome these drawbacks, there is a study on behavior - based malicious code detection.

종래기술의 하나인 공개특허 제2008-0047261호 "프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템"은 행위 기반 악성코드 탐지 기법을 사용하고 있으나 행위 탐지를 위해 시스템 전체를 모니터링하기 때문에 시스템 내에서 사용되는 정상행위를 탐지할 수 있는 여지가 있고, 이를 피하기 위한 처리 모듈이 별도로 존재해야 하기 때문에 시스템 부하 및 탐지 성능 저하를 유발할 수 있는 단점이 있다. 또한 이러한 행위 기반 분석 방식은 파일 분석을 자동으로 처리하는 시스템과는 목적 자체에서 차이가 있다.Open No. 2008-0047261, which is one of the prior arts, "Atypical malicious code detection method and system using process action prediction technique" uses behavior-based malicious code detection technique, There is a room for detecting a normal operation used in the system, and there is a disadvantage that system load and detection performance may be deteriorated because a processing module for avoiding it has to exist separately. Also, this behavior-based analysis method differs from the purpose of the system that processes file analysis automatically.

또 다른 종래기술인 공개특허 제2011-0088042호 "악성 코드 자동 판별 장치 및 방법"은 다양한 악성코드에 대한 자동 판별이라는 점에서 목적이 유사하나, 행위 탐지 방식에 있어 구체적인 방법이 나와있지 않으며, 분류 또한 단순히 해시(HASH)만을 추출하기 때문에 다시 분석을 통해 어떤 악성코드인지 정의를 해야 하는 단점이 있다.Another prior art Patent Publication No. 2011-0088042 entitled " Malicious Code Automatic Discriminator & Method "has a similar purpose in that it is an automatic discrimination for various malicious codes, but there is no specific method for detecting a malicious code. Since only HASH is extracted, there is a disadvantage that some malicious code should be defined through analysis again.

또 다른 종래기술인 공개특허 제2012-0073018호 "악성 코드 탐지를 위한 시스템 및 방법"은 분석 대상이 되는 파일에 포함된 API(Application programming interface)에 대한 정보를 수집하여 분석을 하기는 하지만, 여러 API를 사전에 구성된 128개의 행위 노드로 추상화하여 이를 기반으로 패턴을 만들어 내는데, 이때 파일에서 나타날 수 있는 노드를 줄여가며 부분 그래프를 모두 만들어 저장한다.Another prior art Patent Application No. 2012-0073018 entitled " System and Method for Detecting Malicious Code "collects information on an API (Application Programming Interface) included in a file to be analyzed and analyzes it, Is abstracted into 128 pre-configured behavior nodes, and generates a pattern based on this. In this case, all the partial graphs are saved by reducing the number of nodes that can appear in the file.

그러나 API를 어떻게 사용할 것인지를 설명하는 핵심적인 내용인 파라메터를 수집하지 않기 때문에 파일의 정확한 행위 내용을 파악할 수 없다. 또한 사전에 지정된 행위만을 추적할 수 있기 때문에 새로운 악성코드가 발견되었을 때 기존에 유사한 패턴이 존재하지 않을 경우 악성 여부를 판단할 수 있는 방법이 없다.However, we can not figure out the exact behavior of the file because we do not collect the key parameters that explain how to use the API. In addition, since it is possible to trace only predetermined actions, there is no way to judge whether malicious code is present when a new malicious code is found in the absence of a similar pattern.

KRKR 10-2008-004726110-2008-0047261 AA KRKR 10-2011-008804210-2011-0088042 AA KRKR 10-2012-007301810-2012-0073018 AA

전술한 문제점을 해결하기 위한 본 발명은 분석 대상이 되는 파일이 실행하는 프로세스들에 대해 모든 API 호출 정보를 수집하고, 미리 정해진 규칙에 따라 행위 단위로 변환, 개별 행위에 부여한 특성 및 악성 수치 정보를 종합하여 자동으로 악성코드 여부를 판단하도록 하는 행위를 기반으로 한 악성코드 분류시스템 및 분류방법을 제공하는 것을 목적으로 한다.According to an aspect of the present invention, there is provided an information processing method for collecting all API call information for processes executed by a file to be analyzed, converting the API call information into an action unit according to a predetermined rule, The present invention also provides a malicious code classification system and a classification method based on the operation of automatically determining whether malicious code is included.

또한 본 발명은 악성코드로 확인된 파일일 경우, 행위를 패턴화하여 기존 패턴 DB와의 유사도 측정을 통해 다시 자동으로 분류함으로써 구체적인 분류 정보를 제공하고, 또한 클라이언트에서 이루어지는 개별적인 분석을 서버에서 통합적으로 관리하고 분석함으로써 기하 급수적으로 늘어나는 악성코드에 대해 신속하고 정밀한 분석 정보를 제공할 수 있도록 하는 행위를 기반으로 한 악성코드 분류시스템 및 분류방법을 제공하는 것을 목적으로 한다.In the case of a file identified as malicious code, the present invention also provides detailed classification information by patterning the behavior and classifying the behavior again by automatically measuring the similarity with the existing pattern DB, and collectively managing the individual analysis performed by the client The present invention is to provide a malicious code classification system and a classification method based on an act of providing quick and precise analysis information on an exponentially growing malicious code.

전술한 문제점을 해결하기 위해 안출된 본 발명은 분석 대상 파일을 실행할 때 호출되는 API(Application programming interface)와 파라메터를 분석하여 상기 분석 대상 파일의 위험도를 계산하는 분류시스템으로서, 외부의 악성코드 관리서버를 통해 상기 분석 대상 파일을 수집하고, 수집된 상기 분석 대상 파일에 대한 구조화된 데이터셋을 생성하여 관리대상파일DB(112)에 저장하고, 상기 분석 대상 파일에 대한 분석 결과를 관리자 또는 네트워크 사용자에게 전달하는 통합관리부(102)와; 상기 관리대상파일DB(112)를 확인하여 상기 분석 대상 파일이 존재하는 지를 검사하고, 상기 분석 대상 파일의 데이터셋에 포함된 플래그 값을 '분석 시작'으로 변경한 후 전달하는 선처리부(104)와; 상기 분석 대상 파일의 실행시에 호출되는 API와, 상기 API의 호출에 사용된 파라메터가 기록된 로그 파일을 생성하는 행위감시부(106)와; 상기 행위감시부(106)가 생성한 상기 로그 파일에서 상기 API와 상기 파라메터를 구분하고, 상기 API와 상기 파라메터를 개별적인 행위로 인식 가능하도록 변환하여 변환 로그 파일을 생성하고, 상기 API와 상기 파라메터에 의해 이루어지는 행위를 식별하기 위한 정보를 행위구분정책 데이터셋에 기록하며, 상기 분석 대상 파일의 실행시에 이루어지는 프로세스의 위험도를 부여하는 분석부(108)와; 상기 분석 대상 파일의 패턴과, 악성코드패턴DB(114)에 저장된 기존 악성코드의 패턴을 비교하여 유사도가 소정의 기준치를 초과할 경우, 상기 분석 대상 파일의 데이터셋에 유사패턴에 대한 정보를 기록하는 분류부(110);를 포함한다.According to an aspect of the present invention, there is provided a classification system for calculating a risk of an analysis object file by analyzing an application programming interface (API) and parameters called when an analysis object file is executed, And stores the collected data in a management object DB 112. The analysis result of the analysis object file is sent to an administrator or a network user An integrated management unit 102 for transferring the information; A line processor 104 for checking whether the file to be analyzed exists by checking the management object file DB 112, changing the flag value included in the data set of the analysis object file to 'analysis start' Wow; An action monitoring unit (106) for generating an API to be called when the analysis target file is executed and a log file in which parameters used in the API call are recorded; The action monitoring unit 106 distinguishes the API and the parameter from the log file generated by the behavior monitoring unit 106, converts the API and the parameter so as to be recognized as an individual action, generates a conversion log file, An analysis unit 108 for recording information for identifying an action performed by the analysis unit 108 in a behavior classification policy data set and giving a risk of a process performed when the analysis object file is executed; If the pattern of the analysis object file is compared with a pattern of existing malicious code stored in the malicious code pattern DB 114 and the similarity degree exceeds a predetermined reference value, information on a similar pattern is recorded in the data set of the analysis object file And a classifying unit 110 for classifying the image data.

상기 분석 대상 파일에 대한 구조화된 데이터셋에는 작업ID, 해시값(HASH), 파일이름, 파일크기, 환경변수, 위험도, 분류패턴, 유사패턴, 유사도, 플래그, 분석 시작시간, 분석 종료시간이 기록되는 것을 특징으로 한다.A file name, a file size, an environmental variable, a risk level, a classification pattern, a similar pattern, a similarity, a flag, an analysis start time, and an analysis end time are recorded in the structured data set for the analysis object file .

상기 분석부(108)가 생성하는 변환 로그 파일은 하나의 'API(API의 약칭)'와, 하나 이상의 'Param(변수)'를 포함하는 것을 특징으로 한다.The conversion log file generated by the analysis unit 108 includes one API (abbreviated as API) and one or more 'Param (variable)'.

상기 분석부(108)는 상기 프로세스의 행위가 방화벽을 해제하는 행위이거나, 파일 접근 권한을 낮추는 행위 중 하나인 경우에 의심 행위로 판단하며, 상기 프로세스의 행위가 보안 프로그램을 삭제하는 행위이거나, 시스템 파일을 다른 파일로 교체하는 행위 중 하나인 경우에는 악성 행위로 판단하는 것을 특징으로 한다.The analyzing unit 108 determines that the process is a suspicious action when the process is one of releasing a firewall or lowering a file access privilege. If the action of the process is to delete the security program, And if the file is one of the actions for replacing the file with another file, the malicious action is determined.

다른 실시예에 따른 본 발명은 악성코드 분류시스템을 이용하여 분석 대상 파일의 위험도를 계산하는 분류방법으로서, 통합관리부(102)가 외부의 서버로부터 보내진 파일에 대한 구조화된 데이터셋을 생성하여 관리대상파일DB(112)에 저장하는 제1단계와; 선처리부(104)가 상기 관리대상파일DB(112)에 저장된 파일 중에서 분석 대상 파일을 검색하고, 상기 분석 대상 파일의 구조화된 데이터셋에 포함된 플래그 값을 '분석 시작'으로 변경한 후, 행위감시부(106)로 전달하는 제2단계와; 상기 행위감시부(106)가 상기 분석 대상 파일의 실행시에 호출되는 API와, 상기 API의 호출에 사용된 파라메터가 기록된 로그 파일을 생성하여 분석부(108)로 전달하는 제3단계와; 분석부(108)가 상기 로그 파일에서 상기 API와 상기 파라메터를 구분하고, 상기 API와 상기 파라메터를 개별적인 행위로 인식 가능하도록 변환하여 변환 로그 파일을 생성하는 제4단계와; 상기 분석부(108)가 상기 변환 로그 파일을 분석하여 상기 분석 대상 파일의 실행시에 이루어지는 프로세스의 위험도를 부여하는 제5단계;를 포함한다.According to another embodiment of the present invention, there is provided a classification method for calculating a risk of an analysis object file using a malicious code classification system, the integrated management part 102 generating a structured data set for a file sent from an external server, In a file DB (112); Line processing unit 104 searches the file to be analyzed out of the files stored in the management subject file DB 112 and changes the flag value included in the structured data set of the analysis object file to "analysis start" To the monitoring unit (106); A third step of generating and transmitting to the analysis unit 108 a log file in which the behavior monitoring unit 106 records an API that is called when the analysis object file is executed and a parameter used in the API call; A fourth step of separating the API and the parameter from the log file and converting the API and the parameter so that they can be recognized as individual behaviors to generate a conversion log file; And a fifth step of analyzing the conversion log file by the analysis unit 108 to give a risk of a process performed when the analysis target file is executed.

상기 분석 대상 파일에 대한 구조화된 데이터셋에는 작업ID, 해시값(HASH), 파일이름, 파일크기, 환경변수, 위험도, 분류패턴, 유사패턴, 유사도, 플래그, 분석 시작시간, 분석 종료시간이 기록되는 것을 특징으로 한다.A file name, a file size, an environmental variable, a risk level, a classification pattern, a similar pattern, a similarity, a flag, an analysis start time, and an analysis end time are recorded in the structured data set for the analysis object file .

제4단계에서 상기 분석부(108)가 생성하는 변환 로그 파일은 하나의 'API(API의 약칭)'와, 하나 이상의 'Param(변수)'를 포함하는 것을 특징으로 한다.In the fourth step, the conversion log file generated by the analysis unit 108 includes one API (abbreviated as API) and one or more 'Param (variable)'.

상기 제5단계는 상기 분석부(108)가 상기 프로세스의 행위가 방화벽을 해제하는 행위이거나, 파일 접근 권한을 낮추는 행위 중 하나인 경우에 의심 행위로 판단하며, 상기 프로세스의 행위가 보안 프로그램을 삭제하는 행위이거나, 시스템 파일을 다른 파일로 교체하는 행위 중 하나인 경우에는 악성 행위로 판단하는 것을 특징으로 한다.In the fifth step, if the analysis unit 108 determines that the process is one of releasing a firewall or lowering a file access privilege, the analyzing unit 108 determines that the process is suspicious. Or if the system file is replaced with another file, the malicious action is determined.

분류부(110)가 상기 분석 대상 파일에서 생성한 샘플 패턴과, 악성코드패턴DB(114)에 저장된 악성코드의 패턴의 유사도를 비교하여 기준치를 넘는 경우, 상기 샘플 패턴에 기존의 악성코드의 패턴의 이름을 부여하며, 기준치에 못 미치는 경우, 새로운 패턴 이름을 생성하여 부여하는 제6단계;를 추가로 포함한다.When the classification unit 110 compares the similarity of the pattern of the malicious code stored in the malicious code pattern DB 114 with the sample pattern generated in the analysis object file and exceeds the reference value, the pattern of the existing malicious code And a sixth step of generating a new pattern name if the new pattern name is less than the reference value.

상기 분류부(110)는 새로운 패턴 이름을 악성코드패턴DB(114)에 등록하는 제7단계;를 추가로 포함한다.The classifying unit 110 further includes a seventh step of registering a new pattern name in the malicious code pattern DB 114. [

본 발명에 따르면 파일이 실행되는 도중에 호출하는 API와 파라메터 정보를 바탕으로 행위를 분석함으로써 악성코드 탐지에서 오류를 줄이고 알려지지 않은 악성코드에 대해서도 효과적인 탐지가 가능해지는 효과가 있다.According to the present invention, by analyzing the behavior based on the API and parameter information to be called during execution of the file, it is possible to reduce errors in malicious code detection and effectively detect unknown malicious codes.

또한 악성으로 탐지된 파일에 대해 그 행위들을 패턴화하여 자동 분류하고 데이터화 함으로써 어떤 악성코드인지, 언제부터 유포된 악성코드인지, 같이 분류된 다른 악성코드는 무엇인지 등 부가적인 정보를 제공할 수 있어서 악성코드에 대한 대응력을 향상시킬 수 있는 효과가 있다.In addition, it can provide additional information such as what kind of malicious code, malicious code distributed from when, what other malicious code is classified, etc., It is possible to improve the responsiveness to malicious codes.

도 1은 본 발명의 실시예에 따른 분류시스템의 구조를 나타낸 블럭도.
도 2는 분석대상파일의 데이터셋의 구조를 나타낸 블럭도.
도 3은 선처리부의 동작 과정을 나타낸 순서도.
도 4는 분석부의 구조를 나타낸 블럭도.
도 5는 분류부의 구조를 나타낸 블럭도.
도 6은 분석부 및 분류부의 동작 과정을 나타낸 순서도.
도 7은 행위구분 데이터셋의 구조를 나타낸 블럭도.
도 8은 패턴화된 행위와 기존 패턴의 유사도를 측정하는 방식을 그래픽으로 나타낸 개념도.
도 9는 각각의 행위에 따른 대표적인 속성의 종류를 나타낸 개념도.
1 is a block diagram showing the structure of a classification system according to an embodiment of the present invention;
2 is a block diagram showing the structure of a data set of an analysis object file;
3 is a flowchart showing an operation process of the pre-processing unit;
4 is a block diagram showing the structure of the analysis unit;
5 is a block diagram showing the structure of a classification unit;
6 is a flowchart showing an operation process of the analyzer and the classifier;
7 is a block diagram showing the structure of a behavior classification data set;
8 is a conceptual diagram graphically illustrating a method of measuring the degree of similarity between a patterned action and an existing pattern.
FIG. 9 is a conceptual diagram showing representative types of attributes according to each action. FIG.

이하에서 도면을 참조하여 본 발명의 실시예에 따른 "행위를 기반으로 한 악성코드 분류시스템 및 분류방법"을 설명한다.Hereinafter, a malicious code classification system and classification method based on an action according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 분류시스템의 구조를 나타낸 블럭도이다.1 is a block diagram showing the structure of a classification system according to an embodiment of the present invention.

본 발명의 "행위를 기반으로 한 악성코드 분류시스템"(이하, '분류시스템'이라 함)은 다수의 PC(200)와 네트워크를 통해 연결되는 서버 또는 클라이언트일 수 있다. 분류시스템(100)은 외부에 연결된 다수의 PC(200)에 분석 작업의 일부 과정을 위탁함으로써 작업 부하를 줄일 수 있다.The malicious code classification system based on an action (hereinafter referred to as a "classification system") of the present invention may be a server or a client connected to a plurality of PCs 200 through a network. The classification system 100 can reduce the workload by entrusting a plurality of PC 200 connected to the outside with a part of the analysis work.

통합관리부(102)는 외부로부터 악성코드와 관련된 파일을 전송받고, 분석 결과를 종합하여 관리자 또는 네트워크 사용자들에게 전달한다.The integrated management unit 102 receives a malicious code-related file from the outside and transmits the analysis result to the administrator or network users.

통합관리부(102)는 외부의 악성코드 관리서버(도면 미도시)를 통해 파일을 수집하고, 관리대상파일DB(112)와 악성코드패턴DB(114), 로그변환정책테이블(116), 행위구분정책테이블(118)을 웹페이지를 통해 통합적으로 접근 및 수정할 수 있도록 하는 기능을 제공한다.The integrated management unit 102 collects files via an external malicious code management server (not shown) and stores the malicious code in the management target file DB 112, the malicious code pattern DB 114, the log conversion policy table 116, And provides a function that allows the policy table 118 to be accessed and modified in a integrated manner through a web page.

통합관리부(102)가 수집하는 파일은 악성코드와 관련된 모든 파일로서 특정 형식에 제한되지 않는다. 외부의 서버로부터 보내진 파일들이 분류시스템(100)에 전달되면 파일의 데이터 구조를 분석 과정에 맞게 구성한다.The files collected by the integrated management unit 102 are all files related to the malicious code and are not limited to a specific format. When the files sent from the external server are transferred to the classification system 100, the data structure of the file is configured according to the analysis process.

도 2는 분석대상파일의 데이터셋의 구조를 나타낸 블럭도이다.2 is a block diagram showing a structure of a data set of an analysis object file.

통합관리부(102)는 수집된 파일로부터 작업ID, 해시값(HASH), 파일이름, 파일크기, 환경변수, 위험도, 분류패턴, 유사패턴, 유사도, 플래그, 분석 시작시간, 분석 종료시간으로 구조화된 데이터셋을 생성하고 작업ID를 정해진 방법과 순서에 따라 설정한다. 이후 작업ID를 이용하여 파일을 구분하면서 해시값, 파일이름, 파일크기, 환경변수, 분석 시작시간을 자동으로 입력한다.The integrated management unit 102 extracts the structured data from the collected files with the job ID, the hash value (HASH), the file name, the file size, the environmental variable, the risk level, the classification pattern, the similar pattern, Create a dataset and set the job ID according to the method and order specified. After that, the hash value, the file name, the file size, the environment variable, and the start time of the analysis are automatically input by identifying the file using the operation ID.

여기서 환경변수란 외부의 서버로부터 전달받는 정보로서, 특정 응용 프로그램(예: MS Office, 한글 등)의 사용 여부를 처리하기 위한 용도로 사용되는 식별 데이터이다. 즉, 분석 대상이 되는 파일을 실행하는데 사용되는 응용 프로그램의 명칭 또는 종류를 나타내는 데이터로서, 환경변수에 저장되는 데이터값은 한글(HWP), 워드, 파워포인트, 엑셀, 플래시 플레이어, 어도비 리더(PDF), 인터넷 익스플로러, 파이어 폭스, 크롬 등이 포함된다. 통합관리부(102)는 파일의 확장자를 분석하여 어떤 응용 프로그램에 의해 실행되는 파일인지를 확인할 수 있지만, 확장자가 없는 파일의 경우에는 환경변수의 데이터값을 통해 어떤 응용 프로그램으로 실행되어야 하는지를 파악할 수 있다.Here, the environment variable is identification data used for processing the use of a specific application program (for example, MS Office, Hangul, etc.) as information received from an external server. In other words, data indicating the name or type of an application program used to execute a file to be analyzed, and data values stored in environment variables include HWP, Word, PowerPoint, Excel, Flash player, ), Internet Explorer, Firefox, and Chrome. The integrated management unit 102 analyzes the extension of the file to determine which application program is executed. However, in the case of a file having no extension, the integrated management unit 102 can determine which application program should be executed through the data value of the environment variable .

환경변수는 설치하는 응용 프로그램만큼 계속해서 확장을 할 수 있어 손상된 파일이나 아직 설치되지 않은 응용 프로그램 형식의 파일을 제외한 다양한 파일 분석이 가능하도록 한다.Environment variables can be continuously expanded as much as the application you are installing, making it possible to analyze a variety of files, except for damaged or non-installed application-type files.

통합관리부(102)는 모든 수집된 파일에 작업ID를 생성하고, 순서대로 관리대상파일DB(112)에 저장한 후 선처리부(104)에 파일을 전송하면, 작업ID가 생성된 시간에 따라 자동으로 선처리부(104)에서 사전 검사를 수행하게 된다.The integrated management unit 102 generates job IDs for all the collected files, sequentially stores them in the management object file DB 112, and then transfers the files to the line processing unit 104. Then, The pre-processing unit 104 performs a pre-inspection.

선처리부(104)는 관리대상파일DB(112)를 주기적으로 확인하여 조건에 맞는 파일을 행위감시부(106)로 전달하는 역할을 한다.The pre-processing unit 104 periodically checks the management object file DB 112 and transfers the file matching the condition to the behavior monitoring unit 106.

도 3은 선처리부의 동작 과정을 나타낸 순서도이다.3 is a flowchart showing an operation process of the pre-processing unit.

먼저 선처리부(104)는 관리대상파일DB(112)에 접속하여 저장되어 있는 파일의 데이터셋의 플래그 값이 무엇인지를 확인함으로써 분석 대상 파일이 존재하는지를 검사한다.(S102, S104)First, the line processing unit 104 checks whether there is a file to be analyzed by checking the flag value of the data set of the file stored in the management object file DB 112 (S102, S104)

플래그 값은 '대기'와 '분석 시작', '분석 종료'의 세 가지 중 어느 하나로 기록된다. '대기'는 아직 분석이 시작되지 않은 파일을 표시하는 값이며, '분석 시작'은 분석이 시작되어 확인이 진행 중인 파일을 표시하는 값이며, '분석 종료'는 분석이 완료되어 악성코드인지에 대한 분류가 종료된 파일을 표시하는 값이다.The flag value is recorded in one of three states: 'wait', 'start analysis', and 'end analysis'. 'Waiting' is a value indicating a file that has not yet been analyzed. 'Start Analysis' is a value indicating the file in which analysis is started and the analysis is in progress. 'End Analysis' This is a value indicating a file that has been classified.

선처리부(104)는 데이터셋에서 플래그 값이 '대기'인 파일의 작업ID를 확인하고, '대기'인 파일이 존재하는 경우에 입력받은 시간에 따라 순차적으로 각각의 파일이 실행 가능한 파일인지를 확인한다. 실행 가능 파일인지를 확인하기 위해서는 대상 파일의 데이터셋에 환경변수가 존재하는지를 확인한다.(S106) 환경변수가 존재하지 않으면 윈도우 시스템에서 로딩이 가능한 PE(Portable Executable) 파일 포맷인지를 확인한다.(S108)The line processor 104 checks the job ID of a file whose flag value is 'waiting' in the data set, and determines whether each file is executable sequentially according to the input time when there is a file 'waiting' Check. (S106). If the environment variable does not exist, it is checked whether or not the PE (Portable Executable) file format that can be loaded in the Windows system is present. S108)

환경변수 존재를 확인하는 이유는 환경변수가 존재할 경우 파일의 실행에 필요한 응용 프로그램을 바로 확인할 수 있어서 별도로 윈도우에서 실행 가능한지에 대한 확인이 필요하지 않기 때문이다. 환경변수가 없다면 PE 파일 포맷인지를 확인하고, PE 파일 포맷을 따르지 않는 파일의 경우에는 분석을 하지 않고 종료한다.The reason for confirming the existence of the environment variable is that if the environment variable exists, it is possible to directly check the application program necessary for executing the file, so that it is not necessary to check whether the environment variable is executable in Windows. If there is no environment variable, check whether it is a PE file format. If the file does not conform to the PE file format, it ends without analysis.

PE 파일 포맷을 사용하는 파일은 "exe, dll, ocx, sys, drv" 등의 확장자를 가지는데, 파일 내부의 바이너리 덤프의 값이 'MZ'로 시작하는 공통점을 가지고 있다. 따라서 선처리부(104)는 파일에 환경변수가 없다면 바이너리 덤프의 값을 확인하여 PE 파일 포맷을 따르는지를 확인하게 된다.Files that use the PE file format have extensions such as "exe, dll, ocx, sys, drv", and the binary dump value in the file has a common point that starts with 'MZ'. Therefore, if there is no environment variable in the file, the line processing unit 104 checks the value of the binary dump and confirms that it conforms to the PE file format.

다시 말해서 파일의 데이터셋에 환경변수가 기록되어 있거나 PE 포맷의 파일인 경우에는 윈도우 시스템에서 '실행 가능한 파일'이기 때문에 악성코드 분석의 대상이 되며, 어느 경우에도 해당하지 않으면 분석 대상으로 삼지 않는다.In other words, if the environment variable is recorded in the dataset of the file or the file is in the PE format, it is an executable file in the window system, so it is subjected to malicious code analysis.

선처리부(104)는 관리대상파일DB(112)에 저장된 파일의 플래그 값이 '대기'이고, 윈도우에서 실행 가능한 파일인 것으로 파악되면, '악성코드 분석 대상에서 제외되어야 할 파일의 리스트'(이하, '화이트리스트'라 함)에 포함된 파일과 동일한지를 확인한다.(S110)When the flag value of the file stored in the management object file DB 112 is 'standby' and it is judged that the file is executable in the window, the line processing unit 104 deletes the 'list of files to be excluded from malicious code analysis' , &Quot; white list ") (S110)

화이트리스트는 악성코드가 아닌 것으로 이미 명백하게 판단을 받은 파일에 대한 정보로서, 악성코드 분석의 필요가 없는 안전한 파일을 미리 등록하여 선처리부(104)의 작업 부하를 줄이기 위해서 사용된다.The whitelist is used to reduce the workload of the pre-processing unit 104 by registering in advance a secure file that does not require malicious code analysis, as information on a file that has already been clearly judged as being not a malicious code.

화이트리스트에 대한 정보는 관리대상파일DB(112)에 저장되는데, 선처리부(104)는 플래그 값이 '대기'이면서 '실행 가능한 파일'이 화이트리스트에 포함되어 있는지를 확인하고, 포함되어 있다면 해당 파일의 플래그 값을 '분석 종료'로 변경한 후 분석 절차를 중단한다.(S114) 그러나 화이트리스트에 포함되어 있지 않은 경우에는 해당 파일의 플래그 값을 '분석 시작'으로 변경한다.(S112) 그리고 다음 절차를 위해 해당 파일을 행위감시부(106)로 전달한다.(S116)Information on the whitelist is stored in the management object file DB 112. The pre-processing unit 104 checks whether the 'executable file' is included in the whitelist while the flag value is 'standby' (S114). However, if the flag value of the file is not included in the whitelist, the flag value of the file is changed to 'start analysis' (S112). And transmits the file to the behavior monitoring unit 106 for the next procedure (S116)

행위감시부(106)는 프로세스의 분석 작업을 수행하는 하나 이상의 PC(200)와 연결되는 부분으로서, PC(200)에 대한 분석 프로그램 설치모듈과 대상 파일의 실행시에 수행되는 행위에 대한 감시모듈로 구성된다. 행위감시부(106)는 파일의 API와 파라메터를 분석하여 각각의 행위들을 식별할 수 있는 파일을 생성하는데, 분석에 소요되는 시간과 부하를 줄이기 위해서 외부에 연결된 하나 이상의 PC(200)에 분석 작업을 위탁할 수 있다. 그러나 이것은 선택적인 것으로서, 행위감시부(106)가 모든 분석 작업을 수행할 수도 있다.The action monitoring unit 106 is connected to one or more PCs 200 that perform an analysis process of a process. The action monitoring unit 106 includes an analysis program install module for the PC 200 and a monitoring module . The behavior monitoring unit 106 analyzes the APIs and parameters of the file to generate a file that can identify the respective actions. In order to reduce the time and load required for the analysis, one or more PCs Can be commissioned. However, this is optional and the behavior monitoring unit 106 may perform all the analysis work.

설치모듈은 32/64비트(bit)와 환경변수를 확인하여 특정 프로그램 등 조건에 만족하는 실행 가능한 파일을 분석 PC(200)에 분배 및 실행한다. 감시모듈은 파일의 실행시 생성되거나 참조되는 프로세스의 API를 감시한다. 그리고 호출되는 API와, API 호출에 사용된 파라메터들을 '로그 파일'로 출력하고, 프로세스가 종료되거나 무한 대기 상태를 막기 위해 지정된 시간이 지나면 시스템을 초기 상태로 되돌린다. 코드의 흐름은 여러 프로세스에 걸쳐 나타날 수 있기 때문에 프로세스별로 로그 파일을 만들어 분석을 통해 연관 관계를 찾을 수 있도록 한다.The installation module checks 32/64 bit (bit) and environment variables, and distributes and executes executable files satisfying the conditions of a specific program and the like to the analysis PC 200. The monitoring module monitors the API of the process that is created or referenced when the file is executed. It then outputs the APIs to be called and the parameters used in the API call as 'log files' and returns the system to its initial state after a specified time to terminate the process or prevent infinite waiting. Because the flow of code can occur across multiple processes, you can create log files on a per-process basis to help you find relationships through analysis.

행위감시부(106)가 출력하는 로그 파일의 예는 다음과 같다.
An example of the log file outputted by the behavior monitoring unit 106 is as follows.

- 특정 파일을 실행시킬 때의 로그 파일 내용- Log file contents when executing specific file TimestampTimestamp APIAPI ParametersParameters StatusStatus 19:26:44:17119: 26: 44: 171 CreateProcessInternalWCreateProcessInternalW lpApplicationName => (null)
lpCommandLine=> C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe
dwCreationFlags=> (null)
lpApplicationName => (null)
lpCommandLine => C: \ DOCUME ~ 1 \ ADMINI ~ 1 \ LOCALS ~ 1 \ Temp \ a.exe
dwCreationFlags => (null)
SUCCESSSUCCESS
19:26:44:17119: 26: 44: 171 CreateProcessACreateProcessA lpApplicationName => (null)
lpCommandLine=> C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe
dwCreationFlags=> (null)
lpApplicationName => (null)
lpCommandLine => C: \ DOCUME ~ 1 \ ADMINI ~ 1 \ LOCALS ~ 1 \ Temp \ a.exe
dwCreationFlags => (null)
SUCCESSSUCCESS

- 특정 윈도우를 검색할 때의 로그 파일 내용- Log file contents when searching specific window TimestampTimestamp APIAPI ParametersParameters StatusStatus 18:23:53:20618: 23: 53: 206 FindWindowAFindWindowA lpClassName => FileMonClass
lpWindowName=> (null)
lpClassName => FileMonClass
lpWindowName => (null)
FAILUREFAILURE
18:23:53:20618: 23: 53: 206 FindWindowAFindWindowA lpClassName => 18467-41
lpWindowName=> (null)
lpClassName => 18467-41
lpWindowName => (null)
FAILUREFAILURE
18:23:53:20618: 23: 53: 206 FindWindowAFindWindowA lpClassName => OLLYDBG
lpWindowName=> (null)
lpClassName => OLLYDBG
lpWindowName => (null)
FAILUREFAILURE

- 특정 IP로 패킷을 전송할 때의 로그 파일 내용- Log file contents when sending a packet to a specific IP TimestampTimestamp APIAPI ParametersParameters StatusStatus 19:49:42:76119: 49: 42: 761 ConnectConnect IP => 218.xxx.xxx.254
PORT=> 80
IP => 218.xxx.xxx.254
PORT => 80
SUCCESSSUCCESS
19:49:42:76119: 49: 42: 761 SendSend BUF => GET /s/blog.html HTTP/1.0 User-Agent: Mozilla/4.0 (compatible) Host: blog.xxx.com.cn m
LEN=> 108
BUF => GET /s/blog.html HTTP / 1.0 User-Agent: Mozilla / 4.0 (compatible) Host: blog.xxx.com.cn m
LEN => 108
SUCCESSSUCCESS

한편, 도 4는 분석부의 구조를 나타낸 블럭도이며, 도 5는 분류부의 구조를 나타낸 블럭도, 도 6은 분석부 및 분류부의 동작 과정을 나타낸 순서도이다.FIG. 4 is a block diagram illustrating the structure of the analysis unit, FIG. 5 is a block diagram illustrating the structure of the classification unit, and FIG. 6 is a flowchart illustrating an operation process of the analysis unit and the classification unit.

분석부(108)는 로그변환모듈(108a)과 행위구분모듈(108b), 위험도 측정모듈(108c), 프로세스 연관정보 추출모듈(108d)로 구성된다. 또한 분석부(108)는 로그변환정책테이블(116)과 행위구분정책테이블(118)에 저장된 데이터를 각 모듈에 적용하고, 정책 내용이 관리자에 의해 수정되면 정책 파일 수정 시간을 체크하여 각 모듈이 새로운 정책을 적용할 수 있도록 한다.The analysis unit 108 includes a log conversion module 108a, a behavior classification module 108b, a risk measurement module 108c, and a process-related information extraction module 108d. In addition, the analyzer 108 applies the data stored in the log conversion policy table 116 and the behavior classification policy table 118 to each module. If the policy content is modified by the administrator, the module 108 checks the policy file modification time, Allow new policies to be applied.

로그변환모듈(108a)은 행위감시부(106)가 작성하여 전달한 로그 파일을 API 와, API 호출에 사용된 파라메터로 구분하고, 각각의 데이터를 로그변환정책에 따라 개별적인 행위로 인식 가능하도록 변환한다.(S202)The log conversion module 108a divides the log file created and transmitted by the behavior monitoring unit 106 into the API and the parameters used in the API call and converts each data to be recognizable as an individual action according to the log conversion policy (S202)

로그변환정책은 로그 파일을 각각의 행위로 구분하기 전에 선처리를 하기 위한 것으로서, 로그 파일에 포함된 API와 파라메터를 정책에 맞게 변환한다.The log conversion policy is for preprocessing before separating log files into individual behaviors, and converts the APIs and parameters included in the log file according to the policy.

예를 들어 "GetModuleFileNameW"이라는 API와, "hModule => 0x00401050, lpFilename => C:\sample.exe"이라는 파라메터가 포함된 로그 파일이 있다고 가정한다. 여기서, 'hModule => 0x00401050' 같은 경우에는 'hModule'에 들어가는 파라메터 '0x00401050'은 단순히 hex값이기 때문에 로그 변환을 하게 되면 'API(GMFN).Param(Hex).Param(Path)'과 같은 '변환 로그 파일'로 변경된다. 여기서 '0x00401050'을 hex로 변환하는 규칙이 로그변환정책으로서, 로그변환정책에는 이러한 규칙들이 정의되어 있다.For example, suppose you have an API called "GetModuleFileNameW" and a log file that contains the parameters "hModule => 0x00401050, lpFilename => C: \ sample.exe". In this case, parameter '0x00401050' in 'hModule' is simply a hex value in the case of 'hModule => 0x00401050', so when converting log, 'API (GMFN) .Param (Hex) .Param (Path) Conversion log file '. Here, the rule for converting '0x00401050' to hex is a log conversion policy, and these rules are defined in the log conversion policy.

앞서 예를 든 세 가지의 로그 파일 내역 중에서 첫 번째 내역에 포함된 'CreateProcessA'의 경우에는 'API(CPA).Param(null).Param(Path.File).Param(null)'과 같이 기록된다.In the case of 'CreateProcessA' included in the first of the three log files described above, 'API (CPA) .Param (null) .Param (Path.File) .Param (null)' is recorded .

즉, 'API' 다음의 괄호 안에는 API의 약칭(GMFN, CPA 등)이 입력되고, 'Param' 다음의 괄호 안에는 파라메터에 사용되는 변수(Hex, File, null, Path.File 등)가 입력된다.Namely, API abbreviations (GMFN, CPA, etc.) are input in parentheses following 'API', and variables (Hex, File, null, Path.File, etc.) used in parameters are input in parentheses after 'Param'.

로그변환모듈(108a)은 API와 파라메터가 기록된 로그 파일을 파싱(parsing)해서 로그변환정책에 따라 어떤 문자열을 어떻게 변환할지 결정하게 된다.The log conversion module 108a parses the log file in which the API and the parameters are recorded, and determines which character string is converted according to the log conversion policy.

행위구분모듈(108b)은 행위구분정책을 참조해 '변환 로그 파일'을 행위라는 단위로 구분하고, 그 내용을 행위구분정책 데이터셋에 기록한다.The action classifying module 108b refers to the action classifying policy and classifies the 'conversion log file' as an action, and records the contents in the action classifying policy data set.

예를 들어 'API(CF).Param(Path).Param(CA)'라는 단위행위 이후에 'CreateProcess'라는 API와, 'C:\sample.exe'라는 파라메터가 호출되었다면, 추가로 생성될 변환 로그 파일은 'API(CP).Param(Path)'가 되고, 이 두 변환된 정보는 행위구분정책에 의해 파일을 생성하고 실행하는 하나의 행위로 구분된다.(S204)For example, if an API called 'CreateProcess' and a parameter 'C: \ sample.exe' are called after a unit action named 'API (CF) .Param (Path) .Param (CA)', The log file becomes 'API (CP) .Param (Path)', and the converted information is divided into one action for creating and executing a file according to a behavior classification policy (S204)

즉 여기서 두 개의 단위행위가 결합된 하나의 행위 ['API(CF).Param(Path).Param(CA)'+'API(CP).Param(Path)']는 '행위1'(Behavior_1)이 되고, 이러한 행위를 식별하기 위해 행위구분정책에 '행위1'에 대한 정보가 포함된다. 행위구분정책은 '행위1'의 동작에 따른 위험 점수, 속성, 참조 설명으로 구성되고 통합관리부(102)를 통해 관리된다.Here, one action ['API (CF) .Param (Path) .Param (CA)' + 'API (CP) .Param (Path)'] , And information on 'action 1' is included in the action classification policy to identify such action. The action classification policy is composed of a risk score, an attribute, and a reference description according to the action of 'action 1', and is managed through the integrated management unit 102.

도 7은 행위구분정책 데이터셋의 구조를 나타낸 블럭도이다.7 is a block diagram showing the structure of a behavior classification policy dataset.

행위구분정책 데이터셋에는 하나의 파일이 실행되면서 이루어지는 행위의 속성과 위험점수가 측정되며, 이러한 내용은 행위구분정책테이블(118)에 저장된다.(S206)In the behavior classification policy data set, the attribute of the behavior and the risk score are measured when one file is executed, and these contents are stored in the behavior classification policy table 118 (S206)

도 7에 도시된 바와 같이, 행위 ID가 1인 행위는 "CreateFile이라는 API와 CREATE_ALWAYS라는 파라메터를 사용"하는 것을 내용으로 하며, 시스템 담당자인 '관리자1'이 이러한 코드(파일 생성)를 가진 파일에 위험점수 '0'을 부여하여 저장한다.As shown in FIG. 7, an action having an action ID of 1 uses "API CreateFile and a parameter called CREATE_ALWAYS", and the system manager 'Manager 1' uses a file having such code (file creation) A risk score of '0' is given and stored.

또한 행위 ID가 2인 행위는 "방화벽에 자신을 추가하는 행위"로서, 속성은 특별히 어디에 속하지 않기 때문에 지정하지 않고, 위험점수는 '1'을 부여하여 저장한다.In addition, an action ID 2 is an action to add itself to the firewall, and the attribute is not designated because it does not belong to any particular place, and the risk score is stored with a value of '1'.

행위구분모듈(108b)은 관리자가 지정한 내용을 포함하는 행위구분정책 데이터셋을 생성하여 저장한다.The behavior classifying module 108b generates and stores a behavior classifying policy dataset including contents designated by the administrator.

위험도 측정모듈(108c)은 행위구분모듈(108b)이 보낸 행위 데이터를 종합하여 프로세스별로 위험도를 부여한다.(S208) 이후 측정된 위험도를 정책에 따라 정상, 의심, 악성으로 구분하고 위험도가 악성 행위 기준에 포함되는 경우 분류부(110)로 작업 ID를 전달한다. 악성이 아닌 경우 작업 ID에 유사도를 정상 또는 의심 결과로 표시하고, 분석대상파일의 데이터셋에서 분석 종료시간을 업데이트한 후 최종 종료한다. 업데이트된 데이터셋은 관리대상파일DB(112)에 저장된다.The risk measurement module 108c compiles the action data sent from the action classifying module 108b and assigns a risk to each process (S208). Then, the measured risk is classified into normal, suspicious, and malicious according to the policy. And transmits the job ID to the classifying unit 110 when it is included in the criterion. If it is not malicious, the similarity is displayed as a normal or suspicious result in the job ID, and the analysis end time is updated in the data set of the analysis target file and is finally terminated. The updated dataset is stored in the managed file DB 112.

행위 기준별 위험점수는 정상 행위는 0점, 의심 행위는 1점, 악성 행위는 5점을 부여한다. 행위를 판단하는 기준으로서 '의심'은 행위가 악성에 충분히 활용될 여지가 있을 경우(예: 방화벽을 해제하는 행위, 파일 접근 권한을 낮추는 행위 등)에 부여되며, 악성은 결정적인 위협행위가 나타나는 경우(예: 보안 프로그램을 삭제하는 행위, 시스템 파일을 다른 파일로 교체하는 행위 등)에 부여된다. 이러한 판단 기준은 개별 행위에 대한 점수이며, 프로세스를 '악성'으로 판단하는 기준은 프로세스의 실행에 따라 구현되는 개별 행위를 종합한 점수가 5점 이상인 경우가 해당된다.The risk score for each action criterion is 0 for normal activity, 1 for suspicious activity, and 5 for malicious activity. As a criterion for judging behavior, 'suspicion' is given when there is a possibility that the action can be fully utilized for malicious (eg, releasing the firewall, lowering the file access authority, etc.) (For example, deleting a security program, or replacing a system file with another file). This criterion is a score for an individual action, and a criterion for judging a process as 'malicious' is that a score of 5 or more is a combination of actions taken according to the execution of a process.

프로세스 연관정보 추출모듈(108d)은 API 호출 정보를 확인하여 개별 프로세스의 생성 인과관계를 분석하고 파일로 보관한다. 예를 들어 A 프로세스를 통해 B, C, D가 생성 및 참조되었을 경우, B는 A의 자식 프로세스, C는 B에 의해 서비스로 생성된 프로세스, D는 C에 의해 인젝션(이미 실행된 프로세스 영역에 임의 코드 실행)된 프로세스 등으로 각 프로세스 사이의 연관 관계를 구분한다.The process-related-information extracting module 108d checks the API call information, analyzes the cause-and-effect relationship between the individual processes, and stores it in a file. For example, if B, C, and D are created and referenced through Process A, then B is a child process of A, C is a process created as a service by B, D is injected by C The execution of arbitrary code), and so on.

한편, 분류부(110)는 유사패턴 측정모듈(110a)과 분류결정모듈(110b)로 구성된다.The classification unit 110 includes a similar pattern measurement module 110a and a classification determination module 110b.

패턴이란 전술한 바와 같이 '행위1'(Behavior_1), '행위2'(Behavior_2) 등 행위들의 순차적인 흐름을 나타낸다. 행위들을 패턴화하기 위해서는 최소한의 행위 개수가 확보되어야 하기 때문에 유사패턴 측정모듈(110a)은 유사치를 측정하기 전에 최소 행위 개수를 확인한다. 이후 유사패턴 측정모듈(110a)은 넘겨진 악성 패턴을 악성코드 패턴DB(114)의 기존 패턴들과 비교하여 유사도를 구한다.(S210)Patterns represent the sequential flow of behaviors such as 'Behavior_1' and 'Behavior_2' as described above. In order to pattern behaviors, since the minimum number of behaviors must be secured, the similar pattern measurement module 110a checks the minimum number of behaviors before measuring the similarity value. Then, the similar pattern measurement module 110a compares the transferred malicious pattern with existing patterns of the malicious code pattern DB 114 (S210)

도 8은 패턴화된 행위와 기존 패턴의 유사도를 측정하는 방식을 그래픽으로 나타낸 개념도이다.8 is a conceptual diagram graphically illustrating a method of measuring the degree of similarity between a patterned action and an existing pattern.

유사도는 전체 행위 개수와 동일한 행위 개수의 비율을 계산한 결과값으로서, 구하는 방식은 도 8과 같이, 0~100%의 일치율을 나타내며, 유사패턴 측정모듈(110a)은 가장 유사한 패턴과 유사도에 대한 정보를 작업 ID를 통해 업데이트하고, 다음 단계로 데이터를 전송한다.The similarity measure is a result of calculating the ratio of the number of behaviors equal to the total number of behaviors. The similarity measure shows a matching rate of 0 to 100% as shown in FIG. 8, and the similarity pattern measurement module 110a calculates Updates the information with the job ID, and transfers the data to the next step.

도 8의 (a)와 같이 분석 대상이 되는 샘플 파일의 행동 패턴과, 악성코드 패턴DB(114)에 저장된 기존 악성코드의 패턴이 기준치(예를 들어 90%)를 초과하는 정도로 일치하는 경우, 샘플 패턴은 유사도가 높은 기존 패턴과 동일한 패턴인 것으로 분류한다. 다시 말해서 두 개의 패턴에서 유사한 부분이 각각의 패턴 내에서도 기준치를 초과할 정도로 두 개의 패턴의 양상이 서로 많이 겹쳐져야 한다.When the behavior pattern of the sample file to be analyzed and the pattern of the existing malicious code stored in the malicious code pattern DB 114 coincide with the reference value (for example, 90%) as shown in FIG. 8A, The sample pattern is classified as the same pattern as the existing pattern having a high degree of similarity. In other words, the patterns of the two patterns must overlap so much that the similar parts in the two patterns exceed the reference value in each pattern.

그러나 (b)와 같이 유사도가 기준치에 못 미치는 경우에는 유사 패턴이 아닌 것으로 본다. 어느 하나의 파일의 패턴이 다른 하나의 파일의 패턴에 완전히 포함되는 경우에도 서로 공통적으로 겹치는 패턴의 비율이 기준치를 넘지 않기 때문에 유사 패턴이 아닌 것으로 간주한다.However, if the degree of similarity is less than the reference value as in (b), it is regarded as not a similar pattern. Even when a pattern of one file is completely included in the pattern of another file, the ratio of the patterns that are commonly overlapped with each other is not considered to be a similar pattern because the ratio of patterns that do not exceed the reference value.

그리고 나서 분류결정모듈(110b)은 업데이트된 악성코드 패턴DB(114)의 유사패턴, 유사도 결과를 확인한다.Then, the classification determination module 110b confirms the similar pattern and the similarity result of the updated malicious code pattern DB 114.

악성코드 패턴DB(114)에 저장된 패턴과 비교하여 측정된 유사도를 바탕으로 완전히 같거나 일정 수준 이상(예: 90% 이상)으로 같은 패턴이 존재하는 경우, 기존 패턴의 식별 이름(예: DDOS.Agent.Sample)으로 최종 분류하고 데이터셋의 작업 ID를 업데이트 한다.(S212, S214)(Eg, DDOS) when the same pattern is completely the same or equal to or more than a predetermined level (eg, 90% or more) based on the similarity measured in comparison with the pattern stored in the malicious code pattern DB 114. Agent.Sample) and updates the task ID of the data set (S212, S214)

그렇지 않은 경우 신규 또는 변종으로 판단하여 새로운 패턴 이름을 생성하고, 악성코드패턴DB(114)에 새로운 패턴으로 등록한다.(S216, S218)Otherwise, a new pattern name is generated by judging the new or variant, and the new pattern name is registered in the malicious code pattern DB 114 (S216, S218).

도 9는 각각의 행위에 따른 대표적인 속성의 종류를 나타낸 개념도이다.FIG. 9 is a conceptual diagram illustrating representative types of attributes according to each action.

악성코드의 속성으로 대표적인 것이 웜(worms), 바이러스(virus), 트로이목마(trojan)이며, 이외에도 새로운 속성이 지정될 수 있다.Attributes of malicious code are worms, viruses, trojans, and other new attributes can be specified.

식별 이름은 새로 생성된 패턴을 구분하고, 자동화 처리를 하기 위해 만들어진 것으로서, 도 9에 기재된 행위 속성을 바탕으로 식별 이름이 만들어진다.The distinguished name is created for distinguishing a newly generated pattern and performing an automated process, and an identification name is created based on the behavior attribute described in FIG.

새로 추가되는 패턴의 경우 식별 이름을 속성과 프로세스 연관 관계를 바탕으로 자동으로 붙여준다. 예를 들어 행위 속성이 'DDOS'인 경우 식별 이름에 'DDOS'를 붙이고, 자식 프로세스에서 악성이 검출되면 'Dropper'를 자식 프로세스 패턴 식별 이름 앞에 붙여 "Dropper.DDOS.Agent.Sample"로 만든다.For newly added patterns, the distinguished name is automatically attached based on the attribute and process association. For example, if the behavior attribute is 'DDOS', append 'DDOS' to the distinguished name, and if malicious is detected in the child process, make 'Dropper.DDOS.Agent.Sample' with 'Dropper' appended to the child process pattern distinguished name.

이외에도 각각의 속성의 종류가 드러날 수 있도록 "Worm.IRC.ngrBot", "Trojan.DDoS.Rincux.Nation", "Trojan.Dropper.OnlinegameHack.wsxp", "Trojan.Backdoor.Xyligan" 등과 같이 식별 이름을 생성한다.In addition, you can use the distinguished name "Worm.IRC.ngrBot", "Trojan.DDoS.Rincux.Nation", "Trojan.Dropper.OnlinegameHack.wsxp", "Trojan.Backdoor.Xyligan" .

파일이 악성 기준에 포함되고 기존에 없는 새로운 패턴인 경우, 행위들을 확인하여 속성에 'Dropper, Backdoor, DDOS, IRC' 등이 포함되어 있으면, 해당 속성이 많이 나타나는 것을 대표로 생성한다. 따라서 식별이름의 속성은 따로 존재하지 않고 행위 속성의 종류 안에서 이름이 만들어지게 된다.If the file is included in the malicious criteria and it is a new pattern that is not existing, check the actions and if the attribute includes 'Dropper, Backdoor, DDOS, IRC' Therefore, the attribute of the distinguished name does not exist separately, and the name is created in the kind of the behavior attribute.

분류결정모듈(110b)이 확인한 유사치가 근소한 차이(예: 5% 내)로 기존 패턴에 분류되지 못한 경우(예: 89.79%)에는 변종으로 판단하고, 자동으로 해당 패턴 식별 이름에 유사 패턴의 변종임을 표시한다(예: Ex.DDOS.Agent.Sample).If the similarity value determined by the classification determination module 110b is not classified into the existing pattern (for example, 89.79%) with a slight difference (for example, within 5%), it is determined to be a variant. (For example, Ex.DDOS.Agent.Sample).

모든 새로이 생성된 패턴 식별 이름은 악성코드 패턴DB(114)에 등록되고, 통합관리부(102)를 통해 이름과 설명 기재 등 수정이 가능하도록 함으로써 차후 다른 파일 분석시 이슈가 되는 악성코드에 대해 빠른 대응이 가능하도록 한다.(S220) 또한 생성된 패턴 식별 이름은 작업 ID의 분석된 패턴에 업데이트하여 최종 종료한다.All the newly generated pattern identification names are registered in the malicious code pattern DB 114, and the name and description description can be modified through the integrated management unit 102, so that a quick response to malicious codes that become issues in the analysis of other files (S220) Furthermore, the generated pattern identification name is updated to the analyzed pattern of the job ID and is finally terminated.

이상 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, As will be understood by those skilled in the art. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, It is intended that all changes and modifications derived from the equivalent concept be included within the scope of the present invention.

100 : 분류시스템 102 : 통합관리부
104 : 선처리부 106 : 행위감시부
108 : 분석부 110 : 분류부
112 : 관리대상파일DB 114 : 악성코드패턴DB
116 : 로그변환정책테이블 118 : 행위구분정책테이블
200 : PC
100: classification system 102: integrated management unit
104: Line processing unit 106:
108: Analysis section 110: Classification section
112: management target file DB 114: malicious code pattern DB
116: log conversion policy table 118: action classification policy table
200: PC

Claims (10)

분석 대상 파일을 실행할 때 호출되는 API(Application programming interface)와 파라메터를 분석하여 상기 분석 대상 파일의 위험도를 계산하는 분류시스템으로서,
외부의 악성코드 관리서버를 통해 상기 분석 대상 파일을 수집하고, 수집된 상기 분석 대상 파일에 대한 구조화된 데이터셋을 생성하여 관리대상파일DB(112)에 저장하고, 상기 분석 대상 파일에 대한 분석 결과를 관리자 또는 네트워크 사용자에게 전달하는 통합관리부(102)와;
상기 관리대상파일DB(112)를 확인하여 상기 분석 대상 파일이 존재하는 지를 검사하고, 상기 분석 대상 파일의 데이터셋에 포함된 플래그 값을 '분석 시작'으로 변경한 후 전달하는 선처리부(104)와;
상기 분석 대상 파일의 실행시에 호출되는 API와, 상기 API의 호출에 사용된 파라메터가 기록된 로그 파일을 생성하는 행위감시부(106)와;
상기 행위감시부(106)가 생성한 상기 로그 파일에서 상기 API와 상기 파라메터를 구분하고, 상기 API와 상기 파라메터를 개별적인 행위로 인식 가능하도록 변환하여 변환 로그 파일을 생성하고, 상기 API와 상기 파라메터에 의해 이루어지는 행위를 식별하기 위한 정보를 행위구분정책 데이터셋에 기록하며, 상기 분석 대상 파일의 실행시에 이루어지는 프로세스의 위험도를 부여하는 분석부(108)와;
상기 분석 대상 파일의 패턴과, 악성코드패턴DB(114)에 저장된 기존 악성코드의 패턴을 비교하여 유사도가 소정의 기준치를 초과할 경우, 상기 분석 대상 파일의 데이터셋에 유사패턴에 대한 정보를 기록하는 분류부(110);를 포함하는, 행위를 기반으로 한 악성코드 분류시스템.
A classification system for calculating a risk of an analysis object file by analyzing an application programming interface (API) and parameters called when an analysis object file is executed,
The malicious code management server of the present invention collects the analysis target file through an external malicious code management server, generates a structured data set for the collected analysis target file, stores the structured data set in the management target file DB 112, To an administrator or a network user;
A line processor 104 for checking whether the file to be analyzed exists by checking the management object file DB 112, changing the flag value included in the data set of the analysis object file to 'analysis start'Wow;
An action monitoring unit (106) for generating an API to be called when the analysis target file is executed and a log file in which parameters used in the API call are recorded;
The action monitoring unit 106 distinguishes the API and the parameter from the log file generated by the behavior monitoring unit 106 and generates a conversion log file by converting the API and the parameter to be recognizable as individual behaviors, An analysis unit 108 for recording information for identifying an action performed by the analysis unit 108 in a behavior classification policy data set and giving a risk of a process performed when the analysis object file is executed;
If the pattern of the analysis object file is compared with a pattern of existing malicious code stored in the malicious code pattern DB 114 and the similarity degree exceeds a predetermined reference value, information on a similar pattern is recorded in the data set of the analysis object file And a classifier (110) for classifying the malicious code based on the behavior.
제1항에 있어서,
상기 분석 대상 파일에 대한 구조화된 데이터셋에는 작업ID, 해시값(HASH), 파일이름, 파일크기, 환경변수, 위험도, 분류패턴, 유사패턴, 유사도, 플래그, 분석 시작시간, 분석 종료시간이 기록되는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류시스템.
The method according to claim 1,
A file name, a file size, an environmental variable, a risk level, a classification pattern, a similar pattern, a similarity, a flag, an analysis start time, and an analysis end time are recorded in the structured data set for the analysis object file Based malicious code classification system.
제1항에 있어서,
상기 분석부(108)가 생성하는 변환 로그 파일은 하나의 'API(API의 약칭)'와, 하나 이상의 'Param(변수)'를 포함하는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류시스템.
The method according to claim 1,
The conversion log file generated by the analysis unit 108 includes one API (abbreviated as API) and one or more 'Param (variable)'. .
제1항에 있어서,
상기 분석부(108)는
상기 프로세스의 행위가 방화벽을 해제하는 행위이거나, 파일 접근 권한을 낮추는 행위 중 하나인 경우에 의심 행위로 판단하며, 상기 프로세스의 행위가 보안 프로그램을 삭제하는 행위이거나, 시스템 파일을 다른 파일로 교체하는 행위 중 하나인 경우에는 악성 행위로 판단하는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류시스템.
The method according to claim 1,
The analysis unit 108
If it is determined that the process is one of releasing the firewall or lowering the file access privilege, it is determined that the process is suspicious. If the action of the process is to delete the security program, or the system file is replaced with another file Wherein the malicious code is determined to be malicious if the malicious code is one of the malicious codes.
제1항 내지 제4항 중 어느 한 항에 기재된 악성코드 분류시스템을 이용하여 분석 대상 파일의 위험도를 계산하는 분류방법으로서,
통합관리부(102)가 외부의 서버로부터 보내진 파일에 대한 구조화된 데이터셋을 생성하여 관리대상파일DB(112)에 저장하는 제1단계와;
선처리부(104)가 상기 관리대상파일DB(112)에 저장된 파일 중에서 분석 대상 파일을 검색하고, 상기 분석 대상 파일의 구조화된 데이터셋에 포함된 플래그 값을 '분석 시작'으로 변경한 후, 행위감시부(106)로 전달하는 제2단계와;
상기 행위감시부(106)가 상기 분석 대상 파일의 실행시에 호출되는 API와, 상기 API의 호출에 사용된 파라메터가 기록된 로그 파일을 생성하여 분석부(108)로 전달하는 제3단계와;
분석부(108)가 상기 로그 파일에서 상기 API와 상기 파라메터를 구분하고, 상기 API와 상기 파라메터를 개별적인 행위로 인식 가능하도록 변환하여 변환 로그 파일을 생성하는 제4단계와;
상기 분석부(108)가 상기 변환 로그 파일을 분석하여 상기 분석 대상 파일의 실행시에 이루어지는 프로세스의 위험도를 부여하는 제5단계;를 포함하는, 행위를 기반으로 한 악성코드 분류방법.
A classification method for calculating a risk of an analysis object file using the malicious code classification system according to any one of claims 1 to 4,
A first step in which the integrated management unit 102 generates a structured data set for a file sent from an external server and stores the structured data set in the management object file DB 112;
Line processing unit 104 searches the file to be analyzed out of the files stored in the management subject file DB 112 and changes the flag value included in the structured data set of the analysis object file to "analysis start" To the monitoring unit (106);
A third step of generating and transmitting to the analysis unit 108 a log file in which the behavior monitoring unit 106 records an API that is called when the analysis object file is executed and a parameter used in the API call;
A fourth step of separating the API and the parameter from the log file and converting the API and the parameter so that they can be recognized as individual behaviors to generate a conversion log file;
And a fifth step of analyzing the conversion log file by the analysis unit 108 to give a risk of a process performed when the analysis target file is executed.
제5항에 있어서,
상기 분석 대상 파일에 대한 구조화된 데이터셋에는 작업ID, 해시값(HASH), 파일이름, 파일크기, 환경변수, 위험도, 분류패턴, 유사패턴, 유사도, 플래그, 분석 시작시간, 분석 종료시간이 기록되는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류방법.
6. The method of claim 5,
A file name, a file size, an environmental variable, a risk level, a classification pattern, a similar pattern, a similarity, a flag, an analysis start time, and an analysis end time are recorded in the structured data set for the analysis object file Wherein the malicious code is classified as malicious code based on an action.
제5항에 있어서,
제4단계에서 상기 분석부(108)가 생성하는 변환 로그 파일은 하나의 'API(API의 약칭)'와, 하나 이상의 'Param(변수)'를 포함하는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류방법.
6. The method of claim 5,
The conversion log file generated by the analyzing unit 108 in the fourth step includes one API (abbreviated as API) and one or more 'Param (variable)'. How to classify malicious codes.
제5항에 있어서,
상기 제5단계는 상기 분석부(108)가 상기 프로세스의 행위가 방화벽을 해제하는 행위이거나, 파일 접근 권한을 낮추는 행위 중 하나인 경우에 의심 행위로 판단하며, 상기 프로세스의 행위가 보안 프로그램을 삭제하는 행위이거나, 시스템 파일을 다른 파일로 교체하는 행위 중 하나인 경우에는 악성 행위로 판단하는 것을 특징으로 하는, 행위를 기반으로 한 악성코드 분류방법.
6. The method of claim 5,
In the fifth step, if the analysis unit 108 determines that the process is one of releasing a firewall or lowering a file access privilege, the analyzing unit 108 determines that the process is suspicious. Or if the system file is replaced with another file, the malicious code is determined to be malicious.
제5항에 있어서,
분류부(110)가 상기 분석 대상 파일에서 생성한 샘플 패턴과, 악성코드패턴DB(114)에 저장된 악성코드의 패턴의 유사도를 비교하여 기준치를 넘는 경우, 상기 샘플 패턴에 기존의 악성코드의 패턴의 이름을 부여하며, 기준치에 못 미치는 경우, 새로운 패턴 이름을 생성하여 부여하는 제6단계;를 추가로 포함하는, 행위를 기반으로 한 악성코드 분류방법.
6. The method of claim 5,
When the classification unit 110 compares the similarity of the pattern of the malicious code stored in the malicious code pattern DB 114 with the sample pattern generated in the analysis object file and exceeds the reference value, the pattern of the existing malicious code And a sixth step of creating and assigning a new pattern name if the name of the malicious code is less than the reference value.
제9항에 있어서,
상기 분류부(110)는 새로운 패턴 이름을 악성코드패턴DB(114)에 등록하는 제7단계;를 추가로 포함하는, 행위를 기반으로 한 악성코드 분류방법.
10. The method of claim 9,
Wherein the classifying unit (110) further includes a seventh step of registering a new pattern name in the malicious code pattern DB (114).
KR1020130008033A 2013-01-24 2013-01-24 A system for sorting malicious code based on the behavior and a method thereof KR101404882B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130008033A KR101404882B1 (en) 2013-01-24 2013-01-24 A system for sorting malicious code based on the behavior and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130008033A KR101404882B1 (en) 2013-01-24 2013-01-24 A system for sorting malicious code based on the behavior and a method thereof

Publications (1)

Publication Number Publication Date
KR101404882B1 true KR101404882B1 (en) 2014-06-11

Family

ID=51132175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130008033A KR101404882B1 (en) 2013-01-24 2013-01-24 A system for sorting malicious code based on the behavior and a method thereof

Country Status (1)

Country Link
KR (1) KR101404882B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589656B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for detecting and inquiring metamorphic malignant code based on action
KR101620931B1 (en) * 2014-09-04 2016-05-13 한국전자통신연구원 Similar malicious code retrieval apparatus and method based on malicious code feature information
KR20160061141A (en) * 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
KR101710086B1 (en) * 2015-10-16 2017-02-24 국방과학연구소 Method and Apparatus for executing proof collection and investigation analysis for incident response
KR20170056876A (en) * 2015-11-16 2017-05-24 주식회사 마크애니 Method, Apparatus and System for Security Monitoring Based On Log Analysis
KR101872406B1 (en) * 2017-08-18 2018-06-28 국방과학연구소 Method and apparatus for quantitavely determining risks of malicious code
KR20190020999A (en) 2017-08-22 2019-03-05 주식회사 하우리 Apparatus and method for malware
KR102053869B1 (en) * 2019-05-29 2020-01-22 쿤텍 주식회사 Method and apparatus for detecting malignant code of linux environment
KR20200110268A (en) * 2014-11-21 2020-09-23 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
US11645387B2 (en) 2018-01-29 2023-05-09 Samsung Electronics Co., Ltd. Electronic device for classifying malicious code and operation method thereof
WO2024005490A1 (en) * 2022-07-01 2024-01-04 주식회사 안랩 Behavior scan service system, and method for providing behavior scan service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110001426A (en) * 2009-06-30 2011-01-06 주식회사 잉카인터넷 System and method for detecting malicious code
KR101038048B1 (en) * 2009-12-21 2011-06-01 한국인터넷진흥원 Botnet malicious behavior real-time analyzing system
KR101086203B1 (en) * 2011-07-15 2011-11-23 에스지에이 주식회사 A proactive system against malicious processes by investigating the process behaviors and the method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110001426A (en) * 2009-06-30 2011-01-06 주식회사 잉카인터넷 System and method for detecting malicious code
KR101038048B1 (en) * 2009-12-21 2011-06-01 한국인터넷진흥원 Botnet malicious behavior real-time analyzing system
KR101086203B1 (en) * 2011-07-15 2011-11-23 에스지에이 주식회사 A proactive system against malicious processes by investigating the process behaviors and the method thereof

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620931B1 (en) * 2014-09-04 2016-05-13 한국전자통신연구원 Similar malicious code retrieval apparatus and method based on malicious code feature information
US9621571B2 (en) 2014-09-04 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for searching for similar malicious code based on malicious code feature information
KR20160061141A (en) * 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
KR102304332B1 (en) * 2014-11-21 2021-09-23 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
KR20200110268A (en) * 2014-11-21 2020-09-23 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
KR102156340B1 (en) * 2014-11-21 2020-09-15 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack
KR101589656B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for detecting and inquiring metamorphic malignant code based on action
KR101710086B1 (en) * 2015-10-16 2017-02-24 국방과학연구소 Method and Apparatus for executing proof collection and investigation analysis for incident response
KR102098064B1 (en) * 2015-11-16 2020-04-07 주식회사 마크애니 Method, Apparatus and System for Security Monitoring Based On Log Analysis
KR20170056876A (en) * 2015-11-16 2017-05-24 주식회사 마크애니 Method, Apparatus and System for Security Monitoring Based On Log Analysis
KR101872406B1 (en) * 2017-08-18 2018-06-28 국방과학연구소 Method and apparatus for quantitavely determining risks of malicious code
KR20190020999A (en) 2017-08-22 2019-03-05 주식회사 하우리 Apparatus and method for malware
US11645387B2 (en) 2018-01-29 2023-05-09 Samsung Electronics Co., Ltd. Electronic device for classifying malicious code and operation method thereof
KR102053869B1 (en) * 2019-05-29 2020-01-22 쿤텍 주식회사 Method and apparatus for detecting malignant code of linux environment
WO2024005490A1 (en) * 2022-07-01 2024-01-04 주식회사 안랩 Behavior scan service system, and method for providing behavior scan service

Similar Documents

Publication Publication Date Title
KR101404882B1 (en) A system for sorting malicious code based on the behavior and a method thereof
US10176321B2 (en) Leveraging behavior-based rules for malware family classification
US9781144B1 (en) Determining duplicate objects for malware analysis using environmental/context information
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
EP2893447B1 (en) Systems and methods for automated memory and thread execution anomaly detection in a computer network
RU2444056C1 (en) System and method of speeding up problem solving by accumulating statistical information
CN100401224C (en) Computer anti-virus protection system and method
US11403389B2 (en) System and method of detecting unauthorized access to computing resources for cryptomining
KR102225460B1 (en) Method of detecting threat based on threat hunting using multi sensor data and apparatus using the same
US20080066179A1 (en) Antivirus protection system and method for computers
US20120036577A1 (en) Method and system for alert classification in a computer network
US20150207811A1 (en) Vulnerability vector information analysis
CN101882102A (en) Be used for the system that automated computer is supported
US11025660B2 (en) Impact-detection of vulnerabilities
US10505986B1 (en) Sensor based rules for responding to malicious activity
CN112073437A (en) Multidimensional security threat event analysis method, device, equipment and storage medium
RU2531565C2 (en) System and method for analysing file launch events for determining safety ranking thereof
KR102454948B1 (en) IoT device test method and apparatus
RU2587429C2 (en) System and method for evaluation of reliability of categorisation rules
KR102396237B1 (en) Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information
JP2007109016A (en) Access policy creation system, method and program
KR102040371B1 (en) Apparatus and method for analyzing network attack pattern
CN111314326B (en) Method, device, equipment and medium for confirming HTTP vulnerability scanning host
US20240054210A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
KR101580624B1 (en) Method of Penalty-based Unknown Malware Detection and Response

Legal Events

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