KR102121741B1 - Malicious code detecting apparatus based on bipartite graph - Google Patents
Malicious code detecting apparatus based on bipartite graph Download PDFInfo
- Publication number
- KR102121741B1 KR102121741B1 KR1020180090696A KR20180090696A KR102121741B1 KR 102121741 B1 KR102121741 B1 KR 102121741B1 KR 1020180090696 A KR1020180090696 A KR 1020180090696A KR 20180090696 A KR20180090696 A KR 20180090696A KR 102121741 B1 KR102121741 B1 KR 102121741B1
- Authority
- KR
- South Korea
- Prior art keywords
- malicious
- file
- malicious code
- basic block
- similarity
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 이분 그래프 기반의 악성코드 탐지 장치에 관한 것으로, 분석 모집단에 포함된 복수의 악성파일들 각각을 특정 기준에 따라 분석하여 적어도 어느 하나의 기본 블록을 결정하는 기본 블록 결정부, 기본 블록을 기초로 복수의 악성파일들에 관한 이분 그래프를 생성하여 복수의 악성파일들 간의 유사도를 산출하는 악성코드 유사도 산출부, 및 유사도를 기초로 복수의 악성파일들을 분류하는 악성코드 분류부를 포함한다.The present invention relates to an apparatus for detecting a malicious code based on a binary graph, and includes a basic block determination unit and a basic block to analyze at least one basic block by analyzing each of a plurality of malicious files included in the analysis population according to specific criteria. It includes a malicious code similarity calculation unit for generating a similarity graph between a plurality of malicious files by generating a binary graph of a plurality of malicious files as a basis, and a malicious code classification unit for classifying a plurality of malicious files based on the similarity.
Description
본 발명은 악성 코드 탐지 기술에 관한 것으로, 보다 상세하게는 이분 그래프를 이용하여 악성 코드를 탐지 및 분류할 수 있는 이분 그래프 기반의 악성 코드 탐지 장치에 관한 것이다.The present invention relates to a malicious code detection technology, and more particularly, to a malicious code detection device based on a binary graph that can detect and classify a malicious code using a binary graph.
인터넷 및 컴퓨터 기술이 지속적으로 개발되고, 이와 함께 이러한 기술을 악용하여 부당한 이익을 취하려는 시도도 증가하고 있다. 예를 들어, 악성코드를 사용자들의 컴퓨터에 설치 및 배포하여 사용자들로부터 부당한 이익을 취하는 방법이 증가하고 있다.Internet and computer technologies are continually being developed, and there are increasing attempts to exploit these technologies to take advantage of them. For example, there are increasing methods of installing and distributing malicious code on users' computers to take unfair advantage from users.
여기에서, 악성코드는 컴퓨터 사용자의 승인없이 컴퓨터에 침투하거나 설치되어 악의적인 행동을 하는 프로그램을 의미한다. 이에 따라, 보안 전문가들은 다양한 해결 방안을 모색하고 있다.Here, the malicious code refers to a program that penetrates or is installed on a computer without the user's permission and performs malicious actions. Accordingly, security experts are seeking various solutions.
본 발명의 일 실시예는 이분 그래프를 이용하여 악성코드를 탐지 및 분류할 수 있는 이분 그래프 기반의 악성코드 탐지 장치를 제공하고자 한다.One embodiment of the present invention is to provide a malicious code detection device based on the binary graph that can detect and classify the malicious code using the binary graph.
본 발명의 일 실시예는 분석 모집단에 있는 복수의 악성파일들과 복수의 악성파일들 각각을 구성하는 기본 블록들에 관한 이분 그래프를 생성하고, 이분 그래프로부터 기본 블록 각각이 복수의 악성파일들에 나타나는 빈도수를 이용하여 복수의 악성파일들 간의 유사도를 산출할 수 있는 이분 그래프 기반의 악성코드 탐지 장치를 제공하고자 한다.An embodiment of the present invention generates a binary graph of a plurality of malicious files in the analysis population and basic blocks constituting each of the plurality of malicious files, and each of the basic blocks is divided into a plurality of malicious files from the binary graph It is intended to provide a malicious code detection device based on a binary graph that can calculate similarity between a plurality of malicious files by using the frequency that appears.
본 발명의 일 실시예는 분석 모집단에 신규 악성파일이 등록되더라도 새로운 이분 그래프를 생성할 필요없이 신규 악성파일을 구성하는 기본 블록을 기초로 신규 악성파일과 비교할 악성파일 간의 유사도를 산출할 수 있는 이분 그래프 기반의 악성코드 탐지 장치를 제공하고자 한다.According to an embodiment of the present invention, even if a new malicious file is registered in the analysis population, a binary component capable of calculating similarity between a new malicious file and a malicious file to be compared based on a basic block constituting the new malicious file without generating a new binary graph. It is intended to provide a graph-based malware detection device.
실시예들 중에서, 이분 그래프 기반의 악성코드 탐지 장치는 분석 모집단에 포함된 복수의 악성파일들 각각을 특정 기준에 따라 분석하여 적어도 어느 하나의 기본 블록을 결정하는 기본 블록 결정부; 상기 기본 블록을 기초로 상기 복수의 악성파일들에 관한 이분 그래프를 생성하여 상기 복수의 악성파일들 간의 유사도를 산출하는 악성코드 유사도 산출부; 및 상기 유사도를 기초로 상기 복수의 악성파일들을 분류하는 악성코드 분류부를 포함한다.Among the embodiments, the apparatus for detecting a malicious code based on the bipartite graph includes: a basic block determination unit that analyzes each of a plurality of malicious files included in the analysis population according to a specific criterion to determine at least one basic block; A malicious code similarity calculating unit generating a binary graph of the plurality of malicious files based on the basic block to calculate similarities between the plurality of malicious files; And a malicious code classification unit classifying the plurality of malicious files based on the similarity.
상기 악성코드 유사도 산출부는 상기 악성코드 분석 모집단을 악성파일 집합과 기본 블록 집합으로 분할하고, 상기 악성파일 집합과 상기 기본 블록 집합 간의 대응 관계를 상기 이분 그래프로 생성하는 것을 특징으로 한다.The malicious code similarity calculator divides the malicious code analysis population into a malicious file set and a basic block set, and generates a corresponding relationship between the malicious file set and the basic block set in the binary graph.
상기 악성코드 유사도 산출부는 상기 이분 그래프를 기초로 상기 기본 블록이 상기 악성파일 집합 내에 나타나는 빈도수를 이용하여 가중치를 산출하고, 산출된 상기 가중치를 기초로 상기 유사도를 산출하는 것을 특징으로 한다.The malicious code similarity calculator calculates a weight using the frequency of the basic block appearing in the malicious file set based on the binary graph, and calculates the similarity based on the calculated weight.
상기 악성코드 유사도 산출부는 상기 빈도수의 역수를 상기 가중치로 산출하는 것을 특징으로 한다. 상기 악성코드 유사도 산출부는 상기 복수의 악성파일 중 비교할 악성파일들 간에 공통으로 대응되는 상기 기본 블록의 상기 가중치를 합하여 상기 비교할 악성파일들 간의 상기 유사도를 산출하는 것을 특징으로 한다.The malicious code similarity calculator calculates the reciprocal of the frequency as the weight. The malicious code similarity calculating unit may calculate the similarity between the malicious files to be compared by summing the weights of the basic blocks corresponding to common malicious files to be compared among the plurality of malicious files.
그리고, 상기 악성코드 유사도 산출부는 상기 악성코드 분석 모집단에 신규 악성파일이 등록되는 경우 상기 신규 악성파일에 관한 상기 기본 블록을 기준으로 상기 이분 그래프로부터 산출된 상기 가중치를 이용하여 상기 신규 악성파일과 비교할 상기 악성파일 간의 상기 유사도를 산출하는 것을 특징으로 한다. Then, when the malicious code similarity calculating unit registers a new malicious file in the malicious code analysis population, it compares the new malicious file with the weight calculated from the bipartite graph based on the basic block of the new malicious file. It is characterized by calculating the similarity between the malicious files.
상기 악성코드 유사도 산출부는 상기 신규 악성파일 및 상기 비교할 악성파일 간에 공통으로 대응되는 상기 기본 블록의 상기 가중치를 합하여 상기 신규 악성파일과 상기 비교할 악성파일 간의 상기 유사도를 산출하는 것을 특징으로 한다.The malicious code similarity calculator calculates the similarity between the new malicious file and the malicious file to be compared by summing the weights of the basic blocks corresponding to the new malicious file and the malicious file to be compared.
그리고, 상기 기본 블록 결정부는 상기 악성파일을 정적 분석하여 나온 기본 단위의 명령어 시퀀스, 함수 단위의 명령어 시퀀스, 상기 악성파일을 동적 분석하여 나온 IP 주소, 도메인 주소, 문자열, 뮤텍스 및 API 중 어느 하나를 상기 기본 블록으로 결정하는 것을 특징으로 한다.In addition, the basic block determining unit may perform any one of a basic unit command sequence, a function unit command sequence, and a dynamic analysis of the malicious file IP address, domain address, string, mutex, and API from the malicious file static analysis. It is characterized in that it is determined by the basic block.
실시예들 중에서, 이분 그래프 기반의 악성코드 탐지 장치는 복수의 악성파일들을 포함하는 분석 모집단에 신규 악성파일이 등록되는 경우 상기 신규 악성파일을 특정 기준에 따라 분석하여 적어도 어느 하나의 기본 블록을 결정하는 기본 블록 결정부; 상기 복수의 악성파일들을 기초로 미리 생성된 이분 그래프로부터 상기 복수의 악성파일들과 상기 신규 악성파일 간의 유사도를 산출하는 악성코드 유사도 산출부; 및 상기 유사도를 기초로 상기 신규 악성파일을 분류하는 악성코드 분류부를 포함하는 이분 그래프 기반의 악성코드 탐지 장치.Among the embodiments, the malicious code detection device based on the bipartite graph determines at least one basic block by analyzing the new malicious file according to a specific criterion when a new malicious file is registered in an analysis population including a plurality of malicious files A basic block determining unit; A malicious code similarity calculating unit calculating a similarity level between the plurality of malicious files and the new malicious file from a binary graph previously generated based on the plurality of malicious files; And a malicious code classification unit that classifies the new malicious file based on the similarity.
상기 유사도 산출부는 상기 분석 모집단을 상기 복수의 악성파일들에 관한 악성파일 집합과 상기 복수의 악성파일들 각각을 구성하는 상기 기본 블록에 관한 기본 블록 집합으로 분할하고, 상기 악성파일 집합과 상기 기본 블록 집합 간의 대응 관계를 상기 이분 그래프로 생성한 것을 특징으로 한다.The similarity calculating unit divides the analysis population into a set of malicious files for the plurality of malicious files and a set of basic blocks for the basic blocks constituting each of the plurality of malicious files, and between the set of malicious files and the set of basic blocks. It is characterized in that the corresponding relationship is generated by the binary graph.
상기 악성코드 유사도 산출부는 상기 기본 블록 집합 중 상기 신규 악성파일을 구성하는 상기 기본 블록이 상기 악성파일 집합 내에 나타나는 빈도 수를 이용하여 상기 신규 악성파일과 비교할 상기 악성파일 간의 상기 유사도를 산출하는 것을 특징으로 한다.The malicious code similarity calculating unit calculates the similarity between the malicious files to be compared with the new malicious files by using the frequency of occurrence of the basic blocks constituting the new malicious file in the malicious file set among the basic block sets. Is done.
상기 악성코드 유사도 산출부는 상기 신규 악성파일과 상기 비교할 악성파일에 공통으로 대응하는 상기 기본 블록에 관한 상기 빈도수의 역수의 합을 상기 유사도로 산출하는 것을 특징으로 한다.The similarity calculator calculates the sum of the reciprocal of the frequency of the basic block corresponding to the new malicious file and the malicious file to be compared to the similarity.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since the specific embodiment does not mean that all of the following effects should be included or only the following effects are included, the scope of rights of the disclosed technology should not be understood as being limited thereby.
본 발명의 일 실시예에 따른 이분 그래프 기반의 악성코드 탐지 장치는 이분 그래프를 이용하여 악성코드를 탐지 및 분류할 수 있다.The apparatus for detecting a malicious code based on a binary graph according to an embodiment of the present invention may detect and classify a malicious code using the binary graph.
본 발명의 일 실시예에 따른 이분 그래프 기반의 악성코드 탐지 장치는 분석 모집단에 있는 복수의 악성파일들과 복수의 악성파일들 각각을 구성하는 기본 블록들에 관한 이분 그래프를 생성하고, 이분 그래프로부터 기본 블록 각각이 복수의 악성파일들에 나타나는 빈도수를 이용하여 복수의 악성파일들 간의 유사도를 산출할 수 있다.The apparatus for detecting a malicious code based on a binary graph according to an embodiment of the present invention generates a binary graph of a plurality of malicious files in the analysis population and basic blocks constituting each of the multiple malicious files, and from the binary graph Similarity between the plurality of malicious files may be calculated by using the frequency of each of the basic blocks in the plurality of malicious files.
본 발명의 일 실시예에 따른 이분 그래프 기반의 악성코드 탐지 장치는 분석 모집단에 신규 악성파일이 등록되더라도 새로운 이분 그래프를 생성할 필요없이 신규 악성파일을 구성하는 기본 블록을 기초로 신규 악성파일과 비교할 악성파일 간의 유사도를 산출할 수 있다.The malicious code detection device based on the binary graph according to an embodiment of the present invention is compared with the new malicious file based on the basic block constituting the new malicious file without the need to generate a new binary graph even if a new malicious file is registered in the analysis population. Similarity between malicious files can be calculated.
도 1은 본 발명의 일 실시예에 따른 이분 그래프 기반의 악성코드 탐지 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 악성코드 탐지 장치를 나타내는 블록도이다.
도 3은 도 1에 있는 악성코드 탐지 장치에서 수행되는 악성코드 탐지 과정을 설명하는 순서도이다.
도 4는 도 2에 있는 악성코드 유사도 산출부에서 악성코드 분석 모집단을 구성하는 악성파일들 간의 유사도를 산출하는 과정을 설명하는 예시도이다.
도 5는 도 2에 있는 악성코드 유사도 산출부에서 악성코드 분석 모집단에 신규 악성파일이 등록된 경우 신규 악성파일과 나머지 악성파일들 간의 유사도를 산출하는 과정을 설명하는 예시도이다.1 is a diagram illustrating a malicious code detection system based on a binary graph according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the malicious code detection device in FIG. 1.
FIG. 3 is a flowchart illustrating a malicious code detection process performed by the malicious code detection device in FIG. 1.
FIG. 4 is an exemplary diagram illustrating a process of calculating the similarity between malicious files constituting the malicious code analysis population in the malicious code similarity calculation unit in FIG. 2.
FIG. 5 is an exemplary diagram illustrating a process of calculating the similarity between a new malicious file and the remaining malicious files when a new malicious file is registered in the malicious code analysis population in the malicious code similarity calculating unit of FIG. 2.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an example for structural or functional description, the scope of the present invention should not be interpreted as being limited by the examples described in the text. That is, since the embodiments can be variously changed and have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing technical ideas. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such an effect, and the scope of the present invention should not be understood as being limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are for distinguishing one component from other components, and the scope of rights should not be limited by these terms. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" to another component, it may be understood that other components may exist in the middle, although they may be directly connected to the other component. On the other hand, when a component is said to be "directly connected" to another component, it should be understood that no other component exists in the middle. On the other hand, other expressions describing the relationship between the components, that is, "between" and "immediately between" or "neighboring to" and "directly neighboring to" should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions unless the context clearly indicates otherwise, and terms such as “comprises” or “have” are used features, numbers, steps, actions, components, parts or the like. It is to be understood that a combination is intended to be present, and should not be understood as pre-excluding the existence or addition possibility of one or more other features or numbers, steps, actions, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation. The identification code does not describe the order of each step, and each step clearly identifies a specific order in context. Unless stated, it may occur in a different order than specified. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices. In addition, the computer-readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as generally understood by a person skilled in the art to which the present invention pertains, unless otherwise defined. The terms defined in the commonly used dictionary should be interpreted as being consistent with the meanings in the context of the related art, and cannot be interpreted as having ideal or excessively formal meanings unless explicitly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 이분 그래프 기반의 악성코드 탐지 시스템을 설명하는 도면이다.1 is a diagram illustrating a malicious code detection system based on a binary graph according to an embodiment of the present invention.
도 1을 참조하면, 악성코드 탐지 시스템(100)은 사용자 단말(110), 악성코드 탐지 장치(130) 및 데이터베이스(150)를 포함할 수 있다. 사용자 단말(110)은 악성코드 탐지 장치(130)에 악성코드 분석의 대상이 되는 대상파일을 제공하는 컴퓨팅 장치에 해당하고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있다. 본 발명은 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다.Referring to FIG. 1, the
사용자 단말(110)은 악성코드 탐지 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)이 악성코드 탐지 장치(130)와 동시에 연결될 수 있다. 사용자 단말(110)은 악성코드 탐지 장치(130)에 악성코드 분석의 대상이 되는 대상파일의 집합으로 구현된 악성코드 분석 모집단을 제공할 수 있다.The
악성코드 탐지 장치(130)는 네트워크를 통해 사용자 단말(110) 또는 데이터베이스(150)로부터 제공받은 대상파일을 분석하여 악성코드를 탐지하고 분류할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 악성코드 탐지 장치(130)는 사용자 단말(110)과 블루투스, WiFi 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 송수신할 수 있다.The malicious
악성코드 탐지 장치(130)는 데이터베이스(150)를 포함하여 구현될 수 있고, 데이터베이스(150)와 별도로 구현될 수 있다. 데이터베이스(150)와 별도로 구현된 경우 악성코드 탐지 장치(130)는 데이터베이스(150)와 연결되어 데이터를 송수신할 수 있다.The
데이터베이스(150)는 악성코드 탐지 장치(130)가 악성코드를 탐지하고 분류하기 위해 사용하는 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 악성코드 탐지 장치(130)가 악성코드를 탐지하기 위해 사용하는 이분 그래프(Bipartite Graph)에 대한 정보들을 저장할 수 있고, 악성코드 탐지의 대상이 되는 대상파일 정보들을 저장할 수 있다. 여기에서, 이분 그래프는 그래프의 정점의 집합을 둘로 분할할 수 있고, 각 집합에 속한 정점이 서로 인접하지 않는 그래프이다. The
데이터베이스(150)는 특정 범위에 속하는 정보들을 저장하는 적어도 하나의 독립된 서브-데이터베이스들로 구성될 수 있고, 적어도 하나의 독립된 서브-데이터베이스들이 하나로 통합된 통합 데이터베이스로 구성될 수 있다. 적어도 하나의 독립된 서브-데이터베이스들로 구성되는 경우에는 각각의 서브-데이터베이스들은 블루투스, WiFi 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 상호 간의 데이터를 송수신할 수 있다. 통합 데이터베이스로 구성되는 경우에는 각각의 서브-데이터베이스들을 하나로 통합하고 상호 간의 데이터 교환 및 제어 흐름을 관리하는 제어부를 포함할 수 있다.The
도 2는 도 1에 있는 악성코드 탐지 장치를 나타내는 블록도이다.FIG. 2 is a block diagram showing the malicious code detection device in FIG. 1.
도 2를 참조하면, 악성코드 탐지 장치(130)는 기본 블록 결정부(210), 악성코드 유사도 산출부(230), 악성코드 분류부(250) 및 제어부(270)를 포함할 수 있다. 기본 블록 결정부(210)는 악성코드 분석 모집단에 있는 악성코드로 분류된 복수의 파일(이하, 악성파일이라 함) 각각을 특정 기준에 따라 분석하여 적어도 어느 하나의 기본 블록을 결정한다.Referring to FIG. 2, the malicious
보다 구체적으로, 기본 블록 결정부(210)는 악성파일을 정적 분석하여 나온 기본 단위의 명령어(opcode) 시퀀스나 함수 단위의 명령어 시퀀스들을 기본 블록으로 결정할 수 있다. 또한, 기본 블록 결정부(210)는 악성파일을 동적 분석하여 나온 IP 주소, 도메인 주소, 문자열(String), 뮤텍스(mutex), API(Application Programming Interface) 등을 기본 블록으로 결정할 수 있다.More specifically, the basic
악성코드 유사도 산출부(230)는 기본 블록 결정부(210)를 통해 결정된 기본 블록을 기초로 복수의 악성파일들에 관한 이분 그래프를 생성하여 유사도를 산출한다. 보다 구체적으로, 악성코드 유사도 산출부(230)는 복수의 악성파일들과 복수의 악성파일 각각에 관한 기본 블록을 매칭시켜 이분 그래프를 생성할 수 있다. 즉, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단을 악성파일 집합과 기본 블록 집합으로 분할하고, 악성파일 집합과 기본 블록 집합 간의 대응 관계를 이분 그래프로 생성할 수 있다. The malicious
악성코드 유사도 산출부(230)는 이분 그래프를 기초로 복수의 기본 블록 각각이 복수의 악성파일 내에 나타나는 빈도수의 역수를 가중치로 산출하고, 복수의 악성파일 중 비교할 2개의 악성 파일들이 공통으로 포함하는 기본 블록의 가중치를 모두 합하여 비교할 2개의 악성 파일 간의 유사도를 산출할 수 있다.The malicious code
일 실시예에서, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단에 신규 악성파일이 등록되는 경우 신규 악성파일을 구성하는 기본 블록을 기준으로 기 생성된 이분 그래프로부터 산출된 가중치를 이용하여 신규 악성파일과 비교할 악성파일 간의 유사도를 산출할 수 있다.In one embodiment, when the malicious code
보다 구체적으로, 악성코드 유사도 산출부(230)는 신규 악성파일을 구성하는 기본 블록을 공통으로 포함하는 비교할 악성파일의 기본 블록에 대한 가중치를 모두 합하여 신규 악성파일과 비교할 악성 파일 간의 유사도를 산출할 수 있다.More specifically, the malicious code
즉, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단에 신규 악성파일이 등록될 때마다 기 생성한 이분 그래프로부터 산출된 가중치를 이용하여 신규 악성파일과 비교할 악성파일 간의 유사도를 산출할 수 있다.That is, the malicious code
악성코드 분류부(250)는 악성코드 유사도 산출부(230)를 통해 산출된 유사도에 따라 악성파일들을 분류할 수 있다. 예를 들어, 비교할 악성파일들의 유사도가 미리 설정된 기준 값보다 높게 산출되면 해당 악성파일들을 유사한 악성파일로 그룹화할 수 있다.The malicious
본 발명의 실시예는 이에 한정되지 않고, 악성코드 유사도 산출부(230)를 통해 비교할 악성파일들의 유사도를 기본 블록의 종류에 따라 산출하고, 악성코드 분류부(250)가 종류 별로 산출된 유사도를 기초로 악성파일들을 분류할 수 있다. 예를 들어, 명령어 시퀀스의 기본 단위로 산출한 유사도와 함수 단위로 산출한 유사도를 복합적으로 판단하여 악성파일들을 분류할 수 있다.The embodiment of the present invention is not limited thereto, and the similarity of the malicious files to be compared is calculated according to the basic block type through the malicious code
본 발명의 실시예는 이에 한정되지 않고, 악성코드 분석 모집단을 악성 파일과 미분류 파일로 구성하고, 악성 파일과 미분류 파일 간의 유사도를 기초로 미분류 파일을 악성파일 또는 정상파일로 분류할 수도 있다.The embodiment of the present invention is not limited to this, and the malicious code analysis population may be composed of a malicious file and an unclassified file, and the unclassified file may be classified as a malicious file or a normal file based on the similarity between the malicious file and the unclassified file.
제어부(250)는 악성코드 탐지 장치(130)의 전체적인 동작을 제어하고, 기본 블록 결정부(210), 악성코드 유사도 산출부(230) 및 악성코드 분류부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 3은 도 1에 있는 악성코드 탐지 장치에서 수행되는 악성코드 탐지 과정을 설명하는 순서도이다.FIG. 3 is a flowchart illustrating a malicious code detection process performed by the malicious code detection device in FIG. 1.
도 3에서, 악성코드 탐지 장치(130)는 기본 블록 결정부(210)를 통해 악성코드 분석 모집단에 있는 악성파일들 각각을 특정 기준에 따라 분석하여 적어도 어느 하나의 기본 블록을 결정할 수 있다(단계 S310). In FIG. 3, the malicious
악성코드 탐지 장치(130)는 악성코드 유사도 산출부(230)를 통해 악성코드 분석 모집단을 악성파일 집합과 기본 블록 집합으로 분할하고, 악성파일 집합과 기본 블록 집합 간의 대응 관계를 이분 그래프를 생성할 수 있다(단계 S320). The malicious
예를 들어, 악성코드 유사도 산출부(230)는 복수의 악성파일들을 각각 서로 다른 노드로 갖는 악성파일 집합과 복수의 기본 블록 각각들 각각을 서로 다른 노드로 갖는 기본 블록 집합으로 분할하고, 복수의 악성파일들 각각을 구성하는 기본 블록들을 간선으로 연결하여 이분 그래프로 생성할 수 있다.For example, the malicious
악성코드 탐지 장치(130)는 악성코드 유사도 산출부(230)를 통해 생성된 이분 그래프를 기초로 복수의 악성파일 간의 유사도를 산출할 수 있다(단계 S330). 일 실시예에서, 악성코드 유사도 산출부(230)는 복수의 기본 블록 각각이 악성코드 분석 모집단을 구성하는 악성파일들에 나타나는 빈도 수의 역수를 가중치로 산출하고, 복수의 악성파일 중 비교할 2개의 악성 파일들이 공통으로 포함하는 기본 블록의 가중치를 모두 합하여 비교할 2개의 악성 파일 간의 유사도를 산출할 수 있다.The
또한, 일 실시예에서, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단에 신규 악성파일이 등록되는 경우 신규 악성파일을 구성하는 기본 블록과 비교할 악성파일을 구성하는 기본 블록 간에 공통인 기본 블록의 가중치를 합하여 신규 악성파일과 비교할 악성파일 간의 유사도를 산출할 수 있다.In addition, in one embodiment, the malicious code
악성코드 탐지 장치(130)는 악성코드 유사도 산출부(230)로부터 산출된 유사도를 기초로 악성코드 분류부(250)를 통해 복수의 악성파일들을 분류할 수 있다(단계 S340). The malicious
도 4는 도 2에 있는 악성코드 유사도 산출부에서 악성코드 분석 모집단을 구성하는 악성파일들 간의 유사도를 산출하는 과정을 설명하는 예시도이다.FIG. 4 is an exemplary diagram illustrating a process of calculating the similarity between malicious files constituting the malicious code analysis population in the malicious code similarity calculation unit of FIG. 2.
도 4를 참조하면, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단을 구성하는 복수의 악성파일(f1~f4)의 집합과 기본 블록(b1~b6)들의 집합으로 분할하고, 복수의 악성파일(f1~f4) 각각과 기본 블록(b1~b6)들을 간선을 통해 매칭시켜 이분 그래프를 생성할 수 있다.4, the malicious code
예를 들어, 악성파일(f1)은 기본 블록(b1, b2, b4)으로 구성되고, 악성파일(f2)은 기본 블록(b1, b2, b4, b6)으로 구성되며, 악성파일(f3)은 기본 블록(b1, b3, b6)으로 구성될 수 있다. 그리고, 악성파일(f4)은 기본 블록(b1, b4, b6)으로 구성될 수 있다. For example, the malicious file f1 is composed of basic blocks b1, b2, and b4, and the malicious file f2 is composed of basic blocks b1, b2, b4, and b6, and the malicious file f3 is It may be composed of basic blocks (b1, b3, b6). In addition, the malicious file f4 may be composed of basic blocks b1, b4, and b6.
그리고, 악성코드 유사도 산출부(230)는 이분 그래프를 기초로 기본 블록(b1~b6)들 각각의 가중치(w)를 산출할 수 있다. 예를 들어, 기본 블록(b1)은 4개의 악성파일(f1~f4)에 포함되어 있으므로, 기본 블록(b1)의 가중치(w1)는 1/4로 산출될 수 있다. 기본 블록(b2)은 2개의 악성파일(f1, f2)에 포함되어 있으므로, 기본 블록(b2)의 가중치(w2)는 1/2로 산출될 수 있다.Then, the malicious code
마찬가지로, 기본 블록(b3)는 1개의 악성파일(f3)에 포함되어 있으므로, 기본 블록(b3)의 가중치(w3)는 1로 산출될 수 있다. 이러한 방식으로 기본 블록(b4)의 가중치(w4)는 1/3, 기본 블록(b5)의 가중치(w5)는 1, 기본 블록(b6)의 가중치(w6)는 1/3로 산출될 수 있다.Similarly, since the basic block b3 is included in one malicious file f3, the weight w3 of the basic block b3 may be calculated as 1. In this way, the weight w4 of the basic block b4 may be calculated as 1/3, the weight w5 of the basic block b5 may be calculated as 1, and the weight w6 of the basic block b6 may be calculated as 1/3. .
일 실시예에서, 악성코드 유사도 산출부(230)는 아래의 <표 1>과 같이 악성파일(f1~f4)들 간의 유사도를 산출할 수 있다. In one embodiment, the malicious
즉, 악성코드 유사도 산출부(230)는 악성파일(f1)과 악성파일(f2)을 비교할 경우 악성파일(f1)과 악성파일(f2)이 공통으로 포함하는 기본 블록(b1, b2, b4) 각각의 가중치를 모두 합하여 유사도를 13/12로 산출할 수 있다. 이와 마찬가지로, 악성코드 유사도 산출부(230)는 악성파일(f1)과 악성파일(f4)을 비교할 경우 악성파일(f1)과 악성파일(f4)이 공통으로 포함하는 기본 블록(b1, b4) 각각의 가중치를 모두 합하여 유사도를 7/12로 산출할 수 있다.That is, when the malicious code
도 5는 도 2에 있는 악성코드 유사도 산출부에서 악성코드 분석 모집단에 신규 악성파일이 등록된 경우 신규 악성파일과 나머지 악성파일들 간의 유사도를 산출하는 과정을 설명하는 예시도이다.FIG. 5 is an exemplary diagram illustrating a process of calculating the similarity between a new malicious file and the remaining malicious files when a new malicious file is registered in the malicious code analysis population in the malicious code similarity calculating unit of FIG. 2.
도 5를 참조하면, 악성코드 유사도 산출부(230)는 악성코드 분석 모집단에 신규 악성파일(f5)이 등록되고, 신규 악성파일(f5)을 구성하는 기본 블록이 b1, b4, b5 및 b6(사선으로 도시함)인 경우 아래의 <표 2>와 같이 악성파일(f1~f5)들 간의 유사도를 산출할 수 있다. Referring to FIG. 5, in the malicious code
즉, 악성코드 유사도 산출부(230)는 신규 악성파일(f5)을 구성하는 기본 블록(b1, b4, b5, b6) 중 적어도 어느 하나와 중복되는 비교할 악성파일(f1~f4) 각각의 기본 블록의 가중치를 모두 합하여 유사도를 산출할 수 있다.That is, the malicious code
예를 들어, 악성파일(f1)은 신규 악성파일(f5)의 기본 블록(b1, b4)을 공통으로 포함하므로 악성파일(f1, f5) 간의 유사도는 기본 블록(b1, b4)의 가중치를 모두 합한 7/12로 산출될 수 있다. 마찬가지로, 악성파일(f2)은 신규 악성파일(f5)의 기본 블록(b1, b4, b6)을 공통으로 포함하므로, 악성파일(f2, f5) 간의 유사도는 기본 블록(b1, b4, b6)의 가중치를 모두 합한 11/12로 산출될 수 있다. For example, since the malicious file f1 includes the basic blocks b1 and b4 of the new malicious file f5 in common, the similarity between the malicious files f1 and f5 includes both the weights of the basic blocks b1 and b4. It can be calculated as 7/12 combined. Similarly, since the malicious file f2 includes the basic blocks b1, b4, and b6 of the new malicious file f5 in common, the similarity between the malicious files f2 and f5 is similar to that of the basic blocks b1, b4, and b6. It can be calculated as 11/12 summing all the weights.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present invention, those skilled in the art variously modify and change the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You can understand that you can.
100: 악성코드 탐지 시스템
110: 사용자 단말 130: 악성코드 탐지 장치
150: 데이터베이스 210: 기본 블록 결정부
230: 악성코드 유사도 산출부 250: 악성코드 분류부
270: 제어부100: malware detection system
110: user terminal 130: malware detection device
150: database 210: basic block determining unit
230: malicious code similarity calculation unit 250: malicious code classification unit
270: control unit
Claims (12)
상기 기본 블록을 기초로 상기 복수의 악성파일들에 관한 이분 그래프를 생성하여 상기 복수의 악성파일들과 신규 파일 간의 유사도를 산출하는 악성코드 유사도 산출부; 및
상기 유사도를 기초로 상기 신규 파일의 악성코드 여부를 분류하는 악성코드 분류부를 포함하되,
상기 악성코드 유사도 산출부는 상기 악성코드 분석 모집단을 기초로 상기 복수의 악성파일들을 포함하는 악성파일 집합과 상기 복수의 악성파일들 각각에서 도출되는 기본 블록들을 포함하는 기본 블록 집합을 생성하는 제1 단계, 상기 악성파일 집합과 상기 기본 블록 집합 간의 대응 관계에 관한 이분 그래프를 생성하는 제2 단계, 상기 이분 그래프를 기초로 상기 기본 블록 집합의 각 기본 블록에 대해 상기 악성파일 집합 내에서의 출현 빈도수의 역수로서 블록 가중치를 산출하는 제3 단계, 상기 복수의 악성파일들 중 어느 하나와 상기 신규 파일로 구성된 파일 쌍에 대해 각각의 파일에 공통으로 대응되는 공통 기본 블록들을 결정하는 제4 단계 및 상기 공통 기본 블록들 각각의 블록 가중치를 합산하여 상기 파일 쌍에 대한 유사도를 산출하는 제5 단계를 순차적으로 수행하는 것을 특징으로 하는 이분 그래프 기반의 악성코드 탐지 장치.
A basic block determining unit that analyzes each of the plurality of malicious files included in the malicious code analysis population according to a specific criterion to determine at least one basic block;
A malicious code similarity calculation unit generating a binary graph of the plurality of malicious files based on the basic block to calculate the similarity between the plurality of malicious files and the new file; And
A malicious code classification unit to classify whether the new file is malicious code based on the similarity,
The malicious code similarity calculating unit is a first step of generating a set of malicious files including the plurality of malicious files and a basic block set including basic blocks derived from each of the plurality of malicious files based on the malicious code analysis population, A second step of generating a binary graph of the correspondence between the malicious file set and the basic block set, as a reciprocal of the frequency of appearance in the malicious file set for each basic block of the basic block set based on the binary graph A third step of calculating a block weight, a fourth step of determining common basic blocks corresponding to each file in common with respect to a file pair composed of any one of the plurality of malicious files and the new file, and the common basic block Binary graph-based malware detection device, characterized in that sequentially performing a fifth step of calculating the similarity for the pair of files by adding the block weights of each of them.
상기 신규 파일이 악성코드로 분류된 경우 해당 신규 파일을 신규 악성파일로서 상기 악성코드 분석 모집단에 등록하는 것을 특징으로 하는 이분 그래프 기반의 악성코드 탐지 장치.
According to claim 1, The malicious code classification unit
When the new file is classified as a malicious code, the malicious code detection device based on the bipartite graph, characterized in that the new file is registered as the new malicious file in the malicious code analysis population.
상기 악성코드 분석 모집단에 상기 신규 악성파일이 등록되는 경우 상기 악성파일 집합과 상기 기본 블록 집합을 각각 갱신하고 상기 기본 블록 집합의 각 기본 블록에 관한 블록 가중치를 갱신하는 것을 특징으로 하는 이분 그래프 기반의 악성코드 탐지 장치.
The method of claim 5, wherein the malicious code similarity calculation unit
When the new malicious file is registered in the malicious code analysis population, the malicious file set and the basic block set are updated respectively, and the block weight for each basic block of the basic block set is updated. Code detection device.
상기 복수의 악성파일들과 상기 신규 파일에 관한 파일 쌍 중에서 상기 유사도가 가장 높은 파일 쌍을 기준으로 상기 신규 파일에 관한 악성코드 여부를 결정하는 것을 특징으로 하는 이분 그래프 기반의 악성코드 탐지 장치.
The method of claim 1 , wherein the malicious code classification unit
The malicious code detection device based on the bipartite graph, characterized in that it determines whether or not the malicious code for the new file is based on the file pair having the highest similarity among the plurality of malicious files and the file pair for the new file.
상기 악성파일을 정적 분석하여 나온 기본 단위의 명령어 시퀀스, 함수 단위의 명령어 시퀀스, 상기 악성파일을 동적 분석하여 나온 IP 주소, 도메인 주소, 문자열, 뮤텍스 및 API 중 어느 하나를 상기 기본 블록으로 결정하는 것을 특징으로 하는 이분 그래프 기반의 악성코드 탐지 장치.
The method of claim 1, wherein the basic block determining unit
Determining any one of the basic unit command sequence, function unit command sequence, and the malicious file dynamic analysis IP address, domain address, character string, mutex, and API as the basic block obtained by statically analyzing the malicious file. Characterized by binary graph based malware detection device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180090696A KR102121741B1 (en) | 2018-08-03 | 2018-08-03 | Malicious code detecting apparatus based on bipartite graph |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180090696A KR102121741B1 (en) | 2018-08-03 | 2018-08-03 | Malicious code detecting apparatus based on bipartite graph |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200015198A KR20200015198A (en) | 2020-02-12 |
KR102121741B1 true KR102121741B1 (en) | 2020-06-11 |
Family
ID=69569544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180090696A Active KR102121741B1 (en) | 2018-08-03 | 2018-08-03 | Malicious code detecting apparatus based on bipartite graph |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102121741B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101619059B1 (en) * | 2014-12-03 | 2016-05-10 | 한국인터넷진흥원 | Apparatus, system and method for generation and distribution lightweight signature |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100942798B1 (en) | 2007-11-29 | 2010-02-18 | 한국전자통신연구원 | Malware detection device and method |
US9185119B1 (en) * | 2014-05-08 | 2015-11-10 | Symantec Corporation | Systems and methods for detecting malware using file clustering |
KR20160082644A (en) * | 2014-12-30 | 2016-07-08 | 충남대학교산학협력단 | Method and apparatus for detecting malware by code block classification |
-
2018
- 2018-08-03 KR KR1020180090696A patent/KR102121741B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101619059B1 (en) * | 2014-12-03 | 2016-05-10 | 한국인터넷진흥원 | Apparatus, system and method for generation and distribution lightweight signature |
Also Published As
Publication number | Publication date |
---|---|
KR20200015198A (en) | 2020-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915659B2 (en) | Privacy detection of a mobile application program | |
US20190258648A1 (en) | Generating asset level classifications using machine learning | |
CN106503558B (en) | An Android malicious code detection method based on community structure analysis | |
CN110958220A (en) | A cyberspace security threat detection method and system based on heterogeneous graph embedding | |
US11042637B1 (en) | Measuring code sharing of software modules based on fingerprinting of assembly code | |
US20200177634A1 (en) | Hybrid Network Infrastructure Management | |
Gao et al. | Android malware detection via graphlet sampling | |
US10742670B1 (en) | Detecting and preventing execution of a malicious computer application using utility driven graph summarization | |
JP2019003596A (en) | System and method for detecting malicious file that uses static analysis | |
US12177070B2 (en) | Network segmentation | |
CN108920947A (en) | A kind of method for detecting abnormality and device based on the modeling of log figure | |
Kumar et al. | Machine learning based malware detection in cloud environment using clustering approach | |
US11122069B2 (en) | Detecting compromised social media accounts by analyzing affinity groups | |
KR101963756B1 (en) | Apparatus and method for learning software vulnerability prediction model, apparatus and method for analyzing software vulnerability | |
US20210336973A1 (en) | Method and system for detecting malicious or suspicious activity by baselining host behavior | |
CN113010896A (en) | Method, apparatus, device, medium and program product for determining an abnormal object | |
KR102227593B1 (en) | System and method for learning-based group tagging | |
US20150227364A1 (en) | Technique for plagiarism detection in program source code files based on design pattern | |
US20130144602A1 (en) | Quantitative Type Data Analyzing Device and Method for Quantitatively Analyzing Data | |
KR102086936B1 (en) | User data sharing method and device | |
US11321453B2 (en) | Method and system for detecting and classifying malware based on families | |
US9734229B1 (en) | Systems and methods for mining data in a data warehouse | |
JP6563350B2 (en) | Data classification apparatus, data classification method, and program | |
KR20180133726A (en) | Appratus and method for classifying data using feature vector | |
US8276200B2 (en) | Systems and methods for securely processing sensitive streams in a mixed infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20180803 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20191114 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200522 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200605 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20200608 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20230321 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20250513 Start annual number: 6 End annual number: 6 |