JP6787861B2 - Sorting device - Google Patents
Sorting device Download PDFInfo
- Publication number
- JP6787861B2 JP6787861B2 JP2017180011A JP2017180011A JP6787861B2 JP 6787861 B2 JP6787861 B2 JP 6787861B2 JP 2017180011 A JP2017180011 A JP 2017180011A JP 2017180011 A JP2017180011 A JP 2017180011A JP 6787861 B2 JP6787861 B2 JP 6787861B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- benign
- communication log
- data
- malignant
- 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
Description
本発明は、分類装置に関する。 The present invention relates to a classification device.
近年、サイバー攻撃が巧妙化し、ウィルス対策ソフト等による事前対策のみでは、マルウェア感染を完全に防ぐことが困難になっている。そこで、ネットワーク機器の通信ログを解析し、マルウェア感染を早期に検知して通信を遮断する手法の重要性が増している。 In recent years, cyber attacks have become more sophisticated, and it has become difficult to completely prevent malware infection only by taking proactive measures such as antivirus software. Therefore, the importance of a method of analyzing communication logs of network devices, detecting malware infection at an early stage, and blocking communication is increasing.
具体的には、セキュリティベンダの多くが、通信ログを監視/分析してインシデント情報を顧客に提供するMSS(Managed Security Service)と呼ばれるサービスを提供している。MSS事業者は、SOC(Security Operation Center)と呼ばれる組織に専門のオペレータやアナリストを常駐させ、顧客のログを監視/分析している。 Specifically, many security vendors provide a service called MSS (Managed Security Service) that monitors / analyzes communication logs and provides incident information to customers. MSS operators have specialized operators and analysts stationed in an organization called SOC (Security Operation Center) to monitor / analyze customer logs.
その際、顧客のネットワーク内の全てのログを手動で分析することは、コストの観点から困難である。そのため、あらかじめ「マルウェア感染の疑いのある通信ログ」と「正常な通信ログ」とを機械的に分類器で分類し、マルウェア感染の疑いのある通信ログのみをアナリストが分析している。新種のマルウェアを検知できるか否かがMSSの競争力の源泉となっているため、分類器による分類では、マルウェア感染の疑いのある通信ログの誤検知を減らし、新種のマルウェアを見逃さないことが重要である。 At that time, it is difficult from the viewpoint of cost to manually analyze all the logs in the customer's network. Therefore, "communication logs suspected of being infected with malware" and "normal communication logs" are mechanically classified by a classifier in advance, and analysts analyze only communication logs suspected of being infected with malware. Since the ability to detect new types of malware is the source of MSS's competitiveness, classifier classification can reduce false positives in communication logs suspected of being infected with malware and not miss new types of malware. is important.
従来、このような分類器は、オペレータやアナリストが様々な情報ソースを用いて手動で作成し、主にマルウェアに関連したシグネチャやホワイトリストのシグネチャを追加し更新しながら運用している。新種のマルウェアが登場するたびにシグネチャの追加が必要となるため、オペレータやアナリストの負担となっている。 Traditionally, such classifiers have been manually created by operators and analysts using a variety of information sources and operated by adding and updating mainly malware-related signatures and whitelist signatures. It is a burden for operators and analysts to add signatures each time a new type of malware appears.
そこで、機械学習を用いて分類器を作成する技術が注目されている。日々大量に作成されている新種のマルウェアの多くは、完全に新しいものではなく、ソースコードが再利用され一部だけが変更されているものや、リパッケージして作成された亜種である場合が多い。したがって、既知のマルウェアと全体の特徴そのものはあまり変わらず、通信のパターンが類似している場合が多い。そのため、通信ログに対して機械学習を適用し分析し、既知のマルウェアと類似する通信の特徴をとらえることにより、新種のマルウェアを検知することが可能となる(非特許文献1〜4参照)。
Therefore, a technique for creating a classifier using machine learning is drawing attention. Many of the new types of malware that are created in large numbers every day are not completely new, if the source code is reused and only partially modified, or if it is a variant created by repackaging. There are many. Therefore, the overall characteristics themselves are not much different from known malware, and communication patterns are often similar. Therefore, it is possible to detect a new type of malware by applying machine learning to the communication log, analyzing it, and capturing communication characteristics similar to known malware (see Non-Patent
しかしながら、従来の技術では、高精度な分類器を作成して新種のマルウェアを検知することが困難であった。例えば、教師なし学習により作成される分類器(非特許文献3参照)は、一般に精度が低いという問題がある。 However, with conventional technology, it has been difficult to create a highly accurate classifier to detect new types of malware. For example, a classifier created by unsupervised learning (see Non-Patent Document 3) generally has a problem of low accuracy.
また、教師あり学習により分類器を作成する場合(非特許文献1,2,4参照)には、学習用データのラベル付与が困難という問題がある。具体的には、マルウェアの進化に合わせて、学習用データとして正解を示すラベルが付与された通信ログを定期的に更新して分類器を更新する必要がある。そのため、機械学習を用いて分類器を作成するためには、SOCのアナリスト等の専門家が通信ログを分析し、正常な通信を行う端末が発する通信ログである良性ログか、マルウェアに感染した端末が発する通信ログである悪性ログかを分別して手動でラベルを付与する必要がある。しかし、現状では、人件費や分析にかかる稼働等のコストの負担から、一般には機械学習を用いずにシグネチャを手動で更新することで分類器を作成することが主流となっている。
Further, when a classifier is created by supervised learning (see Non-Patent
また、ラベルを付与するために必要となる詳細な解析には、多くの場合、Proxyログ等の詳細な情報を含む通信ログが用いられる(非特許文献1,2参照)。しかしながら、詳細な情報を含む通信ログは、情報量が大きいため、また、対応の機器を設置する必要があるため、マルウェアが活動する世界規模の様々な通信環境から取得することは困難である。一方、xFlow等の情報量の少ない通信ログ(非特許文献3,4参照)は、世界規模の様々な通信環境から取得が可能であるが、情報量が少ないため、それだけを用いてラベルを付与することは困難である。
Further, in many cases, a communication log including detailed information such as a proxy log is used for the detailed analysis required for giving a label (see
本発明は、上記に鑑みてなされたものであって、ラベル付与の手間を削減しつつ、高精度な分類器を作成して新種のマルウェアを検知することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to create a highly accurate classifier to detect a new type of malware while reducing the labor of labeling.
上述した課題を解決し、目的を達成するために、本発明に係る分類装置は、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する統合部と、統合された前記全通信ログを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器を作成する作成部と、作成された前記分類器を用いて、未知の通信ログを良性または悪性のいずれかに分類する分類部と、を備えることを特徴とする。 In order to solve the above-mentioned problems and achieve the object, the classification device according to the present invention emits a benign communication log indicating that it is a communication log emitted by a terminal performing normal communication, and a terminal infected with malware. Integration that integrates all communication logs by converting the format of a malicious communication log indicating that it is a communication log and a communication log that is neither benign nor malignant into a format that includes all items included in all communication logs. Unknown using the unit, a creation unit that creates a classifier that classifies communication logs into either benign or malignant by learning using the integrated all communication logs, and the created classifier. It is characterized by including a classification unit for classifying the communication log of the above into either benign or malignant.
本発明によれば、ラベル付与の手間を削減しつつ、高精度な分類器を作成して新種のマルウェアを検知することができる。 According to the present invention, it is possible to create a highly accurate classifier to detect a new type of malware while reducing the labor of labeling.
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. Further, in the description of the drawings, the same parts are indicated by the same reference numerals.
[分類装置の構成]
図1は、分類装置の概略構成を例示する模式図である。図1に例示するように、分類装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
[Structure of classification device]
FIG. 1 is a schematic diagram illustrating a schematic configuration of a classification device. As illustrated in FIG. 1, the
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介したネットワーク機器や管理サーバ等の外部の装置と制御部15との通信を制御する。
The input unit 11 is realized by using an input device such as a keyboard or a mouse, and inputs various instruction information such as processing start to the control unit 15 in response to an input operation by the operator. The
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、後述する分類処理により作成される分類器14a等が記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
The
制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図1に例示するように、学習データ取得部15a、統合部15b、変換部15c、作成部15d、テストデータ取得部15e、変換部15fおよび分類部15gとして機能する。
The control unit 15 is realized by using a CPU (Central Processing Unit) or the like, and executes a processing program stored in a memory. As a result, as illustrated in FIG. 1, the control unit 15 functions as a learning data acquisition unit 15a, an integration unit 15b, a
なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、分類装置10を、学習データ取得部15a、統合部15b、変換部15c、および作成部15dを実装した作成装置と、テストデータ取得部15e、変換部15fおよび分類部15gを実装した判定装置とに分離してもよい。
It should be noted that these functional parts may be implemented in different hardware, respectively or in part. For example, the
学習データ取得部15aは、Proxyサーバ等のネットワーク機器や管理サーバ等から、後述する分類器14aの学習に用いる学習用データを取得する。ここで、学習用データは、良性挙動データ、悪性挙動データ、および判定なしデータを含む。良性挙動データとは、良性な通信ログ、すなわち正常な通信を行う端末が発する通信ログを意味する。悪性挙動データとは、悪性な通信ログ、すなわちマルウェアに感染した端末が発する通信ログを意味する。判定なしデータとは、良性挙動データまたは悪性挙動データのいずれでもなく、良性または悪性のいずれでもない通信ログを意味する。
The learning data acquisition unit 15a acquires learning data used for learning the
なお、良性挙動データ/悪性挙動データ/判定なしデータの取得方法は特に限定されない。例えば、良性挙動データは、マルウェアに感染していないことが明らかな実網内の端末から取得できる。また、悪性挙動データは、既知のマルウェアの検体を仮想環境下で動作させる動的解析により取得できる。あるいは、悪性挙動データは、既知のブラックリストを活用して取得できる。 The method of acquiring benign behavior data / malignant behavior data / data without judgment is not particularly limited. For example, benign behavior data can be obtained from terminals in the real network that are clearly not infected with malware. In addition, malignant behavior data can be obtained by dynamic analysis in which a known malware sample is operated in a virtual environment. Alternatively, malignant behavior data can be obtained by utilizing a known blacklist.
また、判定なしデータには、良性挙動データ/悪性挙動データの両者が混在している可能性がある実網のログを用いればよい。新種のマルウェアを検知可能とするために、判定なしデータには、新種のマルウェアを含みうる通信ログ、あるいは新種のマルウェアと類似点がある通信ログが含まれることが望ましい。ただし、両者が混在しないログを用いてもよい。 Further, as the data without judgment, a log of a real network in which both benign behavior data and malignant behavior data may be mixed may be used. In order to be able to detect a new type of malware, it is desirable that the undetermined data includes a communication log that may contain the new type of malware or a communication log that has similarities to the new type of malware. However, a log in which both are not mixed may be used.
また、通信ログとしては、例えば、Proxyログ、xFlow、Firewallログ等の様々な形式の通信ログが用いられる。ここで、Proxyログは、Proxyサーバから取得される通信ログであり、送信元IPアドレス、HTTPメソッド、URL、UserAgent等の情報を含む。 Further, as the communication log, for example, communication logs of various formats such as Proxy log, xFlow, and Firewall log are used. Here, the Proxy log is a communication log acquired from the Proxy server, and includes information such as a source IP address, an HTTP method, a URL, and a User Agent.
また、xFlow(NetFlow)は、ネットワークのフロー情報である。xFlwowは、業界のフロー計測の標準として、多くのベンダーのネットワーク機器でサポートされている。xFlowは、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル等を含む。xFlowは、Proxyログ等に比較して情報量が少ないため、ISP相当の大規模なネットワークから取得することも可能だが、詳細な分析ができない。 Further, xFlow (NetFlow) is network flow information. xFlowow is supported by network equipment from many vendors as an industry flow measurement standard. xFlow includes a source IP address, a destination IP address, a source port number, a destination port number, a protocol, and the like. Since xFlow has a smaller amount of information than Proxy logs and the like, it can be obtained from a large-scale network equivalent to ISP, but detailed analysis cannot be performed.
また、Firewallログは、Firewallから取得される通信ログであり、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル、日時、パケットサイズ等の情報を含む。 The Firewall log is a communication log acquired from the Firewall, and includes information such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol, a date and time, and a packet size.
良性挙動データ、悪性挙動データ、判定なしデータのそれぞれあるいは一部は、互いに異なる形式の通信ログでもよい。ラベル付与の手間を削減しつつ、様々な環境に対応した分類器を得るために、例えば、良性挙動データおよび悪性挙動データには、詳細な情報を含むProxyログ等の通信ログを用い、判定なしデータには、ラベルは付いていないが広域の情報を含むxFlow等の通信ログを用いることが望ましい。なお、良性挙動データ、悪性挙動データ、判定なしデータの全てが同一の形式のProxyログ等の詳細な情報を含む通信ログでもよい。本実施形態では、良性挙動データおよび悪性挙動データとしてProxyログを用い、判定なしデータとしてxFlowを用いる。 Each or part of the benign behavior data, the malignant behavior data, and the undetermined data may be communication logs in different formats. In order to obtain a classifier suitable for various environments while reducing the labor of labeling, for example, communication logs such as Proxy logs containing detailed information are used for benign behavior data and malignant behavior data, and no judgment is made. It is desirable to use a communication log such as xFlow which is not labeled but contains wide area information for the data. The benign behavior data, the malignant behavior data, and the undetermined data may all be communication logs containing detailed information such as a proxy log in the same format. In this embodiment, a Proxy log is used as benign behavior data and malignant behavior data, and xFlow is used as non-judgment data.
図2および図3は、学習用データのデータ構成を例示する図である。図2には、Proxyログを用いた良性挙動データまたは悪性挙動データが例示されている。図2には、Log1〜Log3の3つの良性挙動データと、Log4の1つの悪性挙動データとが例示されている。また、図2に示す学習用データには、取得されたProxyログに良性または悪性を示すラベルが付与されている。例えば、Log4の悪性挙動データは、「悪性」ラベルが付与され、送信元IPアドレスが「30.30.30.30」、HTTPメソッドが「GET」、URLが「http://malware.co.jp/」、HTTP User Agentが「<wellknown>」であること等が示されている。 2 and 3 are diagrams illustrating the data structure of the learning data. FIG. 2 illustrates benign behavior data or malignant behavior data using Proxy logs. FIG. 2 exemplifies three benign behavior data of Log1 to Log3 and one malignant behavior data of Log4. Further, in the learning data shown in FIG. 2, a label indicating benign or malignant is given to the acquired Proxy log. For example, the malignant behavior data of Log4 is given a "malignant" label, the source IP address is "30.30.30.30", the HTTP method is "GET", and the URL is "http://malware.co. It is shown that jp / ”and the HTTP User Agent are“ <well known> ”.
また、図3には、xFlowを用いた判定なしデータが例示されている。図3には、例えば、LogAの判定なしデータは、送信元IPアドレスが「20.20.20.20」、宛先IPアドレスが「4.4.4.4」、宛先ポート番号が「80」、プロトコルが「TCP」であること等が示されている。 Further, FIG. 3 illustrates undetermined data using xFlow. In FIG. 3, for example, in the data without determination of LogA, the source IP address is “20.20.20.20”, the destination IP address is “4.4.4.4”, and the destination port number is “80”. , The protocol is "TCP", etc.
統合部15bは、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する。具体的には、統合部15bは、良性挙動データと、悪性挙動データと、判定なしデータとの各データに含まれる項目を結合することにより、全学習用データの形式を統一化して全学習用データを統合する。 The integration unit 15b includes a benign communication log indicating that the communication log is issued by a terminal that performs normal communication, a malicious communication log indicating that the communication log is issued by a terminal infected with malware, and a benign or malignant communication log. Convert the format with the communication log that is neither of them to the format that includes all the items included in all communication logs, and integrate all communication logs. Specifically, the integration unit 15b unifies the format of all learning data by combining the items included in the benign behavior data, the malignant behavior data, and the non-judgment data, and is used for all learning. Integrate data.
図4は、統合された学習用データを例示する図である。図4に示すように、統合部15bは、良性挙動データ、悪性挙動データ、および判定なしデータに含まれる全項目を結合する。図4に示す例では、各データに該当する値が含まれない項目は「−」で示されている。例えば、LogAは、xFlowを用いた判定なしデータであり、URL、HTTPメソッド、HTTP User Agent、HTTP Status Codeおよびラベルに該当する値が存在しないため、各項目の値が「−」で示されている。 FIG. 4 is a diagram illustrating integrated learning data. As shown in FIG. 4, the integration unit 15b combines all the items included in the benign behavior data, the malignant behavior data, and the undetermined data. In the example shown in FIG. 4, items that do not include a value corresponding to each data are indicated by "-". For example, LogA is undetermined data using xFlow, and since there are no values corresponding to URL, HTTP Method, HTTP User Agent, HTTP Status Code, and label, the value of each item is indicated by "-". There is.
図1の説明に戻る。変換部15cは、統合された学習用データを、後述する作成部15dの処理に用いるための準備として、統合された学習用データの特徴量を抽出し、特徴ベクトルへ変換する。まず、変換部15cは、統合された学習用データから、学習の着眼点の組み合わせである特徴量を抽出する。なお、特徴量の抽出の手法は特に限定されない。人手によってもよいし、ディープラーニング等のように自動的に特徴を抽出して機械学習を行う手法を適用してもよい。
Returning to the description of FIG. The
ここで、機械学習とは、抽出された特徴量のパターンを学習し、目的の分類を行うモデルを作成することである。本実施形態の分類装置10においては、良性/悪性を分類するため、例えば、URLのホスト名、宛先ポート番号、パスの長さ、ドメイン名がIPアドレスか否か、Country Code、通信時間間隔等が特徴量として抽出される。
Here, machine learning is to learn the pattern of the extracted features and create a model for classifying the target. In the
次に、変換部15cは、抽出した特徴量を特徴ベクトルに変換する。具体的には、変換部15cは、Bag−of−WordsやN−gram等の手法を用いて、特徴量を特徴ベクトルに変換する。本実施形態では、変換部15cが、Bag−of−Wordsの手法を用いて、各特徴量において存在する全てのパターンを1つの要素とみなし、各要素が通信ログに出現したかどうかを0/1で表すことにより、特徴量を特徴ベクトルに変換する。
Next, the
ここで、図5〜図7は、変換部15cの処理を説明するための説明図である。図5は、図4に例示した学習用データから抽出された特徴量を例示している。図5に示す例では、特徴量として、送信元IPアドレス、宛先IPアドレス、宛先ポート番号、ドメイン名、およびドメイン名内の数字の数等が抽出されている。
Here, FIGS. 5 to 7 are explanatory views for explaining the processing of the
また、図6は、特徴量から変換された特徴ベクトルの各要素を例示している。図6に示す例では、図5に例示した特徴量のうち、例えば、宛先IPアドレスについて、存在する6つのパターン「1.1.1.1」〜「6.6.6.6」のそれぞれを特徴ベクトルの1つの要素とみなしている。そして、各通信ログに各要素が出現した場合を1、出現していない場合を0で表している。同様に、宛先ポート番号の存在する3つのパターン「80」「2323」「8080」のそれぞれを特徴ベクトルの1つの要素とみなし、各通信ログに出現した要素を1、出現していない場合を0で表している。このように、変換部15cは、該当するデータがない特徴量を0とする。これにより、該当するデータがない特徴量は、特徴量やその組み合わせに対して重み付けして行う分類に影響を及ぼさない。
Further, FIG. 6 illustrates each element of the feature vector converted from the feature quantity. In the example shown in FIG. 6, among the feature quantities illustrated in FIG. 5, for example, for the destination IP address, each of the six existing patterns "1.1.1.1" to "6.6.6.6". Is regarded as one element of the feature vector. Then, the case where each element appears in each communication log is represented by 1, and the case where each element does not appear is represented by 0. Similarly, each of the three patterns "80", "2323", and "8080" in which the destination port number exists is regarded as one element of the feature vector, the element appearing in each communication log is 1, and the case where it does not appear is 0. It is represented by. In this way, the
また、変換部15cは、学習用データの良性または悪性を示すラベルを数値ラベルに変換する。例えば、良性を示すラベルを0、悪性を示すラベルを1として、ラベルを数値化して表す。図7は、特徴量から変換された特徴ベクトルおよびラベルから変換された数値ラベルを例示している。図7において、例えば、Log1の特徴ベクトルについて、宛先IPアドレスが「1.1.1.1」に対応する要素に1が割り当てられている。また、このLog1において、ラベルが良性を示す0とされている。なお、図7において、ラベルが付与されていない判定なしデータについては、ラベルは「−」で表されている。
In addition, the
図1の説明に戻る。作成部15dは、統合された全通信ログを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器14aを作成する。具体的には、作成部15dは、良性であることを示すラベルまたは悪性であることを示すラベルのいずれかが付与された通信ログと、ラベルが付与されていない通信ログとを用いて、分類器14aによるラベルの付与を学習する。
Returning to the description of FIG. The
すなわち、作成部15dは、変換部15cが変換した特徴ベクトルおよび数値ラベルを用いて半教師あり学習を行って、通信ログの良性または悪性の程度を示すモデルを分類器14aとして作成する。また、作成部15dは、作成した分類器14aを記憶部14に格納する。
That is, the
ここで、半教師あり学習のアルゴリズムは特に限定されない。例えば、TSVM(Transductive Support Vector Machine)、半教師Logistic Regression、Label Propagation、半教師GMM(Gaussian Mixture Model)、Self−training等が適用される。 Here, the algorithm for semi-supervised learning is not particularly limited. For example, TSVM (Transductive Support Vector Machine), semi-teacher Logistic Regression, Label Promotion, semi-teacher GMM (Gaussian Mixture Model), Self-training and the like are applied.
テストデータ取得部15eは、学習データ取得部15aと同様に、Proxyサーバ等のネットワーク機器や管理サーバ等から、後述する分類部15gの処理対象となるテスト用データを取得する。テスト用データには、良性な通信ログか悪性な通信ログかを判定したい通信ログを用いる。ここで用いる通信ログは、良性挙動データ、悪性挙動データ、および判定なしデータと同一の形式の通信ログを用いてもよいし、異なる形式の通信ログを用いてもよい。なお、判定なしデータと全く同じ通信ログをテスト用データとして用いることも可能である。また、テストデータ取得部15eは、学習データ取得部15aと同一の機能部としてもよい。 Similar to the learning data acquisition unit 15a, the test data acquisition unit 15e acquires test data to be processed by the classification unit 15g, which will be described later, from a network device such as a Proxy server, a management server, or the like. For the test data, use the communication log for which you want to determine whether it is a benign communication log or a malicious communication log. As the communication log used here, a communication log having the same format as the benign behavior data, the malignant behavior data, and the undetermined data may be used, or a communication log having a different format may be used. It is also possible to use the same communication log as the data without judgment as the test data. Further, the test data acquisition unit 15e may be the same functional unit as the learning data acquisition unit 15a.
変換部15fは、前述の変換部15cと同様に、後述する分類部15gの処理に用いるための準備として、テスト用データの特徴量を抽出し、特徴ベクトルへ変換する。変換部15fは、変換部15cと同一の機能部としてもよい。
Similar to the
分類部15gは、作成された分類器14aを用いて、未知の通信ログを良性または悪性のいずれかに分類する。具体的には、分類部15gは、変換部15fが変換した特徴ベクトルを分類器14aに代入し、分類器14aが出力する通信ログの良性または悪性の程度を示すスコアが所定の閾値より高い場合に、良性または悪性と判定する。
The classification unit 15g classifies the unknown communication log into either benign or malignant using the created
[分類処理]
次に、図8および図9を参照して、本実施形態に係る分類装置10による分類処理について説明する。分類処理は、作成処理と判定処理とを含む。図8は、作成処理手順を示すフローチャートである。図8のフローチャートは、例えば、作成処理の開始を指示する操作入力があったタイミングで開始される。
[Classification process]
Next, the classification process by the
まず、学習データ取得部15aが、入力部11あるいは通信制御部13を介して、学習用データの入力を受け付ける(ステップS1)。次に、統合部15bが、入力された学習用データである良性挙動データと、悪性挙動データと、判定なしデータとの項目を結合することにより、全データの形式を統一化してデータを統合する(ステップS2)。 First, the learning data acquisition unit 15a receives the input of the learning data via the input unit 11 or the communication control unit 13 (step S1). Next, the integration unit 15b unifies the format of all the data and integrates the data by combining the items of the benign behavior data, the malignant behavior data, and the non-judgment data, which are the input training data. (Step S2).
次に、変換部15cが、形式が統合された学習用データの特徴量を抽出する(ステップS3)。また、変換部15cが、抽出した特徴量を特徴ベクトルへ変換する(ステップS4)。
Next, the
また、作成部15dが、変換部15cが変換した特徴ベクトルを用いて学習を行って、通信ログの良性または悪性の程度を示すモデルを分類器14aとして作成する(ステップS5)。これにより、一連の作成処理が終了する。
Further, the
図9は、判定処理手順を示すフローチャートである。図9のフローチャートは、例えば、判定処理の開始を指示する操作入力があったタイミングで開始される。 FIG. 9 is a flowchart showing the determination processing procedure. The flowchart of FIG. 9 is started, for example, at the timing when there is an operation input instructing the start of the determination process.
まず、テストデータ取得部15eが、入力部11あるいは通信制御部13を介して、処理対象のテスト用データの入力を受け付ける(ステップS11)。次に、変換部15fが、テスト用データの特徴量を抽出する(ステップS12)。また、変換部15fが、抽出した特徴量を特徴ベクトルへ変換する(ステップS13)。
First, the test data acquisition unit 15e receives the input of the test data to be processed via the input unit 11 or the communication control unit 13 (step S11). Next, the
次に、分類部15gが、変換部15fが変換した特徴ベクトルを分類器14aに代入する(ステップS14)。分類器14aは、通信ログの良性または悪性の程度を示すスコアを算出して出力する(ステップS15)。そして、分類部15gが、分類器14aが出力したスコアが所定の閾値より高い場合に、良性または悪性と判定する(ステップS16)。これにより、一連の判定処理が終了する。
Next, the classification unit 15g substitutes the feature vector converted by the
以上、説明したように、本実施形態の分類装置10において、統合部15bが、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログであることを示す悪性な通信ログと、良性または悪性のいずれでもない通信ログとの形式を、全通信ログに含まれる全項目を含む形式に変換して、全通信ログを統合する。また、作成部15dが、統合された良性な通信ログと悪性な通信ログといずれでもない通信ログとを用いて学習を行って、通信ログを良性または悪性のいずれかに分類する分類器14aを作成する。また、分類部15gが、作成された分類器14aを用いて、未知の通信ログを良性または悪性のいずれかに分類する。
As described above, in the
これにより、分類装置10は、既知の良性挙動データ、悪性挙動データに加え、判定なしデータを学習用データとして用いて分類器14aを作成することができる。従来、精度の高い分類器を作成するために、ラベルが付与された大量の通信ログを用意して分類器を更新する必要があった。これに対し、本実施形態の分類装置10によれば、分類器の更新に用いる通信ログとして、少量のラベルが付与された通信ログ(良性挙動データおよび悪性挙動データ)と、大量のラベルが付与されていない通信ログ(判定なしデータ)とを用いて同時に学習させることができるので、ラベル付与の手間を削減しつつ容易に学習データを用意して高精度な分類器14aを作成することが可能となる。
As a result, the
ここで、図10は、分類装置10による分類処理の効果を説明するための説明図である。図10(a)に示すように、学習用データとして、良性挙動データおよび悪性挙動データを用い、判定なしデータを用いない場合には、良性挙動データまたは悪性挙動データが疎な領域において、良性と悪性との境界となる閾値を推定することが難しい。したがって、分類対象のテスト用データの良性/悪性の判定が難しい。
Here, FIG. 10 is an explanatory diagram for explaining the effect of the classification process by the
これに対し、本実施形態の分類装置10では、良性挙動データおよび悪性挙動データに加え、判定なしデータを学習用データとして用いる。これにより、図10(b)に示すように、良性挙動データまたは悪性挙動データが疎な領域において、データの分布等の特徴に関する情報を判定なしデータから得ることができる。したがって、分類の精度を向上させることができる。
On the other hand, in the
なお、分類対象のテスト用データを、学習用データとして用いてもよい。この場合に、図10(c)に示すように、テスト用データを図10(b)に示した判定なしデータとして扱うことにより、良性挙動データまたは悪性挙動データが疎な領域において、データの分布等の特徴に関する情報をテスト用データから得ることができる。 The test data to be classified may be used as learning data. In this case, as shown in FIG. 10 (c), by treating the test data as the undetermined data shown in FIG. 10 (b), the distribution of the data in the region where the benign behavior data or the malignant behavior data is sparse. Information on such features can be obtained from the test data.
また、本実施形態の分類装置10は、通信ログの形式を問わず、異なる形式の通信ログを学習データとして用いて学習することができる。ネットワークの環境によりネットワーク機器の設置状況が異なり、実網から取得できる通信ログの形式は様々である。各形式の通信ログに含まれる情報は異なるため、サイバー攻撃の痕跡を発見するためには、複数の形式の通信ログを多面から相関的に分析する必要がある。従来の機械学習では、学習データの形式が同一でなければ分類器を作成できなかった。これに対し、本実施形態の分類装置10は、異なる形式の通信ログを用いて分類器を作成することができる。
Further, the
このように、分類装置10は、ラベルが付与された通信ログだけでは得られなかった新種のマルウェアに関連した情報を、ラベルが付与されていない通信ログから得ることができる。そのため、新種のマルウェアに対応した分類処理を行える。
In this way, the
また、新たに追加する学習用データとして、ラベルが付与されていない通信ログを用いることができるため、SOCのアナリスト等の専門家が分析してラベルを付与する手間を省略することができる。そのため、分類器14aの更新にかかる負荷を軽減することができる。
Further, since the communication log without a label can be used as the newly added learning data, it is possible to save the trouble of analyzing and assigning a label by an expert such as an SOC analyst. Therefore, the load on updating the
したがって、本実施形態の分類装置10によれば、学習用データのラベル付与の負担を軽減し、形式の異なる通信ログを学習用データとして用いて、高精度な分類器を作成して新種のマルウェアを検知することができる。
Therefore, according to the
[プログラム]
上記実施形態に係る分類装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、分類装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分類処理を実行する分類プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分類プログラムを情報処理装置に実行させることにより、情報処理装置を分類装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistants)などのスレート端末などがその範疇に含まれる。
[program]
It is also possible to create a program in which the processing executed by the
また、分類装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分類処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、分類装置10は、学習用データおよび未知のデータを入力とし、未知のデータの良性/悪性の判定結果を出力する分類処理サービスを提供するサーバ装置として実装される。この場合、分類装置10は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分類処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、分類装置10と同様の機能を実現する分類プログラムを実行するコンピュータの一例を説明する。
Further, the
図11は、分類プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
FIG. 11 is a diagram showing an example of a computer that executes a classification program. The
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
The
ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した分類器14a等の各種情報テーブルは、例えばハードディスクドライブ1031やメモリ1010に記憶される。
Here, the hard disk drive 1031 stores, for example, the
また、分類プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した分類装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
Further, the classification program is stored in the hard disk drive 1031 as, for example, a
また、分類プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
Further, the data used for information processing by the classification program is stored as
なお、分類プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、分類プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。 Although the embodiment to which the invention made by the present inventor is applied has been described above, the present invention is not limited by the description and the drawings which form a part of the disclosure of the present invention according to the present embodiment. That is, all other embodiments, examples, operational techniques, and the like made by those skilled in the art based on the present embodiment are included in the scope of the present invention.
10 分類装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
14a 分類器
15 制御部
15a 学習データ取得部
15b 統合部
15c 変換部
15d 作成部
15e テストデータ取得部
15f 変換部
15g 分類部
10 Classification device 11
Claims (4)
統合された前記全通信ログの特徴量を特徴ベクトルに変換し、前記通信ログに付与されている、良性であることを示すラベルまたは悪性であることを示すラベルを数値ラベルに変換する変換部と、
前記特徴ベクトルと、前記数値ラベルが付与された通信ログと、前記数値ラベルが付与されていない通信ログとを用いて学習を行って、通信ログを良性または悪性のいずれかに分類するラベルを付与する分類器を作成する作成部と、
作成された前記分類器を用いて、未知の通信ログまたは前記作成部が用いた良性または悪性のいずれでもない通信ログを良性または悪性のいずれかに分類する分類部と、
を備えることを特徴とする分類装置。 A benign communication log indicating that the communication log is issued by a terminal that performs normal communication, a malicious communication log indicating that the communication log is issued by a terminal infected with malware, and a communication log that is neither benign nor malignant. The integrated part that integrates all communication logs by converting the format of and to a format that includes all items included in all communication logs,
With a conversion unit that converts the integrated feature quantity of all communication logs into a feature vector and converts the label indicating benign or the label indicating malignancy attached to the communication log into a numerical label. ,
Learning is performed using the feature vector, the communication log to which the numerical label is attached, and the communication log to which the numerical label is not attached, and a label for classifying the communication log as benign or malignant is given. And the creator that creates the classifier
A classifier that classifies unknown communication logs or communication logs that are neither benign nor malignant used by the creator into either benign or malignant using the created classifier.
A classification device characterized by comprising.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180011A JP6787861B2 (en) | 2017-09-20 | 2017-09-20 | Sorting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180011A JP6787861B2 (en) | 2017-09-20 | 2017-09-20 | Sorting device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019057016A JP2019057016A (en) | 2019-04-11 |
JP6787861B2 true JP6787861B2 (en) | 2020-11-18 |
Family
ID=66106423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017180011A Active JP6787861B2 (en) | 2017-09-20 | 2017-09-20 | Sorting device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6787861B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516815A (en) * | 2019-08-29 | 2019-11-29 | 腾讯科技(深圳)有限公司 | The characteristic processing method, apparatus and electronic equipment of artificial intelligence recommended models |
JP7093527B2 (en) * | 2020-11-20 | 2022-06-30 | 株式会社エイシング | Information processing equipment, methods, programs and systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015141640A1 (en) * | 2014-03-19 | 2015-09-24 | 日本電信電話株式会社 | Extraction condition determination method, communication monitoring system, extraction condition determination device, and extraction condition determination program |
-
2017
- 2017-09-20 JP JP2017180011A patent/JP6787861B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019057016A (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176321B2 (en) | Leveraging behavior-based rules for malware family classification | |
EP3814961B1 (en) | Analysis of malware | |
US11899786B2 (en) | Detecting security-violation-associated event data | |
US11258805B2 (en) | Computer-security event clustering and violation detection | |
Galal et al. | Behavior-based features model for malware detection | |
US11086987B2 (en) | Malware detection in event loops | |
US11392689B2 (en) | Computer-security violation detection using coordinate vectors | |
EP3882799B1 (en) | Computer security event analysis | |
US8401982B1 (en) | Using sequencing and timing information of behavior events in machine learning to detect malware | |
US8701192B1 (en) | Behavior based signatures | |
US11356467B2 (en) | Log analysis device, log analysis method, and log analysis program | |
US8190647B1 (en) | Decision tree induction that is sensitive to attribute computational complexity | |
Rabadi et al. | Advanced windows methods on malware detection and classification | |
US10601847B2 (en) | Detecting user behavior activities of interest in a network | |
US11025660B2 (en) | Impact-detection of vulnerabilities | |
US9171253B1 (en) | Identifying predictive models resistant to concept drift | |
JP6557334B2 (en) | Access classification device, access classification method, and access classification program | |
US20220004643A1 (en) | Automated mapping for identifying known vulnerabilities in software products | |
JP6787861B2 (en) | Sorting device | |
US11321453B2 (en) | Method and system for detecting and classifying malware based on families | |
GB2619589A (en) | Fuzz testing of machine learning models to detect malicious activity on a computer | |
CN113010268B (en) | Malicious program identification method and device, storage medium and electronic equipment | |
Matsuda et al. | Detection of malicious tools by monitoring dll using deep learning | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
US10929532B1 (en) | Detecting malware in mobile applications via static analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200710 |
|
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: 20201027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201029 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6787861 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |