KR20230090247A - Method and device for generating optimized signature of specific malware - Google Patents

Method and device for generating optimized signature of specific malware Download PDF

Info

Publication number
KR20230090247A
KR20230090247A KR1020220170106A KR20220170106A KR20230090247A KR 20230090247 A KR20230090247 A KR 20230090247A KR 1020220170106 A KR1020220170106 A KR 1020220170106A KR 20220170106 A KR20220170106 A KR 20220170106A KR 20230090247 A KR20230090247 A KR 20230090247A
Authority
KR
South Korea
Prior art keywords
signature
feature values
update
family
malicious
Prior art date
Application number
KR1020220170106A
Other languages
Korean (ko)
Inventor
김형식
조우진
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Publication of KR20230090247A publication Critical patent/KR20230090247A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Abstract

입력된 악성코드에 대한 최적화된 시그니처(signature)를 생성하는 방법 및 장치가 제공된다. 시그니처 생성방법은, 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성하고, 악성코드에 대응되는 패밀리 악성코드에 기초하여 시그니처를 갱신하고, 시그니처의 기준 특징값에 기초하여 갱신된 시그니처의 재 갱신 여부를 판단한다. A method and apparatus for generating an optimized signature for an entered malicious code are provided. The signature generation method generates a signature for a malicious code input from the outside based on a plurality of existing malicious codes, updates the signature based on a family malicious code corresponding to the malicious code, and based on a reference characteristic value of the signature. Determine whether to re-update the updated signature.

Description

특정 악성코드에 최적화된 시그니처 생성방법 및 장치{Method and device for generating optimized signature of specific malware}Method and device for generating optimized signature of specific malware {Method and device for generating optimized signature of specific malware}

본 발명은 외부에서 입력된 특정 악성코드에 대한 최적화된 시그니처(signature)를 생성하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for generating an optimized signature for a specific malicious code input from the outside.

기업 또는 연구소 등의 네트워크에 악성코드가 침입된 경우, 해당 기업 또는 연구소의 보안담당자는 침입한 악성코드에 대한 시그니처를 생성하여 악성코드로 인한 피해를 방지한다. When a malicious code invades a network of a company or research institute, a security officer of the company or research institute creates a signature for the intruding malicious code to prevent damage caused by the malicious code.

그러나, 악성코드의 시그니처를 생성하기 위해서는 해당 악성코드에 포함된 다수의 정보, 예컨대 악성코드의 특징값 중에서 어떠한 정보가 유의미한 정보인지를 파악하기 어려워 악성코드에 대해 부정확한 시그니처가 생성되고, 이로 인해 악성코드에 의한 피해 방지의 효율이 저하된다. However, in order to generate the signature of the malicious code, it is difficult to determine which information is meaningful among a plurality of information included in the malicious code, for example, characteristic values of the malicious code, and an inaccurate signature is generated for the malicious code. The effectiveness of preventing damage caused by malicious codes is reduced.

기존에는 침입한 악성코드 외에 다수의 악성코드를 수집하고, 이들에 대한 유사도 기반의 클러스터링(clustering)을 통해 그룹을 구성하고, 각 그룹별로 공통의 정보를 추출하여 그룹별 시그니처를 생성하는 방식이 사용되고 있다. Conventionally, a method of collecting a large number of malicious codes in addition to intruding malicious codes, configuring groups through similarity-based clustering, and extracting common information from each group to create signatures for each group has been used. there is.

그러나, 기존의 시그니처 생성방식에서는 악성코드에 대한 최적의 시그니처를 생성하기 위해 많은 수의 악성코드들을 클러스터링하며, 이로 인해 클러스터링에 많은 시간이 소요되는 문제가 있었다. However, in the existing signature generation method, a large number of malicious codes are clustered to generate an optimal signature for the malicious codes, which causes a problem in that clustering takes a lot of time.

또한, 침입한 악성코드에 임의의 기능이 추가되거나 삭제된 경우에는, 기존의 유사도 기반 클러스터링은 악성코드와 유사한 변종 악성코드를 정확하게 식별하지 못하는 문제가 있었다. In addition, when an arbitrary function is added to or deleted from the intruding malicious code, the existing similarity-based clustering has a problem of not accurately identifying a variant malicious code similar to the malicious code.

더욱이, 기존에는 클러스터링을 통해 하나의 그룹으로 묶인 악성코드들에서 공통의 특징을 시그니처로 생성하는 방식이며, 이로 인해 그룹으로 묶인 개별 악성코드의 경우에는 시그니처 생성 시 악성코드에 대한 유의미한 특징이 제거되는 문제가 있다. Moreover, in the past, clustering is a method of generating common characteristics from malicious codes grouped into a group as signatures. As a result, in the case of individual malicious codes grouped together, significant characteristics of malicious codes are removed when creating signatures. there is a problem.

이러한 문제로 인해, 기존의 시그니처 생성방식에서는 침입한 악성코드에 대한 빠른 대처가 어렵고, 악성코드에 대한 부정확한 시그니처가 생성되어 악성코드에 의한 피해가 증가되고 있는 현실이다.Due to this problem, it is difficult to quickly cope with the intruding malicious code in the existing signature generation method, and inaccurate signatures for the malicious code are generated, which is a reality in which damage caused by the malicious code is increasing.

한국등록특허 제10-1337216호(2013.12.05.)Korean Patent Registration No. 10-1337216 (2013.12.05.)

본 발명은 외부에서 입력된 특정 악성코드에 대한 최적화된 시그니처를 생성하는 방법 및 장치를 제공하고자 하는 데 있다. An object of the present invention is to provide a method and apparatus for generating an optimized signature for a specific malicious code input from the outside.

본 발명의 일 실시예에 따른 시그니처 생성방법은, 기 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성하는 단계; 상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드에 기초하여 시그니처를 갱신하는 단계; 및 갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함한다. A signature generation method according to an embodiment of the present invention includes generating a signature for a malicious code input from the outside based on a plurality of pre-stored existing malicious codes; updating a signature based on at least one family malicious code corresponding to the malicious code among the plurality of existing malicious codes; and determining whether to re-update the updated signature based on one or more reference feature values of the signature before the update.

상기 시그니처를 생성하는 단계는, 상기 악성코드에서 다수의 초기 특징값을 추출하는 단계; 상기 다수의 기존악성코드 중에서 상기 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출하여 상기 다수의 초기 특징값 각각에 매칭하는 단계; 기 설정된 제1임계값에 기초하여 상기 다수의 초기 특징값 중 일부를 선별하는 단계; 및 선별된 초기 특징값을 포함하는 상기 시그니처를 생성하는 단계를 포함한다. The generating of the signature may include extracting a plurality of initial feature values from the malicious code; extracting one or more existing malicious codes including each of the plurality of initial characteristic values from among the plurality of existing malicious codes and matching each of the plurality of initial characteristic values; selecting some of the plurality of initial feature values based on a preset first threshold value; and generating the signature including the selected initial feature values.

상기 다수의 초기 특징값 중 일부를 선별하는 단계는, 상기 다수의 초기 특징값 각각에 매칭된 상기 하나 이상의 기존악성코드의 개수가 큰 순서로 상기 다수의 초기 특징값 각각을 정렬하는 단계; 및 상기 다수의 초기 특징값 중에서 상기 하나 이상의 기존악성코드의 개수가 상기 제1임계값 미만인 하나 이상의 초기 특징값을 선별하는 단계를 포함한다. Selecting some of the plurality of initial feature values may include arranging each of the plurality of initial feature values in an order of a large number of the one or more existing malicious codes matched with each of the plurality of initial feature values; and selecting one or more initial feature values in which the number of the one or more existing malicious codes is less than the first threshold value from among the plurality of initial feature values.

상기 시그니처를 갱신하는 단계는, 상기 악성코드에서 추출한 패밀리 라벨에 기초하여 상기 하나 이상의 패밀리 악성코드를 추출하는 단계; 추출된 상기 하나 이상의 패밀리 악성코드 각각과 시그니처 간 일치율을 판단하는 단계; 판단 결과에 따라 상기 하나 이상의 패밀리 악성코드 중에서 시그니처와 최상의 일치율을 갖는 하나의 패밀리 악성코드를 추출하는 단계; 추출된 상기 하나의 패밀리 악성코드와 시그니처 간 공통 특징값을 추출하는 단계; 및 상기 시그니처와 상기 공통 특징값 각각을 갱신 전 시그니처와 갱신된 시그니처로 생성하는 단계를 포함한다.The updating of the signature may include extracting the one or more family malicious codes based on the family label extracted from the malicious codes; Determining a matching rate between each of the extracted one or more family malicious codes and signatures; extracting one family malicious code having the highest matching rate with a signature from among the one or more family malicious codes according to the determination result; extracting a common characteristic value between the extracted one family malicious code and the signature; and generating each of the signature and the common characteristic value as a pre-update signature and an updated signature.

상기 하나의 패밀리 악성코드를 추출하는 단계는, 시그니처의 특징값과 전체 일치하는 특징값을 갖는 패밀리 악성코드를 제외한 나머지 패밀리 악성코드 중에서 상기 최상의 일치율을 갖는 상기 하나의 패밀리 악성코드를 추출하는 단계이다.The step of extracting one family of malicious codes is a step of extracting the one family of malicious codes having the best matching rate from among the remaining malicious codes of the family except for the family of malicious codes having feature values that match all of the characteristic values of the signatures. .

상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계는, 기 설정된 제2임계값에 기초하여 상기 갱신 전 시그니처의 다수의 특징값 중 일부를 상기 하나 이상의 기준 특징값으로 추출하는 단계; 상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 비율을 산출하는 단계; 및 상기 비율을 기 설정된 제3임계값과 비교하고, 비교 결과에 따라 상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함한다.The step of determining whether to re-update the updated signature may include extracting some of a plurality of feature values of the signature before update as the one or more reference feature values based on a preset second threshold value; calculating a ratio including the one or more reference feature values among a plurality of feature values of the updated signature; and comparing the ratio with a preset third threshold value, and determining whether to re-update the updated signature according to the comparison result.

상기 기준 특징값으로 추출하는 단계는, 상기 갱신 전 시그니처의 상기 다수의 특징값 중에서 대응되는 기존악성코드의 개수가 적은 순서대로 상기 제2임계값만큼의 개수를 상기 기준 특징값으로 추출하는 단계이다.The step of extracting as the reference feature value is a step of extracting as many as the second threshold value as the reference feature value in order of decreasing number of corresponding existing malicious codes among the plurality of feature values of the signature before update. .

상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계는, 상기 갱신된 시그니처의 상기 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 상기 제3임계값 이상이면, 상기 갱신된 시그니처의 재 갱신을 판단하고, 상기 갱신된 시그니처의 상기 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 상기 제3임계값 미만이면, 상기 갱신 전 시그니처를 상기 악성코드의 시그니처로 출력하는 단계이다. In the step of determining whether to re-update the updated signature, if the ratio including the one or more reference feature values among the plurality of feature values of the updated signature is greater than or equal to the third threshold value, the updated signature Determining re-update, and outputting the pre-update signature as the signature of the malicious code if the ratio including the one or more reference feature values among the plurality of feature values of the updated signature is less than the third threshold It is a step.

본 실시예의 시그니처 생성방법은 상기 악성코드에서 패밀리 라벨 및 다수의 초기 특징값을 추출하는 단계를 더 포함한다. The signature generation method of this embodiment further includes extracting a family label and a plurality of initial feature values from the malicious code.

본 발명의 일 실시예에 따른 시그니처 생성장치는, 다수의 기존악성코드가 저장된 악성코드 저장모듈; 외부에서 악성코드가 입력되면, 상기 다수의 기존악성코드에 기초하여 상기 악성코드에 대한 시그니처를 생성하여 출력하는 시그니처 생성모듈; 상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드를 추출하고, 추출된 상기 패밀리 악성코드에 기초하여 시그니처를 갱신하여 갱신 전 시그니처와 갱신된 시그니처를 출력하는 시그니처 갱신모듈; 및 상기 갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 상기 갱신된 시그니처의 재 갱신 여부를 판단하는 시그니처 검증모듈을 포함한다. A signature generating device according to an embodiment of the present invention includes a malicious code storage module in which a plurality of existing malicious codes are stored; a signature generation module that generates and outputs a signature for the malicious code based on the plurality of existing malicious codes when a malicious code is input from the outside; a signature update module that extracts one or more family malicious codes corresponding to the malicious codes from among the plurality of existing malicious codes, updates the signature based on the extracted family malicious codes, and outputs a signature before updating and an updated signature; and a signature verification module for determining whether to re-update the updated signature based on one or more reference feature values of the signature before the update.

상기 시그니처 생성모듈은, 상기 악성코드를 분석하여 패밀리 라벨 및 다수의 초기 특징값을 추출하는 악성코드 분석부; 기 설정된 제1임계값에 기초하여 상기 다수의 초기 특징값 중 일부를 선별하여 출력하는 특징값 선별부; 및 선별된 특징값을 포함하는 시그니처를 생성하는 시그니처 생성부를 포함한다.The signature generation module may include: a malicious code analysis unit that analyzes the malicious code and extracts a family label and a plurality of initial feature values; a feature value selection unit that selects and outputs some of the plurality of initial feature values based on a preset first threshold value; and a signature generating unit generating a signature including the selected feature values.

상기 특징값 선별부는, 상기 다수의 기존악성코드 중에서 상기 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출하여 상기 다수의 초기 특징값 각각에 매칭하고, 상기 다수의 초기 특징값 각각에 매칭된 상기 하나 이상의 기존악성코드의 개수가 큰 순서로 상기 다수의 초기 특징값 각각을 정렬하며, 정렬된 상기 다수의 초기 특징값 중에서 상기 하나 이상의 기존악성코드의 개수가 상기 제1임계값 미만인 하나 이상의 특징값을 선별한다.The characteristic value selector extracts one or more existing malicious codes including each of the plurality of initial characteristic values from among the plurality of existing malicious codes, matches each of the plurality of initial characteristic values, and determines each of the plurality of initial characteristic values. Each of the plurality of initial characteristic values is sorted in the order of the matching number of the one or more existing malicious codes, and the number of the one or more existing malicious codes among the plurality of aligned initial characteristic values is less than the first threshold value. Select the above feature values.

상기 시그니처 갱신모듈은, 상기 악성코드에서 추출한 패밀리 라벨에 기초하여 상기 다수의 기존악성코드 중에서 상기 하나 이상의 패밀리 악성코드를 추출하는 패밀리 악성코드 추출부; 추출된 상기 하나 이상의 패밀리 악성코드 각각과 시그니처 간 일치율을 판단하고, 판단 결과에 따라 상기 하나 이상의 패밀리 악성코드 중에서 시그니처와 최상의 일치율을 갖는 하나의 패밀리 악성코드와 시그니처 간 공통 특징값을 추출하는 공통 특징값 추출부; 및 상기 공통 특징값에 기초하여 시그니처를 갱신하는 시그니처 갱신부를 포함한다.The signature update module may include: a family malicious code extractor extracting the one or more family malicious codes from among the plurality of existing malicious codes based on the family label extracted from the malicious codes; A common feature of determining the matching rate between each of the extracted one or more family malicious codes and signatures, and extracting a common characteristic value between the signature and one family malicious code having the best matching rate with the signature among the one or more family malicious codes according to the determination result. value extraction unit; and a signature updating unit that updates a signature based on the common feature value.

상기 공통 특징값 추출부는, 시그니처의 특징값과 전체 일치하는 특징값을 갖는 패밀리 악성코드를 제외한 나머지 패밀리 악성코드 중에서 상기 최상의 일치율을 갖는 상기 하나의 패밀리 악성코드를 추출한다. The common feature value extraction unit extracts the one family malicious code having the highest matching rate from among the remaining malicious code families except for family malicious codes having feature values that all match the feature values of the signature.

상기 시그니처 갱신부는, 갱신하기 전의 시그니처와 갱신한 후의 시그니처 각각을 갱신 전 시그니처와 갱신된 시그니처로 생성한다. The signature updating unit generates a signature before updating and a signature after updating as a signature before updating and a signature after updating, respectively.

상기 시그니처 검증모듈은, 상기 갱신 전 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값을 추출하고, 상기 갱신된 시그니처의 다수의 특징값 중 상기 하나 이상의 기준 특징값이 포함된 비율을 산출하는 특징값 비율산출부; 및 산출된 상기 비율에 기초하여 상기 갱신된 시그니처의 재 갱신 여부를 판단하고, 판단 결과에 따라 상기 시그니처 갱신모듈의 동작을 제어하는 시그니처 갱신제어부를 포함한다.The signature verification module extracts the one or more reference feature values from among the plurality of feature values of the signature before updating, and calculates a ratio including the one or more reference feature values among the plurality of feature values of the updated signature. value ratio calculation unit; and a signature update control unit that determines whether or not to re-update the updated signature based on the calculated ratio, and controls an operation of the signature update module according to the determination result.

상기 특징값 비율산출부는, 기 설정된 제2임계값에 기초하여 상기 갱신 전 시그니처의 다수의 특징값 중 일부를 상기 하나 이상의 기준 특징값으로 추출하고, 상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율을 산출한다.The feature value ratio calculation unit extracts some of the plurality of feature values of the pre-update signature as the one or more reference feature values based on a predetermined second threshold value, and extracts the one or more feature values of the updated signature. The ratio including the above reference feature values is calculated.

상기 특징값 비율산출부는, 상기 갱신 전 시그니처의 상기 다수의 특징값 중에서 대응되는 기존악성코드의 개수가 적은 순서대로 상기 제2임계값 이하의 개수를 상기 기준 특징값으로 추출한다.The feature value ratio calculation unit extracts, as the reference feature value, the number less than or equal to the second threshold in order of decreasing number of corresponding existing malicious codes among the plurality of feature values of the signature before update.

상기 시그니처 갱신제어부는, 상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 기 설정된 제3임계값 이상이면 상기 갱신된 시그니처의 재 갱신을 판단하여 상기 시그니처 갱신모듈의 동작을 제어하고, 상기 비율이 상기 제3임계값 미만이면 상기 갱신 전 시그니처를 상기 악성코드의 시그니처로 출력한다.The signature update control unit determines whether to re-update the updated signature when the ratio including the one or more reference feature values among a plurality of feature values of the updated signature is equal to or greater than a preset third threshold, and the signature update module and if the ratio is less than the third threshold, the pre-update signature is output as the signature of the malicious code.

본 발명은 역색인 저장구조로 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 빠르게 생성할 수 있다. The present invention can quickly generate a signature for a malicious code input from the outside based on a plurality of existing malicious codes stored in an inverted index storage structure.

또한, 본 발명은 갱신 전 시그니처와 갱신 후 시그니처 간 특징값 동일비율에 따라 갱신 후 시그니처의 재 갱신을 제어함으로써, 입력된 악성코드에 대한 최적의 시그니처를 생성할 수 있다. In addition, the present invention can create an optimal signature for an input malicious code by controlling re-update of the signature after update according to the same ratio of feature values between the signature before update and the signature after update.

도 1은 본 발명의 실시예에 따른 시그니처 생성장치를 나타내는 블록도이다.
도 2는 도 1의 시그니처 생성모듈의 블록도이다.
도 3은 도 1의 시그니처 갱신모듈의 블록도이다.
도 4는 도 1의 시그니처 검증모듈의 블록도이다.
도 5는 본 발명의 실시예에 따른 시그니처 생성방법을 나타내는 순서도이다.
도 6 내지 도 8은 본 발명의 실시예에 따른 시그니처 생성방법을 구체적으로 나타내는 순서도들이다.
1 is a block diagram showing a signature generating device according to an embodiment of the present invention.
FIG. 2 is a block diagram of the signature generation module of FIG. 1 .
3 is a block diagram of the signature update module of FIG. 1;
Figure 4 is a block diagram of the signature verification module of Figure 1;
5 is a flowchart illustrating a signature generation method according to an embodiment of the present invention.
6 to 8 are flowcharts specifically illustrating a signature generation method according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to completely inform the person who has the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the embodiment of the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 시그니처 생성장치를 나타내는 블록도이다.1 is a block diagram showing a signature generating device according to an embodiment of the present invention.

도면을 참조하면, 본 실시예의 시그니처 생성장치(100)는 외부에서 임의의 악성코드가 입력되면, 상기 악성코드에 대한 시그니처(signature)를 생성할 수 있다. 시그니처 생성장치(100)는 생성된 시그니처를 외부장치, 예컨대 악성코드 검출장치(200)로 전송할 수 있다. Referring to the drawings, the signature generating device 100 of this embodiment can generate a signature for the malicious code when any malicious code is input from the outside. The signature generating device 100 may transmit the generated signature to an external device, for example, the malicious code detection device 200 .

이에, 악성코드 검출장치(200)는 수신된 악성코드의 시그니처를 내부의 악성코드 데이터베이스(미도시)에 저장하고, 이러한 데이터베이스에 저장된 다수의 시그니처를 이용하여 네트워크를 통해 유입되는 다수의 코드들로부터 악성코드의 포함여부를 검출할 수 있다. Accordingly, the malicious code detecting apparatus 200 stores the signature of the received malicious code in an internal malicious code database (not shown), and uses the signatures stored in the database to detect a plurality of codes flowing through the network. Whether or not malicious code is included can be detected.

여기서, 시그니처 생성장치(100)로 입력되는 임의의 악성코드는 기존에 검출되었던 악성코드가 아닌 신규 악성코드이거나 또는 기존악성코드에서 특정 기능이 추가되거나 또는 삭제된 변종 악성코드일 수 있다. Here, the arbitrary malicious code input to the signature generator 100 may be a new malicious code other than the previously detected malicious code, or a variant malicious code in which a specific function is added or deleted from the existing malicious code.

또한, 시그니처 생성장치(100)가 생성하는 시그니처는 입력된 악성코드에서 추출한 데이터, 예컨대 하나 이상의 특징값의 집합으로 표현되는 악성코드 패턴일 수 있다. In addition, the signature generated by the signature generator 100 may be data extracted from input malicious code, for example, a malicious code pattern expressed as a set of one or more feature values.

또한, 본 실시예는 시그니처 생성장치(100)가 악성코드 검출장치(200)와 별개의 구성으로 설명하나, 본 발명은 이에 제한되지 않는다. 예컨대, 시그니처 생성장치(100)는 악성코드 검출장치(200) 내에 하나의 모듈로 포함될 수도 있다.In addition, in this embodiment, the signature generating device 100 is described as a separate configuration from the malicious code detection device 200, but the present invention is not limited thereto. For example, the signature generating device 100 may be included as one module in the malicious code detection device 200 .

본 실시예의 시그니처 생성장치(100)는 악성코드 저장모듈(110), 시그니처 생성모듈(120), 시그니처 갱신모듈(130) 및 시그니처 검증모듈(140)을 포함할 수 있다. The signature generating device 100 of this embodiment may include a malicious code storage module 110, a signature generating module 120, a signature updating module 130, and a signature verification module 140.

악성코드 저장모듈(110)은 다수의 기존악성코드를 저장할 수 있다. 다수의 기존악성코드 각각은 하나 이상의 특징값의 집합을 포함할 수 있다. 또한, 다수의 기존악성코드 각각은 해당 악성코드에 대한 패밀리 라벨을 더 포함할 수 있다. The malicious code storage module 110 may store a plurality of existing malicious codes. Each of a plurality of existing malicious codes may include one or more sets of feature values. In addition, each of a plurality of existing malicious codes may further include a family label for the corresponding malicious code.

여기서, 패밀리 라벨은 악성코드가 해당하는 패밀리의 명칭이며, 악성코드 패밀리는 중복되는 특성을 공유하는 하나 이상의 악성코드의 집합일 수 있다. 이러한 악성코드의 패밀리 라벨은 백신의 진단명을 통해 수집할 수 있다. 하나의 예로 바이러스토탈(Virustotal) 서비스를 이용하면 입력된 악성코드에 대하여 약 70개 이상의 백신으로부터 진단명을 수집할 수 있다.Here, the family label is the name of a family to which the malicious code corresponds, and the malicious code family may be a set of one or more malicious codes sharing overlapping characteristics. The family label of these malicious codes can be collected through the vaccine's diagnostic name. As an example, using the Virustotal service, it is possible to collect diagnosis names from more than 70 vaccines for entered malicious codes.

또한, 악성코드 저장모듈(110)은 아래 [표 1]과 같이, 다수의 기존악성코드를 역색인(inverted indexing) 구조로 저장할 수 있다. In addition, the malicious code storage module 110 may store a plurality of existing malicious codes in an inverted indexing structure, as shown in [Table 1] below.

IDID 특징값feature value 악성코드 hashmalware hash 1One CreateDirectoryW+"dirpath_r":"C:\\Users\\Administrator"|"dirpath":"C:\\Users\\Administrator"CreateDirectoryW+"dirpath_r":"C:\\Users\\Administrator"|"dirpath":"C:\\Users\\Administrator" b643d5ae9a8aeecc5b092e7bd8ea6f43,d5159b90b87669c6fadd15ed3fc13ba1,
f1264a968aa937344a9591be33409e69,
...
b643d5ae9a8aeecc5b092e7bd8ea6f43,d5159b90b87669c6fadd15ed3fc13ba1,
f1264a968aa937344a9591be33409e69,
...
22 DrawTextExW+"string":"Get MD5 signature from:"DrawTextExW+"string":"Get MD5 signature from:" 1c5549ed4f02f206f961c4e8e4bb63b6,9a00a22edc7aed4bffccca10b3f16c31
...
1c5549ed4f02f206f961c4e8e4bb63b6,9a00a22edc7aed4bffccca10b3f16c31
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

[표 1]에 도시된 바와 같이, 본 실시예의 악성코드 저장모듈(110)은 다수의 특징값 각각에 대하여 하나 이상의 악성코드, 예컨대 악성코드 해시(hash)값이 매칭되도록 역색인 구조로 다수의 기존악성코드를 저장할 수 있다. As shown in [Table 1], the malicious code storage module 110 of this embodiment has a reverse index structure so that one or more malicious codes, for example, malicious code hash values are matched for each of a plurality of feature values. Existing malware can be saved.

여기서, [표 1]의 특징값에서 플러스(+) 기호 좌측은 API명칭이고, 플러스기호 우측은 API에 정의된 매개변수의 명칭 및 전달인자를 차례로 나타낸다.Here, in the feature values of [Table 1], the left side of the plus (+) sign is the API name, and the right side of the plus sign indicates the name of the parameter defined in the API and the transfer factor in turn.

이러한 다수의 기존악성코드에 대한 역색인 저장 구조로 인해, 추후 설명될 시그니처 생성모듈(120)이 악성코드 저장모듈(110)에서 특징값 및 대응되는 악성코드를 추출하는 속도가 향상될 수 있다.Due to the reverse index storage structure for a plurality of existing malicious codes, the speed at which the signature generating module 120 to be described later extracts characteristic values and corresponding malicious codes from the malicious code storage module 110 can be improved.

시그니처 생성모듈(120)은 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성할 수 있다. The signature generation module 120 may generate a signature for a malicious code input from the outside based on a plurality of existing malicious codes stored in the malicious code storage module 110 .

도 2는 도 1의 시그니처 생성모듈의 블록도이다. FIG. 2 is a block diagram of the signature generation module of FIG. 1 .

도 1 및 도 2를 참조하면, 본 실시예의 시그니처 생성모듈(120)은 악성코드 분석부(121), 특징값 선별부(122) 및 시그니처 생성부(123)를 포함할 수 있다. Referring to FIGS. 1 and 2 , the signature generation module 120 of this embodiment may include a malicious code analysis unit 121 , a characteristic value selection unit 122 and a signature generation unit 123 .

악성코드 분석부(121)는 입력된 악성코드를 분석하여 상기 악성코드에 대한 패밀리 라벨 및 다수의 특징값을 추출할 수 있다. 이하에서는, 설명의 편의를 위하여, 입력된 악성코드에서 추출되는 특징값은 초기 특징값으로 명명하기로 한다. The malicious code analyzer 121 may analyze the input malicious code and extract a family label and a plurality of feature values for the malicious code. Hereinafter, for convenience of description, the feature value extracted from the input malicious code will be referred to as an initial feature value.

악성코드에서 추출되는 다수의 초기 특징값 각각은 정적 정보와 동적 정보를 포함할 수 있다. 여기서, 정적 정보는 악성코드 자체에서 추출되는 특징값이고, 동적 정보는 악성코드가 실제 실행되었을 때 추출되는 특징값일 수 있다. Each of a plurality of initial feature values extracted from the malicious code may include static information and dynamic information. Here, the static information may be a characteristic value extracted from the malicious code itself, and the dynamic information may be a characteristic value extracted when the malicious code is actually executed.

이에, 본 실시예의 악성코드 분석부(121)는 입력된 악성코드를 가상 머신에서 실제 실행시킬 수 있는 소정의 프로그램, 예컨대 쿠쿠 샌드박스(cuckoo sandbox)를 통해 상기 악성코드로부터 다수의 초기 특징값을 추출할 수 있다. Accordingly, the malicious code analysis unit 121 of the present embodiment extracts a plurality of initial characteristic values from the malicious code through a predetermined program capable of actually executing the entered malicious code in a virtual machine, for example, the cuckoo sandbox. can be extracted.

특징값 선별부(122)는 악성코드로부터 추출된 다수의 초기 특징값 중 일부 개수의 초기 특징값을 선별하여 출력할 수 있다. The feature value selector 122 may select and output some of the initial feature values among a plurality of initial feature values extracted from the malicious code.

특징값 선별부(122)는 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드 중에서 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출할 수 있다. 특징값 선별부(122)는 다수의 초기 특징값 각각에 추출된 기존악성코드의 개수를 매칭하고, 기 설정된 제1임계값에 기초하여 다수의 초기 특징값 중 일부를 선별하여 출력할 수 있다. The characteristic value selection unit 122 may extract one or more existing malicious codes including each of a plurality of initial characteristic values from among a plurality of existing malicious codes stored in the malicious code storage module 110 . The feature value selection unit 122 may match the number of extracted existing malicious codes to each of a plurality of initial feature values, and select and output some of the plurality of initial feature values based on a preset first threshold value.

여기서, 제1임계값은 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드 전체 개수에 대한 소정의 퍼센트(%) 비율일 수 있으며, 대략 50%일 수 있다. 예컨대, 다수의 기존악성코드의 총 개수가 3,054이면, 제1임계값은 대략 1,527일 수 있다.Here, the first threshold value may be a predetermined percentage (%) of the total number of existing malicious codes stored in the malicious code storage module 110, and may be approximately 50%. For example, if the total number of existing malicious codes is 3,054, the first threshold value may be approximately 1,527.

이에, 특징값 선별부(122)는 각각에 하나 이상의 기존악성코드가 매칭된 다수의 특징값 중에서 제1임계값 이상의 악성코드가 매칭된 특징값을 제외한 나머지 특징값을 선별하여 출력할 수 있다. Accordingly, the feature value selector 122 may select and output the remaining feature values excluding feature values matched with a malicious code equal to or higher than the first threshold value among a plurality of feature values matched with one or more existing malicious codes, respectively.

시그니처 생성부(123)는 특징값 선별부(122)에서 출력된 하나 이상의 초기 특징값에 기초하여 이를 포함하는 악성코드에 대한 시그니처를 생성할 수 있다. The signature generation unit 123 may generate a signature for malicious code including one or more initial characteristic values output from the characteristic value selection unit 122 .

다시 도 1을 참조하면, 시그니처 갱신모듈(130)은 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드에 기초하여 시그니처 생성모듈(120)에서 생성된 악성코드에 대한 시그니처를 갱신할 수 있다. Referring back to FIG. 1 , the signature update module 130 may update the signature of the malicious code generated by the signature generating module 120 based on a plurality of existing malicious codes stored in the malicious code storage module 110. .

도 3은 도 1의 시그니처 갱신모듈의 블록도이다. 3 is a block diagram of the signature update module of FIG. 1;

도 1 및 도 3을 참조하면, 시그니처 갱신모듈(130)은 패밀리 악성코드 추출부(131), 공통 특징값 추출부(132) 및 시그니처 갱신부(133)를 포함할 수 있다. Referring to FIGS. 1 and 3 , the signature update module 130 may include a family malicious code extractor 131 , a common characteristic value extractor 132 and a signature updater 133 .

패밀리 악성코드 추출부(131)는 앞서 시그니처 생성모듈(120)의 악성코드 분석부(121)에서 추출된 악성코드의 패밀리 라벨에 기초하여 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드 중에서 동일한 패밀리 라벨을 갖는 하나 이상의 기존악성코드를 패밀리 악성코드로 추출할 수 있다. The family malicious code extraction unit 131 is based on the family label of the malicious code previously extracted by the malicious code analysis unit 121 of the signature generation module 120, among a plurality of existing malicious codes stored in the malicious code storage module 110. One or more existing malicious codes having the same family label can be extracted as family malicious codes.

공통 특징값 추출부(132)는 시그니처의 특징값과 하나 이상의 패밀리 악성코드 각각의 특징값 간 일치율을 판단하고, 판단 결과에 따라 하나의 패밀리 악성코드를 추출할 수 있다. The common feature value extraction unit 132 may determine a matching rate between the feature value of the signature and the feature value of each of one or more families of malicious codes, and extract one family of malicious codes according to the determination result.

여기서, 공통 특징값 추출부(132)는 패밀리 악성코드의 특징값과 시그니처의 특징값 간 일치 여부에 따른 일치율을 판단할 수 있다. 이때, 공통 특징값 추출부(132)는 하나 이상의 패밀리 악성코드 중에서 시그니처의 특징값과 완전하게 동일한, 예컨대 100% 일치하는 특징값을 갖는 패밀리 악성코드를 제외할 수 있다. 그리고, 공통 특징값 추출부(132)는 나머지 패밀리 악성코드 중에서 시그니처의 특징값과 최상의 일치율을 갖는 특징값을 포함하는 하나의 패밀리 악성코드를 추출할 수 있다. Here, the common feature value extraction unit 132 may determine a matching rate according to whether the feature values of the family malicious code and the feature values of the signature match. At this time, the common feature value extractor 132 may exclude family malwares having feature values completely identical to the feature values of the signature, eg, 100% matched, from among one or more family malwares. Also, the common feature value extraction unit 132 may extract one family of malicious codes including feature values having the best matching rate with signature feature values from among the remaining malicious codes of the family.

이에, 공통 특징값 추출부(132)는 추출된 하나의 패밀리 악성코드에 포함된 다수의 특징값과 시그니처의 다수의 특징값에서 공통으로 나타나는 하나 이상의 특징값을 추출하고, 이를 공통 특징값으로 출력할 수 있다. Accordingly, the common feature value extraction unit 132 extracts one or more feature values that appear in common among a plurality of feature values included in the extracted one family of malicious codes and a plurality of feature values of the signature, and outputs them as common feature values. can do.

시그니처 갱신부(133)는 상기 시그니처와 상기 하나 이상의 공통 특징값 각각을 갱신 전 시그니처와 갱신된 시그니처로 생성할 수 있다.The signature updater 133 may generate the signature and the one or more common characteristic values as a pre-update signature and an updated signature, respectively.

시그니처 갱신부(133)는 상기 갱신 전 시그니처와 상기 갱신된 시그니처를 함께 출력할 수 있다. The signature updating unit 133 may output the signature before updating and the updated signature together.

다시 도 1을 참조하면, 시그니처 검증모듈(140)은 갱신 전 시그니처에서 추출되는 기준 특징값에 기초하여 갱신된 시그니처의 재 갱신 여부를 판단하고, 그에 따라 시그니처 갱신모듈(130)의 동작을 제어할 수 있다. Referring back to FIG. 1 , the signature verification module 140 determines whether the updated signature is re-updated based on the reference feature value extracted from the signature before update, and controls the operation of the signature update module 130 accordingly. can

도 4는 도 1의 시그니처 검증모듈의 블록도이다.Figure 4 is a block diagram of the signature verification module of Figure 1;

도 1 및 도 4를 참조하면, 시그니처 검증모듈(140)은 특징값 비율산출부(141) 및 시그니처 갱신제어부(142)를 포함할 수 있다. Referring to FIGS. 1 and 4 , the signature verification module 140 may include a feature value ratio calculation unit 141 and a signature update control unit 142 .

특징값 비율산출부(141)는 갱신 전 시그니처의 다수의 특징값 중에서 하나 이상의 기준 특징값을 추출할 수 있다. The feature value ratio calculation unit 141 may extract one or more reference feature values from among a plurality of feature values of the signature before update.

여기서, 특징값 비율산출부(141)는 갱신 전 시그니처의 다수의 특징값 중에서 대응되는 기존악성코드의 개수가 적은 순서대로 제2임계값만큼의 일부의 특징값을 기준 특징값으로 추출할 수 있다. Here, the feature value ratio calculation unit 141 may extract some of the feature values as many as the second threshold value as reference feature values in order of decreasing number of corresponding existing malicious codes among a plurality of feature values of the signature before update. .

이때, 제2임계값은 갱신 전 시그니처의 다수의 특징값 전체 개수에 대한 소정의 퍼센트(%) 비율일 수 있으며, 대략 20%일 수 있다. In this case, the second threshold value may be a predetermined percentage (%) of the total number of feature values of the signature before update, and may be approximately 20%.

예컨대, 갱신 전 시그니처의 다수의 특징값의 총 개수가 707이면, 제2임계값은 대략 141일 수 있고, 특징값 비율산출부(141)는 다수의 특징값 중에서 대응되는 기존악성코드의 개수가 적은 순서대로 141개의 특징값을 갱신 전 시그니처에 대한 기준 특징값으로 추출할 수 있다. For example, if the total number of feature values of the signature before update is 707, the second threshold value may be approximately 141, and the feature value ratio calculation unit 141 calculates the number of corresponding existing malicious codes among the plurality of feature values. 141 feature values can be extracted as reference feature values for the signature before update in the order of small number.

또한, 특징값 비율산출부(141)는 갱신된 시그니처의 다수의 특징값 중에서 기 추출된 기준 특징값이 포함된 비율을 산출할 수 있다. In addition, the feature value ratio calculation unit 141 may calculate a ratio including a pre-extracted reference feature value among a plurality of feature values of the updated signature.

시그니처 갱신제어부(142)는 특징값 비율산출부(141)에서 산출된 기준 특징값의 포함 비율에 기초하여 갱신된 시그니처의 재 갱신 여부를 판단할 수 있다. The signature update control unit 142 may determine whether to re-update the updated signature based on the included ratio of the reference feature value calculated by the feature value ratio calculation unit 141 .

이때, 시그니처 갱신제어부(142)는 기 설정된 제3임계값에 기초하여 기준 특징값의 포함 비율에 따라 갱신된 시그니처의 재 갱신 여부를 판단할 수 있다. 여기서, 제3임계값은 기준 특징값의 총 개수에 대한 소정의 퍼센트 비율일 수 있으며, 대략 80%일 수 있다.In this case, the signature update control unit 142 may determine whether to re-update the updated signature according to the included ratio of the reference characteristic value based on the preset third threshold. Here, the third threshold value may be a predetermined percentage of the total number of reference feature values, and may be approximately 80%.

여기서, 기 산출된 기준 특징값의 포함 비율이 제3임계값 이상이면, 다시 말해 갱신된 시그니처의 다수의 특징값에 기준 특징값이 80% 이상 포함되어 있으면, 시그니처 갱신제어부(142)는 갱신된 시그니처의 재 갱신을 판단할 수 있다. 이에, 시그니처 갱신부(133)는 시그니처 갱신모듈(130)에서 갱신된 시그니처를 재 갱신하도록 그 동작을 제어할 수 있다.Here, if the included ratio of the pre-calculated reference feature value is equal to or greater than the third threshold value, that is, if the reference feature value is included in 80% or more of the plurality of feature values of the updated signature, the signature update control unit 142 updates the updated signature. Re-update of the signature can be judged. Accordingly, the signature updating unit 133 may control the operation to re-update the signature updated in the signature updating module 130 .

또한, 기 산출된 기준 특징값의 포함 비율이 제3임계값 미만이면, 시그니처 갱신제어부(142)는 갱신 전 시그니처를 시그니처 생성장치(100)로 입력된 악성코드에 대한 최종 시그니처, 예컨대 최적의 시그니처로 출력할 수 있다. In addition, if the pre-calculated standard feature value is less than the third threshold, the signature update control unit 142 converts the signature before the update into the final signature for the malicious code input to the signature generator 100, for example, the optimal signature. can be output as

이와 같이, 본 실시예의 시그니처 생성장치(100)는 역색인 저장구조로 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 빠르게 생성할 수 있다. In this way, the signature generating apparatus 100 of the present embodiment can quickly generate a signature for a malicious code input from the outside based on a plurality of existing malicious codes stored in an inverted index storage structure.

또한, 본 실시예의 시그니처 생성장치(100)는 2개의 시그니처 간, 즉 갱신 전 시그니처와 갱신된 시그니처 간 특징값 동일비율에 따라 시그니처 갱신의 반복을 제어함으로써, 입력된 악성코드에 대한 최적의 시그니처를 생성할 수 있다. In addition, the signature generating device 100 according to the present embodiment controls the repetition of signature renewal according to the same ratio of feature values between the two signatures, that is, the signature before updating and the updated signature, thereby generating an optimal signature for the entered malicious code. can create

도 5는 본 발명의 실시예에 따른 시그니처 생성방법을 나타내는 순서도이고, 도 6 내지 도 8은 본 발명의 실시예에 따른 시그니처 생성방법을 구체적으로 나타내는 순서도들이다. 5 is a flowchart illustrating a signature generation method according to an embodiment of the present invention, and FIGS. 6 to 8 are flowcharts showing a signature generation method according to an embodiment of the present invention in detail.

도 5 및 도 6을 참조하면, 시그니처 생성모듈(120)은 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성할 수 있다(S10).5 and 6, the signature generation module 120 may generate a signature for a malicious code input from the outside based on a plurality of existing malicious codes stored in the malicious code storage module 110 (S10). .

먼저, 시그니처 생성모듈(120)의 악성코드 분석부(121)는 입력된 악성코드를 분석하여 상기 악성코드의 패밀리 라벨 및 다수의 특징값, 예컨대 다수의 초기 특징값을 추출할 수 있다(S110).First, the malicious code analysis unit 121 of the signature generation module 120 analyzes the input malicious code and extracts a family label of the malicious code and a plurality of feature values, for example, a plurality of initial feature values (S110). .

다음으로, 특징값 선별부(122)는 기 저장된 다수의 기존악성코드 중에서 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출할 수 있다(S120). Next, the characteristic value selection unit 122 may extract one or more existing malicious codes including each of a plurality of initial characteristic values from among a plurality of previously stored existing malicious codes (S120).

이어, 특징값 선별부(122)는 다수의 초기 특징값 각각에 추출된 기존악성코드의 개수를 매칭하고, 기 설정된 제1임계값에 기초하여 다수의 초기 특징값 중 일부를 선별하여 출력할 수 있다(S130). Subsequently, the feature value selection unit 122 may match the number of extracted existing malicious codes to each of a plurality of initial feature values, and select and output some of the plurality of initial feature values based on a preset first threshold value. Yes (S130).

여기서, 특징값 선별부(122)는 다수의 초기 특징값 각각을 이에 매칭된 기존악성코드의 개수가 큰 순서로 정렬할 수 있다. 그리고, 정렬된 다수의 초기 특징값 중에서 매칭된 기존악성코드의 개수가 제1임계값 미만의 개수를 갖는 하나 이상의 초기 특징값을 선별하여 추출할 수 있다. Here, the feature value selector 122 may arrange each of the plurality of initial feature values in the order of the largest number of existing malicious codes matched thereto. Then, among the plurality of aligned initial feature values, one or more initial feature values having a number of matched existing malicious codes less than a first threshold value may be selected and extracted.

이때, 제1임계값은 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드의 총 개수에 대한 소정의 퍼센트 비율, 예컨대 대략 50%의 비율에 해당하는 값일 수 있다. In this case, the first threshold value may be a value corresponding to a predetermined percentage ratio, for example, approximately 50% of the total number of existing malicious codes stored in the malicious code storage module 110 .

예컨대, 아래 [표 2]와 같이, 특징값 선별부(122)는 다수의 초기 특징값 각각에 이들을 포함하는 기존악성코드의 개수를 매칭할 수 있다. 그리고, 매칭된 기존악성코드의 개수가 큰 순서로 다수의 초기 특징값을 정렬할 수 있다. For example, as shown in [Table 2] below, the feature value selector 122 may match the number of existing malicious codes including the initial feature values with each of the plurality of initial feature values. In addition, a plurality of initial feature values may be arranged in the order of a large number of matched existing malicious codes.

IDID 초기 특징값initial feature value 기존악성코드 개수Number of existing malicious codes 1One NtClose+"handle": maskedNtClose+"handle": masked 29252925 22 RegCloseKey+"key_handle": maskedRegCloseKey+"key_handle": masked 25622562 ..
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
2525 GetFileType+"file_handle": maskedGetFileType+"file_handle": masked 15591559 2626 NtProtectVirtualMemory+"process_identifier":masked|"stack_dep_bypass": masked|"stack_pivoted":
masked|"heap_dep_bypass": masked|"length":
masked|"protection": masked|"process_handle":
masked|"base_address": masked|
NtProtectVirtualMemory+"process_identifier":masked|"stack_dep_bypass": masked|"stack_pivoted":
masked|"heap_dep_bypass": masked|"length":
masked|"protection": masked|"process_handle":
masked|"base_address": masked|
14301430
2727 LdrGetDllHandle_"module_name": masked:"kernel32.dll"|"stack_pivoted":
masked|"module_address":
LdrGetDllHandle_"module_name": masked:"kernel32.dll"|"stack_pivoted":
masked|"module_address":
13841384
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
731731 UuidCreate+"uuid":
"{fc7ae18d-a45d-46ca-a289-864d213cd522}"
UuidCreate+"uuid":
"{fc7ae18d-a45d-46ca-a289-864d213cd522}"
00
732732 NtWriteFile+"file_handle": masked|"filepath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\serverr.exe"NtWriteFile+"file_handle": masked|"filepath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\serverr.exe" 00

이때, 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드의 총 개수가 3,054개이면, 제1임계값에 따른 기존악성코드의 개수는 대략 1,527개일 수 있다. 이에, 특징값 선별부(122)는 정렬된 다수의 초기 특징값 중에서 제1임계값 미만의 기존악성코드를 갖는 초기 특징값, 예컨대 [표 2]에서 26~732번까지의 707개의 초기 특징값을 선별하여 출력할 수 있다. In this case, if the total number of existing malicious codes stored in the malicious code storage module 110 is 3,054, the number of existing malicious codes according to the first threshold value may be approximately 1,527. Accordingly, the feature value selector 122 selects initial feature values having existing malicious codes below the first threshold among a plurality of aligned initial feature values, for example, 707 initial feature values from 26 to 732 in [Table 2]. can be selected and printed.

이어, 시그니처 생성부(123)는 선별된 하나 이상의 초기 특징값에 기초하여 이를 포함하는 악성코드의 시그니처를 생성할 수 있다(S140). Subsequently, the signature generation unit 123 may generate a signature of the malicious code including the selected one or more initial feature values based on the selected one or more initial feature values (S140).

도 5 및 도 7을 참조하면, 시그니처 갱신모듈(130)은 다수의 기존악성코드 중에서 기 입력된 악성코드에 대응되는 하나 이상의 패밀리 악성코드에 기초하여 기 생성된 시그니처를 갱신하여 갱신된 시그니처를 출력할 수 있다(S20). 5 and 7, the signature update module 130 updates a previously generated signature based on one or more family malicious codes corresponding to the input malicious code among a plurality of existing malicious codes, and outputs the updated signature. It can (S20).

시그니처 갱신모듈(130)의 패밀리 악성코드 추출부(131)는 앞서 시그니처 생성모듈(120)의 악성코드 분석부(121)에서 추출된 악성코드의 패밀리 라벨에 기초하여 악성코드 저장모듈(110)에 저장된 다수의 기존악성코드 중에서 패밀리 라벨에 대응되는 하나 이상의 기존악성코드를 패밀리 악성코드로 추출할 수 있다(S210).The family malicious code extraction unit 131 of the signature update module 130 extracts the malicious code storage module 110 based on the family label of the malicious code previously extracted by the malicious code analysis unit 121 of the signature generation module 120. One or more existing malicious codes corresponding to the family label among a plurality of stored existing malicious codes may be extracted as family malicious codes (S210).

다음으로, 시그니처 갱신모듈(130)의 공통 특징값 추출부(132)는 시그니처와 하나 이상의 패밀리 악성코드 간 일치율을 판단하고, 판단된 일치율에 기초하여 하나의 패밀리 악성코드를 추출할 수 있다(S220). Next, the common feature value extraction unit 132 of the signature update module 130 may determine a matching rate between the signature and one or more family malicious codes, and extract one family malicious code based on the determined matching rate (S220). ).

구체적으로, 공통 특징값 추출부(132)는 패밀리 악성코드의 특징값과 시그니처의 특징값, 예컨대 선별된 초기 특징값 간 일치 여부에 따른 일치율을 판단할 수 있다. Specifically, the common feature value extractor 132 may determine a match rate according to whether the feature values of the family malicious codes and the feature values of the signature, for example, the selected initial feature values match.

이때, 공통 특징값 추출부(132)는 하나 이상의 패밀리 악성코드 중에서 시그니처의 특징값과 완전하게 동일한, 예컨대 100% 일치하는 특징값을 갖는 시그니처를 포함하는 패밀리 악성코드를 제외할 수 있다. In this case, the common feature value extractor 132 may exclude family malwares including signatures having feature values that are completely identical to, for example, 100% matched to, feature values of the signatures from among one or more family malwares.

이에, 공통 특징값 추출부(132)는 나머지 패밀리 악성코드 중에서 시그니처의 특징값과 최상의 일치율을 갖는 특징값을 포함하는 시그니처를 추출하고, 추출된 시그니처에 대응되는 하나의 패밀리 악성코드를 추출할 수 있다.Accordingly, the common feature value extractor 132 may extract a signature including a feature value having the best match rate with the feature value of the signature among the remaining malicious codes of the family, and extract one family malware corresponding to the extracted signature. there is.

계속해서, 공통 특징값 추출부(132)는 추출된 하나의 패밀리 악성코드의 특징값과 시그니처 간 공통 특징값을 추출할 수 있다(S230). Subsequently, the common feature value extraction unit 132 may extract a common feature value between the extracted feature value of one family of malware and the signature (S230).

여기서, 공통 특징값 추출부(132)는 하나의 패밀리 악성코드에 포함된 다수의 특징값과 시그니처의 다수의 초기 특징값 중 공통으로 나타나는 하나 이상의 특징값을 추출할 수 있다. 공통 특징값 추출부(132)는 추출된 하나 이상의 특징값을 공통 특징값으로 출력할 수 있다. Here, the common feature value extractor 132 may extract one or more common feature values among a plurality of feature values included in one family of malicious codes and a plurality of initial feature values of the signature. The common feature value extractor 132 may output one or more extracted feature values as common feature values.

다음으로, 시그니처 갱신부(133)는 추출된 공통 특징값에 기초하여 시그니처를 갱신하고, 갱신된 시그니처를 출력할 수 있다(S240). Next, the signature updating unit 133 may update the signature based on the extracted common feature values and output the updated signature (S240).

이때, 시그니처 갱신부(133)는 갱신 전 시그니처와 갱신된 시그니처를 함께 출력할 수 있다. At this time, the signature updating unit 133 may output both the signature before updating and the updated signature.

도 5 및 도 8을 참조하면, 시그니처 검증모듈(140)은 갱신된 시그니처를 검증하여 재 갱신 여부를 판단할 수 있다. 시그니처 검증모듈(140)은 판단 결과에 따라 시그니처 갱신모듈(130)의 동작을 제어할 수 있다(S30).Referring to FIGS. 5 and 8 , the signature verification module 140 verifies the updated signature and determines whether to re-update or not. The signature verification module 140 may control the operation of the signature update module 130 according to the determination result (S30).

먼저, 시그니처 검증모듈(140)의 특징값 비율산출부(141)는 기 설정된 제2임계값에 기초하여 갱신 전 시그니처의 정렬된 다수의 특징값 중에서 일부의 특징값을 기준 특징값으로 추출할 수 있다(S310). First, the feature value ratio calculation unit 141 of the signature verification module 140 may extract some feature values as reference feature values among a plurality of aligned feature values of the pre-update signature based on a preset second threshold value. Yes (S310).

이때, 제2임계값은 갱신 전 시그니처의 다수의 특징값의 총 개수에 대한 소정의 퍼센트 비율, 예컨대 대략 20%의 비율에 해당하는 값일 수 있다. In this case, the second threshold value may be a value corresponding to a predetermined percentage ratio, for example, approximately 20% of the total number of feature values of the signature before update.

아래 [표 3]을 참조하면, 갱신 전 시그니처의 다수의 특징값, 예컨대 707개의 특징값은 각각에 매칭된 악성코드의 개수가 작은 순서로 정렬되어 있다. Referring to [Table 3] below, a plurality of characteristic values of the signature before update, for example, 707 characteristic values, are arranged in descending order of the number of malicious codes matched to each.

또한, 제2임계값은 갱신 전 시그니처의 다수의 특징값의 총 개수의 대략 20%인 141일 수 있다. Also, the second threshold value may be 141, which is approximately 20% of the total number of feature values of the signature before update.

이에, 특징값 비율산출부(141)는 정렬된 707개의 특징값 중에서 기 설정된 제2임계값 이하의 특징값, 예컨대 1~141개의 특징값을 갱신 전 시그니처의 기준 특징값으로 추출할 수 있다. Accordingly, the feature value ratio calculation unit 141 may extract feature values less than or equal to a preset second threshold value, for example, 1 to 141 feature values among the 707 sorted feature values as reference feature values of the signature before update.

IDID 초기 특징값initial feature value 기존악성코드 개수Number of existing malicious codes 1One NtWriteFile_"file_handle": masked|"filepath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\serverr.exe"NtWriteFile_"file_handle": masked|"filepath":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\serverr.exe" 00 22 UuidCreate_"uuid":"{fc7ae18d-a45d-46ca-a289-864d213cd522}"UuidCreate_"uuid":"{fc7ae18d-a45d-46ca-a289-864d213cd522}" 00 ..
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
141141 RegQueryValueExW_"key_handle": masked|"value":
""|"regkey_r": "Modules"|"reg_type":
masked|"regkey":
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Fusion\\NativeImagesIndex\\v2.0.50727_32\\IL\\f6e8397\\46ad0879\\6f\\Modules"|
RegQueryValueExW_"key_handle": masked|"value":
""|"regkey_r": "Modules"|"reg_type":
masked|"regkey":
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Fusion\\NativeImagesIndex\\v2.0.50727_32\\IL\\f6e8397\\46ad0879\\6f\\Modules"|
139139
142142 RegQueryValueExW_"key_handle": masked|"value":"System.Runtime.Remoting,2.0.0.0,,b77a5c561934e089"|"regkey_r": "DisplayName"|"reg_type":
masked|"regkey": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Fusion\\NativeImagesIndex\\v2.0.50727_32\\IL\\f6e8397\\46ad0879\\6f\\DisplayName"|
RegQueryValueExW_"key_handle": masked|"value":"System.Runtime.Remoting,2.0.0.0,,b77a5c561934e089"|"regkey_r": "DisplayName"|"reg_type":
masked|"regkey": "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Fusion\\NativeImagesIndex\\v2.0.50727_32\\IL\\f6e8397\\46ad0879\\6f\\DisplayName"|
139139
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
706706 LdrGetDllHandle_"module_name":
"kernel32.dll"|"stack_pivoted":
masked|"module_address": masked
LdrGetDllHandle_"module_name":
"kernel32.dll"|"stack_pivoted":
masked|"module_address": masked
13841384
707707 NtProtectVirtualMemory+"process_identifier":masked|"stack_dep_bypass": masked|"stack_pivoted":
masked|"heap_dep_bypass": masked|"length":
masked|"protection": masked|"process_handle":
masked|"base_address": masked|
NtProtectVirtualMemory+"process_identifier":masked|"stack_dep_bypass": masked|"stack_pivoted":
masked|"heap_dep_bypass": masked|"length":
masked|"protection": masked|"process_handle":
masked|"base_address": masked|
14301430

다음으로, 특징값 비율산출부(141)는 갱신된 시그니처의 다수의 특징값을 추출하고, 추출된 다수의 특징값에 기 추출된 하나 이상의 기준 특징값의 포함 비율을 산출할 수 있다(S320).Next, the feature value ratio calculation unit 141 may extract a plurality of feature values of the updated signature, and calculate a ratio of including one or more pre-extracted reference feature values to the extracted feature values (S320). .

이어, 시그니처 검증모듈(140)의 시그니처 갱신제어부(142)는 기 설정된 제3임계값에 기초하여 갱신된 시그니처의 다수의 특징값 중 기준 특징값의 포함 비율로부터 갱신된 시그니처의 재 갱신 여부를 판단할 수 있다(S330).Next, the signature renewal control unit 142 of the signature verification module 140 determines whether to re-update the updated signature based on the included ratio of the standard feature value among the plurality of feature values of the updated signature based on a preset third threshold. It can (S330).

예컨대, 시그니처 갱신제어부(142)는 기 산출된 기준 특징값의 포함 비율이 제3임계값 이상이면, 갱신된 시그니처의 재 갱신이 필요함을 판단할 수 있다. 이에, 시그니처 갱신제어부(142)는 시그니처 갱신모듈(130)의 동작을 제어하여 상기 시그니처 갱신모듈(130)에서 갱신된 시그니처를 재 갱신하여 새로운 시그니처가 출력되도록 할 수 있다. For example, the signature update controller 142 may determine that the updated signature needs to be re-updated if the previously calculated reference feature value is equal to or greater than the third threshold. Accordingly, the signature update control unit 142 may control the operation of the signature update module 130 to re-update the signature updated in the signature update module 130 so that a new signature is output.

반면에, 시그니처 갱신제어부(142)는 기 산출된 기준 특징값의 포함 비율이 제3임계값 미만이면, 유의미한 특징값이 충분하지 않다고 판단할 수 있다. 이에, 시그니처 검증모듈(140)은 갱신 전 시그니처를 기 입력된 악성코드에 대한 최적의 시그니처로 출력할 수 있다. On the other hand, the signature update control unit 142 may determine that significant feature values are not sufficient when the pre-calculated reference feature value is less than the third threshold. Accordingly, the signature verification module 140 may output the pre-update signature as an optimal signature for the previously input malicious code.

여기서, 제3임계값은 기준 특징값의 총 개수에 대한 소정의 퍼센트 비율, 예컨대 대략 80%의 비율에 해당하는 값일 수 있다. Here, the third threshold value may be a value corresponding to a predetermined percentage ratio, for example, approximately 80% of the total number of reference feature values.

따라서, 갱신된 시그니처의 다수의 특징값에 기준 특징값, 즉 갱신 전 시그니처에서 추출된 특징값이 제3임계값 이상 포함된 경우에, 갱신된 시그니처에는 갱신 전 시그니처의 유의미한 시그니처가 유효함을 알 수 있다. 이에, 시그니처 갱신제어부(142)는 갱신된 시그니처의 재 갱신을 판단하여 시그니처 갱신모듈(130)의 동작을 제어할 수 있다. Therefore, when the number of feature values of the updated signature include the reference feature value, i.e., the feature value extracted from the signature before update, at least the third threshold value, it is known that the significant signature of the signature before update is valid in the updated signature. can Accordingly, the signature update controller 142 may control the operation of the signature update module 130 by determining re-update of the updated signature.

또한, 갱신된 시그니처의 다수의 특징값에 기준 특징값이 제3임계값 미만 포함된 경우에, 갱신 전 시그니처의 유의미한 시그니처가 유효하지 않음을 알 수 있다. 이에, 시그니처 갱신제어부(142)는 갱신된 시그니처를 제거하고 갱신 전 시그니처를 기 입력된 악성코드의 최적 시그니처로 출력할 수 있다. In addition, when the reference feature value is less than the third threshold value in the plurality of feature values of the updated signature, it can be seen that the significant signature of the signature before update is not valid. Accordingly, the signature update control unit 142 may remove the updated signature and output the signature before the update as an optimal signature of the previously input malicious code.

이와 같이, 본 실시예의 시그니처 생성장치(100)는 역색인 저장구조로 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 빠르게 생성할 수 있다. In this way, the signature generating apparatus 100 of the present embodiment can quickly generate a signature for a malicious code input from the outside based on a plurality of existing malicious codes stored in an inverted index storage structure.

또한, 본 실시예의 시그니처 생성장치(100)는 2개의 시그니처 간, 즉 갱신 전 시그니처와 갱신 후 시그니처 간 특징값 동일비율에 따라 시그니처 갱신의 반복을 제어함으로써, 입력된 악성코드에 대한 최적의 시그니처를 생성할 수 있다. In addition, the signature generator 100 according to the present embodiment controls the repetition of signature updates according to the same ratio of feature values between the two signatures, that is, the signature before update and the signature after update, thereby generating the optimal signature for the entered malicious code. can create

이상에서 설명된 본 발명의 블록도의 각 블록과 순서도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 순서도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 순서도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 순서도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block of the block diagram and each step of the flowchart of the present invention described above may be performed by computer program instructions. Since these computer program instructions may be loaded into an encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions executed by the encoding processor of the computer or other programmable data processing equipment are each block or block diagram of the block diagram. Each step in the flow chart creates means for performing the functions described. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means that perform the function described in each block of the block diagram or each step of the flowchart. The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. It is also possible that the instructions performing the processing equipment provide steps for executing the functions described in each block of the block diagram and each step of the flow chart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative embodiments it is possible for the functions recited in blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order depending on their function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and various modifications and variations can be made to those skilled in the art without departing from the essential qualities of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100: 시그니처 생성장치 110: 악성코드 저장모듈
120: 시그니처 생성모듈 121: 악성코드 분석부
122: 특징값 선별부 123: 시그니처 생성부
130: 시그니처 갱신모듈 131: 패밀리 악성코드 추출부
132: 공통 특징값 추출부 133: 시그니처 갱신부
140: 시그니처 검증모듈 141: 특징값 비율산출부
142: 시그니처 갱신제어부
100: signature generating device 110: malicious code storage module
120: signature generation module 121: malicious code analysis unit
122: feature value selection unit 123: signature generation unit
130: signature update module 131: family malware extraction unit
132: common feature value extraction unit 133: signature update unit
140: signature verification module 141: feature value ratio calculator
142: signature update control unit

Claims (20)

기 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성하는 단계;
상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드에 기초하여 시그니처를 갱신하는 단계; 및
갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함하는 시그니처 생성방법.
generating a signature for a malicious code input from the outside based on a plurality of pre-stored existing malicious codes;
updating a signature based on at least one family malicious code corresponding to the malicious code among the plurality of existing malicious codes; and
A signature generation method comprising determining whether to re-update an updated signature based on one or more reference characteristic values of the signature before renewal.
제1항에 있어서,
상기 시그니처를 생성하는 단계는,
상기 악성코드에서 다수의 초기 특징값을 추출하는 단계;
상기 다수의 기존악성코드 중에서 상기 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출하여 상기 다수의 초기 특징값 각각에 매칭하는 단계;
기 설정된 제1임계값에 기초하여 상기 다수의 초기 특징값 중 일부를 선별하는 단계; 및
선별된 초기 특징값을 포함하는 상기 시그니처를 생성하는 단계를 포함하는 시그니처 생성방법.
According to claim 1,
The step of generating the signature is,
extracting a plurality of initial feature values from the malicious code;
extracting one or more existing malicious codes including each of the plurality of initial characteristic values from among the plurality of existing malicious codes and matching each of the plurality of initial characteristic values;
selecting some of the plurality of initial feature values based on a preset first threshold value; and
A signature generating method comprising generating the signature including the selected initial feature values.
제2항에 있어서,
상기 다수의 초기 특징값 중 일부를 선별하는 단계는,
상기 다수의 초기 특징값 각각에 매칭된 상기 하나 이상의 기존악성코드의 개수가 큰 순서로 상기 다수의 초기 특징값 각각을 정렬하는 단계; 및
상기 다수의 초기 특징값 중에서 상기 하나 이상의 기존악성코드의 개수가 상기 제1임계값 미만인 하나 이상의 초기 특징값을 선별하는 단계를 포함하는 시그니처 생성방법.
According to claim 2,
Selecting some of the plurality of initial feature values,
arranging each of the plurality of initial characteristic values in the order of a large number of the one or more existing malicious codes matched with each of the plurality of initial characteristic values; and
and selecting one or more initial feature values in which the number of the one or more existing malicious codes is less than the first threshold value from among the plurality of initial feature values.
제1항에 있어서,
상기 시그니처를 갱신하는 단계는,
상기 악성코드에서 추출한 패밀리 라벨에 기초하여 상기 하나 이상의 패밀리 악성코드를 추출하는 단계;
추출된 상기 하나 이상의 패밀리 악성코드 각각과 상기 시그니처 간 일치율을 판단하는 단계;
판단 결과에 따라 상기 하나 이상의 패밀리 악성코드 중에서 상기 시그니처와 최상의 일치율을 갖는 하나의 패밀리 악성코드를 추출하는 단계;
추출된 상기 하나의 패밀리 악성코드와 상기 시그니처 간 공통 특징값을 추출하는 단계; 및
상기 시그니처와 상기 공통 특징값 각각을 갱신 전 시그니처와 갱신된 시그니처로 출력하는 단계를 포함하는 시그니처 생성방법.
According to claim 1,
Updating the signature,
extracting the one or more family malicious codes based on the family label extracted from the malicious codes;
determining a matching rate between each of the extracted one or more family malicious codes and the signature;
extracting one family malicious code having the highest matching rate with the signature from among the one or more family malicious codes according to the determination result;
extracting a common characteristic value between the extracted one family malicious code and the signature; and
and outputting the signature and the common feature value as a pre-update signature and an updated signature, respectively.
제4항에 있어서,
상기 하나의 패밀리 악성코드를 추출하는 단계는,
상기 시그니처의 특징값과 전체 일치하는 특징값을 갖는 패밀리 악성코드를 제외한 나머지 패밀리 악성코드 중에서 상기 최상의 일치율을 갖는 상기 하나의 패밀리 악성코드를 추출하는 단계인 시그니처 생성방법.
According to claim 4,
The step of extracting the one family malicious code,
The signature generation method of extracting the one family malicious code having the best matching rate from the rest of the family malicious codes excluding the family malicious codes having feature values that completely match the feature values of the signature.
제1항에 있어서,
상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계는,
기 설정된 제2임계값에 기초하여 갱신 전 시그니처의 다수의 특징값 중 일부를 상기 하나 이상의 기준 특징값으로 추출하는 단계;
상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 비율을 산출하는 단계; 및
상기 비율을 기 설정된 제3임계값과 비교하고, 비교 결과에 따라 상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함하는 시그니처 생성방법.
According to claim 1,
The step of determining whether to re-update the renewed signature,
extracting some of the plurality of feature values of the pre-update signature as the one or more reference feature values based on a preset second threshold value;
calculating a ratio including the one or more reference feature values among a plurality of feature values of the updated signature; and
Comparing the ratio with a preset third threshold value, and determining whether to re-update the updated signature according to the comparison result.
제6항에 있어서,
상기 기준 특징값으로 추출하는 단계는,
상기 갱신 전 시그니처의 상기 다수의 특징값 중에서 상기 제2임계값 이하의 개수를 상기 기준 특징값으로 추출하는 단계인 시그니처 생성방법.
According to claim 6,
The step of extracting as the reference feature value,
The step of extracting, as the reference feature value, a number less than or equal to the second threshold value among the plurality of feature values of the signature before update.
제6항에 있어서,
상기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계는,
상기 갱신된 시그니처의 상기 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 상기 제3임계값 이상이면, 상기 갱신된 시그니처의 재 갱신을 판단하고,
상기 갱신된 시그니처의 상기 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 상기 제3임계값 미만이면, 상기 갱신 전 시그니처를 상기 악성코드의 시그니처로 출력하는 단계인 시그니처 생성방법.
According to claim 6,
The step of determining whether to re-update the renewed signature,
If the ratio including the one or more reference feature values among the plurality of feature values of the updated signature is greater than or equal to the third threshold value, determining whether to re-update the updated signature;
The step of outputting the pre-update signature as the signature of the malicious code when the ratio including the one or more reference feature values among the plurality of feature values of the updated signature is less than the third threshold value. Signature generation method.
제1항에 있어서,
상기 악성코드에서 패밀리 라벨 및 다수의 초기 특징값을 추출하는 단계를 더 포함하는 시그니처 생성방법.
According to claim 1,
The signature generation method further comprising extracting a family label and a plurality of initial feature values from the malicious code.
다수의 기존악성코드가 저장된 악성코드 저장모듈;
외부에서 악성코드가 입력되면, 상기 다수의 기존악성코드에 기초하여 상기 악성코드에 대한 시그니처를 생성하여 출력하는 시그니처 생성모듈;
상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드를 추출하고, 추출된 상기 패밀리 악성코드에 기초하여 상기 시그니처를 갱신하여 갱신 전 시그니처와 갱신된 시그니처를 출력하는 시그니처 갱신모듈; 및
상기 갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 상기 갱신된 시그니처의 재 갱신 여부를 판단하는 시그니처 검증모듈을 포함하는 시그니처 생성장치.
A malicious code storage module in which a plurality of existing malicious codes are stored;
a signature generation module that generates and outputs a signature for the malicious code based on the plurality of existing malicious codes when a malicious code is input from the outside;
A signature update module for extracting one or more family malicious codes corresponding to the malicious code from among the plurality of existing malicious codes, updating the signature based on the extracted family malicious code, and outputting a signature before update and an updated signature; and
and a signature verification module for determining whether to re-update the updated signature based on one or more reference characteristic values of the signature before the update.
제10항에 있어서,
상기 시그니처 생성모듈은,
상기 악성코드를 분석하여 패밀리 라벨 및 다수의 초기 특징값을 추출하는 악성코드 분석부;
기 설정된 제1임계값에 기초하여 상기 다수의 초기 특징값 중 일부를 선별하여 출력하는 특징값 선별부; 및
선별된 제1특징값을 포함하는 상기 시그니처를 생성하는 시그니처 생성부를 포함하는 시그니처 생성장치.
According to claim 10,
The signature generation module,
a malicious code analysis unit that analyzes the malicious code and extracts a family label and a plurality of initial feature values;
a feature value selection unit that selects and outputs some of the plurality of initial feature values based on a preset first threshold value; and
A signature generating device comprising a signature generating unit generating the signature including the selected first feature value.
제11항에 있어서,
상기 특징값 선별부는,
상기 다수의 기존악성코드 중에서 상기 다수의 초기 특징값 각각을 포함하는 하나 이상의 기존악성코드를 추출하여 상기 다수의 초기 특징값 각각에 매칭하고, 상기 다수의 초기 특징값 각각에 매칭된 상기 하나 이상의 기존악성코드의 개수가 큰 순서로 상기 다수의 초기 특징값 각각을 정렬하며, 정렬된 상기 다수의 초기 특징값 중에서 상기 하나 이상의 기존악성코드의 개수가 상기 제1임계값 미만인 하나 이상의 특징값을 선별하는 시그니처 생성장치.
According to claim 11,
The feature value selection unit,
Among the plurality of existing malicious codes, one or more existing malicious codes including each of the plurality of initial characteristic values are extracted, matched with each of the plurality of initial characteristic values, and the one or more existing malicious codes matched with each of the plurality of initial characteristic values. Arranging each of the plurality of initial feature values in the order of the largest number of malicious codes, and selecting one or more feature values in which the number of the one or more existing malicious codes is less than the first threshold value among the arranged plurality of initial feature values. signature generator.
제10항에 있어서,
상기 시그니처 갱신모듈은,
상기 악성코드에서 추출한 패밀리 라벨에 기초하여 상기 다수의 기존악성코드 중에서 상기 하나 이상의 패밀리 악성코드를 추출하는 패밀리 악성코드 추출부;
추출된 상기 하나 이상의 패밀리 악성코드 각각과 시그니처 간 일치율을 판단하고, 판단 결과에 따라 상기 하나 이상의 패밀리 악성코드 중에서 상기 시그니처와 최상의 일치율을 갖는 하나의 패밀리 악성코드와 상기 시그니처 간 공통 특징값을 추출하는 공통 특징값 추출부; 및
상기 공통 특징값에 기초하여 상기 시그니처를 갱신하는 시그니처 갱신부를 포함하는 시그니처 생성장치.
According to claim 10,
The signature update module,
a family malicious code extraction unit extracting the one or more family malicious codes from among the plurality of existing malicious codes based on the family label extracted from the malicious codes;
Determining the matching rate between each of the extracted one or more family malicious codes and the signature, and extracting a common feature value between the signature and one family malicious code having the best matching rate with the signature among the one or more family malicious codes according to the determination result a common feature value extraction unit; and
and a signature updater configured to update the signature based on the common characteristic value.
제13항에 있어서,
상기 공통 특징값 추출부는,
상기 시그니처의 특징값과 전체 일치하는 특징값을 갖는 패밀리 악성코드를 제외한 나머지 패밀리 악성코드 중에서 상기 최상의 일치율을 갖는 상기 하나의 패밀리 악성코드를 추출하는 시그니처 생성장치.
According to claim 13,
The common feature value extraction unit,
A signature generating device for extracting the one family malicious code having the best match rate from among the remaining family malicious codes excluding the family malicious codes having feature values that completely match the feature values of the signature.
제10항에 있어서,
상기 시그니처 검증모듈은,
갱신 전 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값을 추출하고, 상기 갱신된 시그니처의 다수의 특징값 중 상기 하나 이상의 기준 특징값이 포함된 비율을 산출하는 특징값 비율산출부; 및
산출된 상기 비율에 기초하여 상기 갱신된 시그니처의 재 갱신 여부를 판단하고, 판단 결과에 따라 상기 시그니처 갱신모듈의 동작을 제어하는 시그니처 갱신제어부를 포함하는 시그니처 생성장치.
According to claim 10,
The signature verification module,
a feature value ratio calculation unit extracting the one or more reference feature values from among the plurality of feature values of the signature before updating, and calculating a ratio including the one or more reference feature values among the plurality of feature values of the updated signature; and
and a signature update controller configured to determine whether to re-update the updated signature based on the calculated ratio, and to control an operation of the signature update module according to the determination result.
제15항에 있어서,
상기 특징값 비율산출부는,
기 설정된 제2임계값에 기초하여 상기 갱신 전 시그니처의 다수의 특징값 중 일부를 상기 하나 이상의 기준 특징값으로 추출하고, 상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율을 산출하는 시그니처 생성장치.
According to claim 15,
The feature value ratio calculation unit,
Extracting some of the plurality of feature values of the pre-update signature as the one or more reference feature values based on a preset second threshold value, and including the one or more reference feature values among the plurality of feature values of the updated signature A signature generating device that calculates the ratio.
제16항에 있어서,
상기 특징값 비율산출부는,
상기 갱신 전 시그니처의 상기 다수의 특징값 중에서 대응되는 기존악성코드의 개수가 적은 순서대로 상기 제2임계값 이하의 개수를 상기 기준 특징값으로 추출하는 시그니처 생성장치.
According to claim 16,
The feature value ratio calculation unit,
The signature generating device for extracting, as the reference feature value, the number of values less than or equal to the second threshold value in order of decreasing number of corresponding existing malicious codes among the plurality of feature values of the signature before update.
제15항에 있어서,
상기 시그니처 갱신제어부는,
상기 갱신된 시그니처의 다수의 특징값 중에서 상기 하나 이상의 기준 특징값이 포함된 상기 비율이 기 설정된 제3임계값 이상이면 상기 갱신된 시그니처의 재 갱신을 판단하여 상기 시그니처 갱신모듈의 동작을 제어하고,
상기 비율이 상기 제3임계값 미만이면 상기 갱신 전 시그니처를 상기 악성코드의 시그니처로 출력하는 시그니처 생성장치.
According to claim 15,
The signature update control unit,
If the ratio of the one or more reference feature values among the plurality of feature values of the updated signature is greater than or equal to a preset third threshold value, determining re-update of the updated signature to control the operation of the signature update module;
and outputting the pre-update signature as the signature of the malicious code when the ratio is less than the third threshold.
컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은,
기 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성하는 단계;
상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드에 기초하여 상기 시그니처를 갱신하는 단계; 및
상기 갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함하는 시그니처 생성방법을 수행하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium in which a computer program is stored,
The computer program,
generating a signature for a malicious code input from the outside based on a plurality of pre-stored existing malicious codes;
updating the signature based on at least one family malicious code corresponding to the malicious code among the plurality of existing malicious codes; and
A computer-readable recording medium comprising instructions for performing a signature generation method comprising determining whether to re-update an already-updated signature based on one or more reference characteristic values of the pre-update signature.
컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
기 저장된 다수의 기존악성코드에 기초하여 외부에서 입력된 악성코드에 대한 시그니처를 생성하는 단계;
상기 다수의 기존악성코드 중에서 상기 악성코드에 대응되는 하나 이상의 패밀리 악성코드에 기초하여 상기 시그니처를 갱신하는 단계; 및
상기 갱신 전 시그니처의 하나 이상의 기준 특징값에 기초하여 기 갱신된 시그니처의 재 갱신 여부를 판단하는 단계를 포함하는 시그니처 생성방법을 수행하기 위한 명령어를 포함하는 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer readable recording medium,
The computer program,
generating a signature for a malicious code input from the outside based on a plurality of pre-stored existing malicious codes;
updating the signature based on at least one family malicious code corresponding to the malicious code among the plurality of existing malicious codes; and
A computer program stored in a recording medium including instructions for performing a signature generation method comprising the step of determining whether or not to re-update the previously updated signature based on one or more reference characteristic values of the pre-update signature.
KR1020220170106A 2021-12-14 2022-12-07 Method and device for generating optimized signature of specific malware KR20230090247A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210178386 2021-12-14
KR20210178386 2021-12-14

Publications (1)

Publication Number Publication Date
KR20230090247A true KR20230090247A (en) 2023-06-21

Family

ID=86990052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220170106A KR20230090247A (en) 2021-12-14 2022-12-07 Method and device for generating optimized signature of specific malware

Country Status (1)

Country Link
KR (1) KR20230090247A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101337216B1 (en) 2012-02-21 2013-12-05 주식회사 안랩 Computer system and siglature verification server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101337216B1 (en) 2012-02-21 2013-12-05 주식회사 안랩 Computer system and siglature verification server

Similar Documents

Publication Publication Date Title
US10162967B1 (en) Methods and systems for identifying legitimate computer files
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
KR101620931B1 (en) Similar malicious code retrieval apparatus and method based on malicious code feature information
JP6780655B2 (en) Log analysis system, method and program
CN106250319B (en) Static code scanning result treating method and apparatus
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
CN113239365B (en) Vulnerability repairing method based on knowledge graph
CN109583201A (en) The system and method for identifying malice intermediate language file
JP2017068293A (en) Test db data generation method and device
CN104885060B (en) Data leakage updates and checks that the leakage of device, data updates inspection method
US20180096142A1 (en) System and method for determining a security classification of an unknown application
KR20230090247A (en) Method and device for generating optimized signature of specific malware
CN106326746B (en) A kind of rogue program behavioural characteristic base construction method and device
US10977150B2 (en) Data analysis
CN110378118A (en) The Android application third party library detection method of efficiently and accurately
CN111931161B (en) RISC-V processor based chip verification method, apparatus and storage medium
KR20200109677A (en) An apparatus and method for detecting malicious codes using ai based machine running cross validation techniques
CN104991963B (en) Document handling method and device
KR20160025881A (en) Apparatus and method for detecting malicious shared library file
CN112699372A (en) Vulnerability processing method and device and computer readable storage medium
CN115374444B (en) Virus detection method and device based on virtual host behavior analysis
CN113626533B (en) Ultraviolet power detection method and device and electronic equipment
JP6664201B2 (en) Abutting processing device, abutting processing method and abutting processing program
JP6623040B2 (en) Butt processing device, butt processing method and butt processing program
CN103927486B (en) The determination method and system of failure characteristics in a kind of black feature database