JP2017004123A - Determination apparatus, determination method, and determination program - Google Patents
Determination apparatus, determination method, and determination program Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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.
しかしながら、上記した従来の技術では、実行ファイルにおける、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.
以下に、本願に係る判定装置、判定方法および判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法および判定プログラムが限定されるものではない。 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
学習部11は、学習データから特徴ベクトルを生成し、特徴ベクトルから単一の分類器を作成し、分類器を分類器記憶部12に格納する。学習部11は、ファイル種別判別部11a、特徴抽出部11bおよび分類器作成部11cを有する。
The
ファイル種別判別部11aは、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する。具体的には、ファイル種別判別部11aは、既知のマルウェアおよびグッドウェアである既知マルウェア・グッドウェア20からなる学習データセットの入力を受け付け、学習データセットに含まれる各実行ファイルのファイル種別を判別し、判別結果の情報を付加した学習データセットを特徴抽出部11bに出力する。
The file
ここで、図2の例を用いて、ファイル種別判定部11aによる実行ファイルのファイル種別を判別する処理を説明する。図2は、ファイル種別判定部による実行ファイルのファイル種別を判別する処理を説明する図である。図2に例示するように、学習データセットを入力として受け取り、各実行ファイルのファイル種別を判別した上で、その判別結果(当該データのファイル種別)の情報を付加した学習データを特徴抽出部11bに出力する。なお、ファイル種別の判別には、例えば、PeStudio、PEInfo等の専用ツールを用いることが考えられる。ただし、ファイル種別を判別できる方法であれば、これらに限定されるものではない。
Here, the process of determining the file type of the executable file by the file
ここで、学習データセットは、既存のマルウェアとグッドウェアの実行ファイル、および、その実行ファイルがマルウェアなのかグッドウェアかの分類を示す情報で構成される。なお、以下では、学習データセットの構成要素(実行ファイルと分類情報の組)を学習データと呼ぶ。例えば、図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
特徴抽出部11bは、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴とファイル種別判別部11aによって判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する。具体的には、特徴抽出部11bは、ファイル種別の情報が付加された学習データセットをファイル種別判別部11aから受け付けると、学習データセットの各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から、分類器にかけるための特徴ベクトルを作成し、特徴ベクトルを分類器作成部11cに出力する。以下では、第1ステップと第2ステップの2段階のステップに分けて特徴抽出について詳しく説明する。
The
図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
次に、特徴ベクトルの作成について説明する。特徴ベクトルの作成には、例えば、各特徴が出現したかしないかで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
そして、実行ファイル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
第一の実施形態に係るマルウェア判定装置10では、ファイル種別を表す情報を特徴ベクトルの中に取り込むことにより、ファイル種別が異なる実行ファイル同士は、必ず、別々の特徴ベクトルに変換することが出来る。例えば、従来手法のようにファイル種別を加味しない場合には、ファイル種別が異なるマルウェアとグッドウェアで同一の特徴あるいは特徴ベクトルを有してしまう。例えば、図6に例示するように、従来手法では、32ビットアプリケーションの実行ファイルAに関する特徴ベクトルと、64ビットアプリケーションの実行ファイルAに関する特徴ベクトルは、両者とも「特徴ベクトル=(0x100、Executable)=(1,1)」となるため、同一の特徴ベクトルとなる。つまり、ファイル種別を加味しない場合には、32ビットアプリケーションの実行ファイルAの特徴も、64ビットアプリケーションの実行ファイルAも、{0x100、Executable}となるため、特徴ベクトルも同一のものとなる。
In the
これに対して、第一の実施形態に係るマルウェア判定装置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
分類器作成部11cは、特徴抽出部11bによって作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成する。具体的には、分類器作成部11cは、特徴ベクトルを特徴抽出部11bから受け付けると、特徴ベクトルを教師データとして入力して、マルウェアか否かを判定する分類器を作成し、作成した分類器を分類器記憶部12に格納する。ここで、分類器の作成には教師あり学習を用いる。教師あり学習としては、例えば、ロジスティック回帰、サポートベクターマシン(SVM)、決定木、単純ベイズ、パーセプトロン、Passive-Aggressive(PA)、Adaptive Regularization of Weight Vectors(AROW)等を用いることが考えられる。
The
分類器記憶部12は、分類器作成部11cによって作成された分類器を記憶する。分類器記憶部12は、一般のデータベース(例えば、MySQLやPostgreSQL等)を用いてもよいし、表形式やテキスト形式での記憶など、その方法の種類は問わないものとする。
The
判定制御部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
ファイル種別判別部13aは、マルウェアであるのかグッドウェアであるのかを判定したい実行ファイルである判定対象ファイル30を入力として受け取り、そのファイル種別を判別する。そして、判別後、ファイル種別判別部13aは、判別結果(ファイル種別)の情報を付加した判定対象ファイル30を特徴抽出部13bに出力する。
The file
特徴抽出部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
スコア算出部13cは、分類器作成部11cによって作成された分類器を用いて、判定対象ファイル30のマルウェアらしさを示すスコアを算出する。具体的には、スコア算出部13cは、分類器記憶部12に格納されている分類器を用いて、判定対象ファイル30のマルウェアらしさを表すスコアを算出する。なお、マルウェアらしさのスコアを算出する方法としては、例えば、マルウェアで良く用いられる特徴が、判定対象の実行ファイルの特徴ベクトル中にどの程度含まれるかを基準に判定を行う方法等、公知の方法を利用することができる。
The
判定部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
このように、マルウェア判定装置10は、機械学習を用いたマルウェア判定において、実行ファイルのファイル種別を加味して特徴ベクトルを作成し、該特徴ベクトルを用いて分類器を作成するため、ファイル種別を加味しない場合に比べ、マルウェアの判定処理について高い判定精度を達成することが可能となる。
In this way, the
[マルウェア判定装置による処理]
次に、図7、図8を用いて、第一の実施形態に係るマルウェア判定装置10による処理を説明する。図7は、第一の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。図8は、第一の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。
[Processing by malware detection device]
Next, processing performed by the
まず、図7を用いて、第一の実施形態に係るマルウェア判定装置10による学習処理の流れについて説明する。図7に示すように、マルウェア判定装置10のファイル種別判別部11aは、学習データセットの各実行ファイルのファイル種別を判定する(ステップS101)。そして、特徴抽出部11bは、学習データから特徴ベクトルを生成する(ステップS102)。例えば、特徴抽出部11bは、ファイル種別の情報が付加された学習データセットをファイル種別判別部11aから受け付けると、学習データセットの各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から、分類器にかけるための特徴ベクトルを作成する。
First, the flow of the learning process performed by the
続いて、分類器作成部11cは、単一の分類器を作成し(ステップS103)、分類器記憶部12に分類器を格納する(ステップS104)。例えば、分類器作成部11cは、学習ベクトルを特徴抽出部11bから受け付けると、特徴ベクトルを教師データとして入力して、マルウェアか否かを判定する分類器を作成し、作成した分類器を分類器記憶部12に格納する。
Subsequently, the
次に、図8を用いて、第一の実施形態に係るマルウェア判定装置10による判定処理の流れについて説明する。図8に示すように、マルウェア判定装置10のファイル種別判別部13aは、判定対象ファイル30のファイル種別を判定する(ステップS201)。そして、特徴抽出部13bは、特徴抽出部11bと同様の方法で、判定対象ファイル30から特徴ベクトルを生成する(ステップS202)。
Next, the flow of determination processing by the
続いて、スコア算出部13cは、分類器記憶部12に記憶された分類器を用いて、マルウェアらしさを表すスコアを算出する(ステップS203)。そして、判定部13dは、スコアからマルウェア判定を行う(ステップS204)。具体的には、判定部13dは、スコアが所定の閾値以上であるか否かを判定しスコアが閾値以上であれば判定対象ファイル30をマルウェアと判定し、スコアが閾値未満であれば判定対象ファイル30をグッドウェアと判定する。
Subsequently, the
[第一の実施形態の効果]
上述してきたように、マルウェア判定装置10は、マルウェアであることが既知のファイルとグッドウェアであることが既知のファイルとを含む各実行ファイルのファイル種別をそれぞれ判別する。そして、マルウェア判定装置10は、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴と判別されたファイル種別とに基づいて、各実行ファイルの特徴ベクトルを作成する。続いて、マルウェア判定装置10は、作成された各実行ファイルの特徴ベクトルを教師データとして入力し、マルウェアか否かを判定する分類器を作成し、作成された分類器を用いて、判定対象のファイルのマルウェアらしさを示すスコアを算出し、算出されたスコアに基づいて、判定対象のファイルがマルウェアであるか否かを判定する。このため、マルウェア判定装置10は、実行ファイルのファイル種別を考慮し、実行ファイルがマルウェアであるか否かの判定を高精度に行うことが可能である。
[Effect of the first embodiment]
As described above, the
[第二の実施形態]
上述した第一の実施形態では、各実行ファイルから特徴を抽出し、該特徴に対して、ファイル種別を示す文字列を追記し、該ファイル種別を示す文字列が追記された特徴から特徴ベクトルを作成する場合について説明したが、これに限定されるものではなく、各実行ファイルから特徴を抽出し、該特徴とともに、ファイル種別を示す文字列を特徴として用いて、各実行ファイルの特徴ベクトルを作成するようにしてもよい。
[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
具体的には、特徴抽出部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
なお、図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
特徴抽出部11bは、各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する。ここで、第三の実施形態では、第一の実施形態の特徴抽出における第2ステップ目の処理を実行しない。すなわち、特徴ベクトルの作成にファイル種別の情報は用いない。
The
分類器作成部11cは、ファイル種別判別部11aによって判別されたファイル種別毎に特徴ベクトルを教師データとして入力し、ファイル種別毎にN個の分類器をそれぞれ作成する。具体的には、分類器作成部11cは、特徴ベクトルに変換済みのファイル種別情報付の学習データセットを入力として受け取り、ファイル種別毎に、マルウェア/グッドウェアを判定する分類器を個別に作成する。
The
例えば、分類器作成部11cは、図12に例示するように、32ビットアプリケーションの学習データセットを入力として、32ビットアプリケーション用の分類器を作成する。また、分類器作成部11cは、64ビットアプリケーションの学習データセットを入力として、64ビットアプリケーション用の分類器を作成する。また、分類器作成部11cは、VisualBasicアプリケーションの学習データセットを入力として、VisualBasicアプリケーション用の分類器を作成する。
For example, as illustrated in FIG. 12, the
また、分類器作成部11cは、学習データ数がある閾値以下のファイル種別があった場合には、ファイル種別を考慮せず、全学習データを用いて分類器を作成してもよい。例えば、分類器作成部11cは、ファイル種別判別部11aによって判別されたファイル種別毎の学習データについて、それぞれ学習データの数が所定の閾値以上であるか否かを判定する。そして、分類器作成部11cは、学習データの数が所定の閾値以上であると判定された場合には、上記の処理と同様に、そのファイル種別の学習データのみを用いて分類器を個別に作成する。また、分類器作成部11cは、学習データの数が所定の閾値未満であると判定された場合には、ファイル種別を考慮せず、全学習データを用いて分類器を作成する。つまり、学習データの数があまりに少ない場合には、精度のよい分類器を作成できない場合があるため、学習データ数がある閾値以下のファイル種別については、ファイル種別を考慮せず、全学習データを用いて分類器を作成する。
The
スコア算出部13cは、判定対象ファイル30のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、判定対象ファイル30のマルウェアらしさを示すスコアを算出する。具体的には、スコア算出部13cは、判定対象ファイル30のファイル種別と一致する分類器を分類器記憶部12から選択して読み出し、読み出した分類器を用いて判定対象ファイル30のマルウェアらしさを表すスコアを算出する。
The
次に、図13、図14を用いて、第三の実施形態に係るマルウェア判定装置10Aによる処理を説明する。図13は、第三の実施形態に係るマルウェア判定装置による学習処理の流れを示すフローチャートである。図14は、第三の実施形態に係るマルウェア判定装置による判定処理の流れを示すフローチャートである。
Next, processing performed by the
まず、図13を用いて、第三の実施形態に係るマルウェア判定装置10Aによる学習処理の流れについて説明する。図13に示すように、マルウェア判定装置10Aのファイル種別判別部11aは、学習データセットの各実行ファイルのファイル種別を判定する(ステップS301)。そして、特徴抽出部11bは、学習データから特徴ベクトルを生成する(ステップS302)。
First, the flow of the learning process performed by the
続いて、分類器作成部11cは、ファイル種別毎に別々の分類器を作成し(ステップS303)、分類器記憶部12に各分類器を格納する(ステップS304)。例えば、分類器作成部11cは、特徴ベクトルに変換済みのファイル種別情報付の学習データセットを入力として受け取り、ファイル種別毎に、マルウェア/グッドウェアを判定する分類器を個別に作成し、作成した分類器を分類器記憶部12に格納する。
Subsequently, the
次に、図14を用いて、第三の実施形態に係るマルウェア判定装置10Aによる判定処理の流れについて説明する。図14に示すように、マルウェア判定装置10Aのファイル種別判別部13aは、判定対象ファイル30のファイル種別を判定する(ステップS401)。そして、特徴抽出部13bは、特徴抽出部11bと同様の方法で、判定対象ファイル30から特徴ベクトルを生成する(ステップS402)。
Next, the flow of determination processing performed by the
続いて、スコア算出部13cは、判定対象ファイルのファイル種別にマッチする分類器を分類器記憶部12から選択し、選択された分類器を用いて、マルウェアらしさを表すスコアを算出する(ステップS403)。そして、判定部13dは、スコアからマルウェア判定を行う(ステップS404)。
Subsequently, the
このように、第三の実施形態に係るマルウェア判定装置では、実行ファイルのファイル種別毎に異なる分類器を作成し、判定対象ファイル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
メモリ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
ここで、図15に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の判定プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
Here, as illustrated in FIG. 15, the hard disk drive 1090 stores, for example, an
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ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
なお、判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、判定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
Note that the
10、10A マルウェア判定装置
11 学習部
11a、13a ファイル種別判別部
11b、13b 特徴抽出部
11c 分類器作成部
12 分類器記憶部
13 判定制御部
13c スコア算出部
13d 判定部
20 既知マルウェア・グッドウェア
30 判定対象ファイル
40 判定結果
DESCRIPTION OF
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:
前記各実行ファイルから特徴を抽出し、該各実行ファイルの特徴に基づいて、各実行ファイルの特徴ベクトルを作成する抽出部と、
前記判別部によって判別されたファイル種別毎に前記特徴ベクトルを教師データとして入力し、前記ファイル種別毎に分類器をそれぞれ作成する作成部と、
判定対象のファイルのファイル種別に対応する分類器を選択し、該分類器を用いて、前記判定対象のファイルのマルウェアらしさを示すスコアを算出する算出部と、
前記算出部によって算出されたスコアに基づいて、前記判定対象のファイルがマルウェアであるか否かを判定する判定部と、
を備えることを特徴とする判定装置。 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
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)
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 |
-
2015
- 2015-06-05 JP JP2015115180A patent/JP2017004123A/en active Pending
Cited By (17)
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 |