JP2017004123A - Determination apparatus, determination method, and determination program - Google Patents

Determination apparatus, determination method, and determination program Download PDF

Info

Publication number
JP2017004123A
JP2017004123A JP2015115180A JP2015115180A JP2017004123A JP 2017004123 A JP2017004123 A JP 2017004123A JP 2015115180 A JP2015115180 A JP 2015115180A JP 2015115180 A JP2015115180 A JP 2015115180A JP 2017004123 A JP2017004123 A JP 2017004123A
Authority
JP
Japan
Prior art keywords
file
determination
malware
classifier
executable
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.)
Pending
Application number
JP2015115180A
Other languages
Japanese (ja)
Inventor
充敏 熊谷
Mitsutoshi Kumagai
充敏 熊谷
靖 岡野
Yasushi Okano
靖 岡野
嘉人 大嶋
Yoshito Oshima
嘉人 大嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015115180A priority Critical patent/JP2017004123A/en
Publication of JP2017004123A publication Critical patent/JP2017004123A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To determine whether an execution file is malware or not, in consideration of a file type of the execution file.SOLUTION: A malware determination apparatus 10 determines a file type of each of execution files including a file known as malware and a file known as goodware. The malware determination apparatus 10 extracts features from the execution files, to generate feature vectors of the execution files, on the basis of the features of the execution files and the determined file types. The malware determination apparatus 10 inputs the generated feature vectors of the execution files as teacher data, generates a classifier to determine whether the file is malware, and calculates a score indicating malware likelihood of a file to be determined, by use of the generated classifier, to determine whether the file to be determined is malware or not, on the basis of the calculated score.SELECTED DRAWING: Figure 1

Description

本発明は、判定装置、判定方法および判定プログラムに関する。   The present invention relates to a determination device, a determination method, and a determination program.

近年、実行ファイルがマルウェアか判定を行う手法として、実行ファイルを実行して判定する動的判定と、実行ファイルを実行せずに判定する静的判定の2手法が用いられ、判定に特に速度が求められる場合は静的判定が用いられる。   In recent years, two methods are used to determine whether an executable file is malware: dynamic determination by executing an executable file and static determination that determines without executing the executable file. Static determination is used when required.

静的判定の手法として代表的なものに、ハッシュ値一致判定、および、パターンマッチ判定(シグニチャスキャン)が挙げられる。ハッシュ値一致判定は、予め既知のマルウェアのMD5、SHA1、SHA256等のハッシュ値をデータベースとして持ち、検査対象ファイルのハッシュ値がそのデータベースに合致すればマルウェアとするものである。パターンマッチ判定は、予め既知のマルウェアに含まれる特定の文字列やバイトコードをデータベースとして持ち、検査対象ファイル中にそれらのデータベース登録された文字列・バイトコードのいずれかを含んでいればマルウェとするものである。   Representative examples of static determination methods include hash value match determination and pattern match determination (signature scan). The hash value match determination has a hash value of MD5, SHA1, SHA256, etc. of known malware in advance as a database, and if the hash value of the file to be inspected matches the database, the hash value match determination is made. The pattern match judgment has a specific character string or byte code included in known malware in advance as a database, and if any of the character strings and byte codes registered in the database is included in the inspection target file, To do.

これらの手法は既存マルウェアを改造した亜種マルウェアや新種のマルウェアの検知は難しかった。そのため、亜種・新種のマルウェアを判定する手法として、ヒューリスティック判定が提案されている。これは、これまでの経験に基づいて、マルウェアらしさを定義し、その定義に従って判定するものである。   These methods were difficult to detect variants and new types of malware that were modified from existing malware. For this reason, heuristic determination has been proposed as a method for determining sub-species / new-type malware. This is based on the experience so far, defining the malware likeness and judging according to the definition.

例えば、ヒューリスティック判定として機械学習技術を用いる手法が提案されている(例えば、特許文献1参照)。このような機械学習技術を用いる手法では、例えば、実行ファイル中に含まれる可読文字列を予め学習し、マルウェアで良く用いられる語が検査ファイル中にどの程度含まれるかを基準にそのマルウェアらしさを判定する。   For example, a method using machine learning technology for heuristic determination has been proposed (see, for example, Patent Document 1). In such a method using machine learning technology, for example, a human-readable character string included in an execution file is learned in advance, and the malware-likeness is determined based on how many words frequently used in malware are included in the inspection file. judge.

また、機械学習ではまず学習対象のデータ(学習データ)を、いくつかのパラメータの組に変換してから機械学習アルゴリズムで学習を行う。この個々のパラメータを特徴、パラメータの組を数ベクトルで表したものを特徴ベクトルと呼ぶ。   In machine learning, data to be learned (learning data) is first converted into a set of several parameters, and then learning is performed using a machine learning algorithm. Each individual parameter is referred to as a feature, and a set of parameters represented by a number vector is referred to as a feature vector.

特開2012−27710号公報JP 2012-27710 A

しかしながら、上記した従来の技術では、実行ファイルにおける、32ビットアプリケーション、Visual Basicアプリケーション、32ビットデバイスドライバー、32ビットダイナミックリンクライブラリファイル、64ビットアプリケーションといったファイル種別を考慮せずに、実行ファイルがマルウェアであるか否かの判定を行っていたため、判定の精度が低くなる場合があるという課題があった。つまり、ファイル種別が異なる実行ファイル同士では、その特徴が相反することが多いため、ファイル種別を考慮しない場合には判定精度が低くなる場合がある。   However, with the above-mentioned conventional technology, the executable file is a malware without considering the file types such as 32-bit application, Visual Basic application, 32-bit device driver, 32-bit dynamic link library file, and 64-bit application. Since it has been determined whether or not there is a problem, there is a problem that the accuracy of the determination may be lowered. In other words, since the characteristics of the executable files having different file types often conflict with each other, the determination accuracy may be lowered when the file type is not considered.

例えば、32ビットアプリケーションにおいては、マルウェアでのみ頻出する特徴が、64ビットアプリケーションの場合にはグッドウェアでも出現することがある。このような場合には、ファイル種別を考慮せずに判定すると、この特徴を有する32ビットアプリケーションのマルウェアと64ビットアプリケーションのグッドウェアとを精度よく分類することが困難になる。   For example, in a 32-bit application, a feature that frequently appears only in malware may appear in goodware in the case of a 64-bit application. In such a case, if the determination is made without considering the file type, it is difficult to accurately classify the 32-bit application malware and the 64-bit application goodware having this characteristic.

そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、実行ファイルのファイル種別を考慮し、実行ファイルがマルウェアであるか否かの判定を高精度に行うことを目的とする。   Therefore, the present invention has been made to solve the above-described problems of the prior art, and in consideration of the file type of the executable file, it is possible to determine with high accuracy whether or not the executable file is malware. Objective.

上述した課題を解決し、目的を達成するため、判定装置は、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別部と、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別部によって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出部と、前記抽出部によって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成部と、前記作成部によって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出部と、前記算出部によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定部と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the determination device determines a file type of each executable file including a file known to be malware and a file known to be goodware. And an extractor that extracts features from each executable file and creates a feature vector of each executable file based on the features of each executable file and the file type determined by the determiner; and A feature unit of each created executable file is input as teacher data, a creation unit that creates a classifier that determines whether or not it is malware, and a classifier created by the creation unit, Based on the score calculated by the calculation unit that calculates a score indicating the likelihood of malware, the determination target file Le characterized in that the and a judging section that judges whether malware.

また、判定装置は、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別部と、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出部と、前記判別部によって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成部と、判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出部と、前記算出部によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定部と、を備えることを特徴とする。   Further, the determination device extracts a feature from each execution file, a determination unit for determining the file type of each execution file including a file known to be malware and a file known to be goodware, respectively. An extraction unit that creates a feature vector of each executable file based on the features of each executable file; and the feature vector is input as teacher data for each file type determined by the determination unit, and for each file type A creation unit that creates each classifier, a calculation unit that selects a classifier corresponding to the file type of the determination target file, and calculates a score indicating the malware likeness of the determination target file using the classifier; And determining whether the determination target file is malware based on the score calculated by the calculation unit Characterized in that it comprises a tough, the.

また、判定方法は、判定装置が実行する判定方法であって、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別工程と、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別工程によって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出工程と、前記抽出工程によって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成工程と、前記作成工程によって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出工程と、前記算出工程によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定工程と、を含んだことを特徴とする。   The determination method is a determination method executed by the determination device, and a determination step of determining the file type of each executable file including a file known to be malware and a file known to be goodware. And extracting a feature from each executable file, and creating a feature vector of each executable file based on the feature of each executable file and the file type determined by the determining step, and by the extracting step A feature step of each created executable file is input as teacher data, and a creation step for creating a classifier for judging whether it is malware or not, and using the classifier created by the creation step, Based on the calculation step of calculating a score indicating the likelihood of malware and the score calculated by the calculation step, Determining the target file is characterized in that it includes a determination step of determining whether a malware, the.

また、判定方法は、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別工程と、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出工程と、前記判別工程によって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成工程と、判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出工程と、前記算出工程によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定工程と、を含んだことを特徴とする。   Further, the determination method includes a determination step of determining each file type of each executable file including a file known to be malware and a file known to be goodware, and extracts features from each executable file. Based on the features of each executable file, the feature vector of each executable file is created, and the feature vector is input as teacher data for each file type determined by the determining step, and for each file type A creation step of creating each classifier, a calculation step of selecting a classifier corresponding to the file type of the determination target file, and calculating a score indicating the malware likeness of the determination target file using the classifier; Whether the file to be determined is malware based on the score calculated by the calculation step Characterized in that including a determination step of determining.

また、判定プログラムは、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別ステップと、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別ステップによって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出ステップと、前記抽出ステップによって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成ステップと、前記作成ステップによって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出ステップと、前記算出ステップによって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定ステップと、をコンピュータに実行させることを特徴とする。   The determination program also determines a file type of each executable file including files known to be malware and files known to be goodware, and extracts features from the executable files. An extraction step for creating a feature vector of each executable file based on the characteristics of each executable file and the file type determined by the determination step; and a feature vector of each executable file generated by the extraction step A creation step for creating a classifier that is input as data and determines whether or not it is malware, and a calculation step for calculating a score indicating the malware likeness of the file to be determined using the classifier created by the creation step; , Based on the score calculated by the calculating step, Serial determination target file is equal to or to execute a determining step of determining whether or not a malware, to the computer.

また、判定プログラムは、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別ステップと、前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出ステップと、前記判別ステップによって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成ステップと、判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出ステップと、前記算出ステップによって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定ステップと、をコンピュータに実行させることを特徴とする。   The determination program also determines a file type of each executable file including files known to be malware and files known to be goodware, and extracts features from the executable files. Based on the features of each executable file, an extraction step of creating a feature vector of each executable file, and the feature vector is input as teacher data for each file type determined by the determining step, and for each file type A creation step for creating each classifier, a calculation step for selecting a classifier corresponding to the file type of the determination target file, and calculating a score indicating the malware likeness of the determination target file using the classifier; , Based on the score calculated by the calculation step, Airu is characterized in that to execute a determining step of determining whether or not a malware, to the computer.

本願に開示する判定装置、判定方法および判定プログラムは、実行ファイルのファイル種別を考慮し、実行ファイルがマルウェアであるか否かの判定を高精度に行うことが可能であるという効果を奏する。   The determination apparatus, the determination method, and the determination program disclosed in the present application have an effect that it is possible to determine with high accuracy whether or not the execution file is malware in consideration of the file type of the execution file.

図1は、第一の実施形態に係るマルウェア判定装置の概要を示す構成図である。FIG. 1 is a configuration diagram illustrating an outline of the malware determination device according to the first embodiment. 図2は、ファイル種別判定部による実行ファイルのファイル種別を判別する処理を説明する図である。FIG. 2 is a diagram illustrating processing for determining the file type of the executable file by the file type determination unit. 図3は、特徴抽出部による実行ファイルの特徴を抽出する処理を説明する図である。FIG. 3 is a diagram illustrating processing for extracting features of an executable file by the feature extraction unit. 図4は、特徴抽出部による各特徴に対してファイル種別を表す文字列を追記する処理を説明する図である。FIG. 4 is a diagram for explaining processing for adding a character string representing a file type to each feature by the feature extraction unit. 図5は、特徴抽出部による特徴ベクトルを作成する処理を説明する図である。FIG. 5 is a diagram illustrating a process for creating a feature vector by the feature extraction unit. 図6は、特徴抽出部による各特徴に対してファイル種別を表す文字列を追記して特徴ベクトルを作成する効果を説明する図である。FIG. 6 is a diagram for explaining the effect of creating a feature vector by adding a character string representing a file type to each feature by the feature extraction unit. 図7は、第一の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。FIG. 7 is a flowchart showing a flow of learning processing by the malware determination device according to the first embodiment. 図8は、第一の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。FIG. 8 is a flowchart showing a flow of determination processing by the malware determination device according to the first embodiment. 図9は、特徴抽出部によるファイル種別を表す文字列を特徴の一つとして用いて、特徴ベクトルを作成する処理を説明する図である。FIG. 9 is a diagram illustrating processing for creating a feature vector using a character string representing a file type as one of features by a feature extraction unit. 図10は、ファイル種別を表す文字列を追記し、かつ、ファイル種別を表す文字列を特徴の一つとして用いて、特徴ベクトルを作成する処理を説明する図である。FIG. 10 is a diagram illustrating a process of creating a feature vector by adding a character string representing a file type and using a character string representing a file type as one of the features. 図11は、第三の実施形態に係るマルウェア判定装置の概要を示す構成図である。FIG. 11 is a configuration diagram illustrating an outline of a malware determination device according to the third embodiment. 図12は、分類器作成部によるファイル種別毎に分類器を作成する処理を説明する図である。FIG. 12 is a diagram illustrating a process of creating a classifier for each file type by the classifier creation unit. 図13は、第三の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。FIG. 13 is a flowchart illustrating the flow of the learning process performed by the malware determination device according to the third embodiment. 図14は、第三の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。FIG. 14 is a flowchart showing a flow of determination processing by the malware determination device according to the third embodiment. 図15は、判定プログラムを実行するコンピュータを示す図である。FIG. 15 is a diagram illustrating a computer that executes a determination program.

以下に、本願に係る判定装置、判定方法および判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法および判定プログラムが限定されるものではない。   Hereinafter, embodiments of a determination device, a determination method, and a determination program according to the present application will be described in detail with reference to the drawings. Note that the determination device, the determination method, and the determination program according to the present application are not limited by this embodiment.

[第一の実施形態]
以下の実施形態では、第一の実施形態に係るマルウェア判定装置の構成および処理の流れを順に説明し、その後、最後に第一の実施形態による効果を説明する。
[First embodiment]
In the following embodiments, the configuration and processing flow of the malware determination device according to the first embodiment will be described in order, and then the effects of the first embodiment will be described finally.

[マルウェア判定装置の構成]
まず、図1を用いて、マルウェア判定装置10の構成を説明する。図1は、第一の実施形態に係るマルウェア判定装置の概要を示す構成図である。図1に示すように、このマルウェア判定装置10は、学習部11、分類器記憶部12および判定制御部13を有する。以下にこれらの各部の処理を説明する。
[Configuration of malware detection device]
First, the configuration of the malware determination device 10 will be described with reference to FIG. FIG. 1 is a configuration diagram illustrating an outline of the malware determination device according to the first embodiment. As shown in FIG. 1, the malware determination device 10 includes a learning unit 11, a classifier storage unit 12, and a determination control unit 13. The processing of each of these units will be described below.

学習部11は、学習データから特徴ベクトルを生成し、特徴ベクトルから単一の分類器を作成し、分類器を分類器記憶部12に格納する。学習部11は、ファイル種別判別部11a、特徴抽出部11bおよび分類器作成部11cを有する。   The learning unit 11 generates a feature vector from the learning data, creates a single classifier from the feature vector, and stores the classifier in the classifier storage unit 12. The learning unit 11 includes a file type determination unit 11a, a feature extraction unit 11b, and a classifier creation unit 11c.

ファイル種別判別部11aは、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する。具体的には、ファイル種別判別部11aは、既知のマルウェアおよびグッドウェアである既知マルウェア・グッドウェア20からなる学習データセットの入力を受け付け、学習データセットに含まれる各実行ファイルのファイル種別を判別し、判別結果の情報を付加した学習データセットを特徴抽出部11bに出力する。   The file type determination unit 11a determines the file type of each executable file including a file known to be malware and a file known to be goodware. Specifically, the file type determination unit 11a receives an input of a learning data set including known malware and goodware 20 that is known malware and goodware, and determines the file type of each executable file included in the learning data set. Then, the learning data set to which the information of the discrimination result is added is output to the feature extraction unit 11b.

ここで、図2の例を用いて、ファイル種別判定部11aによる実行ファイルのファイル種別を判別する処理を説明する。図2は、ファイル種別判定部による実行ファイルのファイル種別を判別する処理を説明する図である。図2に例示するように、学習データセットを入力として受け取り、各実行ファイルのファイル種別を判別した上で、その判別結果(当該データのファイル種別)の情報を付加した学習データを特徴抽出部11bに出力する。なお、ファイル種別の判別には、例えば、PeStudio、PEInfo等の専用ツールを用いることが考えられる。ただし、ファイル種別を判別できる方法であれば、これらに限定されるものではない。   Here, the process of determining the file type of the executable file by the file type determination unit 11a will be described using the example of FIG. FIG. 2 is a diagram illustrating processing for determining the file type of the executable file by the file type determination unit. As illustrated in FIG. 2, the learning data set is received as an input, the file type of each execution file is determined, and the learning data to which the information of the determination result (file type of the data) is added is the feature extraction unit 11b. Output to. In order to determine the file type, for example, a dedicated tool such as PeStudio or PEInfo may be used. However, the method is not limited to these as long as the file type can be determined.

ここで、学習データセットは、既存のマルウェアとグッドウェアの実行ファイル、および、その実行ファイルがマルウェアなのかグッドウェアかの分類を示す情報で構成される。なお、以下では、学習データセットの構成要素(実行ファイルと分類情報の組)を学習データと呼ぶ。例えば、図2の例では、「学習データ1」は、「実行ファイル1」と、実行ファイル1がマルウェアであることを示す「マルウェア」とで構成される。   Here, the learning data set includes existing malware and goodware executable files, and information indicating the classification of whether the executable file is malware or goodware. Hereinafter, the constituent elements of the learning data set (the combination of the execution file and the classification information) are referred to as learning data. For example, in the example of FIG. 2, “learning data 1” includes “executable file 1” and “malware” indicating that the executable file 1 is malware.

また、図2に例示するように、例えば、ファイル種別判定部11aは、「学習データ1」について、ファイル種別が「32ビットアプリケーション」であることを判別すると、その判別結果の情報を「学習データ1」に付加した「学習データ1=(実行ファイル1、マルウェア、32ビットアプリケーション)」を特徴抽出部11bに出力する。   As illustrated in FIG. 2, for example, when the file type determination unit 11a determines that the file type is “32-bit application” for “learning data 1”, the information of the determination result is “learning data”. “Learning data 1 = (executable file 1, malware, 32-bit application)” added to “1” is output to the feature extraction unit 11b.

特徴抽出部11bは、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴とファイル種別判別部11aによって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する。具体的には、特徴抽出部11bは、ファイル種別の情報が付加された学習データセットをファイル種別判別部11aから受け付けると、学習データセットの各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から、分類器にかけるための特徴ベクトルを作成し、特徴ベクトルを分類器作成部11cに出力する。以下では、第1ステップと第2ステップの2段階のステップに分けて特徴抽出について詳しく説明する。   The feature extraction unit 11b extracts features from each execution file, and creates a feature vector of each execution file based on the feature of each execution file and the file type determined by the file type determination unit 11a. Specifically, when the feature extraction unit 11b receives a learning data set to which file type information is added from the file type determination unit 11a, the feature extraction unit 11b extracts a feature from each execution file of the learning data set, Then, a character string indicating the file type is added, a feature vector to be applied to the classifier is created from the feature with the added character string indicating the file type, and the feature vector is output to the classifier creating unit 11c. In the following, feature extraction will be described in detail in two steps, a first step and a second step.

図3の例を用いて、第1ステップにおける特徴抽出の処理を説明する。図3は、特徴抽出部による実行ファイルの特徴を抽出する処理を説明する図である。まず、第1ステップにおいて、実行ファイルの特徴としては、例えば、PE(Portable Executable)ヘッダ情報の属性値が考えられる。PEヘッダ情報では、1つの属性で単一の値をもつものもあれば、1属性で複数の値をもつものがある。例えば、「base_of_code」という属性は1つの値のみをもつが、「characteristics」という属性は、その値として「Executable」、「32bit word machine」、「Debug information stripped」など複数の値をもつ。これらは、それぞれを1つの特徴として取り扱う。つまり、characteristicsの例では、1属性で3つの特徴を抽出したものとして扱う。   The feature extraction process in the first step will be described using the example of FIG. FIG. 3 is a diagram illustrating processing for extracting features of an executable file by the feature extraction unit. First, in the first step, as an execution file characteristic, for example, an attribute value of PE (Portable Executable) header information can be considered. Some PE header information has a single value for one attribute, and some PE header information has a plurality of values for one attribute. For example, the attribute “base_of_code” has only one value, but the attribute “characteristics” has a plurality of values such as “Executable”, “32-bit word machine”, and “Debug information stripped”. These treat each as a feature. That is, in the example of characteristics, it is handled as three features extracted with one attribute.

例えば、図3の例では、ファイル種別が「32ビットアプリケーション」であることを示すファイル種別情報つきの「実行ファイル1」について、「base_of_code」の値「0x100」と、「characteristics」の値「Executable」、「32bit word machine」および「Debug information stripped」とを実行ファイルの特徴として抽出する。   For example, in the example of FIG. 3, the “base_of_code” value “0x100” and the “characteristics” value “Executable” for “executable file 1” with file type information indicating that the file type is “32-bit application”. , “32-bit word machine” and “Debug information stripped” are extracted as the characteristics of the executable file.

次に、図4の例を用いて、第2ステップにおける特徴抽出の処理を説明する。図4は、特徴抽出部による各特徴に対してファイル種別を表す文字列を追記する処理を説明する図である。図4に例示するように、特徴抽出部11bは、抽出した各特徴に対して、当該実行ファイルのファイル種別を表す文字列を追記する。図4の例を用いて説明すると、実行ファイルの各特徴「0x100」、「Executable」、「32bit word machine」および「Debug information stripped」に対して、それぞれ「32Bit_」という文字列を先頭に追記した特徴「{32Bit_0x100、32Bit_Executable、32Bit_32bit word machine、 32Bit_Debug information stripped}」を作成する。なお、文字列は、異なるファイル種別を区別できるものであれば何でもよい。   Next, the feature extraction process in the second step will be described using the example of FIG. FIG. 4 is a diagram for explaining processing for adding a character string representing a file type to each feature by the feature extraction unit. As illustrated in FIG. 4, the feature extraction unit 11 b adds a character string indicating the file type of the execution file to each extracted feature. To explain using the example in FIG. 4, the character string “32Bit_” is added to the top of each feature “0x100”, “Executable”, “32bit word machine”, and “Debug information stripped” of the executable file. The feature “{32Bit_0x100, 32Bit_Executable, 32Bit_32bit word machine, 32Bit_Debug information stripped}” is created. The character string may be anything as long as it can distinguish different file types.

次に、特徴ベクトルの作成について説明する。特徴ベクトルの作成には、例えば、各特徴が出現したかしないかで1/0の2値を割り当てる方法、各特徴の出現回数を割り当てる方法等の教師あり機械学習で一般的に用いられる手法を利用する。なお、上記特徴ベクトルに対し、特徴選択や次元圧縮等の次元削減処理を施したものを、改めてその実行ファイルの特徴ベクトルとしてもよい。ここで、特徴選択とは、目的の精度がより良くなるように、各特徴を取捨選択する手法である。次元圧縮の代表的な手法としては、例えば、主成分分析があり、これは相関がある特徴同士を自動的に1つの特徴にまとめてしまうものである。   Next, creation of a feature vector will be described. For creating a feature vector, for example, a method generally used in supervised machine learning, such as a method of assigning a binary value of 1/0 depending on whether each feature has appeared or a method of assigning the number of appearances of each feature, is used. Use. In addition, what performed dimension reduction processing, such as feature selection and dimension compression, may be used as the feature vector of the execution file again. Here, the feature selection is a method of selecting each feature so that the target accuracy is improved. As a typical technique for dimensional compression, for example, there is principal component analysis, which automatically combines correlated features into one feature.

ここで、図5の例を用いて、特徴抽出部11bによる特徴ベクトルを作成する処理について説明する。図5は、特徴抽出部による特徴ベクトルを作成する処理を説明する図である。図5の例では、各特徴が出現したかしないかで1/0の2値を割り当てる方法を用いて特徴抽出部による特徴ベクトルを作成し、次元圧縮の処理を行っていないものとする。また、図5に例示するように、ファイル種別が「32ビットアプリケーション」であることを示すファイル種別情報つきの「実行ファイル1」について、「base_of_code」の値「0x100」と、「characteristics」の値「Executable」、「32bit word machine」および「Debug information stripped」とが特徴として抽出され、図4の例で説明したように、各特徴に「32Bit_」という文字列が追記された特徴「{32Bit_0x100、32Bit_Executable、32Bit_32bit word machine、 32Bit_Debug information stripped}」を作成したものとする。   Here, the process of creating a feature vector by the feature extraction unit 11b will be described using the example of FIG. FIG. 5 is a diagram illustrating a process for creating a feature vector by the feature extraction unit. In the example of FIG. 5, it is assumed that a feature vector is created by the feature extraction unit using a method of assigning a binary value of 1/0 depending on whether each feature appears or not, and dimension compression processing is not performed. Further, as illustrated in FIG. 5, for “executable file 1” with file type information indicating that the file type is “32-bit application”, the value “0x100” of “base_of_code” and the value “characteristics” “ “Executable”, “32-bit word machine”, and “Debug information stripped” are extracted as features, and as described in the example of FIG. 4, a feature “{32Bit_0x100, 32Bit_Executable” in which a character string “32Bit_” is added to each feature is described. , 32Bit_32bit word machine, 32Bit_Debug information stripped} ”.

そして、実行ファイル1の特徴において、「32Bit_0x100」、「32Bit_Executable」、「32Bit_32bit word machine」、「32Bit_Debug information stripped」、「32Bit_INIT」、「32Bit_0x2000」、「64Bit_0x100」、「64Bit_Executable」・・・がそれぞれ出現したかに応じて値を割り当て、特徴ベクトル「(1,1,1,1,0,0,0,0・・・)」を作成する。   And in the characteristics of the executable file 1, "32Bit_0x100", "32Bit_Executable", "32Bit_32bit word machine", "32Bit_Debug information stripped", "32Bit_INIT", "32Bit_0x2000", "64Bit_0x100", "64Bit_Executable" ... A value is assigned according to whether or not a feature vector “(1, 1, 1, 1, 0, 0, 0, 0...)” Is created.

ここで、図6を用いて、特徴抽出部11bによる各特徴に対してファイル種別を表す文字列を追記して特徴ベクトルを作成することの効果を説明する。図6は、特徴抽出部による各特徴に対してファイル種別を表す文字列を追記して特徴ベクトルを作成する効果を説明する図である。   Here, the effect of creating a feature vector by adding a character string representing a file type to each feature by the feature extraction unit 11b will be described with reference to FIG. FIG. 6 is a diagram for explaining the effect of creating a feature vector by adding a character string representing a file type to each feature by the feature extraction unit.

第一の実施形態に係るマルウェア判定装置10では、ファイル種別を表す情報を特徴ベクトルの中に取り込むことにより、ファイル種別が異なる実行ファイル同士は、必ず、別々の特徴ベクトルに変換することが出来る。例えば、従来手法のようにファイル種別を加味しない場合には、ファイル種別が異なるマルウェアとグッドウェアで同一の特徴あるいは特徴ベクトルを有してしまう。例えば、図6に例示するように、従来手法では、32ビットアプリケーションの実行ファイルAに関する特徴ベクトルと、64ビットアプリケーションの実行ファイルAに関する特徴ベクトルは、両者とも「特徴ベクトル=(0x100、Executable)=(1,1)」となるため、同一の特徴ベクトルとなる。つまり、ファイル種別を加味しない場合には、32ビットアプリケーションの実行ファイルAの特徴も、64ビットアプリケーションの実行ファイルAも、{0x100、Executable}となるため、特徴ベクトルも同一のものとなる。   In the malware determination apparatus 10 according to the first embodiment, the executable files having different file types can be always converted into different feature vectors by incorporating the information indicating the file types into the feature vectors. For example, when the file type is not considered as in the conventional method, malware and goodware having different file types have the same feature or feature vector. For example, as illustrated in FIG. 6, in the conventional method, the feature vector related to the execution file A of the 32-bit application and the feature vector related to the execution file A of the 64-bit application are both “feature vector = (0x100, Executable) = (1, 1) ", the same feature vector is obtained. That is, when the file type is not taken into account, the feature vector of the execution file A of the 32-bit application and the execution file A of the 64-bit application are both {0x100, Executable}, and therefore the feature vectors are the same.

これに対して、第一の実施形態に係るマルウェア判定装置10では、お互いを全く異なる特徴ベクトルに変換するため、マルウェア/グッドウェアを精度よく判定しやすくなる。例えば、図6に例示するように、32ビットアプリケーションの実行ファイルAに関する特徴ベクトルが「特徴ベクトル=(32Bit_0x100、32Bit_Executable、64Bit_0x100、64Bit_Executable)=(1,1,0,0)」となり、64ビットアプリケーションの実行ファイルAに関する特徴ベクトルが「特徴ベクトル=(32Bit_0x100、32Bit_Executable、64Bit_0x100、64Bit_Executable)=(0,0,1,1)」となる。このため、ファイル種別が異なる実行ファイルの特徴ベクトルは、互いに全く異なるものとなるため、後述する判定制御部13によるマルウェアの判定処理を精度よく行うことが可能となる。   On the other hand, since the malware determination apparatus 10 according to the first embodiment converts each other into completely different feature vectors, it becomes easy to accurately determine malware / goodware. For example, as illustrated in FIG. 6, the feature vector related to the execution file A of a 32-bit application is “feature vector = (32Bit_0x100, 32Bit_Executable, 64Bit_0x100, 64Bit_Executable) = (1, 1, 0, 0)”. The feature vector relating to the execution file A is “feature vector = (32Bit_0x100, 32Bit_Executable, 64Bit_0x100, 64Bit_Executable) = (0, 0, 1, 1)”. For this reason, since the feature vectors of the executable files having different file types are completely different from each other, it is possible to accurately perform the malware determination process by the determination control unit 13 described later.

分類器作成部11cは、特徴抽出部11bによって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する。具体的には、分類器作成部11cは、特徴ベクトルを特徴抽出部11bから受け付けると、特徴ベクトルを教師データとして入力して、マルウェアか否かを判定する分類器を作成し、作成した分類器を分類器記憶部12に格納する。ここで、分類器の作成には教師あり学習を用いる。教師あり学習としては、例えば、ロジスティック回帰、サポートベクターマシン(SVM)、決定木、単純ベイズ、パーセプトロン、Passive-Aggressive(PA)、Adaptive Regularization of Weight Vectors(AROW)等を用いることが考えられる。   The classifier creation unit 11c inputs the feature vector of each executable file created by the feature extraction unit 11b as teacher data, and creates a classifier that determines whether it is malware. Specifically, when the classifier creating unit 11c receives the feature vector from the feature extracting unit 11b, the classifier creating unit 11c inputs the feature vector as teacher data, creates a classifier that determines whether it is malware, and the created classifier Are stored in the classifier storage unit 12. Here, supervised learning is used to create the classifier. As supervised learning, for example, logistic regression, support vector machine (SVM), decision tree, naive Bayes, perceptron, Passive-Aggressive (PA), Adaptive Regularization of Weight Vectors (AROW), etc. can be used.

分類器記憶部12は、分類器作成部11cによって作成された分類器を記憶する。分類器記憶部12は、一般のデータベース(例えば、MySQLやPostgreSQL等)を用いてもよいし、表形式やテキスト形式での記憶など、その方法の種類は問わないものとする。   The classifier storage unit 12 stores the classifier created by the classifier creation unit 11c. The classifier storage unit 12 may use a general database (for example, MySQL, PostgreSQL, etc.), and the type of the method such as storage in a table format or a text format is not limited.

判定制御部13は、作成された分類器を用いてマルウェアの判定を行う。判定制御部13は、ファイル種別判別部13a、特徴抽出部13b、スコア算出部13cおよび判定部13dを有する。   The determination control unit 13 determines malware using the created classifier. The determination control unit 13 includes a file type determination unit 13a, a feature extraction unit 13b, a score calculation unit 13c, and a determination unit 13d.

ファイル種別判別部13aは、マルウェアであるのかグッドウェアであるのかを判定したい実行ファイルである判定対象ファイル30を入力として受け取り、そのファイル種別を判別する。そして、判別後、ファイル種別判別部13aは、判別結果(ファイル種別)の情報を付加した判定対象ファイル30を特徴抽出部13bに出力する。   The file type determination unit 13a receives, as an input, a determination target file 30 that is an execution file for which it is desired to determine whether it is malware or goodware, and determines the file type. After the determination, the file type determination unit 13a outputs the determination target file 30 to which information on the determination result (file type) is added to the feature extraction unit 13b.

特徴抽出部13bは、前述した特徴抽出部11bと同様の方法で、判定対象ファイル30を特徴ベクトルに変換する。そして、特徴抽出部13bは、特徴ベクトルに変換された判定対象ファイル30をスコア算出部13cに出力する。   The feature extraction unit 13b converts the determination target file 30 into a feature vector by the same method as the feature extraction unit 11b described above. Then, the feature extraction unit 13b outputs the determination target file 30 converted into the feature vector to the score calculation unit 13c.

スコア算出部13cは、分類器作成部11cによって作成された分類器を用いて、判定対象ファイル30のマルウェアらしさを示すスコアを算出する。具体的には、スコア算出部13cは、分類器記憶部12に格納されている分類器を用いて、判定対象ファイル30のマルウェアらしさを表すスコアを算出する。なお、マルウェアらしさのスコアを算出する方法としては、例えば、マルウェアで良く用いられる特徴が、判定対象の実行ファイルの特徴ベクトル中にどの程度含まれるかを基準に判定を行う方法等、公知の方法を利用することができる。   The score calculation unit 13c calculates a score indicating the malware likeness of the determination target file 30 using the classifier created by the classifier creation unit 11c. Specifically, the score calculation unit 13 c calculates a score representing the malware likeness of the determination target file 30 using the classifier stored in the classifier storage unit 12. In addition, as a method of calculating a score of malware likeness, for example, a known method such as a method of performing determination based on how much of a feature often used in malware is included in a feature vector of an execution file to be determined Can be used.

判定部13dは、スコア算出部13cによって算出されたスコアに基づいて、判定対象のファイルがマルウェアであるか否かを判定する。具体的には、判定部13dは、スコアが所定の閾値以上であるか否かを判定しスコアが閾値以上であれば判定対象ファイル30をマルウェアと判定し、スコアが閾値未満であれば判定対象ファイル30をグッドウェアと判定し、その判定結果40を出力する。なお、判定結果40は、マルウェアまたはグッドウェアの分類のみでも良いし、それにスコアやファイル種別の情報を付け加えてもよい。   The determination unit 13d determines whether the determination target file is malware based on the score calculated by the score calculation unit 13c. Specifically, the determination unit 13d determines whether the score is equal to or greater than a predetermined threshold. If the score is equal to or greater than the threshold, the determination target file 30 is determined to be malware, and if the score is less than the threshold, the determination target is determined. The file 30 is determined as goodware, and the determination result 40 is output. Note that the determination result 40 may be only the classification of malware or goodware, or information of score and file type may be added thereto.

このように、マルウェア判定装置10は、機械学習を用いたマルウェア判定において、実行ファイルのファイル種別を加味して特徴ベクトルを作成し、該特徴ベクトルを用いて分類器を作成するため、ファイル種別を加味しない場合に比べ、マルウェアの判定処理について高い判定精度を達成することが可能となる。   In this way, the malware determination device 10 creates a feature vector in consideration of the file type of the executable file in the malware determination using machine learning, and creates a classifier using the feature vector. Compared to the case where no consideration is given, it is possible to achieve higher determination accuracy for the determination processing of malware.

[マルウェア判定装置による処理]
次に、図7、図8を用いて、第一の実施形態に係るマルウェア判定装置10による処理を説明する。図7は、第一の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。図8は、第一の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。
[Processing by malware detection device]
Next, processing performed by the malware determination apparatus 10 according to the first embodiment will be described with reference to FIGS. 7 and 8. FIG. 7 is a flowchart showing a flow of learning processing by the malware determination device according to the first embodiment. FIG. 8 is a flowchart showing a flow of determination processing by the malware determination device according to the first embodiment.

まず、図7を用いて、第一の実施形態に係るマルウェア判定装置10による学習処理の流れについて説明する。図7に示すように、マルウェア判定装置10のファイル種別判別部11aは、学習データセットの各実行ファイルのファイル種別を判定する(ステップS101)。そして、特徴抽出部11bは、学習データから特徴ベクトルを生成する(ステップS102)。例えば、特徴抽出部11bは、ファイル種別の情報が付加された学習データセットをファイル種別判別部11aから受け付けると、学習データセットの各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から、分類器にかけるための特徴ベクトルを作成する。   First, the flow of the learning process performed by the malware determination apparatus 10 according to the first embodiment will be described with reference to FIG. As shown in FIG. 7, the file type determination unit 11a of the malware determination device 10 determines the file type of each executable file of the learning data set (step S101). Then, the feature extraction unit 11b generates a feature vector from the learning data (step S102). For example, when the feature extraction unit 11b receives a learning data set to which file type information is added from the file type determination unit 11a, the feature extraction unit 11b extracts a feature from each executable file of the learning data set, Is added, and a feature vector to be applied to the classifier is created from the feature added with the character string indicating the file type.

続いて、分類器作成部11cは、単一の分類器を作成し(ステップS103)、分類器記憶部12に分類器を格納する(ステップS104)。例えば、分類器作成部11cは、学習ベクトルを特徴抽出部11bから受け付けると、特徴ベクトルを教師データとして入力して、マルウェアか否かを判定する分類器を作成し、作成した分類器を分類器記憶部12に格納する。   Subsequently, the classifier creating unit 11c creates a single classifier (step S103), and stores the classifier in the classifier storage unit 12 (step S104). For example, when the classifier creation unit 11c receives a learning vector from the feature extraction unit 11b, the classifier creation unit 11c inputs the feature vector as teacher data, creates a classifier that determines whether or not it is malware, and creates the classifier as a classifier. Store in the storage unit 12.

次に、図8を用いて、第一の実施形態に係るマルウェア判定装置10による判定処理の流れについて説明する。図8に示すように、マルウェア判定装置10のファイル種別判別部13aは、判定対象ファイル30のファイル種別を判定する(ステップS201)。そして、特徴抽出部13bは、特徴抽出部11bと同様の方法で、判定対象ファイル30から特徴ベクトルを生成する(ステップS202)。   Next, the flow of determination processing by the malware determination apparatus 10 according to the first embodiment will be described with reference to FIG. As shown in FIG. 8, the file type determination unit 13a of the malware determination apparatus 10 determines the file type of the determination target file 30 (step S201). Then, the feature extraction unit 13b generates a feature vector from the determination target file 30 by the same method as the feature extraction unit 11b (step S202).

続いて、スコア算出部13cは、分類器記憶部12に記憶された分類器を用いて、マルウェアらしさを表すスコアを算出する(ステップS203)。そして、判定部13dは、スコアからマルウェア判定を行う(ステップS204)。具体的には、判定部13dは、スコアが所定の閾値以上であるか否かを判定しスコアが閾値以上であれば判定対象ファイル30をマルウェアと判定し、スコアが閾値未満であれば判定対象ファイル30をグッドウェアと判定する。   Subsequently, the score calculation unit 13c calculates a score representing the likelihood of malware using the classifier stored in the classifier storage unit 12 (step S203). And the determination part 13d performs malware determination from a score (step S204). Specifically, the determination unit 13d determines whether the score is equal to or greater than a predetermined threshold. If the score is equal to or greater than the threshold, the determination target file 30 is determined to be malware, and if the score is less than the threshold, the determination target is determined. The file 30 is determined as goodware.

[第一の実施形態の効果]
上述してきたように、マルウェア判定装置10は、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する。そして、マルウェア判定装置10は、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する。続いて、マルウェア判定装置10は、作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成し、作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出し、算出されたスコアに基づいて、判定対象のファイルがマルウェアであるか否かを判定する。このため、マルウェア判定装置10は、実行ファイルのファイル種別を考慮し、実行ファイルがマルウェアであるか否かの判定を高精度に行うことが可能である。
[Effect of the first embodiment]
As described above, the malware determination device 10 determines the file type of each executable file including a file known to be malware and a file known to be goodware. Then, the malware determination device 10 extracts features from each executable file, and creates a feature vector of each executable file based on the feature of each executable file and the determined file type. Subsequently, the malware determination device 10 inputs the created feature vector of each executable file as teacher data, creates a classifier that determines whether or not it is malware, and uses the created classifier to determine the target of determination. A score indicating the malware likeness of the file is calculated, and it is determined whether or not the determination target file is malware based on the calculated score. For this reason, the malware determination apparatus 10 can determine whether or not the execution file is malware in consideration of the file type of the execution file.

[第二の実施形態]
上述した第一の実施形態では、各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から特徴ベクトルを作成する場合について説明したが、これに限定されるものではなく、各実行ファイルから特徴を抽出し、該特徴とともに、ファイル種別を示す文字列を特徴として用いて、各実行ファイルの特徴ベクトルを作成するようにしてもよい。
[Second Embodiment]
In the first embodiment described above, a feature is extracted from each executable file, a character string indicating the file type is added to the feature, and a feature vector is calculated from the feature added with the character string indicating the file type. The case of creating is described, but the present invention is not limited to this. Features are extracted from each executable file, and a feature vector of each executable file is created using the feature and a character string indicating the file type as the feature. You may make it do.

そこで、以下では第二の実施形態として、各実行ファイルから特徴を抽出し、該特徴とともに、ファイル種別を示す文字列を特徴の一つとして用いて、各実行ファイルの特徴ベクトルを作成する場合について説明する。なお、第一の実施形態と同様の構成および処理については、説明を省略する。   Therefore, in the following, as a second embodiment, a feature is extracted from each executable file, and a feature vector of each executable file is created using the feature and a character string indicating the file type as one of the features. explain. In addition, description is abbreviate | omitted about the structure and process similar to 1st embodiment.

特徴抽出部11bは、各実行ファイルから特徴を抽出し、該特徴とともに、ファイル種別判別部11aによって判別されたファイル種別を示す文字列を特徴として用いて、各実行ファイルの特徴ベクトルを作成する。つまり、第二の実施形態では、上述した特徴抽出における第2ステップ目の処理が、第一の実施形態と異なる。   The feature extraction unit 11b extracts features from each execution file, and creates a feature vector of each execution file using the feature and a character string indicating the file type determined by the file type determination unit 11a. That is, in the second embodiment, the process of the second step in the feature extraction described above is different from the first embodiment.

具体的には、特徴抽出部11bは、実行ファイルそのものから抽出した特徴、すなわち第1ステップ目で抽出した特徴に加えて、当該ファイルのファイル種別を表す文字列も特徴の1つとして用いて、特徴ベクトルを作成する。ここで、図9の例を用いて、特徴ベクトルを作成する処理を説明する。図9は、特徴抽出部によるファイル種別を表す文字列を特徴の一つとして用いて、特徴ベクトルを作成する処理を説明する図である。図9の例では、ファイル種別が32ビットアプリケーションの実行ファイルを特徴ベクトルに変換する場合について説明する。図9に示すように、例えば、従来のようにファイル種別を加味しない場合には、特徴ベクトルとして、「特徴ベクトル=(Section数、Executable、…、INIT)」が作成される。これに対して、第二の実施形態では、ファイル種別を表す文字列も特徴の1つとして用いられた特徴ベクトルとして、「特徴ベクトル=(Section数、Executable、…、INIT、32Bit)」を作成する。   Specifically, in addition to the feature extracted from the executable file itself, that is, the feature extracted in the first step, the feature extraction unit 11b uses a character string representing the file type of the file as one of the features, Create a feature vector. Here, the process of creating a feature vector will be described using the example of FIG. FIG. 9 is a diagram illustrating processing for creating a feature vector using a character string representing a file type as one of features by a feature extraction unit. In the example of FIG. 9, a case will be described in which an executable file whose file type is a 32-bit application is converted into a feature vector. As shown in FIG. 9, for example, when the file type is not taken into consideration as in the prior art, “feature vector = (number of sections, executable,..., INIT)” is created as the feature vector. On the other hand, in the second embodiment, “characteristic vector = (number of sections, executable,..., INIT, 32 bits)” is created as a feature vector in which the character string representing the file type is also used as one of the features. To do.

なお、図10に例示するように、第一の実施形態と第二の実施形態の特徴ベクトル作成方法を組み合わせて特徴ベクトルを作成してもよい。つまり、各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、さらに、ファイル種別を示す文字列を特徴として用いて、各実行ファイルの特徴ベクトルを作成するようにしてもよい。   Note that, as illustrated in FIG. 10, a feature vector may be created by combining the feature vector creation methods of the first embodiment and the second embodiment. That is, a feature is extracted from each executable file, a character string indicating the file type is added to the feature, and a feature vector of each executable file is created using the character string indicating the file type as a feature. You may do it.

このように、第二の実施形態に係るマルウェア判定装置では、ファイル種別を表す情報を特徴の一つとして用いることで、ファイル種別が異なる実行ファイル同士は異なる特徴をもつことになるため、グッドウェアとマルウェアの分解能が向上し、判定精度を向上させることが可能である。   As described above, in the malware determination device according to the second embodiment, by using the information indicating the file type as one of the features, executable files having different file types have different features. It is possible to improve the resolution of the malware and the determination accuracy.

[第三の実施形態]
上述した第一の実施形態と第二の実施形態では、各実行ファイルの特徴とファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成し、該特徴ベクトルを教師データとして分類器を作成する場合について説明したが、これに限定されるものではなく、ファイル種別毎に特徴ベクトルを教師データとして入力することで、ファイル種別毎に分類器をそれぞれ作成するようにしてもよい。
[Third embodiment]
In the first embodiment and the second embodiment described above, a feature vector of each executable file is created based on the feature and file type of each executable file, and a classifier is created using the feature vector as teacher data. Although the case has been described, the present invention is not limited to this, and a classifier may be created for each file type by inputting a feature vector for each file type as teacher data.

そこで、以下では第三の実施形態として、ファイル種別毎に特徴ベクトルを教師データとして入力することで、ファイル種別毎に分類器をそれぞれ作成する場合について説明する。なお、第一の実施形態と同様の構成および処理については、説明を省略する。   Therefore, in the following, as a third embodiment, a case will be described in which a classifier is created for each file type by inputting a feature vector for each file type as teacher data. In addition, description is abbreviate | omitted about the structure and process similar to 1st embodiment.

まず、図11を用いて、第三の実施形態に係るマルウェア判定装置10Aの構成を説明する。図11は、第三の実施形態に係るマルウェア判定装置の概要を示す構成図である。図11に示すように、分類器記憶部12は、複数の分類器1〜分類器Nを記憶する。なお、以下では、N個の分類器を作成し、N個の分類器を記憶する場合を例に説明する。   First, the configuration of the malware determination device 10A according to the third embodiment will be described with reference to FIG. FIG. 11 is a configuration diagram illustrating an outline of a malware determination device according to the third embodiment. As shown in FIG. 11, the classifier storage unit 12 stores a plurality of classifiers 1 to N. In the following, a case where N classifiers are created and N classifiers are stored will be described as an example.

特徴抽出部11bは、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する。ここで、第三の実施形態では、第一の実施形態の特徴抽出における第2ステップ目の処理を実行しない。すなわち、特徴ベクトルの作成にファイル種別の情報は用いない。   The feature extraction unit 11b extracts features from each executable file, and creates a feature vector of each executable file based on the features of each executable file. Here, in the third embodiment, the process of the second step in the feature extraction of the first embodiment is not executed. That is, the file type information is not used to create the feature vector.

分類器作成部11cは、ファイル種別判別部11aによって判別されたファイル種別毎に特徴ベクトルを教師データとして入力し、ファイル種別毎にN個の分類器をそれぞれ作成する。具体的には、分類器作成部11cは、特徴ベクトルに変換済みのファイル種別情報付の学習データセットを入力として受け取り、ファイル種別毎に、マルウェア/グッドウェアを判定する分類器を個別に作成する。   The classifier creating unit 11c inputs feature vectors for each file type determined by the file type determining unit 11a as teacher data, and creates N classifiers for each file type. Specifically, the classifier creation unit 11c receives as input a learning data set with file type information that has been converted into feature vectors, and individually creates a classifier that determines malware / goodware for each file type. .

例えば、分類器作成部11cは、図12に例示するように、32ビットアプリケーションの学習データセットを入力として、32ビットアプリケーション用の分類器を作成する。また、分類器作成部11cは、64ビットアプリケーションの学習データセットを入力として、64ビットアプリケーション用の分類器を作成する。また、分類器作成部11cは、VisualBasicアプリケーションの学習データセットを入力として、VisualBasicアプリケーション用の分類器を作成する。   For example, as illustrated in FIG. 12, the classifier creating unit 11c creates a classifier for a 32-bit application with a learning data set for a 32-bit application as an input. The classifier creating unit 11c creates a classifier for a 64-bit application with the learning data set for the 64-bit application as an input. Further, the classifier creating unit 11c creates a classifier for the VisualBasic application by using the learning data set of the VisualBasic application as an input.

また、分類器作成部11cは、学習データ数がある閾値以下のファイル種別があった場合には、ファイル種別を考慮せず、全学習データを用いて分類器を作成してもよい。例えば、分類器作成部11cは、ファイル種別判別部11aによって判別されたファイル種別毎の学習データについて、それぞれ学習データの数が所定の閾値以上であるか否かを判定する。そして、分類器作成部11cは、学習データの数が所定の閾値以上であると判定された場合には、上記の処理と同様に、そのファイル種別の学習データのみを用いて分類器を個別に作成する。また、分類器作成部11cは、学習データの数が所定の閾値未満であると判定された場合には、ファイル種別を考慮せず、全学習データを用いて分類器を作成する。つまり、学習データの数があまりに少ない場合には、精度のよい分類器を作成できない場合があるため、学習データ数がある閾値以下のファイル種別については、ファイル種別を考慮せず、全学習データを用いて分類器を作成する。   The classifier creating unit 11c may create a classifier using all the learning data without considering the file type when there is a file type having a learning data count equal to or less than a certain threshold. For example, the classifier creating unit 11c determines whether or not the number of learning data is greater than or equal to a predetermined threshold for the learning data for each file type determined by the file type determining unit 11a. Then, when it is determined that the number of learning data is equal to or greater than a predetermined threshold, the classifier creation unit 11c individually classifies the classifier using only the learning data of the file type as in the above processing. create. In addition, when it is determined that the number of learning data is less than a predetermined threshold, the classifier creating unit 11c creates a classifier using all the learning data without considering the file type. In other words, if the number of learning data is too small, it may not be possible to create a classifier with high accuracy. To create a classifier.

スコア算出部13cは、判定対象ファイル30のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、判定対象ファイル30のマルウェアらしさを示すスコアを算出する。具体的には、スコア算出部13cは、判定対象ファイル30のファイル種別と一致する分類器を分類器記憶部12から選択して読み出し、読み出した分類器を用いて判定対象ファイル30のマルウェアらしさを表すスコアを算出する。   The score calculation unit 13c selects a classifier corresponding to the file type of the determination target file 30, and calculates a score indicating the malware likeness of the determination target file 30 using the classifier. Specifically, the score calculation unit 13c selects and reads out a classifier that matches the file type of the determination target file 30 from the classifier storage unit 12, and uses the read classifier to determine the malware likeness of the determination target file 30. Calculate the score to represent.

次に、図13、図14を用いて、第三の実施形態に係るマルウェア判定装置10Aによる処理を説明する。図13は、第三の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。図14は、第三の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。   Next, processing performed by the malware determination apparatus 10A according to the third embodiment will be described with reference to FIGS. FIG. 13 is a flowchart illustrating the flow of the learning process performed by the malware determination device according to the third embodiment. FIG. 14 is a flowchart showing a flow of determination processing by the malware determination device according to the third embodiment.

まず、図13を用いて、第三の実施形態に係るマルウェア判定装置10Aによる学習処理の流れについて説明する。図13に示すように、マルウェア判定装置10Aのファイル種別判別部11aは、学習データセットの各実行ファイルのファイル種別を判定する(ステップS301)。そして、特徴抽出部11bは、学習データから特徴ベクトルを生成する(ステップS302)。   First, the flow of the learning process performed by the malware determination apparatus 10A according to the third embodiment will be described with reference to FIG. As illustrated in FIG. 13, the file type determination unit 11a of the malware determination apparatus 10A determines the file type of each execution file of the learning data set (step S301). Then, the feature extraction unit 11b generates a feature vector from the learning data (step S302).

続いて、分類器作成部11cは、ファイル種別毎に別々の分類器を作成し(ステップS303)、分類器記憶部12に各分類器を格納する(ステップS304)。例えば、分類器作成部11cは、特徴ベクトルに変換済みのファイル種別情報付の学習データセットを入力として受け取り、ファイル種別毎に、マルウェア/グッドウェアを判定する分類器を個別に作成し、作成した分類器を分類器記憶部12に格納する。   Subsequently, the classifier creating unit 11c creates a separate classifier for each file type (step S303), and stores each classifier in the classifier storage unit 12 (step S304). For example, the classifier creation unit 11c receives, as an input, a learning data set with file type information that has been converted into a feature vector, and creates and creates a classifier that determines malware / goodware for each file type. The classifier is stored in the classifier storage unit 12.

次に、図14を用いて、第三の実施形態に係るマルウェア判定装置10Aによる判定処理の流れについて説明する。図14に示すように、マルウェア判定装置10Aのファイル種別判別部13aは、判定対象ファイル30のファイル種別を判定する(ステップS401)。そして、特徴抽出部13bは、特徴抽出部11bと同様の方法で、判定対象ファイル30から特徴ベクトルを生成する(ステップS402)。   Next, the flow of determination processing performed by the malware determination apparatus 10A according to the third embodiment will be described with reference to FIG. As illustrated in FIG. 14, the file type determination unit 13a of the malware determination apparatus 10A determines the file type of the determination target file 30 (step S401). Then, the feature extraction unit 13b generates a feature vector from the determination target file 30 by the same method as the feature extraction unit 11b (step S402).

続いて、スコア算出部13cは、判定対象ファイルのファイル種別にマッチする分類器を分類器記憶部12から選択し、選択された分類器を用いて、マルウェアらしさを表すスコアを算出する(ステップS403)。そして、判定部13dは、スコアからマルウェア判定を行う(ステップS404)。   Subsequently, the score calculation unit 13c selects a classifier that matches the file type of the determination target file from the classifier storage unit 12, and uses the selected classifier to calculate a score representing the likelihood of malware (step S403). ). And the determination part 13d performs malware determination from a score (step S404).

このように、第三の実施形態に係るマルウェア判定装置では、実行ファイルのファイル種別毎に異なる分類器を作成し、判定対象ファイル30のファイル種別に対応する分類器を用いて、当該ファイルがマルウェアか否かを判定するので、高精度なマルウェア判定を実現することが可能である。   As described above, in the malware determination device according to the third embodiment, a different classifier is created for each file type of the execution file, and the classifier corresponding to the file type of the determination target file 30 is used. Therefore, it is possible to realize highly accurate malware determination.

[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Further, all or any part of each processing function performed in each device is realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or hardware by wired logic. Can be realized as

また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
また、上記実施形態において説明したマルウェア判定装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係るマルウェア判定装置が実行する処理について、コンピュータが実行可能な言語で記述した判定プログラムを作成することもできる。この場合、コンピュータが判定プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる判定プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された判定プログラムをコンピュータに読み込ませて実行することにより上記の実施形態と同様の処理を実現してもよい。以下に、マルウェア判定装置と同様の機能を実現する判定プログラムを実行するコンピュータの一例を説明する。
[program]
In addition, a program described in a language that can be executed by a computer can be created for the processing executed by the malware determination device described in the above embodiment. For example, a determination program described in a language that can be executed by a computer can be created for the process executed by the malware determination apparatus according to the first embodiment. In this case, when the computer executes the determination program, the same effect as in the above embodiment can be obtained. Further, the same processing as in the above embodiment may be realized by recording the determination program on a computer-readable recording medium, and reading and executing the determination program recorded on the recording medium. . Below, an example of the computer which performs the determination program which implement | achieves the function similar to a malware determination apparatus is demonstrated.

図15は、判定プログラムを実行するコンピュータ1000を示す図である。図15に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 15 is a diagram illustrating a computer 1000 that executes a determination program. As illustrated in FIG. 15, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図15に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図15に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図15に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図15に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図15に例示するように、例えばディスプレイ1130に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120 as illustrated in FIG. The video adapter 1060 is connected to a display 1130, for example, as illustrated in FIG.

ここで、図15に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の判定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。   Here, as illustrated in FIG. 15, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the above determination program is stored in, for example, the hard disk drive 1090 as a program module in which a command to be executed by the computer 1000 is described.

また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、取得手順、比較手順、振分制御手順を実行する。   In addition, various data described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the acquisition procedure, the comparison procedure, and the distribution control procedure.

なお、判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the determination program are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Good. Alternatively, the program module 1093 and the program data 1094 related to the determination program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and via the network interface 1070. May be read by the CPU 1020.

10、10A マルウェア判定装置
11 学習部
11a、13a ファイル種別判別部
11b、13b 特徴抽出部
11c 分類器作成部
12 分類器記憶部
13 判定制御部
13c スコア算出部
13d 判定部
20 既知マルウェア・グッドウェア
30 判定対象ファイル
40 判定結果
DESCRIPTION OF SYMBOLS 10, 10A Malware determination apparatus 11 Learning part 11a, 13a File type discrimination | determination part 11b, 13b Feature extraction part 11c Classifier creation part 12 Classifier memory | storage part 13 Judgment control part 13c Score calculation part 13d Determination part 20 Known malware / goodware 30 Judgment target file 40 Judgment result

Claims (8)

マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別部と、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別部によって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出部と、
前記抽出部によって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成部と、
前記作成部によって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出部と、
前記算出部によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定部と、
を備えることを特徴とする判定装置。
A discriminator for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
An extraction unit that extracts features from each executable file and creates a feature vector of each executable file based on the features of each executable file and the file type determined by the determination unit;
A creation unit that inputs a feature vector of each executable file created by the extraction unit as teacher data and creates a classifier that determines whether it is malware;
Using the classifier created by the creation unit, a calculation unit that calculates a score indicating the malware likeness of the determination target file;
A determination unit that determines whether the determination target file is malware based on the score calculated by the calculation unit;
A determination apparatus comprising:
前記抽出部は、前記各実行ファイルから特徴を抽出し、該特徴に対して、前記判別部によって判別されたファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から前記特徴ベクトルを作成することを特徴とする請求項1に記載の判定装置。   The extraction unit extracts a feature from each execution file, adds a character string indicating the file type determined by the determination unit to the feature, and adds a character string indicating the file type The determination apparatus according to claim 1, wherein the feature vector is created from the information. 前記抽出部は、前記各実行ファイルから特徴を抽出し、該特徴とともに、前記判別部によって判別されたファイル種別を示す文字列を特徴として用いて、各実行ファイルの特徴ベクトルを作成することを特徴とする請求項1に記載の判定装置。   The extraction unit extracts a feature from each execution file, and creates a feature vector of each execution file using the feature and a character string indicating the file type determined by the determination unit. The determination apparatus according to claim 1. マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別部と、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出部と、
前記判別部によって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成部と、
判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出部と、
前記算出部によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定部と、
を備えることを特徴とする判定装置。
A discriminator for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
An extractor that extracts features from each of the executable files and creates a feature vector of each executable file based on the features of each executable file;
For each file type determined by the determination unit, the feature vector is input as teacher data, and a creation unit that creates a classifier for each file type,
Select a classifier corresponding to the file type of the determination target file, and using the classifier, a calculation unit that calculates a score indicating the malware likeness of the determination target file;
A determination unit that determines whether the determination target file is malware based on the score calculated by the calculation unit;
A determination apparatus comprising:
判定装置が実行する判定方法であって、
マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別工程と、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別工程によって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出工程と、
前記抽出工程によって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成工程と、
前記作成工程によって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出工程と、
前記算出工程によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定工程と、
を含んだことを特徴とする判定方法。
A determination method executed by a determination device,
A discriminating step for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
Extracting a feature from each executable file, and creating a feature vector of each executable file based on the feature of each executable file and the file type determined by the determining step;
A creation step of inputting a feature vector of each executable file created by the extraction step as teacher data and creating a classifier that determines whether or not it is malware;
Using the classifier created by the creation step, a calculation step for calculating a score indicating the malware likeness of the determination target file;
A determination step of determining whether or not the determination target file is malware based on the score calculated by the calculation step;
The determination method characterized by including.
マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別工程と、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出工程と、
前記判別工程によって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成工程と、
判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出工程と、
前記算出工程によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定工程と、
を含んだことを特徴とする判定方法。
A discriminating step for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
Extracting the features from each executable file, and creating a feature vector of each executable file based on the features of each executable file;
For each file type determined by the determination step, the feature vector is input as teacher data, and a creation step for creating a classifier for each file type,
Selecting a classifier corresponding to the file type of the determination target file, and using the classifier, calculating a score indicating the malware likeness of the determination target file; and
A determination step of determining whether or not the determination target file is malware based on the score calculated by the calculation step;
The determination method characterized by including.
マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別ステップと、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と前記判別ステップによって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する抽出ステップと、
前記抽出ステップによって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する作成ステップと、
前記作成ステップによって作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出する算出ステップと、
前記算出ステップによって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定ステップと、
をコンピュータに実行させるための判定プログラム。
A discriminating step for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
Extracting a feature from each executable file, and extracting a feature vector of each executable file based on the feature of each executable file and the file type determined by the determining step;
A creation step of creating a classifier that inputs the feature vector of each executable file created by the extraction step as teacher data and determines whether or not it is malware;
Using the classifier created in the creating step, a calculating step for calculating a score indicating the malware likeness of the determination target file;
A determination step of determining whether the determination target file is malware based on the score calculated by the calculation step;
Judgment program for causing a computer to execute
マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する判別ステップと、
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出ステップと、
前記判別ステップによって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成ステップと、
判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出ステップと、
前記算出ステップによって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定ステップと、
をコンピュータに実行させるための判定プログラム。
A discriminating step for discriminating the file type of each executable file including a file known to be malware and a file known to be goodware;
Extracting the features from each executable file, and creating a feature vector of each executable file based on the features of each executable file;
A step of inputting the feature vector as teacher data for each file type determined by the determination step, and creating a classifier for each file type,
Selecting a classifier corresponding to the file type of the determination target file, and using the classifier, calculating a score indicating the malware likeness of the determination target file; and
A determination step of determining whether the determination target file is malware based on the score calculated by the calculation step;
Judgment program for causing a computer to execute
JP2015115180A 2015-06-05 2015-06-05 Determination apparatus, determination method, and determination program Pending JP2017004123A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015115180A JP2017004123A (en) 2015-06-05 2015-06-05 Determination apparatus, determination method, and determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115180A JP2017004123A (en) 2015-06-05 2015-06-05 Determination apparatus, determination method, and determination program

Publications (1)

Publication Number Publication Date
JP2017004123A true JP2017004123A (en) 2017-01-05

Family

ID=57752074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115180A Pending JP2017004123A (en) 2015-06-05 2015-06-05 Determination apparatus, determination method, and determination program

Country Status (1)

Country Link
JP (1) JP2017004123A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018159010A1 (en) * 2017-03-03 2018-09-07 日本電信電話株式会社 Selection device, selection method, and selection program
JP2018160172A (en) * 2017-03-23 2018-10-11 日本電気株式会社 Malware determining method, malware determining apparatus, malware determining program
JP2019053421A (en) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 Information processing device and program
JP2019133508A (en) * 2018-02-01 2019-08-08 日本電気株式会社 Distributed type configuration management apparatus, distributed type configuration management method and distributed type configuration management program
JP2019192198A (en) * 2018-02-06 2019-10-31 エーオー カスペルスキー ラボAO Kaspersky Lab System and method of training machine learning model for detection of malicious container
WO2019225214A1 (en) * 2018-05-21 2019-11-28 日本電信電話株式会社 Determination method, determination device and determination program
JP2020091814A (en) * 2018-12-07 2020-06-11 Kddi株式会社 Privacy policy verification device, computer program and privacy policy verification method
WO2021059509A1 (en) * 2019-09-27 2021-04-01 日本電気株式会社 Learning device, discrimination system, learning method, and non-transitory computer-readable medium having learning program stored thereon

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018159010A1 (en) * 2017-03-03 2018-09-07 日本電信電話株式会社 Selection device, selection method, and selection program
JPWO2018159010A1 (en) * 2017-03-03 2019-11-07 日本電信電話株式会社 Selection device, selection method, and selection program
US11256803B2 (en) 2017-03-03 2022-02-22 Nippon Telegraph And Telephone Corporation Malware detection: selection apparatus, selection method, and selection program
JP2018160172A (en) * 2017-03-23 2018-10-11 日本電気株式会社 Malware determining method, malware determining apparatus, malware determining program
JP6992341B2 (en) 2017-09-13 2022-01-13 富士フイルムビジネスイノベーション株式会社 Information processing equipment and programs
JP2019053421A (en) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 Information processing device and program
JP2019133508A (en) * 2018-02-01 2019-08-08 日本電気株式会社 Distributed type configuration management apparatus, distributed type configuration management method and distributed type configuration management program
JP7095296B2 (en) 2018-02-01 2022-07-05 日本電気株式会社 Distributed configuration management device, distributed configuration management method, and distributed configuration management program
JP2019192198A (en) * 2018-02-06 2019-10-31 エーオー カスペルスキー ラボAO Kaspersky Lab System and method of training machine learning model for detection of malicious container
US10902118B2 (en) 2018-02-06 2021-01-26 AO Kaspersky Lab System and method of training a machine learning model for detection of malicious containers
JPWO2019225214A1 (en) * 2018-05-21 2020-12-10 日本電信電話株式会社 Judgment method, judgment device and judgment program
WO2019225214A1 (en) * 2018-05-21 2019-11-28 日本電信電話株式会社 Determination method, determination device and determination program
JP2020091814A (en) * 2018-12-07 2020-06-11 Kddi株式会社 Privacy policy verification device, computer program and privacy policy verification method
JP7062581B2 (en) 2018-12-07 2022-05-06 Kddi株式会社 Privacy policy verification device, computer program and privacy policy verification method
WO2021059509A1 (en) * 2019-09-27 2021-04-01 日本電気株式会社 Learning device, discrimination system, learning method, and non-transitory computer-readable medium having learning program stored thereon
JPWO2021059509A1 (en) * 2019-09-27 2021-04-01
JP7272446B2 (en) 2019-09-27 2023-05-12 日本電気株式会社 Learning device, discrimination system, learning method and learning program

Similar Documents

Publication Publication Date Title
JP2017004123A (en) Determination apparatus, determination method, and determination program
US11941491B2 (en) Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content
EP3139297B1 (en) Malware determination device, malware determination system, malware determination method, and program
US9621571B2 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
KR102317833B1 (en) method for machine LEARNING of MALWARE DETECTING MODEL AND METHOD FOR detecting Malware USING THE SAME
US11163877B2 (en) Method, server, and computer storage medium for identifying virus-containing files
US20190173897A1 (en) Malicious communication log detection device, malicious communication log detection method, and malicious communication log detection program
JP2016206950A (en) Perusal training data output device for malware determination, malware determination system, malware determination method, and perusal training data output program for malware determination
JP5936240B2 (en) Data processing apparatus, data processing method, and program
JP6039768B1 (en) ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM
US10733385B2 (en) Behavior inference model building apparatus and behavior inference model building method thereof
KR102074909B1 (en) Apparatus and method for classifying software vulnerability
KR101432429B1 (en) Malware analysis system and the methods using the visual data generation
CN111222137A (en) Program classification model training method, program classification method and device
NL2029433B1 (en) Method and system for clustering executable files
JP2014229115A (en) Information processing device and method, program, and storage medium
CN106484838A (en) Safety inspection java standard library dynamic updating method based on data mining
KR102100204B1 (en) Method for classifying based on machine-learning and Apparatus thereof
KR20180133726A (en) Appratus and method for classifying data using feature vector
Pashaei et al. A combined SVM and Markov model approach for splice site identification
KR20200073822A (en) Method for classifying malware and apparatus thereof
CN111783088A (en) Malicious code family clustering method and device and computer equipment
US20240045973A1 (en) Symbol narrowing-down apparatus, program analysis apparatus, symbol extraction method, program analysis method, and non-transitory computer readable medium
CN114925367A (en) Compressed file malicious detection method and device, electronic equipment and storage medium
KR102046249B1 (en) Method for Feature Selection of Machine Learning Based Malware Detection, RECORDING MEDIUM and Apparatus FOR PERFORMING THE METHOD