JP6880891B2 - Malware judgment method, malware judgment device and malware judgment program - Google Patents

Malware judgment method, malware judgment device and malware judgment program Download PDF

Info

Publication number
JP6880891B2
JP6880891B2 JP2017057900A JP2017057900A JP6880891B2 JP 6880891 B2 JP6880891 B2 JP 6880891B2 JP 2017057900 A JP2017057900 A JP 2017057900A JP 2017057900 A JP2017057900 A JP 2017057900A JP 6880891 B2 JP6880891 B2 JP 6880891B2
Authority
JP
Japan
Prior art keywords
malware
data
score
judgment
unlearned
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
Application number
JP2017057900A
Other languages
Japanese (ja)
Other versions
JP2018160172A (en
Inventor
拓弥 兼子
拓弥 兼子
由也 木津
由也 木津
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

Description

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

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

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

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

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

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

特開2016−206950号公報Japanese Unexamined Patent Publication No. 2016-206950

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

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

標的型攻撃やランサムウェア等、攻撃が多様化および深刻化している。そのような状況の下では、False Positiveの低減による運用性の向上に加えて、False Negativeの低減による安全性の向上も重要である。 Attacks such as targeted attacks and ransomware are becoming more diverse and 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)が少ない機械学習によるマルウェア判定を行うことを目的とする。 An object of the present invention is to perform malware determination by machine learning with less detection omission (False Negative) while preventing a decrease in efficiency and an increase in false detection (False Positive).

本発明によるマルウェア判定方法は、機械学習を利用してマルウェア判定を行うマルウェア判定方法であって、未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出し、機械学習モデルを更新するために、抽出されたデータと学習済みデータとを対象として学習し、判定対象データのマルウェアらしさを示すスコアを算出し、算出されたスコアにもとづいて判定対象データがマルウェアか否か判定することを特徴とする。 The malware determination method according to the present invention is a malware determination method that uses machine learning to determine malware, and is considered to be goodware from unlearned data, but has a score of a predetermined first threshold value or higher. And the extracted data and the trained data in order to extract the data that is considered to be malware but the score is less than the predetermined second threshold value and update the machine learning model. It is characterized in that it learns about the target data, calculates a score indicating the malware-likeness of the judgment target data, and determines whether or not the judgment target data is malware based on the calculated score.

本発明によるマルウェア判定装置は、機械学習を利用してマルウェア判定を行うマルウェア判定装置であって、未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出する抽出手段と、判定対象データのマルウェアらしさを示すスコアを算出する分類手段と、抽出手段が抽出したデータと学習済みデータとを対象として学習を行って分類手段を更新する更新手段と、分類手段が算出したスコアにもとづいて判定対象データがマルウェアか否か判定する判定手段とを備えたことを特徴とする。 The malware determination device according to the present invention is a malware determination device that determines malware by using machine learning, and is considered to be goodware from unlearned data, but has a score of a predetermined first threshold value or higher. An extraction means for extracting data that is considered to be malware and data whose score is less than a predetermined second threshold value, and a classification means for calculating a score indicating the malware-likeness of the judgment target data. , An update means for updating the classification means by learning the data extracted by the extraction means and the learned data, and a judgment means for determining whether the judgment target data is malware based on the score calculated by the classification means. It is characterized by having.

本発明によるマルウェア判定プログラムは、機械学習を利用してマルウェア判定を行うマルウェア判定を行うためのマルウェア判定プログラムであって、コンピュータに、未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出する処理と、機械学習モデルを更新するために、抽出されたデータと学習済みデータとを対象として学習する処理と、判定対象データのマルウェアらしさを示すスコアを算出する処理と、算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する処理とを実行させることを特徴とする。 The malware determination program according to the present invention is a malware determination program for performing malware determination using machine learning, and is regarded as goodware from unlearned data on a computer, but a score is predetermined. To update the machine learning model and the process of extracting the data that is equal to or higher than the first threshold value and the data that is considered to be malware but whose score is less than the predetermined second threshold value. In addition, the process of learning the extracted data and the learned data, the process of calculating the score indicating the malware-likeness of the judgment target data, and the judgment of whether the judgment target data is malware based on the calculated score. It is characterized in that the processing to be performed is executed.

本発明によれば、効率の低下や誤検出を増大しないようにしつつ、検知漏れが少ない機械学習によるマルウェア判定を行うことができる。 According to the present invention, it is possible to perform malware determination by machine learning with few omissions of detection while preventing a decrease in efficiency and an increase in false detection.

マルウェア判定装置の一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of a malware determination apparatus. マルウェア判定装置の学習フェーズの処理の一例を示すフローチャートである。It is a flowchart which shows an example of the processing of the learning phase of a malware determination apparatus. 学習フェーズが開始されるときに未学習データベースおよび学習済みデータベースに格納されているデータを示す説明図である。It is explanatory drawing which shows the data stored in the unlearned database and the trained database when a learning phase is started. マルウェア判定装置の判定フェーズの処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the determination phase of the malware determination apparatus. 分類情報入力処理を示すフローチャートである。It is a flowchart which shows the classification information input process. マルウェア判定装置の主要部を示すブロック図である。It is a block diagram which shows the main part of a malware determination device. 他の態様のマルウェア判定装置の主要部を示すブロック図である。It is a block diagram which shows the main 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. Note that FIG. 1 also shows databases (learned database and unlearned database) and the like. Further, in FIG. 1, for ease of explanation, the target file 110, the determination result 120, and the classification information 130 are also shown, but these are the data input to the malware determination device 1 or the malware determination device 1. It is the data output from.

図1に示すマルウェア判定装置1は、学習データ抽出部10、分類器更新部20、データベース更新部30、分類器40、判定部50および分類情報入力部60を備えている。 The malware determination device 1 shown 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 to output data for which it is difficult to determine whether or not the malware is malware by machine learning. The unlearned data stored in the database 100 is, for example, the unlearned data 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 pair 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 among the unlearned data stored in the unlearned database 100, which is considered to be goodware but whose score is equal to or higher than a predetermined first threshold value. (Data A) and data (data B) that is considered to be malware but whose score is less than the predetermined second threshold value is determined as to whether or not it is malware by machine learning. 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 raised or the second threshold value is lowered, the number of data to be extracted decreases. When the first threshold value is lowered or the second threshold value is raised, the number of data to be extracted increases. It can be said that the former is an adjustment that emphasizes efficiency and the latter is an adjustment that emphasizes accuracy.

なお、機械学習によるマルウェアか否かの判定が難しいデータの基準として、他の基準を用いてもよい。 It should be noted that other criteria may be used as criteria for data for which it is difficult to determine whether or not the malware is malware by machine learning.

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

具体的には、分類器更新部20は、学習済みデータベース101に格納されている全ての学習済みデータと、学習データ抽出部10が抽出したデータAおよびデータB中の未学習データ本体、ならびに、学習済みデータベース101に格納されている全ての学習済みデータの分類情報および学習データ抽出部10が抽出したデータAおよびデータB中の未学習データ本体の分類情報を受け取り、それらについて機械学習を行う。 Specifically, the classifier update unit 20 includes all the trained data stored in the trained database 101, the unlearned data main body in the data A and the data B extracted by the training data extraction unit 10, and the untrained data body in the data B. 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. After that, 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 pair. At this time, the classification information is added to the unlearned database 100 in an empty state. The target file 110 is an executable 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 or not the target file 110 is malware based on the score, and outputs the determination result 120. As an example, the determination unit 50 uses a threshold value determination in which if the score is equal to or higher than a predetermined threshold value, it is determined to be malware, and if it is less than the threshold value, it is regarded as goodware. The determination result 120 includes the classification and score of malware or goodware.

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

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

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

なお、学習データ抽出部10、分類器更新部20、データベース更新部30、分類器40、判定部50および分類情報入力部60(通信機能を実現するためのハードウェア部分を除く。)は、プログラム記憶部に格納されたプログラムにもとづいてCPU(Central Processing Unit )が処理を実行することによって実現可能である。しかし、それらは、ハードウェア(個別回路またはLSI(Large Scale Integration ))で実現されてもよい。 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 achieved by the CPU (Central Processing Unit) executing processing based on the program stored in the storage unit. However, they may be implemented in hardware (individual circuits 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 showing an example of processing in the learning phase of the malware determination device 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, in the unlearned database 100, unlearned data (a set of unlearned data body such as code and program, classification information, and a score indicating malware-likeness of an executable file) is stored together with an ID. There is.

図2に示すように、学習データ抽出部10は、未学習データベース100に格納されている未学習データのうち、マルウェアらしさを示すスコアがあらかじめ定められたしきい値以上のグッドウェアに分類されているデータ(データA)と、マルウェアらしさを示すスコアがあらかじめ定められたしきい値未満のマルウェアに分類されているデータ(データB)を、機械学習によるマルウェアか否かの判定が難しいデータとして抽出する(ステップS101)。 As shown in FIG. 2, the learning data extraction unit 10 classifies the unlearned data stored in the unlearned database 100 into goodware having a score indicating malware-likeness equal to or higher than a predetermined threshold value. Data (data A) and data (data B) that are classified as malware whose score indicating malware-likeness is less than a predetermined threshold are extracted as data for which it is difficult to determine whether or not the data 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 emptys the unlearned database 100 (step S103).

図4は、マルウェア判定装置1の判定フェーズの処理の一例を示すフローチャートである。 FIG. 4 is a flowchart showing an example of processing in the determination phase of the malware determination device 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 or not the target file 110 is malware based on the calculated score (step S112). As described above, the determination unit 50 determines, for example, malware if the calculated score is equal to or higher than a predetermined threshold value, and determines that the score is goodware if it is less than the threshold value. Then, the determination unit 50 outputs the determination result 120. The determination result 120 includes the classification information of malware or goodware and the 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 the classification information input process. As shown in FIG. 5, the classification information input unit 60 refers to the ID included in the classification information 130 and determines 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 of whether it is malware or goodware included in the classification information 130 (step S121).

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

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

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

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

なお、従来技術では、マルウェア判定の精度を向上させるために、多くのデータを学習する分類器が作成されていた。亜種のマルウェアや新種のマルウェアに対する判定精度を維持するには学習を継続して行って分類器を最新の状態に保つことが求められ、かつ、データの学習に要する時間がデータ数の増加に応じて増大するので、長期間に亘る運用に支障を来しかねないという課題がある。また、機械学習では、分類器がどのような尺度を用いてスコアを算出しているかが人間にとって分かりづらいので、判定精度を維持しながら学習データを削減することが困難であった。 In the prior art, a classifier that learns a large amount of data has been created in order to improve the accuracy of malware determination. In order to maintain the judgment accuracy for variants of malware 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 the number of data. Since it increases accordingly, there is a problem that it may hinder long-term operation. Further, 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 the learning data while maintaining the judgment accuracy.

なお、図1に示されたマルウェア判定装置1における各要素、未学習データベース100、および学習済みデータベース101は、機能に着目して、役割が割り当てられているが、各要素等の構成の仕方は、図1に示された例に限定されない。 The elements, the unlearned database 100, and the learned database 101 in the malware determination device 1 shown in FIG. 1 are assigned roles by paying attention to their functions. , 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 shown in FIG. 6 includes an extraction means 81 (in the embodiment, realized by the learning data extraction unit 10) for extracting data from unlearned data for which it is difficult to determine whether or not the malware is malware by machine learning. , Learning is performed on the classification means 82 (in the embodiment, realized by the classifier 40) for calculating the score indicating the malware-likeness of the judgment target data, and the data extracted by the extraction means 81 and the learned data. The update means 83 that updates the classification means 82 (in the embodiment, it is realized by the classifier update unit 20) and the determination means 84 that determines 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 or not it is malware by machine learning from unlearned data, and updates the machine learning model (for example, classifier 40). The extracted data and the learned data are learned as a target, a score indicating the malware-likeness of the judgment target data is calculated, and it is determined whether or not the judgment target data is malware based on the calculated score.

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

1 マルウェア判定装置
10 学習データ抽出部
20 分類器更新部
30 データベース更新部
40 分類器
50 判定部
60 分類情報入力部
80 マルウェア判定装置
81 抽出手段
82 分類手段
83 更新手段
84 判定手段
85 分類情報入力手段
100 未学習データベース
101 学習済みデータベース
110 対象ファイル
120 判定結果
130 分類情報
1 Malware judgment device 10 Learning data extraction unit 20 Classification device update unit 30 Database update unit 40 Classification device 50 Judgment unit 60 Classification information input unit 80 Malfunction judgment device 81 Extraction means 82 Classification means 83 Update means 84 Judgment means 85 Classification information input means 100 Unlearned database 101 Learned database 110 Target file 120 Judgment result 130 Classification information

Claims (5)

機械学習を利用してマルウェア判定を行うマルウェア判定方法であって、
未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出し、
機械学習を更新するために、抽出された前記データと学習済みデータとを対象として学習し、
判定対象データのマルウェアらしさを示すスコアを算出し、
算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する
ことを特徴とするマルウェア判定方法。
It is a malware judgment method that uses machine learning to judge malware.
From unlearned data, data that is considered to be goodware but has a score above the predetermined first threshold, and data that is considered to be malware but has a score below the preset second threshold. Extract some data and
In order to update machine learning, the extracted data and the trained data are trained and trained.
Calculate the score indicating the malware-likeness of the judgment target data,
A malware judgment method characterized in that it judges whether or not the judgment target data is malware based on the calculated score.
未学習データがマルウェアとされているのかグッドウェアとされているのかを表す情報を入力する
請求項記載のマルウェア判定方法。
Malware determination method according to claim 1, wherein the unlearned data to input information indicating whether being as either good ware is malware.
機械学習を利用してマルウェア判定を行うマルウェア判定装置であって、
未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出する抽出手段と、
判定対象データのマルウェアらしさを示すスコアを算出する分類手段と、
前記抽出手段が抽出した前記データと学習済みデータとを対象として学習を行って前記分類手段を更新する更新手段と、
前記分類手段が算出したスコアにもとづいて判定対象データがマルウェアか否か判定する判定手段と
を備えたことを特徴とするマルウェア判定装置。
It is a malware judgment device that uses machine learning to judge malware.
From unlearned data, data that is considered to be goodware but has a score above the predetermined first threshold, and data that is considered to be malware but has a score below the preset second threshold. An extraction method that extracts certain data,
A classification method that calculates a score that indicates the malware-likeness of the data to be judged, and
An update means for updating the classification means by learning the data extracted by the extraction means and the learned data, and an update means.
A malware determination device including a determination unit for determining whether or not the determination target data is malware based on the score calculated by the classification means.
未学習データがマルウェアとされているのかグッドウェアとされているのかを表す情報を入力する分類情報入力手段をさらに備えた請求項記載のマルウェア判定装置。 The malware determination device according to claim 3 , further comprising a classification information input means for inputting information indicating whether unlearned data is regarded as malware or goodware. 機械学習を利用してマルウェア判定を行うマルウェア判定を行うためのマルウェア判定プログラムであって、
コンピュータに、
未学習データから、グッドウェアとされているがスコアがあらかじめ定められている第1しきい値以上であるデータと、マルウェアとされているがスコアがあらかじめ定められている第2しきい値未満であるデータとを抽出する処理と、
機械学習を更新するために、抽出された前記データと学習済みデータとを対象として学習する処理と、
判定対象データのマルウェアらしさを示すスコアを算出する処理と、
算出されたスコアにもとづいて判定対象データがマルウェアか否か判定する処理と
を実行させるためのマルウェア判定プログラム。
A malware judgment program for making malware judgments that uses machine learning to make malware judgments.
On the computer
From unlearned data, data that is considered to be goodware but has a score above the predetermined first threshold, and data that is considered to be malware but has a score below the preset second threshold. The process of extracting certain data and
In order to update machine learning, a process of learning the extracted data and the learned data as a target, and
The process of calculating the score indicating the malware-likeness of the judgment target data, and
A malware judgment program that executes a process to judge whether the judgment target data is malware based on the calculated score.
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 JP2018160172A (en) 2018-10-11
JP6880891B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7400972B2 (en) 2020-06-22 2023-12-19 日本電信電話株式会社 Recognizer learning device, recognizer learning method, and recognizer learning program
US20230269274A1 (en) 2020-07-06 2023-08-24 Nippon Telegraph And Telephone Corporation Security setting support apparatus, security setting support method and program
JP2024002431A (en) * 2022-06-24 2024-01-11 株式会社 東京ウエルズ Learning device, learning method, and learning program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682814B2 (en) * 2010-12-14 2014-03-25 Symantec Corporation User interface and workflow for performing machine learning
JP6446971B2 (en) * 2014-10-06 2019-01-09 日本電気株式会社 Data processing apparatus, 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
JP6742398B2 (en) * 2015-07-31 2020-08-19 ブルヴェクター, インコーポレーテッドBluvector, Inc. System and method for retraining field classifiers for malware identification and model heterogeneity

Also Published As

Publication number Publication date
JP2018160172A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
CN109145600B (en) System and method for detecting malicious files using static analysis elements
US9762593B1 (en) Automatic generation of generic file signatures
Alazab et al. Malware detection based on structural and behavioural features of API calls
JP6880891B2 (en) Malware judgment method, malware judgment device and malware judgment program
US11165790B2 (en) Malicious communication log detection device, malicious communication log detection method, and malicious communication log detection program
JP5936240B2 (en) Data processing apparatus, data processing method, and 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
US20130283382A1 (en) System and method for detecting malware in file based on genetic map of file
CN112005532B (en) Method, system and storage medium for classifying executable files
US11797668B2 (en) Sample data generation apparatus, sample data generation method, and computer readable medium
US20180225453A1 (en) Method for detecting a threat and threat detecting apparatus
US20220222372A1 (en) Automated data masking with false positive detection and avoidance
CN114077741B (en) Software supply chain safety detection method and device, electronic equipment and storage medium
KR101138748B1 (en) Apparatus, system and method for preventing malicious codes
CN110659486A (en) System and method for detecting malicious files using two-level file classification
US20210273964A1 (en) Abnormality sensing device and abnormality sensing method
JP2017004123A (en) Determination apparatus, determination method, and determination program
JP2014229115A (en) Information processing device and method, program, and storage medium
CN113935033A (en) Feature-fused malicious code family classification method and device and storage medium
CN114386046A (en) Unknown vulnerability detection method and device, electronic equipment and storage medium
CN104077527A (en) Method and device for generating virus detection machine and method and device for virus detection
KR20180133726A (en) Appratus and method for classifying data using feature vector
KR102318991B1 (en) Method and device for detecting malware based on similarity
JP6954466B2 (en) Generation method, generation device and generation program
KR101628602B1 (en) Similarity judge method and appratus for judging similarity of program

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 Written amendment

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