KR101907681B1 - Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same - Google Patents

Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same Download PDF

Info

Publication number
KR101907681B1
KR101907681B1 KR1020170024455A KR20170024455A KR101907681B1 KR 101907681 B1 KR101907681 B1 KR 101907681B1 KR 1020170024455 A KR1020170024455 A KR 1020170024455A KR 20170024455 A KR20170024455 A KR 20170024455A KR 101907681 B1 KR101907681 B1 KR 101907681B1
Authority
KR
South Korea
Prior art keywords
malicious code
system call
pattern
malicious
group
Prior art date
Application number
KR1020170024455A
Other languages
Korean (ko)
Other versions
KR20180097824A (en
Inventor
조금환
조준성
김형식
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020170024455A priority Critical patent/KR101907681B1/en
Publication of KR20180097824A publication Critical patent/KR20180097824A/en
Application granted granted Critical
Publication of KR101907681B1 publication Critical patent/KR101907681B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F17/30705

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체을 개시한다. 본 발명에 악성코드 검출을 위한 자동 규칙 생성방법은 따른 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하는 단계, 상기 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여하는 단계, 상기 부여된 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 상기 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 상기 각각의 악성코드의 시스템 콜 패턴으로 설정하는 단계, 상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화하는 단계, 상기 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계, 및 상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 단계를 포함한다. 본 발명에 따르면, 시스템 콜의 패턴을 이용하여 악성코드를 검출함으로써 악성코드에 사용되지 않던 시스템 콜이 중간에 삽입되는 경우에도 패턴을 이용하여 악성코드를 검출할 수 있다.The present invention discloses a method, apparatus, and system for automatic rule generation for malicious code detection and a computer-readable recording medium recording the same. A method for generating automatic rules for malicious code detection according to the present invention includes extracting a plurality of system calls by executing a plurality of malicious codes and a normal program according to the automatic rule generation method for detecting malicious codes, The method comprising the steps of: assigning a score using the number of times executed in the program; extracting a system call in which the given score difference is equal to or greater than a threshold value; and extracting a pattern of an extracted system call of each malicious code among the plurality of malicious codes, Setting a system call pattern of the malicious code as a system call pattern, grouping the system call patterns of each malicious code based on the degree of similarity, and grouping the system call pattern of the grouped malicious code using a multiple sequence alignment algorithm Selecting representative patterns of the respective groups and generating them as malicious code detection rules, Comparing the pattern of the system call code property detection rule and a new program to be executed and a step for determining the infection. According to the present invention, a malicious code can be detected by using a pattern even when a system call which is not used in the malicious code is inserted in the middle by detecting the malicious code using the pattern of the system call.

Description

악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체{METHOD, APPARATUS, AND SYSTEM FOR AUTOMATICALLY GENERATING RULE FOR DETECTING VIRUS CODE, AND COMPUTER READABLE RECORDING MEDIUM FOR RECIRING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an automatic rule generation method, an apparatus, a system, and a computer readable recording medium for detecting malicious codes. 2. Description of the Related Art [0002]

본 발명은 변경되는 악성코드를 검출하기 위한 규칙을 자동 생성하는 악성코드 검출을 위한 자동 규칙 생성방법, 자동 규칙 생성장치, 자동 규칙 생성시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체에 관한 것이다.The present invention relates to an automatic rule generation method, an automatic rule generation apparatus, an automatic rule generation system, and a computer readable recording medium on which the automatic rule generation system, automatic rule generation system, and automatic rule generation method for malicious code detection that automatically generates rules for detecting malicious codes to be changed.

악성코드를 탐지하기 위해 많이 이용되는 안티바이러스(anti-virus) 소프트웨어는 기본적으로 시그니처(signature) 기반 탐지 기법을 사용한다. 시그니처 기반 탐지 기법은 악성코드 프로그램의 해쉬(hash) 값을 시그니처로 저장한 뒤 의심스러운 프로그램이 실행되면 해쉬 값을 계산하고 저장된 시그니처와 비교하여 악성코드 유무를 판단한다. 그러나, 안티바이러스의 악성코드 탐지 기법에 대해 미리 알고 있는 공격자들은 노풀된 악성코드에 대해 코드 수정을 통해 해쉬 값을 변경하여 바이러스를 유포시킨다. 이러한 경우, 악성코드지만 시그니처로 사용되는 해쉬 값이 변경되엇기 때문에 기존에 저장된 시그니처로 탐지할 수 없게 된다. Anti-virus software, which is often used to detect malicious code, uses signature-based detection techniques. The signature-based detection method stores a hash value of a malicious program as a signature, calculates a hash value when a suspicious program is executed, and compares the hash value with a stored signature to determine whether or not the malicious code is present. However, attackers who know about antivirus malware detection techniques in advance know how to modify the hash value by propagating the virus through the code modification for the malicious code. In this case, since the hash value used as the signature has changed, it can not be detected as the previously stored signature.

이러한 단점을 극복하기 위하여, 프로그램에 의해 발생되는 시스템 콜을 추적하고, 추적된 시스템 콜을 분석하여 악성행위를 판별하는 행위 기반 탐지 기법이 사용되고 있다. 행위 기반 탐지 기법의 경우 프로그램에 의해 발생되는 시스템 콜이 무수히 많기 때문에 모든 시스템 콜을 추적하는 방법을 실제 시스템에 적용한다면 시스템 과부하를 발생시킬 수 있다. 또한, 어떤 시스템 콜을 추적할 것인지에 대한 연구가 필요하다. 그러나, 이러한 시스템 콜을 추적하는 방법은 악성 행위로 분류되지 않은 시스템 콜을 중간 중간 호출할 경우, 시그니처가 변경되는 것과 마찬가지로 전체 시스템 콜에 대한 악성 행위에 사용되는 시스템 콜의 비중이 낮아져 악성코드를 검출하기 어려운 문제점이 있다. 따라서, 이러한 변경된 형태의 시스템 콜을 삽입하는 경우 악성코드 검출 방법에 대한 연구가 필요하다. To overcome these drawbacks, an action-based detection technique is used to track system calls generated by the program and to analyze malicious behavior by analyzing tracked system calls. In the case of behavior-based detection, there are numerous system calls generated by the program. Therefore, system overloading can occur if a method of tracking all system calls is applied to a real system. Also, it is necessary to study what system call to trace. However, as a method of tracking such a system call, when a system call that is not classified as a malicious action is called in the middle, the proportion of the system call used for malicious action on the entire system call is lowered as the signature is changed. There is a problem that it is difficult to detect. Therefore, it is necessary to study the malicious code detection method when inserting such changed system call.

본 발명은 전술한 문제 및 다른 문제를 해결하기 위하여, 시스템 콜의 패턴을 이용하여 악성코드를 검출하고, 새로운 악성코드의 패턴을 반영하여 악성코드 검출 규칙을 업데이트하는 것을 목적으로 한다. An object of the present invention is to update a malicious code detection rule by detecting a malicious code using a pattern of a system call and reflecting a pattern of a new malicious code in order to solve the above-described problems and other problems.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하는 단계, 상기 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여하는 단계, 상기 부여된 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 상기 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 상기 각각의 악성코드의 시스템 콜 패턴으로 설정하는 단계, 상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화하는 단계, 상기 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계, 및 상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 단계를 포함하는 악성코드 검출을 위한 자동 규칙 생성방법을 제공한다.According to an aspect of the present invention, there is provided a computer readable medium storing a program for causing a computer to execute a method comprising: extracting a plurality of system calls by executing a plurality of malicious codes and a normal program; The method includes the steps of: assigning a score using the number of times executed in the normal program; extracting a system call in which the given score difference is equal to or greater than a threshold value; and extracting a pattern of an extracted system call of each malicious code among the plurality of malicious codes, Setting a system call pattern of each malicious code based on the degree of similarity; grouping the system call pattern of the grouped malicious code by a multiple sequence alignment algorithm A representative pattern of each group is selected and used as a malicious code detection rule, And comparing the detected malicious code detection rule with the system call pattern of the newly executed program to identify malicious code.

또한, 본 발명에 따른 악성코드 검출을 위한 자동 규칙 생성방법은 악성코드를 판별하는 단계 다음에, 상기 새로 실행되는 프로그램이 악성코드인 것으로 판별된 경우, 상기 새로 실행되는 프로그램의 시스템 콜 패턴을 상기 악성코드의 시스템 콜 패턴으로 업데이트하는 단계를 더 포함할 수 있다. The automatic rule generation method for detecting a malicious code according to the present invention may further include a step of identifying a malicious code, and then, when it is determined that the newly executed program is a malicious code, And updating the system call pattern of the malicious code with the system call pattern of the malicious code.

유사도를 기반으로 그룹화하는 단계는, 상기 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화할 수 있다.In the step of grouping based on the similarity, the similarity between the updated system call pattern of the malicious code and the existing system call pattern of the malicious code may be compared to group the malicious code having the set similarity or more into one group.

악성코드 검출을 위한 자동 규칙 생성방법은 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계와 상기 악성코드를 판별하는 단계 사이에, 상기 생성된 악성코드 검출 규칙을 데이터베이스에 저장하는 단계를 더 포함할 수 있다. The automatic rule generation method for malicious code detection includes storing the generated malicious code detection rule in a database between a step of generating a malicious code detection rule by selecting a representative pattern of each group and a step of discriminating the malicious code As shown in FIG.

데이터베이스에 저장하는 단계는, 상기 각 그룹의 명칭, 상기 각 그룹의 대표 패턴, 상기 각 그룹에 포함되는 악성코드의 시스템 콜 패턴과 검출 횟수를 매칭시켜 저장할 수 있다.The step of storing in the database may store the name of each group, the representative pattern of each group, the system call pattern of the malicious code included in each group, and the detection count in a matching manner.

정상 프로그램은 윈도우즈 OS(operating system)가 설치될 때 디폴트로 설치되는 프로그램 또는 상기 윈도우즈 OS 관리자에 의해 승인된 프로그램을 나타낼 수 있다. A normal program may represent a program installed by default when a Windows OS is installed or a program approved by the Windows OS administrator.

유사도를 기반으로 그룹화하는 단계는 계층적 클러스터링 알고리즘, 최대 거리 알고리즘, K 평균 알고리즘, Isodata 알고리즘, 또는 로빈-먼로법 알고리즘 중 적어도 하나의 클러스터링 알고리즘을 적용하여 그룹화할 수 있다.The grouping based on the degree of similarity can be grouped by applying at least one clustering algorithm among a hierarchical clustering algorithm, a maximum distance algorithm, a K average algorithm, an Isodata algorithm, or a Robin-Munro algorithm.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 다른 측면에 따르면, 상기악성코드 검출을 위한 자동 규칙 생성방법의 각 단계를 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program for executing each step of automatic rule generation method for detecting malicious code on a computer.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 다른 측면에 따르면, 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하는 로그 추출부, 상기 로그 추출부에서 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여하고, 상기 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 상기 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 상기 각각의 악성코드의 시스템 콜 패턴으로 설정하는 패턴 설정부, 상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화하는 그룹 생성부, 상기 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 악성코드 검출 규칙 생성부, 및 상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 악성코드 판별부를 포함하는 악성코드 검출을 위한 자동 규칙 생성장치를 제공한다. According to another aspect of the present invention, there is provided a computer readable recording medium storing a program for causing a computer to function as: a log extracting unit for extracting a plurality of system calls by executing a plurality of malicious codes and a normal program; Each of the plurality of malicious codes and a number of times executed in the normal program, and extracts a system call in which the score difference is equal to or greater than a threshold value, A group generating unit for grouping the system call patterns of the malicious codes based on the degree of similarity, a group generating unit for grouping the system call patterns of the grouped malicious codes into the system call patterns of the malicious codes, Multiple pattern alignment algorithms are used to select representative patterns of each group to detect malicious codes And a malicious code discriminator for discriminating a malicious code by comparing the generated malicious code detection rule with a system call pattern of a newly executed program, wherein the malicious code detection rule generator generates a malicious code detection rule Device.

패턴 설정부는 상기 악성코드 판별부에서 상기 새로 실행되는 프로그램을 악성코드인 것으로 판별한 경우, 상기 새로 실행되는 프로그램의 시스템 콜 패턴을 상기 악성코드의 시스템 콜 패턴으로 업데이트하여 설정할 수 있다.The pattern setting unit may update the system call pattern of the newly executed program with the system call pattern of the malicious code when the malicious code discrimination unit determines that the newly executed program is a malicious code.

그룹 생성부는 상기 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화할 수 있다. The group generating unit may compare the similarity of the system call pattern of the updated malicious code with the system call pattern of the existing malicious code to group the malicious codes having the set similarity or more into one group.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 다른 측면에 따르면, 악성코드 판별 어플리케이션을 저장하는 서버, 및 상기 서버로부터 상기 악성코드 판별 어플리케이션을 다운로드 받아 설치하면, 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하고, 상기 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 상기 다수의 악성코드 중 각각의 악성코드의 시스템 콜 패턴을 추출하고, 상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화한 후 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하고, 상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 사용자 단말기를 포함하는 악성코드 검출을 위한 자동 규칙 생성시스템을 제공한다.According to another aspect of the present invention, there is provided a malicious code detection system, comprising: a server for storing a malicious code identification application; and a malicious code detection application installed in the server, And extracts a plurality of system calls of each malicious code among the plurality of malicious codes by using each of the extracted malicious codes and the number of times executed in the normal program, Extracts malicious codes from malicious codes, groups system call patterns of malicious codes based on similarity, selects representative patterns of each group using a multiple sequence alignment algorithm, generates malicious code detection rules, Malicious code detection rules and system call patterns of newly executed programs. And an automatic rule generation system for malicious code detection including a user terminal that compares malicious codes with each other.

본 발명에 따른 악성코드 검출을 위한 자동 규칙 생성방법, 자동 규칙 생성장치, 자동 규칙 생성시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체의 효과에 대해 설명하면 다음과 같다.The automatic rule generation method, the automatic rule generation apparatus, the automatic rule generation system, and the computer-readable recording medium recording the malicious code according to the present invention will now be described.

본 발명의 실시 예들 중 적어도 하나에 의하면, 시스템 콜의 패턴을 이용하여 악성코드를 검출함으로써 악성코드에 사용되지 않던 시스템 콜이 중간에 삽입되는 경우에도 패턴을 이용하여 악성코드를 검출할 수 있다는 장점이 있다.According to at least one of the embodiments of the present invention, malicious code can be detected using a pattern even when a system call that is not used in malicious code is inserted in the middle by detecting a malicious code using a pattern of the system call .

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 새로운 악성코드의 시스템 콜 패턴을 이용하여 악성코드의 시스템 콜의 패턴을 업데이트함으로써 악성코드 검출에 적응적으로 대응할 수 있다는 장점이 있다. In addition, according to at least one of the embodiments of the present invention, there is an advantage that it is adaptable to malicious code detection by updating a system call pattern of a malicious code by using a system call pattern of a new malicious code.

본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다. Further scope of applicability of the present invention will become apparent from the following detailed description. It should be understood, however, that the detailed description and specific examples, such as the preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art.

도 1 내지 도 4는 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성방법의 흐름도들이다.
도 5는 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성장치의 개략적인 구성도이다.
도 6은 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성시스템의 개략적인 구성도이다.
도 7은 본 발명의 일 실시예와 관련된 악성코드 검출 방법을 설명하기 위한 예시도이다.
1 to 4 are flowcharts of an automatic rule generation method for malicious code detection according to an embodiment of the present invention.
5 is a schematic block diagram of an automatic rule generation apparatus for malicious code detection according to an embodiment of the present invention.
FIG. 6 is a schematic configuration diagram of an automatic rule generation system for malicious code detection according to an embodiment of the present invention.
7 is an exemplary diagram illustrating a malicious code detection method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals are used to designate identical or similar elements, and redundant description thereof will be omitted. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role. In the following description of the embodiments of the present invention, a detailed description of related arts will be omitted when it is determined that the gist of the embodiments disclosed herein may be blurred. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. , ≪ / RTI > equivalents, and alternatives.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinals, such as first, second, etc., may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. The singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, the terms "comprises", "having", and the like are used to specify that a feature, a number, a step, an operation, an element, a component, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

본 명세서에서 설명되는 악성코드 검출을 위한 자동 규칙 생성장치 또는 사용자 단말기는 태블릿 PC(tablet PC), 울트라북(ultrabook), 랩탑, 컴퓨터, 휴대폰, 스마트 폰(smart phone), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player) 등의 OS(Operating System)이 동작가능한 전자 장치를 포함할 수 있다. The automatic rule generation device or user terminal for malicious code detection described herein may be a tablet PC, an ultrabook, a laptop, a computer, a mobile phone, a smart phone, a digital broadcasting terminal, a PDA personal digital assistants (PMPs), and portable multimedia players (PMPs).

도 1 내지 도 4는 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성방법의 흐름도들이다.1 to 4 are flowcharts of an automatic rule generation method for malicious code detection according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성방법은 정상 프로그램과 악성코드의 시스템 콜을 추출하고(S110), 악성코드의 시스템 콜 패턴을 설정하고(S120), 악성코드들을 그룹화할 수 있다(S130). Referring to FIG. 1, an automatic rule generation method for malicious code detection according to an embodiment of the present invention extracts system calls of a normal program and a malicious code (S110), sets a system call pattern of a malicious code (S120 ), The malicious codes can be grouped (S130).

구체적으로, 정상 프로그램과 악성코드의 시스템 콜을 추출하는 단계(S110)는 다수의 악성코드와 정상 프로그램을 샘플로 추출하여 실행시켜 다수의 시스템 콜을 추출할 수 있다. 여기서, 악성 프로그램은 특정 파일을 암호화한 후 삭제하거나 서로 다른 파일을 암호화된 하나의 파일로 변경하는 등 윈도우즈 OS의 정상적인 작동을 방해하는 프로그램을 나타내고, 정상 프로그램은 윈도우즈 OS(operating system)가 설치될 때 디폴트로 설치되는 프로그램 또는 윈도우즈 OS 관리자에 의해 승인된 프로그램을 나타낸다. 예를 들어, 악성 프로그램은 랜섬 웨어, 트로이 목마 등이 될 수 있고, 정상 프로그램은 윈도우즈 OS에 기본적으로 설치된 메모장, 윈도우즈 익스플로러 등이 될 수 있다. Specifically, the step of extracting a system call of a normal program and a malicious code (S110) may extract a plurality of malicious codes and a normal program as samples and extract a plurality of system calls. Here, a malicious program represents a program that interrupts the normal operation of a Windows OS, such as encrypting and deleting a specific file, or changing a different file into an encrypted file, and the normal program is a Windows OS Indicates a program installed by default or approved by the Windows OS administrator. For example, a malicious program can be Ransomware, a Trojan horse, and a normal program can be a Notepad installed in a Windows OS, Windows Explorer, and the like.

다음으로, 악성코드의 시스템 콜 패턴을 설정하는 단계(S120)는 정상 프로그램의 시스템 콜과 악성코드의 시스템 콜의 수행 횟수를 비교하여 정상 코드의 시스템 콜 패턴인지 악성코드의 시스템 콜 패턴인지 설정할 수 있다. Next, in step S120 of setting the system call pattern of the malicious code, the system call pattern of the normal program and the system call pattern of the malicious code are compared with the execution count of the system call of the malicious code, have.

도 2를 참조하면, 정상 프로그램 또는 악성코드가 실행되면 시스템 콜의 실행 횟수를 확인하고(S122), 각 시스템 콜에 점수를 부여할 수 있다(S124). 구체적으로, "A"라는 시스템 콜이 악성코드에서 10회 사용되고, 정상 프로그램에서 2회 사용된 경우, "A" 시스템 콜에 8이라는 점수를 부여하고, "B"라는 시스템 콜이 악성코드에서 4회 사용되고, 정상 프로그램에서 15회 사용된 경우, "B" 시스템 콜에 -11이라는 점수를 부여하는 방법으로 각각의 시스템 콜에 점수를 부여할 수 있다. Referring to FIG. 2, when a normal program or a malicious code is executed, the number of execution of the system call is checked (S122), and a score is given to each system call (S124). Specifically, when the system call "A" is used 10 times in the malicious code and twice in the normal program, a score of 8 is given to the "A" system call and the system call "B" When used 15 times in the normal program, each system call can be given a score by giving the score "-11" to the "B" system call.

부여된 점수가 임계값 이상인지 판단하고(S126), 임계값 이상인 경우, 각각의 악성 코드의 시스템 콜 패턴으로 설정하고(S128), 임계값 미만인 경우, 정상 코드의 시스템 콜 패턴으로 설정할 수 있다(S128'). 이때, 임계값은 기준값을 나타내며, 기준값이 음수 (-)인 경우 절대값이 큰 경우 임계값 이상으로 판단할 수 있다. 구체적으로, "A" 시스템 콜의 점수가 8이고 "B" 시스템 콜의 점수가 -11인 경우, "A" 시스템 콜은 "B" 시스템 콜에 비하여 악성코드에서 사용될 가능성이 더 높고, 각각의 시스템 콜의 점수를 이용하여 악성코드에 사용될 가능성이 더 높은 시스템 콜을 추출할 수 있다. 즉, 각각의 시스템 콜의 점수와 기준 점수를 비교하여, 악성코드에 사용될 가능성이 더 높은 시스템 콜을 검출할 수 있다. (S126). If the score is equal to or greater than the threshold value, the system call pattern of each malicious code is set (S128). If the score is less than the threshold value, the system call pattern of the normal code can be set S128 '). In this case, the threshold value represents a reference value, and when the reference value is negative (-), it can be determined that the absolute value is greater than the threshold value when the absolute value is large. Specifically, when the score of the "A" system call is 8 and the score of the "B" system call is -11, the "A" system call is more likely to be used in the malicious code than the "B" system call, System call points can be used to extract system calls that are more likely to be used in malicious code. That is, by comparing the score of each system call with the reference score, it is possible to detect a system call that is more likely to be used in malicious code.

위와 같은 방법으로, 악성코드에 임계값 이상인 시스템 콜을 순차적으로 검출하고, 검출된 시스템 콜을 나열하여 사용 패턴을 검출할 수 있다. 검출된 사용 패턴을 악성코드의 시스템 콜 패턴으로 설정할 수 있다. In this manner, a system call exceeding a threshold value can be sequentially detected in the malicious code, and the detected usage pattern can be detected by listing the detected system calls. The detected usage pattern can be set as the system call pattern of the malicious code.

다음으로, 각각의 악성코드의 시스템 콜 패턴을 그룹화하는 단계(S130)는 각 시스템 콜 패턴의 유사도를 기반으로 그룹화를 수행할 수 있다. 구체적으로, 계층적 클러스터링 알고리즘, 최대 거리 알고리즘, K 평균 알고리즘, Isodata 알고리즘, 또는 로빈-먼로법 알고리즘 중 적어도 하나의 클러스터링 알고리즘을 적용하여 그룹화를 수행할 수 있다. Next, the grouping of the system call patterns of each malicious code (S130) can perform grouping based on the similarity degree of each system call pattern. Specifically, grouping can be performed by applying at least one clustering algorithm among a hierarchical clustering algorithm, a maximum distance algorithm, a K average algorithm, an Isodata algorithm, or a Robin-Monroe algorithm.

설정된 악성코드 시스템 콜 중 공통으로 포함된 악성코드 시스템 콜의 개수에 따라 유사도가 계산될 수 있다. 계산된 유사도에 따라 악성코드들을 그룹화할 수 있다. The degree of similarity can be calculated according to the number of malicious code system calls commonly included in the set malicious code system call. The malicious codes can be grouped according to the calculated similarity.

다음으로, 본 발명에 따른 악성코드 검출을 위한 자동 규칙 생성방법은 악성코드 검출 규칙을 생성하고(S140), 생성된 규칙에 따라 악성코드를 판별할 수 있다(S150).Next, the automatic rule generation method for malicious code detection according to the present invention generates a malicious code detection rule (S140), and can identify malicious code according to the generated rule (S150).

구체적으로, 악성코드 검출 규칙을 생성하는 단계(S140)는 각각의 그룹 별로 대표 악성코드 시스템 콜의 패턴을 결정할 수 있다. 이때, 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 각 그룹의 악성코드 검출 규칙으로 결정할 수 있다. 다중서열정렬 알고리즘은 악성코드의 시스템 콜 패턴이 여러 개 있을때 한꺼번에 묶에서 서로 정렬하는 방법을 의미한다. Specifically, the step of generating the malicious code detection rule (S140) can determine the pattern of the representative malicious code system call for each group. At this time, the system call pattern of grouped malicious codes can be determined as a malicious code detection rule of each group by selecting a representative pattern of each group using a multiple sequence alignment algorithm. The multi-sequence sorting algorithm refers to a method of grouping together malicious codes at a time when there are multiple system call patterns.

생성된 악성코드 검출 규칙(즉, 각 그룹의 대표 패턴)과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드인지 여부와 어느 그룹에 포함되는지 결정할 수 있다. 예를 들어, 제1 그룹의 악성코드의 시스템 콜 패턴이 A->D->C->D로 설정된 경우, 특정 프로그램이 A->F->D->a->b->C->D로 시스템 콜이 수행되면 설정된 악성코드의 시스템 콜 패턴인 A->D->C->D 순서로 시스템 콜이 수행되고 있으므로, 악성코드로 판단할 수 있다. 즉, 특정 프로그램은 제1 그룹의 악성코드로 판단될 수 있다. 또한, 유사도에 따라 임계값 이상의 유사도를 만족하는 경우, 제1 그룹의 악성코드로 판단할 수 있다. The generated malicious code detection rule (i.e., the representative pattern of each group) is compared with the system call pattern of the newly executed program to determine whether or not the malicious code is included and in which group the malicious code is included. For example, if the system call pattern of the first group of malicious codes is set to A-> D-> C-> D, then the specific program is A-> F-> D-> a-> b-> C-> D, the system call is executed in the order of A-> D-> C-> D, which is the system call pattern of the malicious code set, so it can be determined as a malicious code. That is, the specific program can be judged as the malicious code of the first group. If the degree of similarity equal to or greater than the threshold value is satisfied according to the degree of similarity, it can be determined that the first group of malicious codes is satisfied.

도 7을 참조하면, 각각의 악성코드의 시스템 콜에서, 악성코드에 사용될 가능성이 높은 시스템 콜 패턴이 A->D->E->E->D->B으로 설정된 경우, 각 악성코드 시스템 콜의 시퀀스에 따라 유사도를 계산할 수 있다. Referring to FIG. 7, in the system call of each malicious code, when the system call pattern likely to be used for the malicious code is set to A-> D-> E-> E-> D-> B, The similarity can be calculated according to the sequence of calls.

제1 악성코드는 시퀀스 Ⅰ의 순서로 즉, C, A, D, C, E, E, D, B, C, C 순서의 시스템 콜 10개로 실행되고, 제2 악성코드는 A, D, E, E, D, B, D, C, A, C 순서의 시스템 콜 10개로 실행될 수 있다. The first malicious code is executed with 10 system calls in the order of Sequence I, that is, in order of C, A, D, C, E, E, D, B, C, , E, D, B, D, C, A, C.

이 경우, 제1 악성코드와 제2 악성코드는 설정된 패턴과 각각 0.6의 유사도를 갖는것으로 계산될 수 있고, 미리 설정된 유사도가 0.5인 경우, 악성코드로 판별될 수 있다. In this case, the first malicious code and the second malicious code can be calculated to have a degree of similarity of 0.6 with the set pattern, respectively, and can be determined to be malicious code if the preset degree of similarity is 0.5.

도 3을 참조하면, 본 발명의 일 실시예에 따른 악성코드 검출을 위한 자동 규칙 생성방법은 새로 실행되는 프로그램이 악성코드인 것으로 판별된 경우(S150), 새로 실행되는 프로그램의 시스템 콜 패턴을 악성코드의 시스템 콜 패턴으로 업데이트할 수 있다(S160).Referring to FIG. 3, in the automatic rule generation method for malicious code detection according to an embodiment of the present invention, when a newly executed program is determined to be a malicious code (S150) The system call pattern of the code can be updated (S160).

구체적으로, 악성코드 유포자가 악성코드의 시스템 콜을 A->D->C->B 패턴에서 A->D->b->a->C->B 패턴으로 변경하여 유포한 경우, 변경된 악성코드 역시 악성코드의 시스템 콜 패턴으로 설정된 A->D->C->B 패턴을 포함하고 있기 때문에 악성코드로 검출되지만, 계속적으로 변형된 악성코드가 유포될 경우, 일부 시스템 콜을 변경하게 되면 악성코드로 검출되지 않을 수 있다. 따라서, 변경된 악성코드의 시스템 콜 패턴인 A->D->b->a->C->B 을 악성코드의 시스템 콜 패턴으로 업데이트 할 수 있다. Specifically, if a malicious code distributor changed the system call of malicious code from A-> D-> C-> B pattern to A-> D-> b-> a-> C-> B pattern and distributed it, Malicious code is also detected as malicious code because it contains A-> D-> C-> B pattern set by system call pattern of malicious code. However, if malicious codes continuously distributed are distributed, some system calls are changed It may not be detected as malicious code. Therefore, the system call pattern of the changed malicious code, A-> D-> b-> a-> C-> B, can be updated to the system call pattern of the malicious code.

다음으로, 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화할 수 있다(S170). 구체적으로, 변경된 악성코드의 시스템 콜 패턴인 A->D->b->a->C->B 을 각 그룹의 대표 패턴들과 비교하여 특정 그룹으로 분류하고, 특정 그룹에 포함된 다수의 악성코드의 시스템 콜 패턴을 다중서열정렬 알고리즘을 다시 적용하여 대표 패턴을 결정할 수 있다. Next, the similarity between the updated system call pattern of the malicious code and the system call pattern of the existing malicious code is compared, and the malicious code having the set similarity or higher can be grouped into one group (S170). Specifically, the system call pattern of the changed malicious code, A-> D-> b-> a-> C-> B, is compared with the representative patterns of the groups to classify them into specific groups, The representative pattern can be determined by reapplying the system call pattern of the malicious code to the multi-sequence sorting algorithm.

위와 같은 방법에 의하여, 변형된 악성코드의 시스템 콜 패턴이 악성코드의 대표 패턴을 설정하는데 연속적으로 반영될 수 있다. By the above method, the system call pattern of the modified malicious code can be continuously reflected in setting the representative pattern of the malicious code.

도 4를 참조하면, 본 발명의 일 실시예에 따른 악성코드 검출을 위한 자동 규칙 생성방법은 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계(S140)와 악성코드를 판별하는 단계(S150) 사이에, 생성된 악성코드 검출 규칙을 데이터베이스에 저장하는 단계(S145)를 더 포함할 수 있다.Referring to FIG. 4, an automatic rule generation method for malicious code detection according to an exemplary embodiment of the present invention includes generating a malicious code detection rule by selecting a representative pattern of each group (S140) (S145) storing the generated malicious code detection rule in a database between the malicious code detection rule and the malicious code detection rule (S150).

구체적으로, 악성코드를 분류한 각 그룹의 명칭, 각 그룹의 대표 패턴, 각 그룹에 포함되는 악성코드의 시스템 콜 패턴과 검출 횟수를 매칭시켜 저장할 수 있고, 새로운 악성코드가 검출된 경우, 새로운 악성코드의 변경된 시스템 콜 패턴과 분류된 그룹 등을 데이터베이스에 업데이트 할 수 있다. Specifically, the name of each group in which the malicious code is classified, the representative pattern of each group, the system call pattern of the malicious code included in each group, and the detection frequency can be matched and stored. If a new malicious code is detected, You can update the database with the changed system call pattern of the code, the grouped group, and so on.

도 5는 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성장치의 개략적인 구성도이다. 5 is a schematic block diagram of an automatic rule generation apparatus for malicious code detection according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성장치(100)는 로그 추출부(110), 패턴 설정부(120), 그룹 생성부(130), 악성코드 검출 규칙 생성부(140), 및 악성코드 판별부(150)를 포함하여 구성될 수 있다. 또한, 악성코드 검출을 위한 자동 규칙 생성장치(100)는 악성코드와 관련된 정보를 저장하는 데이터베이스(DB)(160)를 더 포함하여 구성될 수 있다.5, an automatic rule generation apparatus 100 for detecting a malicious code according to an exemplary embodiment of the present invention includes a log extraction unit 110, a pattern setting unit 120, a group generating unit 130, a malicious code A detection rule generation unit 140, and a malicious code determination unit 150. In addition, the automatic rule generation apparatus 100 for detecting a malicious code may further include a database (DB) 160 for storing information related to a malicious code.

로그 추출부(110)는 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출할 수 있다. 즉, 샘플로 선정된 각각의 악성코드와 정상 프로그램을 실행시켜 시스템 콜을 추출하고, 각 시스템 콜의 수행 횟수와 수행 순서를 추출할 수 있다. The log extracting unit 110 can extract a large number of system calls by executing a plurality of malicious codes and a normal program. That is, each malicious code selected by the sample and the normal program are executed to extract the system call, and the execution frequency and execution order of each system call can be extracted.

패턴 생성부(120)는 로그 추출부(110)에서 추출된 다수의 시스템 콜 각각이 다수의 악성코드와 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여할 수 있다. 또한, 패턴 생성부(120)는 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 각각의 악성코드의 시스템 콜 패턴으로 설정할 수 있다. 시스템 콜 패턴을 설정하는 구체적인 방법은 도 2에서 상세히 설명하였다. The pattern generating unit 120 may assign scores to each of the plurality of system calls extracted by the log extracting unit 110 using the number of malicious codes and the number of times the malicious codes are executed in the normal program. The pattern generating unit 120 may extract a system call having a score difference equal to or greater than a threshold value and set a pattern of the extracted system call of each malicious code among a plurality of malicious codes as a system call pattern of each malicious code . A concrete method of setting the system call pattern has been described in detail in FIG.

그룹 생성부(130)는 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화할 수 있다. 각 그룹에 포함된 악성코드의 시스템 콜 패턴은 설정된 기준값 이상의 유사도를 갖도록 분류될 수 있다. 그룹 생성부(130)는 계층적 클러스터링 알고리즘, 최대 거리 알고리즘, K 평균 알고리즘, Isodata 알고리즘, 또는 로빈-먼로법 알고리즘 중 적어도 하나의 클러스터링 알고리즘을 적용하여 그룹화할 수 있다. The group generating unit 130 may group the system call patterns of each malicious code based on the degree of similarity. The system call pattern of the malicious code included in each group can be classified to have a degree of similarity equal to or greater than a set reference value. The group generating unit 130 may group at least one of the hierarchical clustering algorithm, the maximum distance algorithm, the K average algorithm, the Isodata algorithm, and the Robin-Monroe algorithm.

악성코드 검출 규칙 생성부(140)는 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성할 수 있다. 하나의 그룹에 포함된 다수의 악성코드들의 시스템 콜 패턴을 나열하고, 다수의 시스템 콜 패턴을 이용하여 각 그룹의 악성코드들의 대표 시스템 콜 패턴을 결정하여 악성코드 검출 규칙으로 설정할 수 있다. The malicious code detection rule generation unit 140 may generate a malicious code detection pattern by selecting a representative pattern of each group by using a multiple sequence alignment algorithm for a system call pattern of grouped malicious codes. A system call pattern of a plurality of malicious codes included in one group is listed and a representative system call pattern of malicious codes of each group is determined using a plurality of system call patterns and set as a malicious code detection rule.

악성코드 판별부(150)는 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별할 수 있다. 이때, 악성코드 판별부(150)는 미리 설정된 유사도 이상 일치하는 경우 악성코드로 판별할 수 있다. 이 경우, 악성코드 판별부(150)는 각 그룹의 대표 패턴과 유사도를 비교하여 악성코드로 판별된 경우, 해당 그룹의 악성코드로 재분류할 수 있다. The malicious code discrimination unit 150 can discriminate the malicious code by comparing the generated malicious code detection rule with the system call pattern of the newly executed program. At this time, the malicious code discrimination unit 150 can discriminate the malicious code if the degree of similarity is equal to or greater than a preset degree of similarity. In this case, the malicious code discrimination unit 150 compares the similarity with the representative pattern of each group, and if the malicious code is discriminated, it can be reclassified as malicious code of the corresponding group.

또한, 패턴 설정부(120)는 악성코드 판별부(150)에서 새로 실행되는 프로그램을 악성코드인 것으로 판별한 경우, 새로 실행되는 프로그램의 시스템 콜 패턴을 악성코드의 시스템 콜 패턴으로 업데이트하여 설정할 수 있다. 즉, 해당 그룹의 악성코드 패턴 중 하나로 포함시키도록 데이터베이스를 업데이트하고, 새로운 악성코드 패턴이 포함된 풀에서 대표 패턴을 결정할 수 있다. 또한, 검출된 악성코드를 해당하는 그룹에 포함시키지 않고, 그룹 생성부(130)에서 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화한 후 풀이 변경된 그룹의 대표 패턴을 새로 결정할 수 있다. When the malicious code determining unit 150 determines that the newly executed program is a malicious code, the pattern setting unit 120 updates the system call pattern of the newly executed program with the system call pattern of the malicious code have. That is, the database can be updated to include it as one of the malicious code patterns of the group, and the representative pattern can be determined in the pool containing the new malicious code pattern. Also, the detected malicious code is not included in the corresponding group, and the similarity between the system call pattern of the malicious code updated in the group generating unit 130 and the system call pattern of the existing malicious code is compared, Can be grouped into one group, and a representative pattern of the group whose pool has been changed can be newly determined.

데이터베이스(160)는 생성된 악성코드 검출 규칙을 저장할 수 있다. 이때, 데이터베이스(160)는 각 그룹의 명칭, 각 그룹의 대표 패턴, 각 그룹에 포함되는 악성코드의 시스템 콜 패턴과 검출 횟수를 매칭시켜 저장할 수 있다. The database 160 may store the generated malicious code detection rule. At this time, the database 160 may store the name of each group, the representative pattern of each group, the system call pattern of the malicious code included in each group, and the detection count in a matching manner.

도 6은 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성시스템의 개략적인 구성도이다.FIG. 6 is a schematic configuration diagram of an automatic rule generation system for malicious code detection according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예와 관련된 악성코드 검출을 위한 자동 규칙 생성시스템(1000)은 적어도 하나의 사용자 단말기(100A, 100B, 100C) 및 서버(200)를 포함하여 구성될 수 있다. 6, an automatic rule generation system 1000 for malicious code detection according to an embodiment of the present invention may include at least one user terminal 100A, 100B, 100C and a server 200 have.

먼저, 서버(200)는 악성코드 판별 어플리케이션을 저장하고, 사용자 단말기(100A, 100B, 100C)와 유무선으로 연결되어, 악성코드 판별 어플리케이션의 다운로드 요청을 수신하는 경우, 악성코드 판별 어플리케이션을 사용자 단말기(100A, 100B, 100C)로 전송할 수 있다. First, the server 200 stores a malicious code discrimination application. When the malicious code discrimination application is connected to the user terminals 100A, 100B, and 100C by wired / wireless connection and receives a download request of the malicious code discrimination application, 100A, 100B, and 100C.

사용자 단말기(100A, 100B, 100C)는 서버(200)로부터 악성코드 판별 어플리케이션을 요청하고, 다운로드 받아 설치할 수 있다. 또한, 사용자 단말기(100A, 100B, 100C)는 악성코드 판별 어플리케이션을 설치하면, 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하고, 추출된 다수의 시스템 콜 각각이 다수의 악성코드와 정상 프로그램에서 실행된 횟수를 이용하여 다수의 악성코드 중 각각의 악성코드의 시스템 콜 패턴을 추출할 수 있다. 다음으로, 사용자 단말기(100A, 100B, 100C)는 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화한 후 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하고, 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별할 수 있다. The user terminals 100A, 100B and 100C can request the malicious code discrimination application from the server 200 and download and install the malicious code discrimination application. When the malicious code discrimination application is installed, the user terminals 100A, 100B, and 100C execute a plurality of malicious codes and normal programs to extract a plurality of system calls, and each of the extracted system calls includes a plurality of malicious codes And the number of times executed in the normal program, the system call pattern of each malicious code among a plurality of malicious codes can be extracted. Next, the user terminals 100A, 100B, and 100C group the system call patterns of the malicious codes based on the degree of similarity, select a representative pattern of each group using a multiple sequence alignment algorithm, The malicious code can be identified by comparing the generated malicious code detection rule with the system call pattern of the newly executed program.

또한, 악성코드 검출 어플리케이션이 설치된 사용자 단말기(100A, 100B, 100C)는 새로 실행되는 프로그램이 악성코드인 것으로 판별된 경우, 새로 실행되는 프로그램의 시스템 콜 패턴을 악성코드의 시스템 콜 패턴으로 업데이트한 후, 각 그룹의 대표 패턴을 선정할 수 있다. 즉, 사용자 단말기(100A, 100B, 100C)는 상기 악성코드 검출을 위한 자동 규칙 생성장치로 기능할 수 있다. When the newly executed program is determined to be malicious code, the user terminals 100A, 100B, and 100C installed with the malicious code detection application update the system call pattern of the newly executed program with the system call pattern of the malicious code , Representative patterns of each group can be selected. That is, the user terminals 100A, 100B, and 100C may function as automatic rule generation devices for detecting malicious codes.

본 발명에 따르면, 시스템 콜의 패턴을 이용하여 악성코드를 검출함으로써 악성코드에 사용되지 않던 시스템 콜이 중간에 삽입되는 경우에도 패턴을 이용하여 악성코드를 검출할 수 있고, 새로운 악성코드의 시스템 콜 패턴을 이용하여 악성코드의 시스템 콜의 패턴을 업데이트함으로써 악성코드 검출에 적응적으로 대응할 수 있다. According to the present invention, even when a system call which is not used in a malicious code is inserted in the middle by detecting a malicious code by using a pattern of the system call, the malicious code can be detected using the pattern, It is possible to adaptively cope with malicious code detection by updating the pattern of the system call of the malicious code by using the pattern.

상기 또는 다른 목적을 달성하기 위해 본 발명의 다른 측면에 따르면, 악성코드 검출을 위한 자동 규칙 생성방법의 각 단계를 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.According to another aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for performing each step of automatic rule generation method for malicious code detection on a computer.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer-readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, . Also, the computer may include a control unit 180 of the terminal. Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

1000: 악성코드 검출을 위한 자동 규칙 생성시스템
100A, 100B, 100C: 사용자 단말기 200: 서버
100: 악성코드 검출을 위한 자동 규칙 생성장치
110: 로그 추출부 120: 패턴 설정부
130: 그룹 생성부 140: 악성코드 검출 규칙 생성부
150: 악성코드 판별부 160: 데이터베이스(DB)
1000: Automatic rule generation system for malicious code detection
100A, 100B, 100C: user terminal 200: server
100: Automatic rule generation device for malicious code detection
110: log extracting unit 120: pattern setting unit
130: group generation unit 140: malicious code detection rule generation unit
150: malicious code discrimination unit 160: database (DB)

Claims (17)

다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하는 단계;
상기 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여하는 단계;
상기 부여된 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 상기 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 상기 각각의 악성코드의 시스템 콜 패턴으로 설정하는 단계;
상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화하는 단계;
상기 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계; 및
상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 단계;
를 포함하는 악성코드 검출을 위한 자동 규칙 생성방법.
Executing a plurality of malicious codes and a normal program to extract a plurality of system calls;
Assigning a score to each of the plurality of extracted system calls using the number of malicious codes and the number of times executed in the normal program;
Extracting a system call having the given score difference equal to or greater than a threshold value and setting a pattern of an extracted system call of each malicious code among the plurality of malicious codes as a system call pattern of each malicious code;
Grouping the system call patterns of each malicious code based on the degree of similarity;
Selecting a representative pattern of each group using a multiple sequence alignment algorithm to generate a malicious code detection rule for the system call pattern of the grouped malicious code; And
Determining malicious code by comparing the generated malicious code detection rule with a system call pattern of a newly executed program;
A method for generating an automatic rule for detecting a malicious code.
제1항에 있어서,
상기 악성코드를 판별하는 단계 다음에,
상기 새로 실행되는 프로그램이 악성코드인 것으로 판별된 경우, 상기 새로 실행되는 프로그램의 시스템 콜 패턴을 상기 악성코드의 시스템 콜 패턴으로 업데이트하는 단계;를 더 포함하는 악성코드 검출을 위한 자동 규칙 생성방법.
The method according to claim 1,
After determining the malicious code,
And updating the system call pattern of the newly executed program with the system call pattern of the malicious code when it is determined that the newly executed program is a malicious code.
제2항에 있어서,
상기 유사도를 기반으로 그룹화하는 단계는, 상기 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화하는 것을 특징으로 하는 자동 규칙 생성방법.
3. The method of claim 2,
The grouping based on the degree of similarity may include grouping the malicious code having the set similarity or more into one group by comparing the similarity between the updated system call pattern of the malicious code and the system call pattern of the existing malicious code, How to create automated rules.
제1항에 있어서,
상기 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 단계와 상기 악성코드를 판별하는 단계 사이에,
상기 생성된 악성코드 검출 규칙을 데이터베이스에 저장하는 단계;를 더 포함하는 악성코드 검출을 위한 자동 규칙 생성방법.
The method according to claim 1,
A step of selecting a representative pattern of each group and generating a malicious code detection rule, and a step of discriminating the malicious code,
And storing the generated malicious code detection rule in a database.
제4항에 있어서,
상기 데이터베이스에 저장하는 단계는, 상기 각 그룹의 명칭, 상기 각 그룹의 대표 패턴, 상기 각 그룹에 포함되는 악성코드의 시스템 콜 패턴과 검출 횟수를 매칭시켜 저장하는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성방법.
5. The method of claim 4,
Wherein the step of storing in the database stores the name of each group, the representative pattern of each group, and the system call pattern of the malicious code included in each group and the detected number in a matching manner. How to create automated rules.
제1항에 있어서,
상기 정상 프로그램은, 윈도우즈 OS(operating system)가 설치될 때 디폴트로 설치되는 프로그램 또는 상기 윈도우즈 OS 관리자에 의해 승인된 프로그램을 나타내는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성방법
The method according to claim 1,
Wherein the normal program is a program installed by default when a Windows OS is installed or a program approved by the Windows OS administrator.
제1항에 있어서,
상기 유사도를 기반으로 그룹화하는 단계는, 계층적 클러스터링 알고리즘, 최대 거리 알고리즘, K 평균 알고리즘, Isodata 알고리즘, 또는 로빈-먼로법 알고리즘 중 적어도 하나의 클러스터링 알고리즘을 적용하여 그룹화하는 것을 특징으로 악성코드 검출을 위한 자동 규칙 생성방법.
The method according to claim 1,
The grouping based on the degree of similarity is performed by applying at least one clustering algorithm among a hierarchical clustering algorithm, a maximum distance algorithm, a K average algorithm, an Isodata algorithm, or a Robin- How to create automated rules for.
제1항 내지 제7항 중 어느 한 항의 악성코드 검출을 위한 자동 규칙 생성방법의 각 단계를 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
A computer-readable recording medium having recorded thereon a computer program for performing each step of a method for generating automatic rules for detecting malicious codes according to any one of claims 1 to 7 on a computer.
다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하는 로그 추출부;
상기 로그 추출부에서 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 점수를 부여하고, 상기 점수 차이가 임계값 이상인 시스템 콜을 추출하고, 상기 다수의 악성코드 중 각각의 악성코드의 추출된 시스템 콜의 패턴을 상기 각각의 악성코드의 시스템 콜 패턴으로 설정하는 패턴 설정부;
상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화하는 그룹 생성부;
상기 그룹화된 악성코드의 시스템 콜 패턴을 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하는 악성코드 검출 규칙 생성부; 및
상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 악성코드 판별부;
를 포함하는 악성코드 검출을 위한 자동 규칙 생성장치.
A log extracting unit for executing a plurality of malicious codes and a normal program to extract a plurality of system calls;
The system extracts a plurality of system calls extracted from the log extracting unit by using the number of malicious codes and the number of times executed in the normal program, extracts a system call in which the score difference is equal to or greater than a threshold value, A pattern setting unit configured to set a pattern of an extracted system call of each malicious code among malicious codes as a system call pattern of each malicious code;
A group generating unit for grouping the system call patterns of the malicious codes based on the degree of similarity;
A malicious code detection rule generation unit for generating a malicious code detection rule by selecting a representative pattern of each group by using a multiple sequence alignment algorithm for the system call pattern of the grouped malicious codes; And
A malicious code discrimination unit for discriminating a malicious code by comparing the generated malicious code detection rule with a system call pattern of a newly executed program;
And an automatic rule generation device for detecting a malicious code.
제9항에 있어서,
상기 패턴 설정부는, 상기 악성코드 판별부에서 상기 새로 실행되는 프로그램을 악성코드인 것으로 판별한 경우, 상기 새로 실행되는 프로그램의 시스템 콜 패턴을 상기 악성코드의 시스템 콜 패턴으로 업데이트하여 설정하는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성장치.
10. The method of claim 9,
Wherein the pattern setting unit updates the system call pattern of the newly executed program with the system call pattern of the malicious code when the malicious code discrimination unit determines that the newly executed program is a malicious code Automatic rule generation device for malicious code detection.
제10항에 있어서,
상기 그룹 생성부는, 상기 업데이트된 악성코드의 시스템 콜 패턴과 기존의 악성코드의 시스템 콜 패턴의 유사성을 비교하여, 설정된 유사성 이상인 악성코드를 하나의 그룹으로 그룹화하는 것을 특징으로 하는 자동 규칙 생성장치.
11. The method of claim 10,
Wherein the group generating unit compares the system call pattern of the updated malicious code with the similarity of the system call pattern of the existing malicious code and groups the malicious code having the set similarity or more into one group.
제9항에 있어서,
상기 생성된 악성코드 검출 규칙을 저장하는 데이터베이스;를 더 포함하는 악성코드 검출을 위한 자동 규칙 생성장치.
10. The method of claim 9,
And a database for storing the generated malicious code detection rule.
제12항에 있어서,
상기 데이터베이스는, 상기 각 그룹의 명칭, 상기 각 그룹의 대표 패턴, 상기 각 그룹에 포함되는 악성코드의 시스템 콜 패턴과 검출 횟수를 매칭시켜 저장하는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성장치.
13. The method of claim 12,
Wherein the database stores a name of each group, a representative pattern of each group, a system call pattern of a malicious code included in each group, and a detection count in a matching manner. .
제9항에 있어서,
상기 정상 프로그램은, 윈도우즈 OS(operating system)가 설치될 때 디폴트로 설치되는 프로그램 또는 상기 윈도우즈 OS 관리자에 의해 승인된 프로그램을 나타내는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성장치.
10. The method of claim 9,
Wherein the normal program represents a program installed as a default when a Windows OS is installed or a program approved by the Windows OS administrator.
제9항에 있어서,
상기 그룹 생성부는, 계층적 클러스터링 알고리즘, 최대 거리 알고리즘, K 평균 알고리즘, Isodata 알고리즘, 또는 로빈-먼로법 알고리즘 중 적어도 하나의 클러스터링 알고리즘을 적용하여 그룹화하는 것을 특징으로 악성코드 검출을 위한 자동 규칙 생성장치.
10. The method of claim 9,
Wherein the group generating unit groups at least one clustering algorithm among a hierarchical clustering algorithm, a maximum distance algorithm, a K average algorithm, an Isodata algorithm, or a Robin-Monroe law algorithm, .
악성코드 판별 어플리케이션을 저장하는 서버; 및
상기 서버로부터 상기 악성코드 판별 어플리케이션을 다운로드 받아 설치하면, 다수의 악성코드와 정상 프로그램을 실행시켜 다수의 시스템 콜을 추출하고, 상기 추출된 다수의 시스템 콜 각각이 상기 다수의 악성코드와 상기 정상 프로그램에서 실행된 횟수를 이용하여 상기 다수의 악성코드 중 각각의 악성코드의 시스템 콜 패턴을 추출하고, 상기 각각의 악성코드의 시스템 콜 패턴을 유사도를 기반으로 그룹화한 후 다중서열정렬(Multiple sequence alignment) 알고리즘을 이용하여 각 그룹의 대표 패턴을 선정하여 악성코드 검출 규칙으로 생성하고, 상기 생성된 악성코드 검출 규칙과 새로 실행되는 프로그램의 시스템 콜 패턴을 비교하여 악성코드를 판별하는 사용자 단말기;
를 포함하는 악성코드 검출을 위한 자동 규칙 생성시스템.
A server for storing a malicious code discrimination application; And
And downloading and installing the malicious code discrimination application from the server, extracting a plurality of system calls by executing a plurality of malicious codes and a normal program, wherein each of the extracted plurality of system calls includes the malicious code and the normal program Extracting a system call pattern of each malicious code among the plurality of malicious codes, grouping the system call patterns of each malicious code based on the degree of similarity, performing multiple sequence alignment, A user terminal for selecting a representative pattern of each group using an algorithm and generating a malicious code detection rule, comparing the generated malicious code detection rule with a system call pattern of a newly executed program to discriminate malicious code;
An automatic rule generation system for malicious code detection.
제16항에 있어서,
상기 사용자 단말기는,
상기 새로 실행되는 프로그램이 악성코드인 것으로 판별된 경우, 상기 새로 실행되는 프로그램의 시스템 콜 패턴을 상기 악성코드의 시스템 콜 패턴으로 업데이트한 후, 상기 각 그룹의 대표 패턴을 선정하는 것을 특징으로 하는 악성코드 검출을 위한 자동 규칙 생성시스템.
17. The method of claim 16,
The user terminal comprises:
And when the newly executed program is determined to be a malicious code, the system call pattern of the newly executed program is updated to the system call pattern of the malicious code, and then the representative pattern of each group is selected Automatic Rule Generation System for Code Detection.
KR1020170024455A 2017-02-24 2017-02-24 Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same KR101907681B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170024455A KR101907681B1 (en) 2017-02-24 2017-02-24 Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170024455A KR101907681B1 (en) 2017-02-24 2017-02-24 Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same

Publications (2)

Publication Number Publication Date
KR20180097824A KR20180097824A (en) 2018-09-03
KR101907681B1 true KR101907681B1 (en) 2018-10-12

Family

ID=63600914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170024455A KR101907681B1 (en) 2017-02-24 2017-02-24 Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same

Country Status (1)

Country Link
KR (1) KR101907681B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102068605B1 (en) * 2019-03-25 2020-01-21 (주)시큐레이어 Method for classifying malicious code by using sequence of functions' execution and device using the same
KR102053869B1 (en) * 2019-05-29 2020-01-22 쿤텍 주식회사 Method and apparatus for detecting malignant code of linux environment
KR102535251B1 (en) * 2021-10-18 2023-05-26 국방과학연구소 Cyber security report generation method of electronic apparatus

Also Published As

Publication number Publication date
KR20180097824A (en) 2018-09-03

Similar Documents

Publication Publication Date Title
Crussell et al. Andarwin: Scalable detection of semantically similar android applications
US11188649B2 (en) System and method for classification of objects of a computer system
US8479296B2 (en) System and method for detecting unknown malware
RU2680738C1 (en) Cascade classifier for the computer security applications
Crussell et al. Scalable semantics-based detection of similar android applications
US10303873B2 (en) Device for detecting malware infected terminal, system for detecting malware infected terminal, method for detecting malware infected terminal, and program for detecting malware infected terminal
CN109586282B (en) Power grid unknown threat detection system and method
US11470097B2 (en) Profile generation device, attack detection device, profile generation method, and profile generation computer program
RU2568285C2 (en) Method and system for analysing operation of software detection rules
EP2975873A1 (en) A computer implemented method for classifying mobile applications and computer programs thereof
WO2015178578A1 (en) System and method for analyzing patch file
US20120102569A1 (en) Computer system analysis method and apparatus
CN106055976B (en) File detection method and sandbox controller
US20120084865A1 (en) False Alarm Detection For Malware Scanning
KR101851233B1 (en) Apparatus and method for detection of malicious threats included in file, recording medium thereof
US10839074B2 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
KR101907681B1 (en) Method, apparatus, and system for automatically generating rule for detecting virus code, and computer readable recording medium for reciring the same
US11270001B2 (en) Classification apparatus, classification method, and classification program
JP2017142744A (en) Information processing apparatus, virus detection method, and program
KR102180098B1 (en) A malware detecting system performing monitoring of malware and controlling a device of user
RU2587429C2 (en) System and method for evaluation of reliability of categorisation rules
KR102318991B1 (en) Method and device for detecting malware based on similarity
Ndagi et al. Machine learning classification algorithms for adware in android devices: a comparative evaluation and analysis
Lajevardi et al. Markhor: malware detection using fuzzy similarity of system call dependency sequences
US11003772B2 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems

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