JP6039768B1 - ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM - Google Patents
ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM Download PDFInfo
- Publication number
- JP6039768B1 JP6039768B1 JP2015159508A JP2015159508A JP6039768B1 JP 6039768 B1 JP6039768 B1 JP 6039768B1 JP 2015159508 A JP2015159508 A JP 2015159508A JP 2015159508 A JP2015159508 A JP 2015159508A JP 6039768 B1 JP6039768 B1 JP 6039768B1
- Authority
- JP
- Japan
- Prior art keywords
- setting
- malware
- adjustment
- determination
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
【課題】マルウェア判定を行うための精度向上手法を組み合わせる場合の、各精度向上手法における調整事項の調整を効率良く行う。【解決手段】ホワイトリストの適用、特徴抽出および次元削減の順で前処理を行い、ファイルがマルウェアであるか否かの判定を閾値によって行うマルウェア判定装置20に対して、調整装置10は、スコア算出処理、特徴抽出および次元削減、ホワイトリストの適用および判定処理の順で、各処理に設定の候補の中から設定を適用していき、マルウェア判定精度を分析する。このとき、最適な設定が既に決定された処理については、以降は決定された最適な処理を適用し、分析を行う。【選択図】図1[PROBLEMS] To efficiently adjust adjustment items in each accuracy improvement method when combining accuracy improvement methods for performing malware determination. In contrast to a malware determination device that performs preprocessing in the order of whitelist application, feature extraction, and dimension reduction, and determines whether a file is malware or not using a threshold value, the adjustment device has a score In the order of calculation processing, feature extraction and dimension reduction, white list application and determination processing, settings are applied from among the setting candidates to each processing, and malware determination accuracy is analyzed. At this time, for the process for which the optimal setting has already been determined, the determined optimal process is applied and analyzed thereafter. [Selection] Figure 1
Description
本発明は、マルウェア判定装置の設定を調整する調整装置、調整方法および調整プログラムに関する。 The present invention relates to an adjustment device, an adjustment method, and an adjustment program for adjusting settings of a malware determination device.
MS Windows(登録商標)、Apple OSX(登録商標)、Linux(登録商標)およびその他Unix(登録商標)等のOS上で用いられる実行ファイルがマルウェアであるか否かを判定するアンチウィルスシステムが知られている。アンチウィルスシステムでは、実行ファイルを実行して判定を行う動的判定、および実行ファイルを実行せずに判定を行う静的判定の2手法が用いられ、判定に特に速度が求められる場合は静的判定が用いられる。 Anti-virus systems that determine whether executable files used on OS such as MS Windows (registered trademark), Apple OSX (registered trademark), Linux (registered trademark) and other Unix (registered trademark) are malware are known It has been. In the anti-virus system, two methods are used: dynamic determination in which an execution file is executed and determination is performed, and static determination in which determination is performed without executing the execution file. Judgment is used.
代表的な静的判定の手法として、ハッシュ値一致判定、およびパターンマッチ判定(シグニチャスキャン)が挙げられる。ハッシュ値一致判定は、あらかじめ既知のマルウェアのMD5、SHA1、SHA256等のハッシュ値をデータベースとして持ち、検査対象ファイルのハッシュ値がそのデータベースに合致すればマルウェアと判定するものである。また、パターンマッチ判定は、あらかじめ既知のマルウェアに含まれる特定の文字列やバイトコードをデータベースとして持ち、検査対象ファイルがデータベースに登録された文字列・バイトコードのいずれかを含んでいればマルウェアと判定するものである。 Typical 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 is determined as malware if the hash value of the inspection target file matches the database. In addition, the pattern matching judgment has a specific character string or byte code included in known malware in advance as a database, and if the file to be inspected contains either a character string or byte code registered in the database, Judgment.
しかし、マルウェアが少し改造されるだけで、ハッシュ値は異なった値となってしまい、パターンマッチ判定で用いる特定の文字列等も変更されてしまう可能性がある。そのため、これらの手法では、既存マルウェアを改造した亜種のマルウェアや新種のマルウェアの検知は難しかった。そこで、亜種・新種のマルウェアを判定する手法として、ヒューリスティック判定が提案されている。これは、これまでの経験に基づいて、マルウェアらしさを定義し、その定義に従って判定を行うものである。 However, even if the malware is modified a little, the hash value becomes a different value, and there is a possibility that a specific character string or the like used for pattern match determination is also changed. For this reason, it has been difficult for these methods to detect variants of new malware and variants of existing malware. Therefore, heuristic determination has been proposed as a method for determining sub-species and new types of malware. In this method, malware-likeness is defined based on previous experience, and a determination is made according to the definition.
ヒューリスティック判定として機械学習技術を用いる手法がいくつか提案されている。例えば、実行ファイル中に含まれる可読文字列をあらかじめ学習し、マルウェアで良く用いられる語が検査ファイル中にどの程度含まれるかを基準にそのマルウェアらしさを判定する方法が提案されている(例えば特許文献1を参照)。 Several methods using machine learning techniques for heuristic determination have been proposed. For example, a method has been proposed in which a readable character string included in an executable file is learned in advance, and the likelihood of the malware is determined based on how many words frequently used in malware are included in the inspection file (for example, a patent) Reference 1).
機械学習では、まず学習対象のデータ(教師データ)を、いくつかのパラメータの組に変換してから機械学習アルゴリズムで学習を行う。個々のパラメータを特徴、パラメータの組を特徴ベクトルと呼ぶ。例えば、特許文献1の例では、単語名とその出現数が特徴であり、その組が特徴ベクトルである。また、その組に含まれる特徴の個数を特徴ベクトル次元と呼び、前述の例では単語の種類数が特徴ベクトル次元となる。
In machine learning, first, learning target data (teacher data) is converted into a set of several parameters, and then learning is performed using a machine learning algorithm. Each parameter is called a feature, and a set of parameters is called a feature vector. For example, in the example of
また、機械学習技術を用いたヒューリスティック判定は、亜種・新種のマルウェアも判定可能となる一方で、誤検知率(マルウェアでないファイル(グッドウェア)を間違えてマルウェアと判定してしまう率)が比較的大きい傾向がある。そこで、機械学習技術において、様々な精度向上手法が提案されている。例えば、実行ファイルのPEヘッダ情報を用いた機械学習によるマルウェア判定方法が提案されており、この方法では、適切な次元圧縮と機械学習アルゴリズムを用いることにより、検知精度を向上させている(例えば非特許文献1を参照)。 In addition, heuristic determination using machine learning technology can also detect subtypes and new types of malware, while comparing the false positive rate (the rate at which non-malware files (goodware) are mistakenly determined as malware). There is a big tendency. Therefore, various accuracy improvement methods have been proposed in machine learning technology. For example, a malware determination method by machine learning using PE header information of an executable file has been proposed, and in this method, detection accuracy is improved by using an appropriate dimension compression and a machine learning algorithm (for example, non-deletion). (See Patent Document 1).
また、分類精度を悪化させると思われるデータを教師データから除去する等、教師データの精査を行う手法である事例選択によっても精度を向上させることができる(例えば非特許文献2を参照)。非特許文献2では、サポートベクターマシン(SVM)を用いた画像分類において、SVMの内部パラメータαiを用い、分類しにくい曖昧な画像データを抽出し、抽出したデータを教師データから取り除く事例選択手法が用いられている。 The accuracy can also be improved by case selection, which is a technique for examining teacher data, such as removing data that seems to deteriorate the classification accuracy from the teacher data (see Non-Patent Document 2, for example). In Non-Patent Document 2, in image classification using a support vector machine (SVM), there is a case selection method that uses internal parameters αi of SVM to extract ambiguous image data that is difficult to classify and removes the extracted data from teacher data. It is used.
また、用いた機械学習アルゴリズムのパラメータ調整で精度を向上させる方法が一般的に実施されている(例えば非特許文献3を参照)。また、誤検知を判定時に訂正する一般的な手法として、ホワイトリストを用いた誤検知訂正手法もよく用いられる。 In addition, a method for improving accuracy by adjusting parameters of the used machine learning algorithm is generally implemented (see, for example, Non-Patent Document 3). Further, as a general technique for correcting erroneous detection at the time of determination, a false detection correction technique using a white list is often used.
機械学習を用いたマルウェア判定において、様々な精度向上手法を組み合わせれば、個々の手法だけを用いるよりも判定精度を大きく向上させることが可能である。ここで、各精度向上手法にはそれぞれに多様な調整事項が存在する。しかしながら、従来技術においては、精度向上手法の調整事項の調整を効率良く行うことができないという問題があった。 In malware determination using machine learning, if various accuracy improvement methods are combined, the determination accuracy can be greatly improved as compared to using only individual methods. Here, each accuracy improvement method has various adjustment items. However, in the prior art, there is a problem that adjustment items of the accuracy improvement method cannot be adjusted efficiently.
すなわち、様々な精度向上手法を組み合わせて、各手法における調整事項の最適な設定を得るために、各精度向上手法と各調整事項の設定の組み合せを、手法横断的かつ網羅的に試行する必要があり、効率的な調整が行えない。 In other words, in order to obtain the optimum setting of adjustment items for each method by combining various accuracy improvement methods, it is necessary to try each combination of accuracy improvement method and each adjustment item comprehensively and comprehensively. There is no efficient adjustment.
網羅的に試行する調整の一例として、機械学習アルゴリズムのパラメータを調整することを考える。機械学習アルゴリズムのパラメータ調整手法の例として、非特許文献2に記載されているグリッドサーチ法がある。グリッドサーチ法は、アルゴリズムパラメータの候補値をいくつか挙げておき、その候補値を1つ1つ当てはめて、実際に学習・判定を行って試行し、最も良い精度を示した候補値を採用する方法である。複数のパラメータがある場合、パラメータそれぞれにおいて候補値を挙げておき、各パラメータの候補値を総当たりで組み合わせて試行する。例えば、2つのパラメータがあり、それぞれ10個ずつ候補値を用意した場合、その試行回数は10×10=100回となる。 As an example of adjustment that is exhaustively tried, consider adjusting parameters of a machine learning algorithm. As an example of the parameter adjustment method of the machine learning algorithm, there is a grid search method described in Non-Patent Document 2. In the grid search method, several candidate values of algorithm parameters are listed, each of the candidate values is applied one by one, actually subjected to learning / determination, and the candidate value showing the best accuracy is adopted. Is the method. When there are a plurality of parameters, candidate values are listed for each parameter, and the candidate values for each parameter are combined and tried. For example, when there are two parameters and ten candidate values are prepared for each, the number of trials is 10 × 10 = 100.
また、いくつかの特徴を取り除くことで次元を削減し、マルウェアの判定精度を向上させる特徴選択という手法を調整することも考えられる。例えば、特徴選択の調整方法として、ラッパー法がある(例えば特願2014−120428参照)。ラッパー法は、特徴選択の設定の候補について、実際に学習・判定を行って試行し、最も良い精度を示した特徴選択の設定を採用する方法である。 It is also possible to adjust the technique of feature selection that reduces the dimension by removing some features and improves the accuracy of malware determination. For example, as a feature selection adjustment method, there is a wrapper method (see, for example, Japanese Patent Application No. 2014-120428). The wrapper method is a method that employs the feature selection setting that shows the best accuracy by actually learning and determining the feature selection setting candidates.
ここで、特徴選択の設定の候補を作成する方法として、変数増加法がある。変数増加法では、特徴(あるいは属性)の数をpとすると、その試行は最小で2p−1回、最大でp×(p−1)/2回となる。アルゴリズムパラメータと特徴選択から最良の精度のものを求める場合、両候補値の組み合せの総当たりを網羅的に試行する必要がある。 Here, there is a variable increasing method as a method for creating feature selection setting candidates. In the variable increase method, if the number of features (or attributes) is p, the trial is 2p-1 times at the minimum and p × (p-1) / 2 times at the maximum. When finding the best accuracy from algorithm parameters and feature selection, it is necessary to exhaustively try the brute force combination of both candidate values.
仮に調整すべきアルゴリズムパラメータが2個で、その候補値の個数を各10個、選択すべき特徴の個数が10個である場合、10×10×19 〜 10×10×45、すなわち1900〜4500回の試行が必要となる。このように、網羅的な試行は調整すべき手法・パラメータが増加するごとに、指数関数的にその試行回数が増え、効率的に調整を行うことができなくなる。 If the number of algorithm parameters to be adjusted is two, the number of candidate values is 10, and the number of features to be selected is 10, 10 × 10 × 19 to 10 × 10 × 45, that is, 1900 to 4500. Times are required. As described above, every time the method / parameter to be adjusted increases, the number of trials increases exponentially and the adjustment cannot be performed efficiently.
また、その他の精度向上手法として、既知の誤検知グッドウェアを用いて類似のマルウェアのデータを教師データから除去すること、および、より学習されやすいようにその誤検知グッドウェアのデータを教師データに適切に挿入することで、特に低誤検知率を実現する事例選択手法が考えられる(例えば特願2015−087924参照)。しかしながら、他の手法と同様に、事例選択手法の調整事項の調整についても網羅的に試行していたため、効率良く調整を行うことができない場合があった。 Another method for improving accuracy is to use known false positive goodware to remove similar malware data from the teacher data, and make the false positive goodware data into teacher data so that it can be more easily learned. A case selection method that realizes a particularly low false detection rate by appropriately inserting can be considered (for example, see Japanese Patent Application No. 2015-087924). However, as with other methods, since adjustment of adjustment items in the case selection method has been exhaustively tried, there are cases where adjustment cannot be performed efficiently.
本発明の調整装置は、所定の順序で1つ以上の前処理を実行した後、分類器によってファイルのスコアを算出するスコア算出処理を実行し、算出したスコアに基づいて該ファイルがマルウェアであるか否かの判定処理を行うマルウェア判定装置における、各処理を実行するための最適な設定を決定する調整装置であって、前記マルウェア判定装置の各処理を所定の順序で選択する指示部と、前記指示部によって処理が選択されるたびに、該選択された処理を実行するための設定の候補を順次適用し、また、前記指示部によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、該最適な設定を適用する設定適用部と、前記設定適用部によって設定の適用が行われるたびに、前記設定適用部によって適用された設定にしたがって前記マルウェア判定装置の各処理を実行した場合の、前記設定の候補のそれぞれに対応する結果を取得する検証部と、前記検証部によって前記選択された処理の前記設定の候補のすべてについて対応する結果が取得されるたびに、前記設定の候補のうち、前記設定の候補のそれぞれに対応する結果からマルウェアの判定精度が最も高くなると判定された設定の候補を、前記選択した処理の最適な設定として決定する分析部と、を有することを特徴とする。 The adjustment device of the present invention executes one or more pre-processes in a predetermined order, and then executes a score calculation process for calculating a score of a file by a classifier, and the file is malware based on the calculated score An adjustment unit that determines an optimal setting for executing each process in the malware determination apparatus that performs the determination process whether or not, and an instruction unit that selects each process of the malware determination apparatus in a predetermined order; Each time a process is selected by the instruction unit, the setting candidates for executing the selected process are sequentially applied, and an optimum setting is determined among processes other than the process selected by the instruction unit. A setting application unit that applies the optimal setting to the process that has been completed, and the setting applied by the setting application unit every time the setting application unit applies the setting. When each process of the malware determination device is executed, a verification unit that acquires a result corresponding to each of the setting candidates, and all of the setting candidates of the process selected by the verification unit Each time a result is acquired, a setting candidate that is determined to have the highest malware determination accuracy based on a result corresponding to each of the setting candidates is selected as the optimum setting for the selected process. And an analysis unit determined as:
本発明の調整方法は、所定の順序で1つ以上の前処理を実行した後、分類器によってファイルのスコアを算出するスコア算出処理を実行し、算出したスコアに基づいて該ファイルがマルウェアであるか否かの判定処理を行うマルウェア判定装置における、各処理を実行するための最適な設定を決定する調整方法であって、前記マルウェア判定装置の各処理を所定の順序で選択する指示工程と、前記指示工程によって処理が選択されるたびに、該選択された処理を実行するための設定の候補を順次適用し、また、前記指示工程によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、該最適な設定を適用する設定適用工程と、前記設定適用工程によって設定の適用が行われるたびに、前記設定適用工程によって適用された設定にしたがって前記マルウェア判定装置の各処理を実行した場合の、前記設定の候補のそれぞれに対応する結果を取得する検証工程と、前記検証工程によって前記選択された処理の前記設定の候補のすべてについて対応する結果が取得されるたびに、前記設定の候補のうち、前記設定の候補のそれぞれに対応する結果からマルウェアの判定精度が最も高くなると判定された設定の候補を、前記選択した処理の最適な設定として決定する分析工程と、を含んだことを特徴とする。 According to the adjustment method of the present invention, after executing one or more pre-processes in a predetermined order, a score calculation process for calculating a score of a file is executed by a classifier, and the file is malware based on the calculated score An adjustment method for determining an optimal setting for executing each process in a malware determination apparatus that performs a determination process on whether or not, and an instruction step of selecting each process of the malware determination apparatus in a predetermined order; Each time a process is selected by the instruction process, the setting candidates for executing the selected process are sequentially applied, and an optimal setting is determined among processes other than the process selected by the instruction process. Applied to the process that has already been applied, each time the setting is applied by the setting application step, and the setting application step applies the optimum setting. A verification step of obtaining results corresponding to each of the setting candidates when each processing of the malware determination device is executed according to the setting, and all of the setting candidates of the processing selected by the verification step Each time a corresponding result is obtained, the setting candidate determined to have the highest malware determination accuracy from the result corresponding to each of the setting candidates is selected as the optimum of the selected process. And an analysis step for determining as a proper setting.
本発明によれば、マルウェア判定を行うための精度向上手法を組み合わせる場合に、各精度向上手法における調整事項の調整を効率良く行うことができる。 ADVANTAGE OF THE INVENTION According to this invention, when combining the accuracy improvement method for performing malware determination, the adjustment matter in each accuracy improvement method can be adjusted efficiently.
以下に、本願に係る調整装置、調整方法および調整プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る調整装置、調整方法および調整プログラムが限定されるものではない。 Hereinafter, embodiments of an adjustment device, an adjustment method, and an adjustment program according to the present application will be described in detail with reference to the drawings. Note that the adjustment device, the adjustment method, and the adjustment program according to the present application are not limited by this embodiment.
[第1の実施形態]
以下の実施形態では、第1の実施形態に係る調整装置およびマルウェア判定装置を含むマルウェア判定システムの構成、処理および効果について説明する。調整装置10は、所定の順序で1つ以上の前処理を実行した後、分類器によってファイルのスコアを算出するスコア算出処理を実行し、算出したスコアに基づいて該ファイルがマルウェアであるか否かの判定処理を行うマルウェア判定装置20における、各処理を実行するための最適な設定を決定する。
[First Embodiment]
In the following embodiments, the configuration, processing, and effects of a malware determination system including the adjustment device and the malware determination device according to the first embodiment will be described. After executing one or more pre-processes in a predetermined order, the
[第1の実施形態の構成]
図1を用いて、第1の実施形態に係る調整装置およびマルウェア判定装置を含んだマルウェア判定システムの構成について説明する。図1は、第1の実施形態に係る調整装置およびマルウェア判定装置を含んだマルウェア判定システムの構成の一例を示す図である。まず、マルウェア判定システム1におけるデータの流れについて説明する。図1に示すように、まず、調整装置10には、ユーザ等による指示、機械学習のための原教師データ、調整および検証のための調整用データおよび原検証用データが入力される。
[Configuration of First Embodiment]
The configuration of the malware determination system including the adjustment device and the malware determination device according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a configuration of a malware determination system including an adjustment device and a malware determination device according to the first embodiment. First, the data flow in the
調整装置10は、これらのデータを基に、調整済教師データおよび調整済設定を作成し、マルウェア判定装置20に対して出力する。そして、マルウェア判定装置20は、調整装置10から取得した各データを用いて、別途入力された判定対象ファイルの判定結果を出力する。ここで、調整装置10の構成および処理の一部は、マルウェア判定装置20の構成等によって決定される。そのため、まずマルウェア判定装置20の構成について説明する。
The
[マルウェア判定装置]
図1に示すように、マルウェア判定装置20は、ホワイトリスト適用部201、特徴抽出・次元削減部202、分類器203、判定部204および設定格納部210を有する。マルウェア判定装置20は、まず設定格納部210に格納されている設定等を読み込み初期化した後、マルウェアとマルウェアでない実行ファイル(グッドウェア)から構成された教師データを学習する。マルウェア判定装置20は、教師データの学習後、判定対象ファイルがマルウェアであるかグッドウェアであるかを判定する。なお、教師データの学習および判定対象ファイルの判定には、ホワイトリスト適用部201、特徴抽出・次元削減部202、分類器203、判定部204が適宜用いられる。
[Malware determination device]
As illustrated in FIG. 1, the
前述の通り、マルウェア判定装置20は学習処理を実施した後に判定処理を実施する。まず、学習処理における各部の機能について説明する。マルウェア判定装置20は、特徴抽出・次元削減部202による特徴抽出および次元削減、分類器203によるスコア算出の順で学習処理を実行する。学習対象である教師データは、既存のマルウェアとグッドウェアの実行ファイル、および実行ファイルがマルウェアであるかグッドウェアであるかの分類を示す情報で構成される。
As described above, the
特徴抽出・次元削減部202は、教師データから特徴抽出を行う。さらに、特徴抽出・次元削減部202は、必要に応じて抽出した特徴に対して特徴選択や次元圧縮による次元削減を行い、特徴ベクトルを生成する。特徴抽出・次元削減部202が特徴ベクトルに重み付けを行うための手法の例として、例えばtf-idf(Term Frequency - Inverse Document Frequency)が挙げられる。
The feature extraction /
ここで、特徴選択とは、目的の精度がより良くなるように各特徴を取捨選択する手法である。また、次元圧縮の代表的な手法として、例えば相関がある特徴同士を自動的に1つの特徴にまとめる主成分分析(PCA)が知られている。なお、次元削減においては、特徴選択と次元圧縮のどちらか一方のみを行ってもよいし、両方を行ってもよい。 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, principal component analysis (PCA) is known in which correlated features are automatically combined into one feature. In the dimension reduction, only one of feature selection and dimension compression may be performed, or both may be performed.
分類器203は、特徴ベクトルと、特徴ベクトルと対応する実行ファイルがマルウェアであるかグッドウェアであるかの分類を示す情報を用いて機械学習を行う。分類器203は、ロジスティック回帰、SVM、パーセプトロン、Passive-Aggressive、Adaptive Regularization of Weight Vectors (AROW)、単純ベイズ等のアルゴリズムを用いて機械学習を行うことができる。 The classifier 203 performs machine learning using the feature vector and information indicating the classification of whether the execution file corresponding to the feature vector is malware or goodware. The classifier 203 can perform machine learning using algorithms such as logistic regression, SVM, perceptron, passive-aggressive, adaptive regularization of weight vectors (AROW), and naive Bayes.
次に、判定処理における各部の機能について説明する。マルウェア判定装置20は、ホワイトリスト適用部201によるホワイトリストの適用、特徴抽出・次元削減部202による特徴抽出・次元削減、分類器203によるスコア算出、判定部204によるマルウェアであるか否かの判定の順で判定処理を実行する。判定対象である判定対象ファイルは、マルウェアであるかグッドウェアであるかが不明な実行ファイルである。
Next, the function of each unit in the determination process will be described. The
ホワイトリスト適用部201は、判定対象ファイルがホワイトリストに該当するか否かを判定し、該当すると判定された判定対象ファイルをグッドウェアと判定する。ホワイトリストはMD5、SHA1、SHA256等のハッシュアルゴリズムを用いたハッシュのリストであってもよいし、定義された何らかの類似度の算出に必要な値の組(例えば特徴ベクトル)であってもよい。
The white
また、特徴抽出・次元削減部202は、ホワイトリストに該当しない判定対象ファイルの特徴ベクトルを生成する。なお、特徴ベクトルの生成方法は学習処理の場合と同様である。そして、分類器203は、特徴ベクトルから判定対象ファイルのマルウェアらしさをスコアという数値で出力する。
In addition, the feature extraction /
判定部204は、スコアをもとに判定対象ファイルがマルウェアであるか否かを判定し、判定結果を出力する。判定結果はマルウェア/グッドウェアの分類のみであってもよいし、分類にスコアを付け加えたものであってもよい。判定部204は、例えば、スコアがある閾値を超える場合はマルウェア、スコアが閾値を超えない場合はグッドウェアと判定する閾値判定を採用してもよい。
The
[調整事項]
また、学習処理および判定処理は、設定格納部210に格納されている設定等を読み込み初期化した後に実行される。設定格納部210に格納されている設定等は、これまで説明したマルウェア判定装置20の学習処理および判定処理を行う各部の処理に影響を与える。
[Adjustments]
The learning process and the determination process are executed after reading and initializing settings stored in the setting
調整装置10は、設定格納部210に格納する調整事項が調整済みである調整済設定を作成し、マルウェア判定装置20に出力する。また、調整装置10は、教師データの調整も行い、調整済教師データをマルウェア判定装置20に出力するようにしてもよい。この場合、学習処理で用いられる教師データは調整済教師データである。
The
ここで、調整事項について具体的な例を挙げて説明する。まず、特徴抽出・次元削減部202に関する調整事項の例として、特徴抽出時の重み付け設定(例えばtf-idfの重みを付けるか等)、取捨選択すべき特徴の設定(特徴選択設定)、および次元圧縮に用いるアルゴリズムとそのアルゴリズムのパラメータ(例えば圧縮次元数)が挙げられる。
Here, the adjustment items will be described with specific examples. First, as examples of adjustment items related to the feature extraction /
また、分類器203に関する調整事項の例として、利用するアルゴリズム、アルゴリズムの調整パラメータが挙げられる。また、アルゴリズムによっては同じ教師データを反復して学習すると精度向上する場合がある。このようなアルゴリズムを用いる場合、反復学習回数を調整事項としてもよい。 Examples of adjustment items related to the classifier 203 include algorithms to be used and algorithm adjustment parameters. Also, depending on the algorithm, the accuracy may be improved by learning the same teacher data repeatedly. When such an algorithm is used, the number of repeated learnings may be an adjustment item.
なお、ホワイトリスト適用部201で用いられるホワイトリスト自体を調整事項としてもよい。また、判定部204に関する調整事項の例として、スコアの閾値判定を行う場合のスコア閾値が挙げられる。また、調整装置10は、事例選択等によって教師データの取捨選択およびデータの並び順の変更等を行うことで、教師データの調整を行い調整済教師データとして出力する。
Note that the white list itself used by the white
[調整装置]
図1に示すように、調整装置10は、指示部101、教師・検証用データ作成部102、検証部103、分析部104および設定格納部110を有する。調整装置10はマルウェア判定装置20の設定や与える教師データ等の調整事項について、調整工程を順に実行する。そして、調整工程で得られる指標がより向上するように調整事項および設定値を決定し、マルウェア判定装置20に対して調整済教師データおよび調整済設定を出力する。
[Adjustment device]
As illustrated in FIG. 1, the
指示部101は、調整工程を管理し、その工程に応じた測定・検証の実行の指示を行う。また、指示部101は、マルウェア判定装置20の各処理を所定の順序で選択することで、マルウェア判定装置20の各部の処理に対応した調整工程の実施順序を決定する。指示部101は、例えば分類器203の調整を1番目に設定し、マルウェア判定装置20において分類器203より以前に行われる処理については、処理の順序と逆の順序としてもよい。
The instruction unit 101 manages the adjustment process and gives an instruction to execute measurement / verification in accordance with the process. In addition, the instruction unit 101 determines the execution order of the adjustment process corresponding to the processing of each unit of the
教師・検証用データ作成部102は、指示部101の指示に基づき、原教師データ、原検証用データ、調整用データを用いて検証部103へ与える教師データおよび検証用データを作成する。
The teacher / verification
検証部103は、マルウェア判定装置20と同様の処理を実行し、検証を行う。これにより、検証部103は、例えば判定結果としてスコアを出力する。そして、分析部104は、調整工程に対応する分析工程を実施する。具体的に、分析部104は、検証部103の学習または判定結果を基に指標を算出し、指標に基づいて最適な調整事項および設定値を決定し、決定した調整事項および設定値を設定格納部110へ格納する。
The
また、原教師データおよび原検証用データはマルウェア判定装置20で用いられる教師データと同様の構成の情報体である。また、調整用データは誤検知しやすいグッドウェアのデータであり、例えば事例選択手法で用いられるものである(例えば特願2015−087924参照)。
The original teacher data and the original verification data are information bodies having the same configuration as the teacher data used in the
ここで、図2を用いて、調整事項と設定値の例について説明する。図2は、第1の実施形態に係る調整装置の設定格納部のデータの一例を示す図である。図2の番号1は、マルウェア判定装置20の分類器203に関する調整事項である。また、図2の番号2〜6は、マルウェア判定装置20の特徴抽出・次元削減部202に関する調整事項である。また、図2の番号7は、マルウェア判定装置20の教師データに関する調整事項である。また、図2の番号8は、マルウェア判定装置20の判定部204に関する調整事項である。また、図2の番号9は、マルウェア判定装置20のホワイトリスト適用部201に関する調整事項である。
Here, examples of adjustment items and setting values will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of data in the setting storage unit of the adjustment device according to the first embodiment.
ここで、調整装置10で行われる、各調整工程および各調整工程に対応する分析工程を含む各工程について説明する。なお、各調整工程を実施する前に、指示部101は、各工程における指示部101が生成する設定の候補の範囲、検証方法、および分析部104で算出する指標、目的指標値等をあらかじめ指示として与えられているものとする。また、調整工程および分析工程については図3を用いて説明を行う。図3は、第1の実施形態に係る調整装置の各調整工程を説明するための図である。
Here, each process including the analysis process corresponding to each adjustment process and each adjustment process performed in the
各調整工程において、検証部103は、選択された処理を実行するための設定の候補を順次適用し、また、指示部101によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、最適な設定を適用する。そして、検証部103は、設定の適用が行われるたびに、適用された設定にしたがってマルウェア判定装置20の各処理を実行した場合の、設定の候補のそれぞれに対応する結果を取得する。
In each adjustment step, the
まず、調整工程の前段階の処理として、調整装置10は、設定格納部110の初期化、およびデータのクレンジングを行う。ここで、データクレンジングについて説明する。機械学習によるマルウェア静的判定においては、ファイル種別、すなわち実行ファイルが32bit実行アプリケーションであるか、64bit実行アプリケーションであるか、またはVisual Basic製のアプリケーションであるか等に応じて、その特徴の傾向が異なる。そして、特定のファイル種別のみを学習・判定する方が精度向上する。
First, as a process in the previous stage of the adjustment process, the
そこで、データクレンジングを行うことにより、原データ(原教師データ、原検証用データ)から指定のファイル種別のみをデータとして選別する。また、マルウェアと間違ってラベルがつけられたグッドウェアが原データ中に存在する場合がある。そこで、データクレンジングにおいては、グッドウェアと非常に類似したマルウェアを原データから除去する。以降の工程では、特記が無い限り、原データはクレンジング済みのものを指すものとする。 Therefore, by performing data cleansing, only the designated file type is selected as data from the original data (original teacher data, original verification data). Also, there may be goodware in the original data that is incorrectly labeled as malware. Therefore, in data cleansing, malware very similar to goodware is removed from the original data. In the subsequent steps, unless otherwise specified, the original data indicates the cleansed data.
次に、図3に示すように、調整装置10は1番目の調整工程として分類器の調整を行う。指示部101は分類器のアルゴリズム、そのアルゴリズムのパラメータ、反復学習回数等の設定の組の候補をいくつか生成し、そのうちの1組を設定格納部110へ仮設定する。そして、教師・検証用データ作成部102は、原データを用いて、教師データおよび検証用データを生成する。
Next, as shown in FIG. 3, the
検証部103は、設定格納部110に仮設定された設定等に基づき、その教師データおよび検証用データで学習・判定し、検証する。この検証がすべての設定の組の候補について実施されると、分析部104は、各検証結果について指標を算出し、最も良い指標であった設定の組を選出し、決定した調整事項としてその設定を設定格納部110へ格納する。
The
検証方法の一例として、そのまま原教師データを教師データ、原検証用データを検証用データとして学習・判定を行うホールドアウト検証がある。その他の検証方法の例として、K−分割交差検証が挙げられる。K−分割交差検証では、まず原教師データと原検証用データを混合し、K個のデータを生成する。次に、1個のデータを検証用データとして選び、残りのデータを教師データとして学習・判定する。まだ検証用データとしていないデータがあれば、それを検証用データとして選んで学習・判定を行い、全てのデータが1度は検証用データとして選ばれるまで学習・判定を繰り返す。 As an example of the verification method, there is holdout verification in which learning and determination are performed using the original teacher data as teacher data and the original verification data as verification data. An example of another verification method is K-division cross verification. In K-division cross-validation, first, original teacher data and original verification data are mixed to generate K pieces of data. Next, one piece of data is selected as verification data, and the remaining data is learned and determined as teacher data. If there is data that is not yet verified data, it is selected as data for verification, learning and determination are performed, and learning and determination are repeated until all data is selected as verification data once.
指標の例として、機械学習の検証では良く用いられるAUCやF値が挙げられる。また、指定の誤検知率以下となるように調整した際の検知率や、指定の検知率以上となるように調整した際の誤検知率を1から引いたもの(真陰性率)を指標として用いてもよい。 Examples of the index include AUC and F value that are often used in machine learning verification. In addition, the detection rate when adjusted to be equal to or less than the specified false detection rate, or the false detection rate when adjusted to be equal to or higher than the specified detection rate (true negative rate) is used as an index. It may be used.
マルウェア判定において、スコア閾値による判定を用いる場合、その閾値を増大させると検知率は下がるが、誤検知率も下がる。逆に、閾値を減少させると、検知率が上がり、誤検知率も上がる。この閾値と検知率および誤検知率の関係は比例関係ではなく、図4に示すように、ある閾値の範囲では閾値を増やしても誤検知率はそれほど上がらず、検知率は非常に上がることが知られている。図4は、スコア閾値と、検知率および誤検知率との関係を説明するための図である。また、このとき誤検知率と検知率の関係は、図5に示すようにROC曲線に従う。図5は、ROC曲線について説明するための図である。 In the malware determination, when the determination based on the score threshold is used, increasing the threshold decreases the detection rate but also decreases the false detection rate. Conversely, when the threshold value is decreased, the detection rate increases and the false detection rate also increases. The relationship between the threshold value, the detection rate, and the false detection rate is not a proportional relationship. As shown in FIG. 4, even if the threshold value is increased within a certain threshold range, the false detection rate does not increase so much, and the detection rate can be very high. Are known. FIG. 4 is a diagram for explaining the relationship between the score threshold, the detection rate, and the false detection rate. At this time, the relationship between the false detection rate and the detection rate follows an ROC curve as shown in FIG. FIG. 5 is a diagram for explaining the ROC curve.
そのため、あらかじめ適切に閾値を調整することにより、指定の許容範囲内に誤検知率を収めつつ、比較的高い検知率を得られるようにすることができる。同様に、スコア閾値を調整することによって、指定の検知率以上となるようにすることもできる。なお、これらのスコア閾値は分析部104にて判定結果のスコアを分析することで決定する。
Therefore, by appropriately adjusting the threshold value in advance, it is possible to obtain a relatively high detection rate while keeping the false detection rate within a specified allowable range. Similarly, by adjusting the score threshold, it is possible to achieve a specified detection rate or higher. These score thresholds are determined by analyzing the score of the determination result in the
次に、図3に示すように、調整装置10は2番目の調整工程として次元削減の調整を行う。このとき、検証に用いるデータおよび分類器の設定は、1番目の調整工程で決定され、設定格納部110に格納されているものを用いる。次元削減の一つの手法である特徴選択における設定項目として、例えばFile name、File size等がある(例えば特願2014−120428を参照)。もう一方の手法として、次元圧縮が挙げられ、次元圧縮の代表例として、主成分分析がある。
Next, as illustrated in FIG. 3, the
主成分分析での設定項目は、例えば圧縮次元数である。指示部101は特徴抽出の重み、特徴選択設定および圧縮次元数の候補をいくつか作成し、そのうちの1つを設定格納部110に仮設定する。そして、教師・検証用データ作成部102は、原データを用いて、教師データおよび検証用データを生成する。
The setting item in the principal component analysis is, for example, the number of compression dimensions. The instructing unit 101 creates several candidates for feature extraction weights, feature selection settings, and number of compression dimensions, and temporarily sets one of them in the setting
検証部103は、設定格納部110に仮設定された設定等に基づき、その教師データおよび検証用データで学習・判定し、検証する。この検証がすべての設定の組の候補について実施されると、分析部104は、各検証結果について指標を算出し、最も良い指標であった設定の組を選出し、決定した調整事項としてその設定を設定格納部110へ格納する。
The
特徴選択設定の候補の生成については、総当たり、変数増加法、変数減少法、ステップワイズ法等の手法を用いることができる(例えば特願2014−120428参照)。また、検証手法および指標は、他の工程と同一のものを用いても良いし、場合によっては別のものを用いてもよい。例えば、前の工程では分割交差検証を用い、本工程では処理時間を短縮するため、ホールドアウト検証を用いるようにしてもよい。 For the generation of feature selection setting candidates, techniques such as brute force, variable increase method, variable decrease method, stepwise method, and the like can be used (for example, see Japanese Patent Application No. 2014-120428). Further, the same verification method and index as those used in the other steps may be used, or different methods may be used depending on circumstances. For example, split intersection verification may be used in the previous process, and holdout verification may be used in this process in order to shorten the processing time.
次に、図3に示すように、調整装置10は3番目の調整工程として教師データの調整を行う。このとき、検証に用いるデータ、分類器および特徴抽出・次元削減の設定は、1番目および2番目の調整工程で決定され、設定格納部110に格納されているものを用いる。この場合、教師・検証用データ作成部102は、検証部103が他の工程で行っているように、選択された処理を実行するためのデータの候補を設定の候補として順次適用し、また、指示部101によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、最適な設定を適用する。
Next, as shown in FIG. 3, the
分類器によっては教師データの並び順がその判定精度に大きく影響する場合がある。データ順が精度に影響する分類器として、例えば、パーセプトロン、Passive-Aggressive、AROW、ニューラルネットワーク等がある。また、教師データとして、機械学習させると逆に判定精度が悪化するデータがある。一例として、余りにも古いデータは、直近のデータと傾向が異なり過ぎて、悪影響を及ぼすことがある。 Depending on the classifier, the order of the teacher data may greatly affect the determination accuracy. Examples of classifiers whose data order affects accuracy include perceptron, passive-aggressive, AROW, and neural network. In addition, as teacher data, there is data in which the determination accuracy deteriorates when machine learning is performed. As an example, data that is too old may be adversely affected because its tendency is too different from the most recent data.
指示部101および教師・検証用データ作成部102は、原教師データから含有するデータの期間および並び順等が異なった教師データの候補をいくつか作成する。検証部103は、作成されたそれぞれの教師データ候補と検証用データを、これまでの工程で決定した設定等に基づき、学習・判定してホールドアウト検証を行う。そして、分析部104は各候補の指標を算出する。
The instruction unit 101 and the teacher / verification
この検証がすべての設定の組の候補について実施されると、分析部104は、各検証結果について指標を算出し、最も良い指標であった教師データ候補を選出し、調整済教師データとして決定する。
When this verification is performed for all the set candidates, the
また、誤検知をより低減させる手法として、誤検知グッドウェアのデータを調整用データとして用いた事例選択手法が考えられる。事例選択手法によって、調整済教師データをさらに調整し、より判定精度を向上させることができる(例えば特願2015−087924参照)。 Further, as a technique for further reducing false detection, a case selection technique using erroneous detection goodware data as adjustment data can be considered. By using the case selection method, the adjusted teacher data can be further adjusted to further improve the determination accuracy (see, for example, Japanese Patent Application No. 2015-087924).
また、検証手法および指標は、他の工程と同一のものを用いても良いし、場合によっては別のものを用いてもよい。例えば、事例選択手法を用いると、より誤検知率を低減させることができる(例えば特願2015−087924参照)。そのため、例えば本工程では前の工程より指定誤検知率が低い指標を用いるようにしてもよい。 Further, the same verification method and index as those used in the other steps may be used, or different methods may be used depending on circumstances. For example, when the case selection method is used, the false detection rate can be further reduced (for example, see Japanese Patent Application No. 2015-087924). Therefore, for example, in this step, an index having a lower designated false detection rate than the previous step may be used.
次に、図3に示すように、調整装置10は4番目の調整工程として判定設定の調整およびホワイトリストの生成を行う。このとき、検証に用いるデータ、分類器および特徴抽出・次元削減の設定は、1番目から3番目の調整工程で決定され、設定格納部110に格納されているものを用いる。
Next, as illustrated in FIG. 3, the
この調整工程は、マルウェア判定装置20がスコア閾値による判定を行う場合に行われるものである。まず、これまでの調整工程で調整された設定、調整済教師データ、および検証用データを用いて、検証部103はホールドアウト検証を行う。次に、分析部104は指標を算出し、その指標が指示等で与えられた目的指標値に達しているか否かを判定する。目的指標値として、例えば指定誤検知率以下に調整した検知率を用いてもよい。
This adjustment process is performed when the
目的指標値が達成された場合は、上記検証において分析部104で算出されたスコア閾値をそのまま設定格納部110に格納する。一方、目的指標値が達成されなかった場合は、分析部104は以下の処理を行い、ホワイトリストとスコア閾値を決定する。まず、分析部104は、検知率の最低値を越えるスコア閾値を算出する。次に、指定誤検知率以下となる個数だけ高いスコアから順にグッドウェアを抽出し、ホワイトリストとする。分析部104は、このようにして得たスコア閾値とホワイトリストを設定格納部110に格納する。
When the objective index value is achieved, the score threshold value calculated by the
そして、調整工程が完了すると、調整装置10は、決定した調整事項、すなわち設定格納部110に格納された各種設定および調整済教師データを出力する。マルウェア判定装置20は、これらの出力を読み込み、調整事項を各部に反映させる。なお、調整装置10は電子ファイルとして出力を行ってもよいし、通信上のデータとして出力を行ってもよい。
When the adjustment process is completed, the
また、各工程において、分析部104が各候補から設定等を選出し決定する処理には、人間による判断が含まれていてもよい。例えば、指標によっては、複数の候補で同一値の最良の指標値が計測されることがある。その場合は、それら候補を人間が判断してどれか1つに決定することが考えられる。
Further, in each step, the process in which the
[第1の実施形態の処理]
第1の実施形態の処理について説明する。まず、図6を用いて調整装置10の処理について説明する。図6は、第1の実施形態に係る調整装置の処理を示すフローチャートである。
[Process of First Embodiment]
The process of the first embodiment will be described. First, the process of the
図6に示すように、指示部101は、指示等を読み込み、設定格納部110の初期設定を行う(ステップS101)。次に、教師・検証用データ作成部102は、原教師データ、調整用データ、原検証用データから誤りや対象外のデータ等を除去するデータクレンジングを行う(ステップS102)。そして、指示部101は、実行する調整工程を指定する(ステップS103)。
As illustrated in FIG. 6, the instruction unit 101 reads an instruction or the like and performs initial setting of the setting storage unit 110 (step S <b> 101). Next, the teacher / verification
そして、指示部101は各部に調整工程における検証の実行を指示する(ステップS104)。教師・検証用データ作成部102は、原教師データ、調整用データおよび原検証用データから教師データおよび検証用データを作成し、設定格納部110へ格納する(ステップS105)。そして、検証部103は、設定格納部110の設定等に基づき、教師データを学習し、検証用データを判定する(ステップS106)。
Then, the instruction unit 101 instructs each unit to execute verification in the adjustment process (step S104). The teacher / verification
ここで、指示部101は、現工程の全ての検証が完了したか否かを判定する(ステップS107)。なお、全ての検証が完了したか否かは、例えば設定の候補の全てについて検証データの判定が行われたか否かによって判定される。また、指示部101は、全ての検証が完了していないと判定した場合(ステップS107、No)、ステップS104へ戻り、さらに検証を実行させる。 Here, the instruction unit 101 determines whether or not all verification of the current process is completed (step S107). Note that whether or not all the verifications have been completed is determined, for example, by whether or not verification data has been determined for all of the setting candidates. If the instruction unit 101 determines that all the verifications have not been completed (No in step S107), the instruction unit 101 returns to step S104 and further performs verification.
指示部101が全ての検証が完了したと判定した場合(ステップS107、Yes)、分析部104は、各調整工程に対応した分析方法によって分析を行い、決定した調整事項を設定格納部110へ格納する(ステップS108)。
When the instruction unit 101 determines that all the verifications have been completed (step S107, Yes), the
ここで、指示部101は、全ての調整工程が完了していない場合(ステップS109、No)、ステップS103へ戻り、さらに調整工程を指定する。また、全調整工程が完了した場合(ステップS109、Yes)、調整装置10は調整された設定等を出力し(ステップS110)、処理を終了する。なお、各調整工程の検証方法および分析方法は図3に示す通りである。
Here, when all the adjustment processes are not completed (No at Step S109), the instruction unit 101 returns to Step S103 and further specifies the adjustment process. When all the adjustment processes are completed (step S109, Yes), the
次に、図7を用いてマルウェア判定装置20の処理について説明する。図7は、第1の実施形態に係るマルウェア判定装置の処理を示すフローチャートである。まず、学習処理について説明する。学習処理においては、マルウェアであるかグッドウェアであるかが既知の教師データが入力される。図7に示すように、学習を行う場合、特徴抽出・次元削減部202は教師データから特徴ベクトルを生成する(ステップS201)。そして、分類器203は特徴ベクトルを用いて学習を行う(ステップS202)。
Next, processing of the
次に、判定処理について説明する。判定処理においては、マルウェアであるかグッドウェアであるかが未知の判定対象データが入力される。図7に示すように、ホワイトリスト適用部201は、対象ファイルがホワイトリストに該当する場合(ステップS211、Yes)、対象ファイルがグッドウェアであると判定し、処理を終了する。
Next, the determination process will be described. In the determination process, determination target data that is unknown whether it is malware or goodware is input. As illustrated in FIG. 7, when the target file corresponds to the white list (Yes in step S <b> 211), the white
対象ファイルがホワイトリストに該当しない場合(ステップS211、No)、特徴抽出・次元削減部202は、対象ファイルの特徴抽出および必要に応じて次元削減を行い、特徴ベクトルを生成する(ステップS212)。そして、分類器203は、特徴ベクトルからマルウェアらしさのスコアを算出する(ステップS213)。そして、判定部204はスコアからマルウェア判定を行う(ステップS214)。
When the target file does not correspond to the white list (step S211, No), the feature extraction /
[第1の実施形態の効果]
調整装置10は、所定の順序で1つ以上の前処理を実行した後、分類器によってファイルのスコアを算出するスコア算出処理を実行し、算出したスコアに基づいて該ファイルがマルウェアであるか否かの判定処理を行うマルウェア判定装置20における、各処理を実行するための最適な設定を決定する。
[Effect of the first embodiment]
After executing one or more pre-processes in a predetermined order, the
指示部101は、マルウェア判定装置20の各処理を所定の順序で選択する。教師・検証用データ作成部102および検証部103は、指示部101によって処理が選択されるたびに、選択された処理を実行するための設定の候補を順次適用し、また、指示部101によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、最適な設定を適用する。そして、検証部103は、設定の適用が行われるたびに、適用された設定にしたがってマルウェア判定装置20の各処理を実行した場合の、設定の候補のそれぞれに対応する結果を取得する。
The instruction unit 101 selects each process of the
分析部104は、教師・検証用データ作成部102および検証部103によって選択された処理の設定の候補のすべてについて対応する結果が取得されるたびに、設定の候補のうち、設定の候補のそれぞれに対応する結果からマルウェアの判定精度が最も高くなると判定された設定の候補を、選択した処理の最適な設定として決定する。
Each time the
これによって、マルウェア判定装置20の複数の処理の調整を行う場合であっても、各処理と設定の候補の組み合わせの全てについて検証および分析を行う必要がなく、精度向上手法の調整事項の調整を効率良く行うことができる。
As a result, even when a plurality of processes of the
また、指示部101は、例えばマルウェア判定装置20において実行される順序と逆の順序で各処理を選択する。また、マルウェア判定装置20が、ホワイトリストの適用、特徴抽出および次元削減の順で前処理を行い、ファイルがマルウェアであるか否かの判定を閾値によって行う場合、指示部101は、スコア算出処理、特徴抽出および次元削減、ホワイトリストの適用および判定処理の順で各処理を指定するようにしてもよい。また、調整装置10は、各部を用いて教師データの調整を行うようにしてもよい。このように、分類器に密接な調整事項から順に調整を行っていくことで、より効果的な精度向上のための調整を効率的に行うことができる。
The instruction unit 101 selects each process in the reverse order to the order executed in the
[第2の実施形態]
第1の実施形態においては、マルウェア判定装置が学習処理と判定処理の両方を行う場合について説明した。一方、第2の実施形態においては、マルウェア判定装置に学習機能が備わっていない場合の例について説明する。
[Second Embodiment]
In the first embodiment, the case where the malware determination device performs both the learning process and the determination process has been described. On the other hand, in 2nd Embodiment, the example in case the learning function is not provided in the malware determination apparatus is demonstrated.
[第2の実施形態の構成]
図8を用いて、第2の実施形態に係る調整装置およびマルウェア判定装置を含んだマルウェア判定システムの構成について説明する。図8は、第2の実施形態に係る調整装置およびマルウェア判定装置を含んだマルウェア判定システムの構成の一例を示す図である。
[Configuration of Second Embodiment]
The configuration of the malware determination system including the adjustment device and the malware determination device according to the second embodiment will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of a configuration of a malware determination system including the adjustment device and the malware determination device according to the second embodiment.
図8に示すように、マルウェア判定装置20の分類器203aは、第1の実施形態と異なり、学習機能が備わっていない。そのため、マルウェア判定装置20は、教師データによってマルウェア判定のための学習済みの識別モデルを作成することができない。そこで、調整装置10の検証部103は、マルウェア判定のための識別モデルを機械学習により取得し、取得した識別モデルを調整済設定とともにマルウェア判定装置20に対して出力する。
As shown in FIG. 8, the
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、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.
[プログラム]
図9は、プログラムが実行されることにより、調整装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 9 is a diagram illustrating an example of a computer in which the adjustment apparatus is realized by executing a program. The
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、調整装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、調整装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
The hard disk drive 1090 stores, for example, an
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
The setting data used in the processing of the above-described embodiment is stored as
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
1 マルウェア判定システム
10 調整装置
20 マルウェア判定装置
101 指示部
102 教師・検証用データ作成部
103 検証部
104 分析部
110、210 設定格納部
201 ホワイトリスト適用部
202 特徴抽出・次元削減部
203、203a 分類器
204 判定部
DESCRIPTION OF
Claims (6)
前記マルウェア判定装置の各処理を、前記マルウェア判定装置において実行される順序と逆の順序で選択する指示部と、
前記指示部によって処理が選択されるたびに、該選択された処理を実行するための設定の候補を順次適用し、また、前記指示部によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、該最適な設定を適用する設定適用部と、
前記設定適用部によって設定の適用が行われるたびに、前記設定適用部によって適用された設定にしたがって前記マルウェア判定装置の各処理を実行した場合の、前記設定の候補のそれぞれに対応する結果を取得する検証部と、
前記検証部によって前記選択された処理の前記設定の候補のすべてについて対応する結果が取得されるたびに、前記設定の候補のうち、前記設定の候補のそれぞれに対応する結果からマルウェアの判定精度が最も高くなると判定された設定の候補を、前記選択した処理の最適な設定として決定する分析部と、
を有することを特徴とする調整装置。 After executing one or more pre-processes in a predetermined order, a score calculation process for calculating a score of a file by a classifier is performed, and a determination process for determining whether the file is malware based on the calculated score An adjustment device for determining an optimum setting for executing each process in the malware determination device to perform,
An instruction unit for selecting each process of the malware determination device in an order reverse to the order executed in the malware determination device ;
Each time a process is selected by the instruction unit, the setting candidates for executing the selected process are sequentially applied, and an optimum setting is determined among processes other than the process selected by the instruction unit. A setting application unit that applies the optimum setting to the already processed process;
Each time a setting is applied by the setting application unit, a result corresponding to each of the setting candidates is obtained when each process of the malware determination apparatus is executed according to the setting applied by the setting application unit. A verification unit to
Each time the result corresponding to all of the setting candidates of the selected process is acquired by the verification unit, the determination accuracy of malware is determined from the result corresponding to each of the setting candidates among the setting candidates. An analysis unit that determines a setting candidate determined to be the highest as an optimum setting of the selected process;
The adjustment apparatus characterized by having.
前記マルウェア判定装置の各処理を、前記マルウェア判定装置において実行される順序と逆の順序で選択する指示工程と、
前記指示工程によって処理が選択されるたびに、該選択された処理を実行するための設定の候補を順次適用し、また、前記指示工程によって選択された処理以外の処理のうち最適な設定が決定済みである処理に、該最適な設定を適用する設定適用工程と、
前記設定適用工程によって設定の適用が行われるたびに、前記設定適用工程によって適用された設定にしたがって前記マルウェア判定装置の各処理を実行した場合の、前記設定の候補のそれぞれに対応する結果を取得する検証工程と、
前記検証工程によって前記選択された処理の前記設定の候補のすべてについて対応する結果が取得されるたびに、前記設定の候補のうち、前記設定の候補のそれぞれに対応する結果からマルウェアの判定精度が最も高くなると判定された設定の候補を、前記選択した処理の最適な設定として決定する分析工程と、
を含んだことを特徴とする調整方法。 After executing one or more pre-processes in a predetermined order, a score calculation process for calculating a score of a file by a classifier is performed, and a determination process for determining whether the file is malware based on the calculated score An adjustment method that is executed by an adjustment device that determines an optimal setting for executing each process in the malware determination device to perform,
An instruction step of selecting each process of the malware determination device in an order reverse to the order executed in the malware determination device ;
Each time a process is selected by the instruction process, the setting candidates for executing the selected process are sequentially applied, and an optimal setting is determined among processes other than the process selected by the instruction process. A setting application step for applying the optimum setting to the process that has been completed;
Each time a setting is applied by the setting application step, a result corresponding to each of the setting candidates is obtained when each process of the malware determination device is executed according to the setting applied by the setting application step. A verification process to
Whenever the result corresponding to all the setting candidates of the selected process is acquired by the verification step, the determination accuracy of malware is determined from the result corresponding to each of the setting candidates among the setting candidates. An analysis step of determining a candidate for the setting determined to be the highest as the optimum setting for the selected process;
The adjustment method characterized by including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015159508A JP6039768B1 (en) | 2015-08-12 | 2015-08-12 | ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015159508A JP6039768B1 (en) | 2015-08-12 | 2015-08-12 | ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6039768B1 true JP6039768B1 (en) | 2016-12-07 |
JP2017037555A JP2017037555A (en) | 2017-02-16 |
Family
ID=57483191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015159508A Active JP6039768B1 (en) | 2015-08-12 | 2015-08-12 | ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6039768B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688107A (en) * | 2022-12-28 | 2023-02-03 | 卓望数码技术(深圳)有限公司 | Fraud-related APP detection system and method |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018159467A1 (en) | 2017-02-28 | 2018-09-07 | Necソリューションイノベータ株式会社 | Mobile entity detector, mobile entity detection method, and computer-readable recording medium |
JP6588495B2 (en) * | 2017-05-01 | 2019-10-09 | 日本電信電話株式会社 | Analysis system, setting method and setting program |
US10742669B2 (en) * | 2017-08-09 | 2020-08-11 | NTT Security Corporation | Malware host netflow analysis system and method |
US10878090B2 (en) | 2017-10-18 | 2020-12-29 | AO Kaspersky Lab | System and method of detecting malicious files using a trained machine learning model |
WO2019180804A1 (en) * | 2018-03-20 | 2019-09-26 | 株式会社Pfu | Information processing device, communication type discrimination method, and program |
RU2706896C1 (en) | 2018-06-29 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | System and method of detecting malicious files using a training model trained on one malicious file |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007013343A (en) * | 2005-06-28 | 2007-01-18 | Fujitsu Ltd | Worm detection parameter setting program and worm detection parameter setting device |
JP2014504399A (en) * | 2010-12-01 | 2014-02-20 | ソースファイア インコーポレイテッド | How to detect malicious software using contextual probabilities, generic signatures, and machine learning methods |
WO2014113281A1 (en) * | 2013-01-15 | 2014-07-24 | Symantec Corporation | Classifying samples using clustering |
-
2015
- 2015-08-12 JP JP2015159508A patent/JP6039768B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007013343A (en) * | 2005-06-28 | 2007-01-18 | Fujitsu Ltd | Worm detection parameter setting program and worm detection parameter setting device |
JP2014504399A (en) * | 2010-12-01 | 2014-02-20 | ソースファイア インコーポレイテッド | How to detect malicious software using contextual probabilities, generic signatures, and machine learning methods |
WO2014113281A1 (en) * | 2013-01-15 | 2014-07-24 | Symantec Corporation | Classifying samples using clustering |
Non-Patent Citations (2)
Title |
---|
JPN6016029472; 原田 達也: '機械学習による画像理解' 映像情報メディア学会誌 第69巻,第2号, 20150201, 第117〜123頁, 一般社団法人映像情報メディア学会 * |
JPN6016029473; 坂本 裕太: 'モジュール組換え型モデルにおけるモジュールの学習とモジュール組換え系列の学習' 2012年度人工知能学会全国大会(第26回)論文集 [CD-ROM] , 20120612, 1〜4頁, 社団法人人工知能学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688107A (en) * | 2022-12-28 | 2023-02-03 | 卓望数码技术(深圳)有限公司 | Fraud-related APP detection system and method |
Also Published As
Publication number | Publication date |
---|---|
JP2017037555A (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6039768B1 (en) | ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM | |
Vasan et al. | Image-Based malware classification using ensemble of CNN architectures (IMCEC) | |
Kalash et al. | Malware classification with deep convolutional neural networks | |
Hashemi et al. | Visual malware detection using local malicious pattern | |
Baptista et al. | A novel malware detection system based on machine learning and binary visualization | |
JP6018345B2 (en) | Malware judgment device, malware judgment system, malware judgment method, 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 | |
US9762593B1 (en) | Automatic generation of generic file signatures | |
JP6282045B2 (en) | Information processing apparatus and method, program, and storage medium | |
CN110572393A (en) | Malicious software traffic classification method based on convolutional neural network | |
JP2017004123A (en) | Determination apparatus, determination method, and determination program | |
KR102074909B1 (en) | Apparatus and method for classifying software vulnerability | |
CN110659486A (en) | System and method for detecting malicious files using two-level file classification | |
CN114692156B (en) | Memory segment malicious code intrusion detection method, system, storage medium and equipment | |
CN111400713B (en) | Malicious software population classification method based on operation code adjacency graph characteristics | |
KR102100204B1 (en) | Method for classifying based on machine-learning and Apparatus thereof | |
Anandhi et al. | Malware visualization and detection using DenseNets | |
EP3588352B1 (en) | Byte n-gram embedding model | |
Naeem et al. | Visual malware classification using local and global malicious pattern | |
US11947572B2 (en) | Method and system for clustering executable files | |
WO2022100489A1 (en) | System, method and apparatus for malicious software detection | |
KR20180133726A (en) | Appratus and method for classifying data using feature vector | |
JP6880891B2 (en) | Malware judgment method, malware judgment device and malware judgment program | |
Ugarte-Pedrero et al. | On the adoption of anomaly detection for packed executable filtering | |
Remagnino et al. | Machine learning for plant leaf analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161011 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6039768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |