JP2018160172A - Malware determining method, malware determining apparatus, malware determining program - Google Patents

Malware determining method, malware determining apparatus, malware determining program Download PDF

Info

Publication number
JP2018160172A
JP2018160172A JP2017057900A JP2017057900A JP2018160172A JP 2018160172 A JP2018160172 A JP 2018160172A JP 2017057900 A JP2017057900 A JP 2017057900A JP 2017057900 A JP2017057900 A JP 2017057900A JP 2018160172 A JP2018160172 A JP 2018160172A
Authority
JP
Japan
Prior art keywords
malware
data
determination
score
machine learning
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.)
Granted
Application number
JP2017057900A
Other languages
Japanese (ja)
Other versions
JP6880891B2 (en
Inventor
拓弥 兼子
Takuya Kaneko
拓弥 兼子
由也 木津
Yoshiya Kizu
由也 木津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017057900A priority Critical patent/JP6880891B2/en
Publication of JP2018160172A publication Critical patent/JP2018160172A/en
Application granted granted Critical
Publication of JP6880891B2 publication Critical patent/JP6880891B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To carry out malware determination with machine learning having less detection omission, with preventing efficiency from being lowered and preventing error detection from being increased.SOLUTION: A malware determining apparatus 80 has extracting means 81 for extracting, from unlearned data, data which is difficult to be determined by machine learning whether or not it is malware, classifying means 82 for calculating a score indicating a degree of malware as to the data to be determined, updating means 83 for subjecting the data extracted by the extracting means 81 and the learned data to learning to update the classifying means 82, and determining means 84 for determining, on the basis of the score calculated by the classifying means, whether or not the data to be determined is malware.SELECTED DRAWING: Figure 6

Description

本発明は、機械学習を利用してマルウェア判定を行うマルウェア判定方法、マルウェア判定装置およびマルウェア判定プログラムに関する。   The present invention relates to a malware determination method, a malware determination device, and a malware determination program for performing malware determination using machine learning.

Windows (登録商標)やUNIX(登録商標)の環境における実行ファイルがマルウェアを含むか否か判定する手法として、主として、実行ファイルを実行して判定する動的判定と、実行ファイルを実行せずに判定する静的判定とがある。判定速度が重視される場合には、静的判定が用いられる。   As a method to determine whether or not an executable file in a Windows (registered trademark) or UNIX (registered trademark) environment contains malware, dynamic determination mainly by executing the executable file and without executing the executable file There is static judgment to judge. Static determination is used when the determination speed is important.

特許文献1に、静的判定の手法として代表的なものとして、ハッシュ値一致判定およびパターンマッチ判定(シグニチャスキャン)が挙げられている。ハッシュ値一致判定は、既知のマルウェアのMD5、SHA1、SHA256等のハッシュ値があらかじめ記憶され、検査対象ファイルのハッシュ値が、記憶されているハッシュ値と一致した場合、検査対象ファイルはマルウェアを含むとされる。パターンマッチ判定では、既知のマルウェアに含まれる特定の文字列やバイトコードがあらかじめ記憶され、検査対象ファイル中に記憶されている文字列やバイトコードが含まれている場合、検査対象ファイルはマルウェアを含むとされる。   Japanese Patent Application Laid-Open No. 2004-151561 lists hash value match determination and pattern match determination (signature scan) as typical static determination methods. In the hash value match determination, hash values of known malware such as MD5, SHA1, and SHA256 are stored in advance, and if the hash value of the inspection target file matches the stored hash value, the inspection target file includes malware. It is said. In pattern match judgment, when a specific character string or byte code included in known malware is stored in advance and the character string or byte code stored in the inspection target file is included, the inspection target file It is supposed to include.

また、特許文献1には、以下のような記述もある。すなわち、ハッシュ値一致判定およびパターンマッチ判定では、既存のマルウェアを改造した亜種マルウェアや新種のマルウェアの検知は難しいので、亜種マルウェアや新種のマルウェアを判定する手法として、ヒューリスティック判定が提案されている。ヒューリスティック判定では、過去の経験にもとづいてマルウェアらしさを定義し、その定義に従ってマルウェアか否か判定される。   Patent Document 1 also includes the following description. In other words, because it is difficult to detect variant malware and new malware modified from existing malware in hash value match determination and pattern match determination, heuristic determination has been proposed as a method for determining variant malware and new malware. Yes. In the heuristic determination, the likelihood of malware is defined based on past experience, and it is determined whether or not it is malware according to the definition.

さらに、特許文献1には、以下のような記述もある。すなわち、誤判定(誤検知)を低減するために、ホワイトリスト(信頼性が高いとされるプログラムやコードがリストアップされたリスト)を参照する方法が知られている。具体的には、あらかじめホワイトリストが作成され、ホワイトリストに掲載されているプログラムやコードがグッドウェア(マルウェアではないファイル)と判定され、ホワイトリストに掲載されていないプログラムやコードは、マルウェア等と見なされて、実行が禁止される。しかし、ホワイトリストを記憶するための記憶領域や照合のための処理時間が必要になるので、効率性が低下するとされている。なお、誤判定は、グッドウェアをマルウェアとして誤って判定してしまうことであり、False Positiveといわれることもある。   Further, Patent Document 1 also has the following description. That is, a method of referring to a white list (a list in which programs and codes considered to have high reliability) are known in order to reduce erroneous determination (false detection). Specifically, a whitelist is created in advance, the program or code on the whitelist is determined to be goodware (non-malware file), and the program or code that is not on the whitelist It is considered and execution is prohibited. However, since the storage area for storing the white list and the processing time for collation are required, it is said that the efficiency is lowered. In addition, misjudgment is misjudging goodware as malware, and it may be called False Positive.

特許文献1には、機械学習を利用するマルウェア判定において、誤判定が少ないマルウェア判定を効率的に実行するために、既存マルウェアデータおよび既存グッドウェアデータを含む教師データから、誤検知グッドウェアデータの特徴ベクトルと特徴ベクトルが類似している既存マルウェアデータを削除する手法が記載されている。さらに、誤検知グッドウェアデータが、既存グッドウェアデータとして教師データに挿入された精査教師データが作成される。そして、分類器が、精査教師データの特徴ベクトルを学習し、検査対象ファイルの特徴ベクトルから、検査対象ファイルのマルウェアらしさを示すスコアを算出する。   In Patent Document 1, in order to efficiently execute malware determination with few erroneous determinations in malware determination using machine learning, erroneous detection goodware data is extracted from teacher data including existing malware data and existing goodware data. A method for deleting existing malware data whose feature vector is similar to the feature vector is described. Further, scrutinizing teacher data in which erroneously detected goodware data is inserted into the teacher data as existing goodware data is created. Then, the classifier learns the feature vector of the scrutinizing teacher data, and calculates a score indicating the malware likeness of the inspection target file from the feature vector of the inspection target file.

特開2016−206950号公報JP, 2006-206950, A

特許文献1に記載された技術によれば、ホワイトリストを使用しないで、グッドウェアが誤ってマルウェアと判定される可能性が低減したマルウェア判定方法が実現される。   According to the technique described in Patent Document 1, a malware determination method is realized in which the possibility that goodware is erroneously determined as malware is reduced without using a white list.

しかし、特許文献1に記載された技術は、マルウェアをマルウェアとして判定(検知)しないFalse Negative(検知漏れ)が考慮されていない。   However, the technique described in Patent Document 1 does not consider False Negative (detection omission) that does not determine (detect) malware as malware.

標的型攻撃やランサムウェア等、攻撃が多様化および深刻化している。そのような状況の下では、False Positiveの低減による運用性の向上に加えて、False Negativeの低減による安全性の向上も重要である。   Attacks such as targeted attacks and ransomware are diversifying and becoming more serious. Under such circumstances, in addition to improving operability by reducing false positives, it is also important to improve safety by reducing false negatives.

本発明は、効率の低下や誤検出(False Positive)を増大しないようにしつつ、検知漏れ(False Negative)が少ない機械学習によるマルウェア判定を行うことを目的とする。   It is an object of the present invention to perform malware determination by machine learning with less detection failure (False Negative) while preventing increase in efficiency and false detection (False Positive).

本発明によるマルウェア判定方法は、機械学習を利用してマルウェア判定を行うマルウェア判定方法であって、未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出し、機械学習モデルを更新するために、抽出されたデータと学習済みデータとを対象として学習し、判定対象データのマルウェアらしさを示すスコアを算出し、算出されたスコアにもとづいて判定対象データがマルウェアか否か判定することを特徴とする。   The malware determination method according to the present invention is a malware determination method that performs machine determination using machine learning, and extracts data that is difficult to determine whether or not it is malware by machine learning from unlearned data. In order to update, the extracted data and learned data are learned as targets, a score indicating the malware likeness of the determination target data is calculated, and it is determined whether the determination target data is malware based on the calculated score It is characterized by that.

本発明によるマルウェア判定装置は、機械学習を利用してマルウェア判定を行うマルウェア判定装置であって、未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出する抽出手段と、判定対象データのマルウェアらしさを示すスコアを算出する分類手段と、抽出手段が抽出したデータと学習済みデータとを対象として学習を行って分類手段を更新する更新手段と、分類手段が算出したスコアにもとづいて判定対象データがマルウェアか否か判定する判定手段とを備えたことを特徴とする。   The malware determination apparatus according to the present invention is a malware determination apparatus that performs machine determination using machine learning, and extracts extraction means for extracting data that is difficult to determine whether it is malware by machine learning from unlearned data, Based on the classification means for calculating the score indicating the malware likeness of the target data, the update means for updating the classification means by learning the data extracted by the extraction means and the learned data, and the score calculated by the classification means And determining means for determining whether or not the determination target data is malware.

本発明によるマルウェア判定プログラムは、機械学習を利用してマルウェア判定を行うマルウェア判定を行うためのマルウェア判定プログラムであって、コンピュータに、未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出する処理と、機械学習モデルを更新するために、抽出されたデータと学習済みデータとを対象として学習する処理と、判定対象データのマルウェアらしさを示すスコアを算出する処理と、算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する処理とを実行させることを特徴とする。   The malware determination program according to the present invention is a malware determination program for performing malware determination using machine learning to determine malware, and it is difficult to determine whether or not the computer is malware by machine learning from unlearned data. A process for extracting data, a process for learning the extracted data and the learned data in order to update the machine learning model, and a process for calculating a score indicating the malware likeness of the determination target data. And determining whether the determination target data is malware based on the score.

本発明によれば、効率の低下や誤検出を増大しないようにしつつ、検知漏れが少ない機械学習によるマルウェア判定を行うことができる。   ADVANTAGE OF THE INVENTION According to this invention, the malware determination by machine learning with few detection omissions can be performed, without making decline in efficiency and false detection increase.

マルウェア判定装置の一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of a malware determination apparatus. マルウェア判定装置の学習フェーズの処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the learning phase of a malware determination apparatus. 学習フェーズが開始されるときに未学習データベースおよび学習済みデータベースに格納されているデータを示す説明図である。It is explanatory drawing which shows the data stored in the unlearned database and the learned database when the learning phase is started. マルウェア判定装置の判定フェーズの処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the determination phase of a malware determination apparatus. 分類情報入力処理を示すフローチャートである。It is a flowchart which shows classification information input processing. マルウェア判定装置の主要部を示すブロック図である。It is a block diagram which shows the principal part of a malware determination apparatus. 他の態様のマルウェア判定装置の主要部を示すブロック図である。It is a block diagram which shows the principal part of the malware determination apparatus of another aspect.

以下、本発明の実施形態を図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明によるマルウェア判定装置の一実施形態を示すブロック図である。なお、図1には、データベース(学習済みデータベースおよび未学習データベース)等も示されている。また、図1には、説明を容易にするために、対象ファイル110、判定結果120および分類情報130も示されているが、それらは、マルウェア判定装置1に入力されるデータまたはマルウェア判定装置1から出力されるデータである。   FIG. 1 is a block diagram showing an embodiment of a malware determination device according to the present invention. FIG. 1 also shows a database (learned database and unlearned database) and the like. FIG. 1 also shows the target file 110, the determination result 120, and the classification information 130 for ease of explanation. These are the data input to the malware determination device 1 or the malware determination device 1. Is the data output from.

図1に示すマルウェア判定装置1は、学習データ抽出部10、分類器更新部20、データベース更新部30、分類器40、判定部50および分類情報入力部60を備えている。   The malware determination apparatus 1 illustrated in FIG. 1 includes a learning data extraction unit 10, a classifier update unit 20, a database update unit 30, a classifier 40, a determination unit 50, and a classification information input unit 60.

学習データ抽出部10は、未学習データベース100に格納されている未学習データを用いて、機械学習によるマルウェアか否かの判定が難しいデータを出力する。データベース100に格納されている未学習データは、例えば、未学習データ本体(例えば、コードやプログラムなどの実行ファイル)と、その実行ファイルがマルウェアであるかグッドウェアであるかを表す情報(以下、分類情報という。)と、その実行ファイルのマルウェアらしさを示すスコアとの組で構成されている。   The learning data extraction unit 10 uses the unlearned data stored in the unlearned database 100 and outputs data that is difficult to determine whether it is malware by machine learning. The unlearned data stored in the database 100 includes, for example, an unlearned data main body (for example, an executable file such as a code or a program) and information indicating whether the executable file is malware or goodware (hereinafter referred to as “goodware”). It is composed of a set of classification information) and a score indicating the malware likeness of the executable file.

具体的には、学習データ抽出部10は、未学習データベース100に格納されている未学習データのうち、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータ(データAとする。)、および、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータ(データBとする。)を、機械学習によるマルウェアか否かの判定が難しいデータとして抽出する。   Specifically, the learning data extraction unit 10 is data that is goodware among the unlearned data stored in the unlearned database 100 but has a score equal to or higher than a predetermined first threshold value. (It is assumed that the data is A.) and whether the data is assumed to be malware but the score is less than a predetermined second threshold value (referred to as data B) is determined by machine learning as to whether it is malware. Is extracted as difficult data.

第1しきい値(データAを抽出するためのしきい値)と第2しきい値(データBを抽出するためのしきい値)とは異なっていてもよいし同じでもよい。第1しきい値を高くしたり、第2しきい値を低くしたりすると抽出されるデータ数が少なくなる。第1しきい値を低くしたり、第2しきい値を高くしたりすると抽出されるデータ数が多くなる。前者は効率重視の調整、後者は精度重視の調整といえる。   The first threshold value (threshold value for extracting data A) and the second threshold value (threshold value for extracting data B) may be different or the same. If the first threshold value is increased or the second threshold value is decreased, the number of extracted data decreases. If the first threshold value is lowered or the second threshold value is raised, the number of extracted data increases. The former can be said to be an efficiency-oriented adjustment, and the latter is an accuracy-oriented adjustment.

なお、機械学習によるマルウェアか否かの判定が難しいデータの基準として、他の基準を用いてもよい。   In addition, you may use another reference | standard as a reference | standard of the data with which it is difficult to determine whether it is malware by machine learning.

分類器更新部20は、学習済みデータベース101に格納されている全ての学習済みデータ、および学習データ抽出部10が抽出した機械学習によるマルウェアか否かの判定が難しいデータ(データAおよびデータB)について学習を行い、分類器40を更新する。   The classifier update unit 20 has all the learned data stored in the learned database 101 and data that is difficult to determine whether it is malware by machine learning extracted by the learning data extraction unit 10 (data A and data B). Is learned and the classifier 40 is updated.

具体的には、分類器更新部20は、学習済みデータベース101に格納されている全ての学習済みデータと、学習データ抽出部10が抽出したデータAおよびデータB中の未学習データ本体、ならびに、学習済みデータベース101に格納されている全ての学習済みデータの分類情報および学習データ抽出部10が抽出したデータAおよびデータB中の未学習データ本体の分類情報を受け取り、それらについて機械学習を行う。   Specifically, the classifier update unit 20 includes all the learned data stored in the learned database 101, the unlearned data main body in the data A and data B extracted by the learning data extraction unit 10, and The classification information of all the learned data stored in the learned database 101 and the classification information of the unlearned data main body in the data A and the data B extracted by the learning data extraction unit 10 are received, and machine learning is performed on them.

データベース更新部30は、分類器更新部20が分類器40を更新した後、学習データ抽出部20が抽出したデータを学習済みデータベース101に追加する。その後、未学習データベース100を空にする。また、データベース更新部30は、判定部50が判定結果120を出力した後、対象ファイル110と判定結果120に含まれるスコアとを組にして未学習データベース100に追加する。このとき、分類情報は空の状態で未学習データベース100に追加される。なお、対象ファイル110は、マルウェアであるかグッドウェアであるかの分類が未知の実行ファイルである。   The database update unit 30 adds the data extracted by the learning data extraction unit 20 to the learned database 101 after the classifier update unit 20 updates the classifier 40. Thereafter, the unlearned database 100 is emptied. Further, after the determination unit 50 outputs the determination result 120, the database update unit 30 adds the target file 110 and the score included in the determination result 120 to the unlearned database 100 as a set. At this time, the classification information is added to the unlearned database 100 in an empty state. Note that the target file 110 is an execution file whose classification as malware or goodware is unknown.

分類器40は、対象ファイル110のマルウェアらしさを示すスコアを算出する。   The classifier 40 calculates a score indicating the malware likeness of the target file 110.

判定部50は、スコアを基に対象ファイル110がマルウェアか否かを判定し、判定結果120を出力する。判定部50は、一例として、スコアがあらかじめ定められたしきい値以上であればマルウェアであると判定し、しきい値未満であればグッドウェアとするしきい値判定を用いる。なお、判定結果120は、マルウェアまたはグッドウェアの分類とスコアとを含む。   The determination unit 50 determines whether the target file 110 is malware based on the score, and outputs a determination result 120. For example, the determination unit 50 determines that the malware is malware if the score is equal to or higher than a predetermined threshold value, and uses threshold determination that determines goodware if the score is less than the threshold value. The determination result 120 includes malware or goodware classification and score.

判定方法としてしきい値判定を用いる場合、しきい値を大きくすると、判定率(マルウェアがそうであると判定される率)は下がるが誤判定率も下がる。しきい値を減少させると、判定率と誤判定率の双方が上がる。ただし、しきい値と判定率および誤判定率は比例せず、ROC 曲線(Receiver Operating Characteristic curve )に従う。すなわち、あるしきい値の範囲ではしきい値を増やしても誤判定率はそれほど上がらず、判定率は非常に上がることが知られている。従って、あらかじめ適切にしきい値を調整することにより、許容範囲内に誤判定率を収めつつ、比較的高い判定率を得られるようにすることが好ましい。   When threshold determination is used as the determination method, if the threshold is increased, the determination rate (the rate at which malware is determined to be) decreases, but the false determination rate also decreases. Decreasing the threshold increases both the determination rate and the erroneous determination rate. However, the threshold is not proportional to the decision rate and false decision rate, and follows the ROC curve (Receiver Operating Characteristic curve). In other words, it is known that the misjudgment rate does not increase so much even if the threshold value is increased within a certain threshold range, and the judgment rate is very high. Therefore, it is preferable to appropriately adjust the threshold in advance so that a relatively high determination rate can be obtained while keeping the erroneous determination rate within the allowable range.

一例として、あらかじめ用意されたテスト用の対象ファイルをホールドアウト検証し、得られたスコアから、許容範囲内に誤判定率が収まるようにしきい値を決める方法が採用される。   As an example, a method is adopted in which a test target file prepared in advance is subjected to holdout verification, and a threshold value is determined from an obtained score so that an erroneous determination rate is within an allowable range.

分類情報入力部60は、分類情報130を基に未学習データベース100に格納されている未学習データのうち分類情報の更新対象となるデータを決め、当該データの分類情報を更新する。分類情報130は、未学習データのうちどのデータが更新対象となるかを決定するためのIDと、マルウェアであるかグッドウェアであるかを表す分類情報との組からなる。   Based on the classification information 130, the classification information input unit 60 determines data to be updated for classification information among the unlearned data stored in the unlearned database 100, and updates the classification information of the data. The classification information 130 is composed of a set of an ID for determining which data to be updated among unlearned data and classification information indicating whether it is malware or goodware.

なお、学習データ抽出部10、分類器更新部20、データベース更新部30、分類器40、判定部50および分類情報入力部60(通信機能を実現するためのハードウェア部分を除く。)は、プログラム記憶部に格納されたプログラムにもとづいてCPU(Central Processing Unit )が処理を実行することによって実現可能である。しかし、それらは、ハードウェア(個別回路またはLSI(Large Scale Integration ))で実現されてもよい。   Note that the learning data extraction unit 10, the classifier update unit 20, the database update unit 30, the classifier 40, the determination unit 50, and the classification information input unit 60 (excluding the hardware part for realizing the communication function) are programs. This can be realized by a CPU (Central Processing Unit) executing processing based on a program stored in the storage unit. However, they may be realized by hardware (individual circuit or LSI (Large Scale Integration)).

次に、マルウェア判定装置1の動作を説明する。   Next, the operation of the malware determination device 1 will be described.

図2は、マルウェア判定装置1の学習フェーズの処理の一例を示すフローチャートである。図3は、学習フェーズが開始されるときに未学習データベース100および学習済みデータベース101に格納されているデータを示す説明図である。   FIG. 2 is a flowchart illustrating an example of the learning phase process of the malware determination apparatus 1. FIG. 3 is an explanatory diagram showing data stored in the unlearned database 100 and the learned database 101 when the learning phase is started.

図3に示すように、未学習データベース100には、未学習データ(コードやプログラム等の未学習データ本体、分類情報、および実行ファイルのマルウェアらしさを示すスコアとの組)がIDとともに格納されている。   As shown in FIG. 3, the unlearned database 100 stores unlearned data (a set of unlearned data main body such as codes and programs, classification information, and a score indicating the malware likeness of an executable file) together with an ID. Yes.

図2に示すように、学習データ抽出部10は、未学習データベース100に格納されている未学習データのうち、マルウェアらしさを示すスコアがあらかじめ定められたしきい値以上のグッドウェアに分類されているデータ(データA)と、マルウェアらしさを示すスコアがあらかじめ定められたしきい値未満のマルウェアに分類されているデータ(データB)を、機械学習によるマルウェアか否かの判定が難しいデータとして抽出する(ステップS101)。   As shown in FIG. 2, the learning data extraction unit 10 is classified into goodware having a score indicating the likelihood of malware out of the unlearned data stored in the unlearned database 100 above a predetermined threshold. Data (data A) and data (data B) classified as malware with a malware score that is less than a predetermined threshold are extracted as data that is difficult to determine whether it is malware by machine learning (Step S101).

分類器更新部20は、ステップS101の処理で抽出されたデータA,Bと、学習済みデータベース101に格納されている全ての学習済みデータとを学習して、分類器40を更新する(ステップS102)。   The classifier update unit 20 learns the data A and B extracted in the process of step S101 and all the learned data stored in the learned database 101, and updates the classifier 40 (step S102). ).

データベース更新部30は、ステップS101の処理で抽出されたデータA,Bを学習済みデータベース101に追加し、未学習データベース100を空にする(ステップS103)。   The database update unit 30 adds the data A and B extracted in the process of step S101 to the learned database 101, and empties the unlearned database 100 (step S103).

図4は、マルウェア判定装置1の判定フェーズの処理の一例を示すフローチャートである。   FIG. 4 is a flowchart illustrating an example of the determination phase process of the malware determination apparatus 1.

図4に示すように、分類器40は、対象ファイル110のマルウェアらしさを示すスコアを算出する(ステップS111)。判定部50は、算出されたスコアを基に、対象ファイル110がマルウェアであるか否か判定する(ステップS112)。上述したように、判定部50は、例えば、算出されたスコアが所定のしきい値以上であればマルウェアと判定し、しきい値未満であればグッドウェアと判定する。そして、判定部50は、判定結果120を出力する。判定結果120は、マルウェアまたはグッドウェアの分類情報とスコアとを含む。   As shown in FIG. 4, the classifier 40 calculates a score indicating the malware likeness of the target file 110 (step S111). The determination unit 50 determines whether the target file 110 is malware based on the calculated score (step S112). As described above, for example, the determination unit 50 determines malware if the calculated score is equal to or greater than a predetermined threshold, and determines goodware if the calculated score is less than the threshold. Then, the determination unit 50 outputs a determination result 120. The determination result 120 includes malware or goodware classification information and a score.

データベース更新部30は、対象ファイル110と判定結果120に含まれるスコアとを組にして未学習データベース100に追加する(ステップS113)。ただし、分類情報が空の状態で未学習データベース100に追加される。   The database update unit 30 adds the target file 110 and the score included in the determination result 120 to the unlearned database 100 as a set (step S113). However, the classification information is added to the unlearned database 100 in an empty state.

図5は、分類情報入力処理を示すフローチャートである。図5に示すように、分類情報入力部60は、分類情報130に含まれるIDを参照して、未学習データベース100のうち、IDに対応するデータについてのマルウェアであるかグッドウェアであるかの分類情報を、分類情報130に含まれるマルウェアであるかグッドウェアであるかの分類情報で更新する(ステップS121)。   FIG. 5 is a flowchart showing classification information input processing. As shown in FIG. 5, the classification information input unit 60 refers to the ID included in the classification information 130 to determine whether the data corresponding to the ID in the unlearned database 100 is malware or goodware. The classification information is updated with the classification information indicating whether it is malware or goodware included in the classification information 130 (step S121).

なお、分類情報130は、例えば、マルウェア判定装置1の外部から対象ファイル110ととともに入力される情報である。   The classification information 130 is information input together with the target file 110 from the outside of the malware determination device 1, for example.

以上に説明したように、本実施形態では、マルウェア判定装置1は、分類器40への学習がまだ行われていない実行ファイル(未学習データ本体)、その実行ファイルがマルウェアであるかグッドウェアであるかを表す分類情報、その実行ファイルのマルウェアらしさを示すスコアを含む未学習データから機械学習によるマルウェアか否かの判定が難しいデータを抽出する学習データ抽出部10と、学習データ抽出部10が抽出した機械学習によるマルウェアか否かの判定が難しいデータと学習済みデータとを対象として学習を行って分類器40を更新する分類器更新部20と、未学習データが格納される未学習データベース100および学習済みデータが格納される学習済みデータベース101の内容を更新するデータベース更新部30と、マルウェアであるか否かの判定対象となる対象ファイル110のマルウェアらしさを示すスコアを算出する分類器40と、算出されたスコアに基づいて対象ファイル110がマルウェアであるか否かを判定する判定部50と、未学習データベース100中のIDが合致する未学習データの分類情報を更新する分類情報入力部60とを備えている。   As described above, in this embodiment, the malware determination device 1 is an executable file (unlearned data body) that has not yet been learned by the classifier 40, and the executable file is malware or goodware. A learning data extraction unit 10 that extracts data that is difficult to determine whether it is malware by machine learning from unlearned data that includes classification information that indicates whether or not there is a score that indicates the malware likeness of the executable file, and a learning data extraction unit 10 The classifier update unit 20 that updates the classifier 40 by learning the extracted data and the data that is difficult to determine whether it is malware by machine learning, and the unlearned database 100 in which the unlearned data is stored And a database update unit 30 for updating the content of the learned database 101 in which the learned data is stored. A classifier 40 that calculates a score indicating the malware likeness of the target file 110 that is a determination target of whether or not it is malware, and a determination unit that determines whether or not the target file 110 is malware based on the calculated score 50, and a classification information input unit 60 for updating the classification information of the unlearned data whose ID in the unlearned database 100 matches.

また、本実施形態では、マルウェア判定方法は、マルウェア判定装置1で実行されるマルウェア判定方法であって、分類器40への学習がまだ行われていない実行ファイル(未学習データ本体)、その実行ファイルがマルウェアであるかグッドウェアであるかを表す分類情報、その実行ファイルのマルウェアらしさを示すスコアを含む未学習データから機械学習によるマルウェアか否かの判定が難しいデータを抽出する学習データ抽出工程と、学習データ抽出工程で抽出された機械学習によるマルウェアか否かの判定が難しいデータと学習済みデータとを対象として学習を行って分類器40を更新する分類器更新工程と、未学習データが格納される未学習データベース100および学習済みデータが格納される学習済みデータベース101の内容を更新するデータベース更新工程と、マルウェアか否かの判定対象となる対象ファイルから対象ファイルのマルウェアらしさを示すスコアを算出する分類工程と、算出されたスコアに基づいて対象ファイルがマルウェアであるか否かを判定する判定工程と、未学習データベース100中のIDが合致する未学習データの分類情報を更新する分類情報入力工程とを備えている。   Moreover, in this embodiment, the malware determination method is a malware determination method executed by the malware determination apparatus 1, and is an executable file (unlearned data body) that has not yet been learned to the classifier 40, and its execution A learning data extraction process for extracting data that is difficult to determine whether it is malware by machine learning from unlearned data including classification information indicating whether the file is malware or goodware and a score indicating the malware likeness of the executable file A classifier update step of updating the classifier 40 by performing learning on data that is difficult to determine whether it is malware or not by machine learning extracted in the learning data extraction step, and unlearned data The stored unlearned database 100 and the learned database 101 in which learned data is stored A database update step for updating the content, a classification step for calculating a score indicating the malware likeness of the target file from the target file to be determined whether it is malware, and whether the target file is malware based on the calculated score A determination step of determining whether or not, and a classification information input step of updating the classification information of the unlearned data whose ID in the unlearned database 100 matches.

そのような構成にもとづいて、未学習データの全てを対象として学習が行われるのではなく、分類器40が明確に分類することができなかったデータのみについて学習が行われる。すなわち、分類器40が既に適切に学習できているデータは学習対象から外される。よって、学習に要する時間が短縮される。また、誤検出(False Positive)を増大しないようにしつつ、検知漏れ(False Negative)が少ない機械学習によるマルウェア判定を行うことができる。   Based on such a configuration, learning is not performed on all unlearned data, but learning is performed only on data that the classifier 40 cannot clearly classify. That is, data that has already been properly learned by the classifier 40 is excluded from the learning target. Therefore, the time required for learning is shortened. In addition, it is possible to perform malware determination by machine learning with less false negatives while preventing false detections (False Positive) from increasing.

なお、従来技術では、マルウェア判定の精度を向上させるために、多くのデータを学習する分類器が作成されていた。亜種のマルウェアや新種のマルウェアに対する判定精度を維持するには学習を継続して行って分類器を最新の状態に保つことが求められ、かつ、データの学習に要する時間がデータ数の増加に応じて増大するので、長期間に亘る運用に支障を来しかねないという課題がある。また、機械学習では、分類器がどのような尺度を用いてスコアを算出しているかが人間にとって分かりづらいので、判定精度を維持しながら学習データを削減することが困難であった。   In the prior art, in order to improve the accuracy of malware determination, a classifier that learns a lot of data has been created. In order to maintain the accuracy of detection of variants and new types of malware, it is necessary to continue learning to keep the classifier up-to-date, and the time required for data learning increases. Since it increases according to the problem, there is a problem that it may hinder long-term operation. Also, in machine learning, it is difficult for humans to understand what scale the classifier uses to calculate the score, so it is difficult to reduce learning data while maintaining determination accuracy.

なお、図1に示されたマルウェア判定装置1における各要素、未学習データベース100、および学習済みデータベース101は、機能に着目して、役割が割り当てられているが、各要素等の構成の仕方は、図1に示された例に限定されない。   Note that each element, the unlearned database 100, and the learned database 101 in the malware determination apparatus 1 shown in FIG. 1 are assigned roles with a focus on functions. The embodiment is not limited to the example shown in FIG.

図6は、本発明によるマルウェア判定装置の主要部を示すブロック図である。図6に示すマルウェア判定装置80は、未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出する抽出手段81(実施形態では、学習データ抽出部10で実現される。)と、判定対象データのマルウェアらしさを示すスコアを算出する分類手段82(実施形態では、分類器40で実現される。)と、抽出手段81が抽出したデータと学習済みデータとを対象として学習を行って分類手段82を更新する更新手段83(実施形態では、分類器更新部20で実現される。)と、分類手段が算出したスコアにもとづいて判定対象データがマルウェアか否か判定する判定手段84(実施形態では、判定部50で実現される。)とを備えている。   FIG. 6 is a block diagram showing a main part of the malware determination device according to the present invention. The malware determination device 80 illustrated in FIG. 6 includes extraction means 81 (implemented by the learning data extraction unit 10 in the embodiment) that extracts data that is difficult to determine whether it is malware by machine learning from unlearned data. The classifying means 82 (which is realized by the classifier 40 in the embodiment) that calculates the malware-like score of the determination target data, and the data extracted by the extracting means 81 and the learned data are subjected to learning. Update means 83 for updating the classification means 82 (in the embodiment, realized by the classifier update unit 20), and determination means 84 for determining whether the determination target data is malware based on the score calculated by the classification means. (In the embodiment, it is realized by the determination unit 50).

マルウェア判定装置80で実行されるマルウェア判定方法は、未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出し、機械学習モデル(例えば、分類器40)を更新するために、抽出されたデータと学習済みデータとを対象として学習し、判定対象データのマルウェアらしさを示すスコアを算出し、算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する。   The malware determination method executed by the malware determination device 80 extracts data that is difficult to determine whether it is malware by machine learning from unlearned data, and updates a machine learning model (for example, the classifier 40). Learning is performed on the extracted data and learned data, a score indicating the malware likeness of the determination target data is calculated, and it is determined whether the determination target data is malware based on the calculated score.

図7は、本発明による他の態様のマルウェア判定装置の主要部を示すブロック図である。図7に示すマルウェア判定装置80は、未学習データがマルウェアとされているのかグッドウェアとされているのかを表す情報を入力する分類情報入力手段85をさらに備えている。   FIG. 7 is a block diagram showing a main part of a malware determination device according to another aspect of the present invention. The malware determination device 80 shown in FIG. 7 further includes classification information input means 85 that inputs information indicating whether the unlearned data is malware or goodware.

1 マルウェア判定装置
10 学習データ抽出部
20 分類器更新部
30 データベース更新部
40 分類器
50 判定部
60 分類情報入力部
80 マルウェア判定装置
81 抽出手段
82 分類手段
83 更新手段
84 判定手段
85 分類情報入力手段
100 未学習データベース
101 学習済みデータベース
110 対象ファイル
120 判定結果
130 分類情報
DESCRIPTION OF SYMBOLS 1 Malware determination apparatus 10 Learning data extraction part 20 Classifier update part 30 Database update part 40 Classifier 50 Determination part 60 Classification information input part 80 Malware determination apparatus 81 Extraction means 82 Classification means 83 Update means 84 Determination means 85 Classification information input means 100 unlearned database 101 learned database 110 target file 120 determination result 130 classification information

Claims (8)

機械学習を利用してマルウェア判定を行うマルウェア判定方法であって、
未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出し、
機械学習を更新するために、抽出された前記データと学習済みデータとを対象として学習し、
判定対象データのマルウェアらしさを示すスコアを算出し、
算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する
ことを特徴とするマルウェア判定方法。
A malware determination method for performing malware determination using machine learning,
From unlearned data, extract data that is difficult to determine whether it is malware by machine learning,
In order to update machine learning, learning is performed on the extracted data and learned data,
Calculate a score indicating the malware likeness of the data to be judged,
A malware determination method characterized by determining whether or not the determination target data is malware based on the calculated score.
グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを、機械学習によるマルウェアか否かの判定が難しいデータとして抽出する
請求項1記載のマルウェア判定方法。
Data that is considered goodware but has a score equal to or higher than a predetermined first threshold value, and data that is considered malware but has a score lower than a predetermined second threshold value, The malware determination method according to claim 1, wherein the malware is extracted as data that is difficult to determine whether it is malware by machine learning.
未学習データがマルウェアとされているのかグッドウェアとされているのかを表す情報を入力する
請求項2記載のマルウェア判定方法。
The malware determination method according to claim 2, wherein information indicating whether the unlearned data is malware or goodware is input.
機械学習を利用してマルウェア判定を行うマルウェア判定装置であって、
未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出する抽出手段と、
判定対象データのマルウェアらしさを示すスコアを算出する分類手段と、
前記抽出手段が抽出した前記データと学習済みデータとを対象として学習を行って前記分類手段を更新する更新手段と、
前記分類手段が算出したスコアにもとづいて判定対象データがマルウェアか否か判定する判定手段と
を備えたことを特徴とするマルウェア判定装置。
A malware determination device that performs machine determination using machine learning,
Extraction means for extracting data that is difficult to determine whether it is malware by machine learning from unlearned data;
Classification means for calculating a score indicating the malware likeness of the determination target data;
Updating means for performing learning on the data extracted by the extraction means and learned data and updating the classification means;
A malware determination apparatus comprising: determination means for determining whether or not the determination target data is malware based on the score calculated by the classification means.
抽出手段は、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを、機械学習によるマルウェアか否かの判定が難しいデータとして抽出する
請求項4記載のマルウェア判定装置。
The extraction means is goodware, but the score is equal to or higher than a predetermined first threshold value, and the malware is considered to be malware but the score is lower than a predetermined second threshold value. The malware determination apparatus according to claim 4, wherein the data is extracted as data that is difficult to determine whether it is malware by machine learning.
未学習データがマルウェアとされているのかグッドウェアとされているのかを表す情報を入力する分類情報入力手段をさらに備えた請求項5記載のマルウェア判定装置。   6. The malware determination apparatus according to claim 5, further comprising classification information input means for inputting information indicating whether the unlearned data is malware or goodware. 機械学習を利用してマルウェア判定を行うマルウェア判定を行うためのマルウェア判定プログラムであって、
コンピュータに、
未学習データから、機械学習によるマルウェアか否かの判定が難しいデータを抽出する処理と、
機械学習を更新するために、抽出された前記データと学習済みデータとを対象として学習する処理と、
判定対象データのマルウェアらしさを示すスコアを算出する処理と、
算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する処理と
を実行させるためのマルウェア判定プログラム。
A malware determination program for performing malware determination using machine learning to determine malware,
On the computer,
A process of extracting data that is difficult to determine whether it is malware by machine learning from unlearned data,
A process of learning the extracted data and learned data to update machine learning;
A process of calculating a score indicating the malware likeness of the determination target data;
A malware determination program for executing a process of determining whether or not the determination target data is malware based on the calculated score.
コンピュータに、
グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを、機械学習によるマルウェアか否かの判定が難しいデータとして抽出させるための請求項7記載のマルウェア判定プログラム。
On the computer,
Data that is considered goodware but has a score equal to or higher than a predetermined first threshold value, and data that is considered malware but has a score lower than a predetermined second threshold value, The malware determination program according to claim 7 for extracting data as difficult to determine whether it is malware by machine learning.
JP2017057900A 2017-03-23 2017-03-23 Malware judgment method, malware judgment device and malware judgment program Active JP6880891B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017057900A JP6880891B2 (en) 2017-03-23 2017-03-23 Malware judgment method, malware judgment device and malware judgment program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017057900A JP6880891B2 (en) 2017-03-23 2017-03-23 Malware judgment method, malware judgment device and malware judgment program

Publications (2)

Publication Number Publication Date
JP2018160172A true JP2018160172A (en) 2018-10-11
JP6880891B2 JP6880891B2 (en) 2021-06-02

Family

ID=63795200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017057900A Active JP6880891B2 (en) 2017-03-23 2017-03-23 Malware judgment method, malware judgment device and malware judgment program

Country Status (1)

Country Link
JP (1) JP6880891B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021260770A1 (en) * 2020-06-22 2021-12-30 日本電信電話株式会社 Recognizer training device, recognizer training method, and recognizer training program
WO2022009274A1 (en) * 2020-07-06 2022-01-13 日本電信電話株式会社 Security setting support device, security setting support method, and program
WO2023248948A1 (en) * 2022-06-24 2023-12-28 株式会社東京ウエルズ Learning device, learning method, and learning program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014511536A (en) * 2011-03-01 2014-05-15 シマンテック コーポレーション User interface and workflow for machine learning
JP2016076073A (en) * 2014-10-06 2016-05-12 日本電気株式会社 Data processing device, data processing method, and computer program
JP2016206950A (en) * 2015-04-22 2016-12-08 日本電信電話株式会社 Perusal training data output device for malware determination, malware determination system, malware determination method, and perusal training data output program for malware determination
JP2017004123A (en) * 2015-06-05 2017-01-05 日本電信電話株式会社 Determination apparatus, determination method, and determination program
US20170032279A1 (en) * 2015-07-31 2017-02-02 Acuity Solutions Corporation System and method for in-situ classifier retraining for malware identification and model heterogeneity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014511536A (en) * 2011-03-01 2014-05-15 シマンテック コーポレーション User interface and workflow for machine learning
JP2016076073A (en) * 2014-10-06 2016-05-12 日本電気株式会社 Data processing device, data processing method, and computer program
JP2016206950A (en) * 2015-04-22 2016-12-08 日本電信電話株式会社 Perusal training data output device for malware determination, malware determination system, malware determination method, and perusal training data output program for malware determination
JP2017004123A (en) * 2015-06-05 2017-01-05 日本電信電話株式会社 Determination apparatus, determination method, and determination program
US20170032279A1 (en) * 2015-07-31 2017-02-02 Acuity Solutions Corporation System and method for in-situ classifier retraining for malware identification and model heterogeneity

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021260770A1 (en) * 2020-06-22 2021-12-30 日本電信電話株式会社 Recognizer training device, recognizer training method, and recognizer training program
JP7400972B2 (en) 2020-06-22 2023-12-19 日本電信電話株式会社 Recognizer learning device, recognizer learning method, and recognizer learning program
WO2022009274A1 (en) * 2020-07-06 2022-01-13 日本電信電話株式会社 Security setting support device, security setting support method, and program
JP7468658B2 (en) 2020-07-06 2024-04-16 日本電信電話株式会社 SECURITY SETTING SUPPORT DEVICE, SECURITY SETTING SUPPORT METHOD, AND PROGRAM
WO2023248948A1 (en) * 2022-06-24 2023-12-28 株式会社東京ウエルズ Learning device, learning method, and learning program

Also Published As

Publication number Publication date
JP6880891B2 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
CN109145600B (en) System and method for detecting malicious files using static analysis elements
Alazab et al. Malware detection based on structural and behavioural features of API calls
US11165790B2 (en) Malicious communication log detection device, malicious communication log detection method, and malicious communication log detection program
KR101337874B1 (en) System and method for detecting malwares in a file based on genetic map of the file
WO2019002603A1 (en) Method of monitoring the performance of a machine learning algorithm
KR20170108330A (en) Apparatus and method for detecting malware code
US20190228154A1 (en) Malware sequence detection
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
JP6039768B1 (en) ADJUSTMENT DEVICE, ADJUSTMENT METHOD, AND ADJUSTMENT PROGRAM
US20180225453A1 (en) Method for detecting a threat and threat detecting apparatus
KR102317833B1 (en) method for machine LEARNING of MALWARE DETECTING MODEL AND METHOD FOR detecting Malware USING THE SAME
US11797668B2 (en) Sample data generation apparatus, sample data generation method, and computer readable medium
US20220222372A1 (en) Automated data masking with false positive detection and avoidance
JP6880891B2 (en) Malware judgment method, malware judgment device and malware judgment program
CN110659486A (en) System and method for detecting malicious files using two-level file classification
JP2017004123A (en) Determination apparatus, determination method, and determination program
KR101963756B1 (en) Apparatus and method for learning software vulnerability prediction model, apparatus and method for analyzing software vulnerability
JP2014229115A (en) Information processing device and method, program, and storage medium
Miura et al. Macros finder: Do you remember loveletter?
KR20180133726A (en) Appratus and method for classifying data using feature vector
Yuan et al. Android applications categorization using bayesian classification
CN113378161A (en) Security detection method, device, equipment and storage medium
JP6954466B2 (en) Generation method, generation device and generation program
JP6935849B2 (en) Learning methods, learning devices and learning programs
CN109472141B (en) Method and system for detecting malicious code based on time-series difference

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201127

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: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150