JP2019213183A - クラスタリング方法、分類方法、クラスタリング装置、及び、分類装置 - Google Patents
クラスタリング方法、分類方法、クラスタリング装置、及び、分類装置 Download PDFInfo
- Publication number
- JP2019213183A JP2019213183A JP2018192601A JP2018192601A JP2019213183A JP 2019213183 A JP2019213183 A JP 2019213183A JP 2018192601 A JP2018192601 A JP 2018192601A JP 2018192601 A JP2018192601 A JP 2018192601A JP 2019213183 A JP2019213183 A JP 2019213183A
- Authority
- JP
- Japan
- Prior art keywords
- clustering
- packet
- unit
- packet data
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 238000010801 machine learning Methods 0.000 claims abstract description 101
- 238000004364 calculation method Methods 0.000 claims description 40
- 238000012706 support-vector machine Methods 0.000 claims description 12
- 230000003595 spectral effect Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 25
- 238000012795 verification Methods 0.000 description 14
- 238000002372 labelling Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 238000002790 cross-validation Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 241000406668 Loxodonta cyclotis Species 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】パケットをクラスタリングするクラスタリング方法を提供する。【解決手段】クラスタリング方法は、最初にクラスタリング装置にて、複数のパケットのペイロード間の類似度を算出し、算出した類似度を用いて、複数のパケットをクラスタリングする。次に、分類装置は、当該クラスタリング結果を教師として機械学習モデルに1のパケットを分類するように学習させ、学習済の当該機械学習モデルを用いて1のパケットを分類する。【選択図】図12
Description
本発明は、パケットをクラスタリングするクラスタリング方法に関する。
従来、ネットワークシステム等で利用されるデータを対象として行う情報処理技術が知られている(例えば、非特許文献1、非特許文献2参照)。
Ye, N. (2000, June). A markov chain model of temporal behavior for anomaly detection. In Proceedings of the 2000 IEEE Systems, Man, and Cybernetics Information Assurance and Security Workshop (Vol. 166, p. 169). West Point, NY.
Otey, M. E., Ghoting, A., & Parthasarathy, S. (2006). Fast distributed outlier detection in mixed-attribute data sets. Data mining and knowledge discovery, 12(2-3), 203-228
ネットワークシステム等で利用されるパケットをクラスタリングすることが望まれる。
そこで、本発明は、パケットをクラスタリングするクラスタリング方法を提供することを目的とする。
本開示の一態様に係るクラスタリング方法は、複数のパケット間の類似度を算出し、算出した前記類似度を用いて、前記複数のパケットをクラスタリングする。
また、本開示の一態様に係る分類方法は、上記クラスタリング方法によりクラスタリングされた結果を教師として、機械学習モデルに、1のパケットを分類するよう学習させ、学習済みの前記機械学習モデルを用いて、1のパケットを分類する。
本開示の一態様に係るクラスタリング装置は、複数のパケット間の類似度を算出する算出部と、前記算出部により算出された類似度を用いて、前記複数のパケットをクラスタリングするクラスタリング部と、を備える。
また、本開示の一態様に係る分類装置は、上記クラスタリング方法によりクラスタリングされた結果を教師として機械学習モデルに、1のパケットを分類するよう学習させる学習部と、学習済みの前記機械学習モデルを用いて、1のパケットを分類する分類部と、を備える。
本開示の一態様に係るクラスタリング方法によると、パケットをクラスタリングすることができる。
(本発明の一態様を得るに至った経緯)
従来、あるプロトコルのパケットの種別を調べるためには、そのプロトコルの専用パーサを準備し、パケットの種別を表す箇所をそのパーサより取得する必要がある。これに対して、発明者は、パケット群からパケットのクラスタリングを学習し、学習結果を基に未知のパケットを分類するという考えに基づいて、下記本開示の一態様に係るクラスタリング方法、分類方法、クラスタリング装置、及び、分類装置に想到した。
従来、あるプロトコルのパケットの種別を調べるためには、そのプロトコルの専用パーサを準備し、パケットの種別を表す箇所をそのパーサより取得する必要がある。これに対して、発明者は、パケット群からパケットのクラスタリングを学習し、学習結果を基に未知のパケットを分類するという考えに基づいて、下記本開示の一態様に係るクラスタリング方法、分類方法、クラスタリング装置、及び、分類装置に想到した。
本開示の一態様に係るクラスタリング方法は、複数のパケット間の類似度を算出し、算出した前記類似度を用いて、前記複数のパケットをクラスタリングする。
また、前記類似度を算出する際に、前記複数のパケットのペイロード間のリーベンシュタイン距離を利用して前記類似度を算出するとしてもよい。
また、前記複数のパケットをクラスタリングする際に、スペクトラルクラスタリング法を用いるとしてもよい。
また、前記類似度を算出する際に、前記複数のパケットのペイロード間に定義されるストリングカーネルを利用して前記類似度を算出し、前記複数のパケットをクラスタリングする際に、前記ストリングカーネルを利用したカーネルK平均法を用いるとしてもよい。
上記クラスタリング方法によると、複数のパケットをクラスタリングすることができる。
本開示の一態様に係る分類方法は、上記クラスタリング方法によりクラスタリングされた結果を教師として、機械学習モデルに、1のパケットを分類するよう学習させ、学習済みの前記機械学習モデルを用いて、1のパケットを分類する。
また、前記機械学習モデルに学習させる際に、K近傍法を用いるとしてもよい。
また、前記機械学習モデルに学習させる際に、サポートベクターマシンを用いるとしてもよい。
また、前記機械学習モデルに学習させる際に、ニューラルネットワークを用いるとしてもよい。
上記分類方法によると、1のパケットを分類することができる。
本開示の一態様に係るクラスタリング方法は、複数のパケット間の類似度を算出する算出部と、前記算出部により算出された類似度を用いて、前記複数のパケットをクラスタリングするクラスタリング部と、を備える。
上記クラスタリング装置によると、複数のパケットをクラスタリングすることができる。
本開示の一態様に係る分類装置は、請求項1から請求項4のいずれか1項に記載のクラスタリング方法によりクラスタリングされた結果を教師として機械学習モデルに、1のパケットを分類するよう学習させる学習部と、学習済みの前記機械学習モデルを用いて、1のパケットを分類する分類部と、を備える。
上記分類装置によると、1のパケットを分類することができる。
以下、本開示の一態様に係るクラスタリング方法、分類方法、クラスタリング装置、及び、分類装置の具体例について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
以下、本開示の一態様に係るクラスタリングシステムの一例について説明する。
以下、本開示の一態様に係るクラスタリングシステムの一例について説明する。
このクラスタリングシステムは、複数のパケットからなるパケット群をクラスタリングする。また、未知のパケットを分類する。
[1−1.構成]
図1は、本開示の一態様に係るクラスタリングシステムの一例である実施の形態1に係るクラスタリングシステム1の構成を示すブロック図である。
図1は、本開示の一態様に係るクラスタリングシステムの一例である実施の形態1に係るクラスタリングシステム1の構成を示すブロック図である。
図1に示されるように、クラスタリングシステム1は、クラスタリング装置100と、分類装置200とを含んで構成される。
クラスタリング装置100は、複数のパケットからなる学習用パケット群10を取得し、それら複数のパケットそれぞれのプロファイルを決定する。そして、クラスタリング装置100は、同じプロファイルとして決定したパケットをクラスタリングする。クラスタリング装置100は、クラスタリング結果としてパケットクラスタ情報20を出力する。
クラスタリング装置100は、例えば、メモリと、メモリに記憶されたプログラムを実行するプロセッサとを含むコンピュータ装置によって実現される。この場合、クラスタリング装置100によって実現される各種機能は、クラスタリング装置100を構成するメモリに記憶されたプログラムを、クラスタリング装置100を構成するプロセッサが実行することにより実現される。
分類装置200は、クラスタリング装置100より出力されたパケットクラスタ情報20を教師として機械学習モデル220(後述)を学習させる。そして、分類装置200は、学習済の機械学習モデル220を用いて、分類対象パケット30を分類し、分類結果40を出力する。
分類装置200は、例えば、メモリと、メモリに記憶されたプログラムを実行するプロセッサとを含むコンピュータ装置によって実現される。この場合、分類装置200によって実現される各種機能は、分類装置200を構成するメモリに記憶されたプログラムを、分類装置200を構成するプロセッサが実行することにより実現される。
図1に示されるように、クラスタリング装置100は、更に、プロファイル決定部110と、抽出部120と、学習用パケットデータ群記憶部130と、算出部140と、クラスタリング部150とを含んで構成される。
プロファイル決定部110は、学習用パケット群10を取得する。そして、取得した学習用パケット群10に含まれる各パケットに対して、その属性情報(例えば、Destination IP(宛先IP)、Source IP(送信元IP)、Destination Port(宛先ポート)、Source Port(送信元ポート)、プロトコル等)に基づいて、該当するプロファイルを決定する。プロファイル決定部110は、例えば、プロファイル情報を記憶し、記憶するプロファイル情報に基づいて、取得した学習用パケット群10に含まれる各パケットに対して、該当するプロファイルを決定するとしてもよい。
図2、図3は、プロファイル決定部110が記憶するプロファイル情報の一例である。
プロファイル決定部110は、例えば、図2に示されるプロファイル情報を記憶し、各パケットに対して、Destination IP(宛先IP)と、Destination Port(宛先ポート)との組が合致する行のプロファイルIDで識別されるプロファイルを決定する。また、プロファイル決定部110は、例えば、図3に示されるプロファイル情報を記憶し、各パケットに対して、Destination IP(宛先IP)と、Source IP(送信元IP)と、Destination Port(宛先ポート)との組が合致する行のプロファイルIDで識別されるプロファイルを決定する。
プロファイル決定部110は、例えば、プロファイルの決定対象とするパケットが、記憶するプロファイル情報に該当しない場合には、Deep Packet Inspection機能を備えるアプリケーションを実行することで、そのパケットのプロトコルを特定し、特定したプロトコルに基づいて、そのパケットに対してプロファイルを決定するとしてもよい。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
抽出部120は、プロファイル決定部110によりプロファイルを決定された複数のパケットに対して、プロファイル毎に、各パケットのペイロードフィールドに格納されるデータをパケットデータとして抽出する。そして、抽出部120は、抽出した複数のパケットデータからなる学習用パケットデータ群を出力する。
図4は、TCPプロトコルのパケットのデータ構造を示す模式図である。図5は、UDPプロトコルのパケットのデータ構造を示す模式図である。図6は、Modbus/TCPプロトコルのパケットのデータ構造を示す模式図である。
抽出部120は、例えば、対象とするパケットがTCPプロトコルのパケットである場合には、図4に示されるPayloadフィールドに格納されるデータをパケットデータとして抽出する。また、抽出部120は、例えば、対象とするパケットがUDPプロトコルのパケットである場合には、図5に示されるPayloadフィールドに格納されるデータをパケットデータとして抽出する。また、抽出部120は、例えば、対象とするプロトコルがModbus/TCPプロトコルのパケットである場合には、図6に示されるModbus PDUフィールドに格納されるデータをパケットデータとして抽出する。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
学習用パケットデータ群記憶部130は、抽出部120より出力された学習用パケットデータ群を記憶する。
学習用パケットデータ群記憶部130は、例えば、クラスタリング装置を構成するメモリの記憶領域の一部として実現される。
算出部140は、学習用パケットデータ群記憶部130に記憶される学習用パケットデータ群を構成する複数のパケットデータ(以下、「学習用パケットデータ」とも称する。)間の類似度を算出する。この際、算出部140は、同じプロファイルとして決定された複数のパケットデータからなるパケットデータ群毎に、パケットデータ間の類似度を算出する。
算出部140は、パケットデータを、1バイトずつ切り出したバイト列として取り扱い、パケットデータ間の類似度の算出を、バイト列間の類似度を算出することで行う。
図7は、算出部140が、パケットデータを1バイトずつ切り出す様子の一例を示す模式図である。
なお、ここでは、算出部140は、パケットデータを、1バイトずつ切り出すとして説明するが、切り出す単位としては、必ずしも1バイトの例に限定される必要はない。切り出す単位は、1ビット以上64ビット以下の任意の長さのビット列であってもよい。また、算出部140は、パケットデータを、連続したビット単位で切り出す例に限定される必要はない。例えば、算出部140は、xビット切り出してyビットスキップしてという処理を繰り返すことでビット列を切り出すとしてもよい。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
算出部140は、パケットデータ間のリーベンシュタイン距離を利用して類似度を算出する。
リーベンシュタイン距離は、2つの文字列又はバイト列間に定めることができる距離である。リーベンシュタイン距離は、1文字又は1バイトの挿入、削除、置換によって、一方の文字列又はバイト列を他方の文字列又はバイト列に変形するのに必要な最小回数として定義される。
図8は、算出部140が、2つの文字列間(ここでは、一例として、“ELEPHANT”と“RELEVANT”との文字列間)のリーベンシュタイン距離を算出する様子を示す模式図である。
図8に示されるように、“ELEPHANT”を“RELEVANT”に変形するのに必要な、挿入、削除、置換の最小回数は3である。このため、算出部140は、“ELEPHANT”と“RELEVANT”とのリーベンシュタイン距離を「3」と算出する。
図9は、算出部140が、2つのバイト列間のリーベンシュタイン距離を算出する様子を示す模式図である。
図9に示されるように、一方のバイト列を他方のバイト列に変形するのに必要な、挿入、削除、置換の最小回数は3である。このため、算出部140は、図9に図示されるバイト列間のリーベンシュタイン距離を「3」と算出する。
算出部140は、例えば、下記(式1)によって示される類似度を算出する。
sim(x,y) = 1 - dist(x,y)/max(length(x),length(y)) (式1)
(式1)において、sim(x,y)は、文字列又はバイト列xと文字列又はバイト列yとの間の類似度である。dist(x,y)は、文字列又はバイト列xと文字列又はバイト列yとの間のリーベンシュタイン距離である。length(x)は、文字列又はバイト列xの長さであり、length(y)は、文字列又はバイト列yの長さである。このとき、dist(x,y)/max(length(x),length(y))は、距離が[0,1]となるよう正規化されたリーベンシュタイン距離となる。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
クラスタリング部150は、算出部140によって算出された類似度を用いて、パケットデータをクラスタリングする。この際、クラスタリング部150は、同じプロファイルとして決定された複数のパケットデータからなるパケットデータ群毎に、そのパケットデータ群に属する複数のパケットデータを、互いに比較的類似度が高いパケットデータからなる複数のクラスタにクラスタリングする。そして、クラスタリング部150は、パケットデータのクラスタリングの結果を示すパケットクラスタ情報20を出力する。より具体的には、クラスタリング部150は、クラスタリングの対象となるパケットデータ間の類似度を行列化した類似度行列を算出し、算出した類似度行列を入力とするスペクトラルクラスタリング法によるクラスタリングを行うことで、パケットデータをクラスタリングする。そして、クラスタリング部150は、クラスタリングの対象となる各パケットデータに対して、そのパケットデータと、クラスタリング先のクラスタを特定するクラスタIDとを対応付けるパケットクラスタ情報20を生成して出力する。
図10Aは、クラスタリング部150によってクラスタリングされる前の状態でパケットデータ間の類似度を行列化した類似度行列を示す模式図である。図10Bは、クラスタリング部150によってクラスタリングされた結果、クラスタリングされたクラスタ毎に配列位置を並び替えた状態でパケットデータ間の類似度を行列化した類似度行列を示す模式図である。図10A、図10Bにおいて、i行j列の点は、パケットデータiとパケットデータjとの類似度を示す。ここで、類似度を示す各点は、より類似度が高い程白く表示され、より類似度が低い程黒く表示されている。
図10A、図10Bに示されるように、クラスタリング部150は、算出した類似度行列を入力とするスペクトラルクラスタリング法を用いることで、複数のパケットデータを、互いに比較的類似度が高いパケットデータからなる複数のクラスタにクラスタリングすることができる。
なお、クラスタリング部150は、パケットデータをクラスタリングする際に、同一のパケットデータを排除するとしても構わない。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
図1に示されるように、分類装置200は、更に、学習部210と、機械学習モデル220と、プロファイル決定部230と、抽出部240と、分類部250とを含んで構成される。
学習部210は、クラスタリング装置100から出力されたパケットクラスタ情報20を教師として、1のパケットを分類するよう機械学習モデル220に学習させる。より具体的には、学習部210は、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100によるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、機械学習モデル220に学習させる。学習部210は、プロファイル決定部110により決定されるプロファイル毎に、個別に、機械学習モデル220に学習させる。
ここでは、学習部210は、機械学習モデル220に学習させる際に、K近傍法を用いる。すなわち、学習部210は、機械学習モデル220に、K近傍法を用いて1のパケットを分類するよう学習させる。
図1に示されるように、学習部210は、更に、ラベル付け部211と、分割部212と、学習用ラベル付きパケットデータ群記憶部213と、検証用ラベル付きパケットデータ群記憶部214と、ハイパーパラメータ決定部215とを含んで構成される。
ラベル付け部211は、パケットクラスタ情報20に基づいて、学習用パケットデータ群記憶部130に記憶される学習用パケットデータのそれぞれに対して、教師用ラベルのラベル付けを行う。より具体的には、ラベル付け部211は、学習用パケットデータ群記憶部130に記憶される学習用パケットデータのそれぞれに対して、パケットクラスタ情報20により対応付けられているクラスタIDを、その学習用パケットデータの教師用ラベルとして、その学習用パケットデータに対してラベル付けを行う。
分割部212は、ラベル付け部211によってラベル付けされた学習用パケットデータを、クロスバリデーション用に、学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群とに分割する。
学習用ラベル付きパケットデータ群記憶部213は、分割部212によって分割された学習用ラベル付きパケットデータ群を記憶する。
学習用ラベル付きパケットデータ群記憶部213は、例えば、分類装置200を構成するメモリの記憶領域の一部として実現される。
検証用ラベル付きパケットデータ群記憶部214は、分割部212によって分割された検証用ラベル付きパケットデータ群を記憶する。
検証用ラベル付きパケットデータ群記憶部214は、例えば、分類装置200を構成するメモリの記憶領域の一部として実現される。
ハイパーパラメータ決定部215は、学習用ラベル付きパケットデータ群記憶部213に記憶される学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群記憶部214に記憶される検証用ラベル付きパケットデータ群とを用いてクロスバリデーションを行うことで、機械学習モデル220のハイパーパラメータを決定する。より具体的には、ハイパーパラメータ決定部215は、機械学習モデル220が用いるK近傍法におけるハイパーパラメータの値(例えば、Kの値)を決定する。
機械学習モデル220は、クラスタリング装置100から出力されたパケットクラスタ情報20を教師として、1のパケットを、K近傍法を用いて分類するよう学習された機械学習モデルである。より具体的には、機械学習モデル220は、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100によるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、学習部210により学習された機械学習モデルである。機械学習モデル220は、プロファイル決定部110により決定されるプロファイル毎に、個別に学習された学習モデルである。
プロファイル決定部230は、分類対象パケット30を取得する。そして、取得した分類対象パケット30に対して、その属性情報(例えば、Destination IP(宛先IP)、Source IP(送信元IP)、Destination Port(宛先ポート)、Source Port(送信元ポート)、プロトコル等)に基づいて、該当するプロファイルを決定する。プロファイル決定部230が行うプロファイルの決定法は、プロファイル決定部110が行うプロファイルの決定法と同様である。
抽出部240は、プロファイル決定部230によりプロファイルを決定されたパケットに対して、そのパケットのペイロードフィールドに格納されるデータをパケットデータとして抽出する。
分類部250は、学習済みの機械学習モデル220を用いて、1のパケットである分類対象パケット30を分類する。この際、分類部250は、プロファイル決定部230により決定された、分類対象パケット30のプロファイルに応じて機械学習モデル220を用いる。
分類部250は、まず、学習用パケットデータのうち、分類対象パケット30に対して決定されたプロファイルと同じプロファイルに決定された学習用パケットデータの中から、最も類似度が高いK個の学習用パケットデータを算出する。次に、分類部250は、算出したK個の学習用パケットデータの中で最も多くのパケットデータが分類されているクラスタを特定する。そして、分類部250は、分類対象パケット30を、その特定したクラスタに分類する。
図11は、分類部250が、Kが1となるK近傍法を用いてパケットを分類する様子を示す模式図である。
図11に示されるように、分類部250は、(1)分類対象パケット30のパケットデータと、分類対象パケット30に対して決定されたプロファイルと同じプロファイルに決定された学習用パケットデータとの類似度ベクトルを算出する。次に分類部250は、(2)最も類似度が高いパケットデータが分類されているクラスタを特定する。そして、分類部250は、(3)分類対象パケット30を、その特定したクラスタに分類する。
再び図1に戻って、クラスタリングシステム1の説明を続ける。
分類部250は、分類対象パケット30を分類すると、その分類の結果を示す分類結果40を出力する。
[1−2.動作]
以下、上記構成のクラスタリングシステム1が行う動作について説明する。
以下、上記構成のクラスタリングシステム1が行う動作について説明する。
クラスタリングシステム1は、第1クラスタリング処理と、第1学習処理と、第1分類処理とを行う。以下、これらの処理について、図面を用いて順に説明する。
第1クラスタリング処理は、複数のパケットをクラスタリングする処理である。第1クラスタリング処理は、クラスタリング装置100が中心となって行う処理である。第1クラスタリング処理は、例えば、クラスタリング装置100を利用するユーザが、クラスタリング装置100に対して、第1クラスタリング処理を開始させる旨の操作を行うことで開始される。
図12は、第1クラスタリング処理のフローチャートである。
第1クラスタリング処理が開始されると、プロファイル決定部110は、学習用パケット群10を取得する(ステップS10)。
プロファイル決定部110は、学習用パケット群10を取得すると、学習用パケット群10に含まれるパケットの中から、未選択のパケットを1つ選択する(ステップS15)。ここで、未選択のパケットとは、ステップS15の処理〜ステップS35(Yes)の処理(後述)で形成されるループ処理において、過去のステップS15の処理で選択されたことのないパケットのことをいう。
プロファイル決定部110は、1のパケットを選択すると、記憶するプロファイル情報を用いて、選択したパケットのプロファイルを決定することができるか否かを調べる(ステップS20)。
ステップS20の処理において、記憶するプロファイル情報を用いて、選択したパケットのプロファイルを決定することができる場合に(ステップS20:Yes)、プロファイル決定部110は、記憶するプロファイル情報を用いて、選択したパケットのプロファイルを決定する(ステップS30)。
ステップS20の処理において、記憶するプロファイル情報を用いて、選択したパケットのプロファイルを決定することができない場合に(ステップS20:No)、プロファイル決定部110は、Deep Packet Inspection機能を備えるアプリケーションを実行することで、選択したパケットのプロトコルを特定する(ステップS25)。そして、プロファイル決定部110は、特定したプロトコルに基づいて、選択したパケットのプロファイルを決定する(ステップS30)。
プロファイル決定部110は、選択したパケットのプロファイルを決定すると、学習用パケット群10に含まれるパケットの中に、未選択のパケットがあるか否かを調べる(ステップS35)。
ステップS35の処理において、未選択のパケットがある場合に(ステップS35:Yes)、クラスタリングシステム1は、再びステップS15の処理に進む。
ステップS35の処理において、未選択のパケットがない場合に(ステップS35:No)、抽出部120は、プロファイル決定部110によりプロファイルを決定された複数のパケットに対して、プロファイル毎に、複数のパケットのペイロードフィールドに格納されるデータをパケットデータとして抽出する(ステップS40)。
パケットデータが抽出されると、算出部140は、同じプロファイルのパケットデータ間の類似度を算出する(ステップS45)。この際、算出部140は、パケットデータ間のリーベンシュタイン距離を類似度として算出する。
パケットデータ間の類似度が算出されると、クラスタリング部150は、パケットデータ間の類似度を行列化した類似度行列を算出する(ステップS50)。そして、クラスタリング部150は、算出した類似度行列を入力とするスペクトラルクラスタリング法によるクラスタリングを行うことで、パケットデータをクラスタリングする(ステップS55)。そして、クラスタリング部150は、各パケットデータに対して、そのパケットデータと、クラスタリング先のクラスタを特定するクラスタIDとを対応付けるパケットクラスタ情報20を生成する(ステップS60)。
ステップS60の処理が終了すると、クラスタリングシステム1は、その第1クラスタリング処理を終了する。
第1学習処理は、クラスタリング装置100によってクラスタリングされた結果を教師として、機械学習モデル220に学習させる処理である。第1学習処理は、分類装置200が中心となって行う処理である。第1学習処理は、例えば、クラスタリング装置100がパケットクラスタ情報20を出力した後において、分類装置200を利用するユーザが、分類装置200に対して、第1学習処理を開始させる旨の操作を行うことで開始される。
図13は、第1学習処理のフローチャートである。
第1学習処理が開始されると、ラベル付け部211は、パケットクラスタ情報20に基づいて、学習用パケットデータ群記憶部130に記憶される各学習用パケットデータに、対応するクラスタIDを教師用ラベルとしてラベル付けを行う(ステップS110)。
ラベル付けが行われると、分割部212は、ラベル付け部211によってラベル付けされた学習用パケットデータを、クロスバリデーション用に、学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群とに分割する(ステップS120)。
ラベル付けされた学習用パケットデータが分割されると、ハイパーパラメータ決定部215は、学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群とを用いてクロスバリデーションを行うことで、機械学習モデル220が用いるK近傍法におけるハイパーパラメータの値を決定する(ステップS130)。
ステップS130の処理が終了すると、クラスタリングシステム1は、その第1学習処理を終了する。
第1分類処理は、学習済の機械学習モデル220を用いて、1のパケットを分類する処理である。第1分類処理は、分類装置200が中心となって行う処理である。第1分類処理は、例えば、機械学習モデル220が学習済みの状態において、分類装置200を利用するユーザが、分類装置200に対して、第1分類処理を開始させる旨の操作を行うことで開始される。
図14は、第1分類処理のフローチャートである。
第1分類処理が開始されると、プロファイル決定部230は、分類対象パケット30を取得する(ステップS210)。
プロファイル決定部230は、分類対象パケット30を取得すると記憶するプロファイル情報を用いて、分類対象パケット30のプロファイルを決定することができるか否かを調べる(ステップS220)。
ステップS20の処理において、記憶するプロファイル情報を用いて、分類対象パケット30のプロファイルを決定することができる場合に(ステップS220:Yes)、プロファイル決定部110は、記憶するプロファイル情報を用いて、分類対象パケット30のプロファイルを決定する(ステップS230)。
ステップS220の処理において、記憶するプロファイル情報を用いて、分類対象パケット30のプロファイルを決定することができない場合に(ステップS220:No)、プロファイル決定部110は、Deep Packet Inspection機能を備えるアプリケーションを実行することで、分類対象パケット30のプロトコルを特定する(ステップS230)。そして、プロファイル決定部230は、特定したプロトコルに基づいて、分類対象パケット30のプロファイルを決定する(ステップS240)。
プロファイル決定部230は、分類対象パケット30のプロファイルを決定すると、決定したプロファイルに該当するプロファイルが、プロファイル決定部110により、学習用パケット群10を構成する各パケットに対して決定されたプロファイルの中にあるか否かを調べる(ステップS250)。
ステップS250の処理において、該当するプロファイルがある場合に(ステップS250:Yes)、分類対象パケット30に対して、ペイロードフィールドに格納されているデータをパケットデータとして抽出する(ステップS260)。
パケットデータが抽出されると、分類部250は、学習済みの機械学習モデル220を用いてK近傍法により、分類対象パケット30を分類して、分類の結果を示す分類結果40を出力する(ステップS270)。
ステップS270の処理が終了した場合と、ステップS250の処理において、該当するプロファイルがない場合とに(ステップS250:No)、クラスタリングシステム1は、その第1分類処理を終了する。
[1−3.考察]
上述したように、クラスタリングシステム1は、複数のパケットからなるパケット群をクラスタリングすることができる。また、クラスタリングシステム1は、未知のパケットを分類することができる。
上述したように、クラスタリングシステム1は、複数のパケットからなるパケット群をクラスタリングすることができる。また、クラスタリングシステム1は、未知のパケットを分類することができる。
(実施の形態2)
以下、実施の形態1に係るクラスタリングシステム1から、その構成の一部が変更された実施の形態2に係るクラスタリングシステムについて説明する。
以下、実施の形態1に係るクラスタリングシステム1から、その構成の一部が変更された実施の形態2に係るクラスタリングシステムについて説明する。
実施の形態1に係るクラスタリングシステム1は、パケットデータ間のリーベンシュタイン距離を類似度として算出し、スペクトラルクラスタリング法を用いてパケットデータをクラスタリングする構成例であった。これに対して、実施の形態2に係るクラスタリングシステムは、パケットデータ間に定義されるストリングカーネルを利用して類似度を算出し、ストリングカーネルを利用したカーネルK平均法を用いてパケットデータをクラスタリングする構成例となっている。また、実施の形態1に係るクラスタリングシステム1は、機械学習モデル220に学習させる際に、K近傍法を用いる構成例であった。すなわち、機械学習モデル220が、1のパケットを、K近傍法を用いて分類するよう学習された学習モデルである構成例であった。これに対して、実施の形態2に係るクラスタリングシステムは、機械学習モデルに学習させる際に、サポートベクターマシンを用いる構成例となっている。すなわち、機械学習モデルが、1のパケットを、サポートベクターマシンを用いて分類するよう学習された学習モデルである構成例となっている。
以下、実施の形態2に係るクラスタリングシステムの詳細について、実施の形態1に係るクラスタリングシステム1との相違点を中心に、図面を参照しながら説明する。
[2−1.構成]
図15は、実施の形態2に係るクラスタリングシステム1aの構成を示すブロック図である。
図15は、実施の形態2に係るクラスタリングシステム1aの構成を示すブロック図である。
図15に示されるように、クラスタリングシステム1aは、実施の形態1に係るクラスタリングシステム1から、算出部140が算出部140aに変更され、クラスタリング部150がクラスタリング部150aに変更され、学習部210が学習部210aに変更され、ハイパーパラメータ決定部215がハイパーパラメータ決定部215aに変更され、機械学習モデル220が機械学習モデル220aに変更され、分類部250が分類部250aに変更されて構成される。
また、これら変更に伴い、実施の形態1に係るクラスタリングシステム1から、クラスタリング装置100がクラスタリング装置100aに変更され、分類装置200が分類装置200aに変更されている。
算出部140aは、学習用パケットデータ群記憶部130に記憶される学習用パケットデータ群を構成する複数の学習用パケットデータ間の類似度を算出する。この際、算出部140は、実施の形態1に係る算出部140と同様に、同じプロファイルとして決定された複数のパケットデータからなるパケットデータ群毎に、パケットデータ間の類似度を算出する。
実施の形態1に係る算出部140は、パケットデータ間のリーベンシュタイン距離を類似度として算出する。これに対して、算出部140は、パケットデータ間に定義されるストリングカーネルを算出し、算出したストリングカーネルを利用して類似度を算出するよう変更されている。
クラスタリング部150aは、算出部140aによって算出された類似度を用いて、パケットデータをクラスタリングする。この際、クラスタリング部150aは、実施の形態1に係るクラスタリング部150と同様に、同じプロファイルとして決定された複数のパケットデータからなるパケットデータ群毎に、そのパケットデータ群に属する複数のパケットデータを、互いに比較的類似度が高いパケットデータからなる複数のクラスタにクラスタリングする。そして、クラスタリング部150aは、実施の形態1に係るクラスタリング部150と同様に、パケットデータのクラスタリングの結果を示すパケットクラスタ情報20を出力する。
実施の形態1に係るクラスタリング部150は、スペクトラルクラスタリング法によるクラスタリングを行うことで、パケットデータをクラスタリングする。これに対して、クラスタリング部150aは、ストリングカーネルを利用したカーネルK平均法を用いたクラスタリングを行うことで、パケットデータをクラスタリングするよう変更されている。
学習部210aは、クラスタリング装置100aから出力されたパケットクラスタ情報20を教師として、1のパケットを分類するよう機械学習モデル220aに学習させる。より具体的には、学習部210aは、実施の形態1に係る学習部210と同様に、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100aによるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、機械学習モデル220aに学習させる。学習部210aは、実施の形態1に係る学習部210と同様に、プロファイル決定部110により決定されるプロファイル毎に、個別に、機械学習モデル220aに学習させる。
実施の形態1に係る学習部210は、機械学習モデル220に学習させる際に、K近傍法を用いる。すなわち、実施の形態1に係る学習部210は、機械学習モデル220に、K近傍法を用いて1のパケットを分類するよう学習させる。これに対して、学習部210aは、機械学習モデル220aに学習させる際に、サポートベクターマシンを用いる。すなわち、学習部210aは、機械学習モデル220aに、サポートベクターマシンを用いて1のパケットを分類させるよう学習させるよう変更されている。
ハイパーパラメータ決定部215aは、学習用ラベル付きパケットデータ群記憶部213に記憶される学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群記憶部214に記憶される検証用ラベル付きパケットデータ群とを用いてクロスバリデーションを行うことで、機械学習モデル220のハイパーパラメータを決定する。
実施の形態1に係るハイパーパラメータ決定部215は、機械学習モデル220が用いるK近傍法におけるハイパーパラメータの値を決定する。これに対して、ハイパーパラメータ決定部215aは、機械学習モデル220aが用いるサポートベクターマシンにおけるハイパーパラメータの値を決定するよう変更されている。
機械学習モデル220aは、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100aによるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、学習部210aにより学習された機械学習モデルである。機械学習モデル220aは、実施の形態1に係る機械学習モデル220と同様に、プロファイル決定部110により決定されるプロファイル毎に、個別に学習された学習モデルである。
実施の形態1に係る機械学習モデル220は、1のパケットを、K近傍法を用いて分類するよう学習された機械学習モデルである。これに対して、機械学習モデル220aは、1のパケットを、サポートベクターマシンを用いて分類するよう学習された機械学習モデルに変更されている。
分類部250aは、学習済みの機械学習モデル220aを用いて、1のパケットである分類対象パケット30を分類する。この際、分類部250aは、実施の形態1に係る分類部250と同様に、プロファイル決定部230により決定された、分類対象パケット30のプロファイルに応じて機械学習モデル220aを用いる。
実施の形態1に係る分類部250は、K近似法を用いて1のパケットを分類する。これに対して、分類部250aは、サポートベクターマシンを用いて1のパケットを分類するよう変更されている。
[2−2.動作]
以下、上記構成のクラスタリングシステム1aが行う動作について説明する。
以下、上記構成のクラスタリングシステム1aが行う動作について説明する。
クラスタリングシステム1は、実施の形態1に係る第1クラスタリング処理からその一部の処理が変更された第2クラスタリング処理と、実施の形態1に係る第1学習処理からその一部の処理が変更された第2学習処理と、実施の形態1に係る第1分類処理からその一部の処理が変更された第2分類処理とを行う。以下、これらの処理について図面を用いて順に説明する。
図16は、第2クラスタリング処理のフローチャートである。
第2クラスタリング処理において、ステップS310の処理〜ステップS340の処理と、ステップS360の処理とは、それぞれ、実施の形態1に係る第1クラスタリング処理における、ステップS10の処理〜ステップS40の処理と、ステップS60の処理とに対して、算出部140を算出部140aに読み替え、クラスタリング部150をクラスタリング部150aに読み替えた処理と同様の処理である。このため、ステップS310の処理〜ステップS340の処理と、ステップS360の処理とは、説明済みであるとして、ここでの説明を省略する。
ステップS340の処理においてパケットデータが抽出されると、算出部140aは、同じプロファイルのパケットデータ間のストリングカーネルを算出する(ステップS345)。そして、算出部140は、算出したストリングカーネルを利用して類似度を算出する(ステップS350)。
パケットデータ間の類似度が算出されると、クラスタリング部150aは、ストリングカーネルを利用したカーネルK平均法を用いたクラスタリングを行うことで、パケットデータをクラスタリングする(ステップS355)。
ステップS355の処理が終了すると、クラスタリングシステム1aは、ステップS360の処理に進む。
図17は、第2学習処理のフローチャートである。
第2学習処理において、ステップS410の処理とステップS420の処理とは、それぞれ、実施の形態1に係る第1学習処理における、ステップS110の処理とステップS120の処理と同様の処理である。このため、ステップS410の処理とステップS420の処理とは、説明済みであるとして、ここでの説明を省略する。
ステップS420の処理においてラベル付けされた学習用パケットデータが分割されると、ハイパーパラメータ決定部215aは、学習用ラベル付きパケットデータ群と、検証用ラベル付きパケットデータ群とを用いてクロスバリデーションを行うことで、機械学習モデル220aが用いるサポートベクターマシンにおけるハイパーパラメータの値を決定する(ステップS430)。
ステップS430の処理が終了すると、クラスタリングシステム1aは、その第2学習処理を終了する。
図18は、第2分類処理のフローチャートである。
第2分類処理において、ステップS510の処理〜ステップS560の処理は、それぞれ、実施の形態1に係る第1分類処理における、ステップS210の処理〜ステップS260の処理と同様の処理である。このため、ステップS510の処理〜ステップS560の処理は、説明済みであるとして、ここでの説明を省略する。
ステップS560の処理においてパケットデータが抽出されると、分類部250aは、学習済みの機械学習モデル220aを用いてサポートベクターマシンにより分類対象パケット30を分類して、分類の結果を示す分類結果40を出力する(ステップS570)。
ステップS570の処理が終了した場合と、ステップS550の処理において、該当するプロファイルがない場合とに(ステップS550:No)、クラスタリングシステム1aは、その第2分類処理を終了する。
[2−3.考察]
上述したように、クラスタリングシステム1aは、実施の形態1に係るクラスタリングシステム1と同様に、パケットをクラスタリングすることができる。
上述したように、クラスタリングシステム1aは、実施の形態1に係るクラスタリングシステム1と同様に、パケットをクラスタリングすることができる。
(実施の形態3)
以下、実施の形態1に係るクラスタリングシステム1から、その構成の一部が変更された実施の形態3に係るクラスタリングシステムについて説明する。
以下、実施の形態1に係るクラスタリングシステム1から、その構成の一部が変更された実施の形態3に係るクラスタリングシステムについて説明する。
実施の形態1に係るクラスタリングシステム1は、機械学習モデル220を学習させる際に、機械学習モデル220のハイパーパラメータを決定する構成例であった。これに対して、実施の形態3に係るクラスタリングシステムは、機械学習モデルに学習させる際に、機械学習モデルのハイパーパラメータを決定しない構成例となっている。
以下、実施の形態3に係るクラスタリングシステムの詳細について、実施の形態1に係るクラスタリングシステム1との相違点を中心に、図面を参照しながら説明する。
[3−1.構成]
図19は、実施の形態3に係るクラスタリングシステム1bの構成を示すブロック図である。
図19は、実施の形態3に係るクラスタリングシステム1bの構成を示すブロック図である。
図19に示されるように、クラスタリングシステム1bは、実施の形態1に係るクラスタリングシステム1から、分割部212と検証用ラベル付きパケットデータ群記憶部214とハイパーパラメータ決定部215が削除され、学習部210が学習部210bに変更され、学習用ラベル付きパケットデータ群記憶部213が学習用ラベル付きパケットデータ群記憶部213bに変更され、機械学習モデル220が機械学習モデル220bに変更されて構成される。
また、これら変更に伴い、実施の形態1に係るクラスタリングシステム1から、分類装置200が分類装置200bに変更されている。
学習部210bは、クラスタリング装置100aから出力されたパケットクラスタ情報20を教師として、1のパケットを分類するよう機械学習モデル220bに学習させる。より具体的には、学習部210bは、実施の形態1に係る学習部210と同様に、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100によるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、機械学習モデル220bに学習させる。学習部210bは、実施の形態1に係る学習部210と同様に、プロファイル決定部110により決定されるプロファイル毎に、個別に、機械学習モデル220bに学習させる。学習部210bは、実施の形態1に係る学習部210と同様に、機械学習モデル220bに学習させる際に、K近傍法を用いる。すなわち、学習部210bは、機械学習モデル220bに、K近傍法を用いて1のパケットを分類するよう学習させる。
実施の形態1に係る学習部210は、機械学習モデル220に学習させる際に、機械学習モデル220のハイパーパラメータを決定する。これに対して、学習部210bは、機械学習モデル220bに学習させる際に、機械学習モデル220bのハイパーパラメータを決定しないよう変更されている。
学習用ラベル付きパケットデータ群記憶部213bは、ラベル付け部211によってラベル付けされた学習用ラベル付きパケットデータ群を記憶する。
機械学習モデル220bは、クラスタリング装置100から出力されたパケットクラスタ情報20を教師として、1のパケットを、K近傍法を用いて分類するよう学習された機械学習モデルである。機械学習モデル220bは、実施の形態1に係る機械学習モデル220と同様に、1のパケットのパケットデータから、そのパケットを、クラスタリング装置100によるクラスタリングにおけるクラスタリング先となる複数のクラスタのうちのいずれか1つのクラスタに分類するよう、学習部210bにより学習された機械学習モデルである。機械学習モデル220bは、実施の形態1に係る機械学習モデル220と同様に、プロファイル決定部110により決定されるプロファイル毎に、個別に学習された学習モデルである。
実施の形態1に係る機械学習モデル220は、学習部210によりK近似法におけるハイパーパラメータの値が決定された機械学習モデルである。これに対して、機械学習モデル220bは、学習部210によりK近似法によるハイパーパラメータの値が決定されない機械学習モデルであるように変更されている。
[3−2.動作]
以下、上記構成のクラスタリングシステム1bが行う動作について説明する。
以下、上記構成のクラスタリングシステム1bが行う動作について説明する。
クラスタリングシステム1は、第1クラスタリング処理と、実施の形態1に係る第1学習処理からその一部の処理が変更された第3学習処理と、第1分類処理とを行う。以下、第3学習処理について図面を用いて順に説明する。
図20は、第3学習処理のフローチャートである。
第3学習処理において、ステップS610の処理は、実施の形態1に係る第1学習処理における、ステップS110の処理と同様の処理である。このため、ステップS610の処理は、説明済みであるとして、ここでの説明を省略する。
ステップS610の処理においてラベル付けが行われると、ラベル付け部211によってラベル付けされた学習用パケットデータを用いて、機械学習モデル220bに、K近傍法を用いて1のパケットを分類するよう学習させる(ステップS620)。
ステップS620の処理が終了すると、クラスタリングシステム1bは、その第3学習処理を終了する。
[3−3.考察]
上述したように、クラスタリングシステム1bは、実施の形態1に係るクラスタリングシステム1と同様に、パケットをクラスタリングすることができる。
上述したように、クラスタリングシステム1bは、実施の形態1に係るクラスタリングシステム1と同様に、パケットをクラスタリングすることができる。
(補足)
以上のように、本出願において開示する技術の例示として、実施の形態1〜実施の形態3について説明した。しかしながら本開示による技術は、これらに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。
以上のように、本出願において開示する技術の例示として、実施の形態1〜実施の形態3について説明した。しかしながら本開示による技術は、これらに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。
以下に、本開示における変形例の一例について列記する。
(1)実施の形態1において、クラスタリングシステム1は、リーベンシュタイン距離を利用して類似度を算出する構成例であった。また、実施の形態2において、クラスタリングシステム1aは、ストリングカーネルを利用して類似度を算出する構成例であった。しかしながら、類似度の算出は、実施の形態1、実施の形態2で説明した通りの手法に限定される必要はない。本開示に係るクラスタリングシステムは、例えば、Normalized Levenshtein距離、Sequence Alignment Kernel、Spectrum Kernel、Gap-weighted String Kernel、Mismatch String Kernel等を利用して類似度を算出する構成であってもよい。
(2)実施の形態1において、クラスタリングシステム1は、スペクトラルクラスタリング法を利用してパケットデータをクラスタリングする構成例であった。また、実施の形態2において、クラスタリングシステム1aは、カーネルK平均法を利用してパケットデータをクラスタリングする構成例であった。しかしながらパケットデータのクラスタリングは、実施の形態1、実施の形態2で説明した通りの手法に限定される必要はない。本開示に係るクラスタリングシステムは、例えば、スペクトラルクラスタリング法、カーネルK平均法以外のグラフカット手法を利用してパケットデータをクラスタリングするする構成であってもよい。
(3)実施の形態1及び実施の形態3において、クラスタリングシステム1及びクラスタリングシステム1bは、パケットクラスタ情報20を教師として、1のパケットを、K近似法を用いて分類するよう機械学習モデル220又は機械学習モデル220aに学習させる構成例であった。また、実施の形態2において、クラスタリングシステム1aは、パケットクラスタ情報20を教師として、1のパケットを、サポートベクターマシンを用いて分類するよう機械学習モデル220bに学習させる構成例であった。しかしながら、機械学習モデルの学習は、実施の形態1、実施の形態2、実施の形態3で説明した通りの手法に限定される必要はない。本開示に係るクラスタリングシステムは、他の教師あり学習法により、1のパケットを分類するよう機械学習モデルに学習させる構成であってもよい。例えば、本開示に係るクラスタリングシステムは、パケットクラスタ情報20を教師として、1のパケットを、ニューラルネットワークを用いて分類するよう機械学習モデルに学習させる構成であってもよい。この場合、Convolutional Neural Network、LSTM(Long Short-Term Memory)等のニューラルネットワーク技術を利用することで実現できる。
(4)実施の形態1において、クラスタリングシステム1における各構成要素は、IC(Integrated Circuit)、LSI(Large Scale Integration)等の半導体装置により個別に1チップ化されてもよいし、一部又は全部を含むように1チップ化されてもよい。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
本開示は、パケットを利用するシステムに広く利用可能である。
1、1a、1b クラスタリングシステム
10 学習用パケット群
20 パケットクラスタ情報
30 分類対象パケット
40 分類結果
100、100a クラスタリング装置
110、230 プロファイル決定部
120、240 抽出部
130 学習用パケットデータ群記憶部
140、140a 算出部
150、150a クラスタリング部
200、200a、200b 分類装置
210、210a、210b 学習部
211 ラベル付け部
212 分割部
213、213b 学習用ラベル付きパケットデータ群記憶部
214 検証用ラベル付きパケットデータ群記憶部
215、215a ハイパーパラメータ決定部
220、220a、220b 機械学習モデル
250、250a 分類部
10 学習用パケット群
20 パケットクラスタ情報
30 分類対象パケット
40 分類結果
100、100a クラスタリング装置
110、230 プロファイル決定部
120、240 抽出部
130 学習用パケットデータ群記憶部
140、140a 算出部
150、150a クラスタリング部
200、200a、200b 分類装置
210、210a、210b 学習部
211 ラベル付け部
212 分割部
213、213b 学習用ラベル付きパケットデータ群記憶部
214 検証用ラベル付きパケットデータ群記憶部
215、215a ハイパーパラメータ決定部
220、220a、220b 機械学習モデル
250、250a 分類部
Claims (10)
- 複数のパケット間の類似度を算出し、
算出した前記類似度を用いて、前記複数のパケットをクラスタリングする
クラスタリング方法。 - 前記類似度を算出する際に、前記複数のパケットのペイロード間のリーベンシュタイン距離を利用して前記類似度を算出する
請求項1に記載のクラスタリング方法。 - 前記複数のパケットをクラスタリングする際に、スペクトラルクラスタリング法を用いる
請求項1又は2に記載のクラスタリング方法。 - 前記類似度を算出する際に、前記複数のパケットのペイロード間に定義されるストリングカーネルを利用して前記類似度を算出し、
前記複数のパケットをクラスタリングする際に、前記ストリングカーネルを利用したカーネルK平均法を用いる
請求項1に記載のクラスタリング方法 - 請求項1から請求項4のいずれか1項に記載のクラスタリング方法によりクラスタリングされた結果を教師として、機械学習モデルに、1のパケットを分類するよう学習させ、
学習済みの前記機械学習モデルを用いて、1のパケットを分類する
分類方法。 - 前記機械学習モデルに学習させる際に、K近傍法を用いる
請求項5に記載の分類方法。 - 前記機械学習モデルに学習させる際に、サポートベクターマシンを用いる
請求項5に記載の分類方法。 - 前記機械学習モデルに学習させる際に、ニューラルネットワークを用いる
請求項5に記載の分類方法。 - 複数のパケット間の類似度を算出する算出部と、
前記算出部により算出された類似度を用いて、前記複数のパケットをクラスタリングするクラスタリング部と、を備える
クラスタリング装置。 - 請求項1から請求項4のいずれか1項に記載のクラスタリング方法によりクラスタリングされた結果を教師として機械学習モデルに、1のパケットを分類するよう学習させる学習部と、
学習済みの前記機械学習モデルを用いて、1のパケットを分類する分類部と、を備える
分類装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/391,871 US20190370681A1 (en) | 2018-05-30 | 2019-04-23 | Clustering method, classification method, clustering apparatus, and classification apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862677921P | 2018-05-30 | 2018-05-30 | |
US62/677,921 | 2018-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019213183A true JP2019213183A (ja) | 2019-12-12 |
Family
ID=68847097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018192601A Pending JP2019213183A (ja) | 2018-05-30 | 2018-10-11 | クラスタリング方法、分類方法、クラスタリング装置、及び、分類装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019213183A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220038482A1 (en) * | 2020-01-31 | 2022-02-03 | Panasonic Intellectual Property Corporation Of America | Anomaly detection method and anomaly detection device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007074339A (ja) * | 2005-09-07 | 2007-03-22 | Tohoku Univ | 拡散型不正アクセス検出方法および拡散型不正アクセス検出システム |
JP2008187612A (ja) * | 2007-01-31 | 2008-08-14 | Kddi Corp | トラヒック分析モデルの構築方法、装置および構築プログラムならびにその記憶媒体 |
JP2010050939A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Information Systems Ltd | 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム |
JP2013174959A (ja) * | 2012-02-23 | 2013-09-05 | Secom Co Ltd | アプリケーション検査システム |
US20140279757A1 (en) * | 2013-03-15 | 2014-09-18 | Factual, Inc. | Apparatus, systems, and methods for grouping data records |
-
2018
- 2018-10-11 JP JP2018192601A patent/JP2019213183A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007074339A (ja) * | 2005-09-07 | 2007-03-22 | Tohoku Univ | 拡散型不正アクセス検出方法および拡散型不正アクセス検出システム |
JP2008187612A (ja) * | 2007-01-31 | 2008-08-14 | Kddi Corp | トラヒック分析モデルの構築方法、装置および構築プログラムならびにその記憶媒体 |
JP2010050939A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Information Systems Ltd | 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム |
JP2013174959A (ja) * | 2012-02-23 | 2013-09-05 | Secom Co Ltd | アプリケーション検査システム |
US20140279757A1 (en) * | 2013-03-15 | 2014-09-18 | Factual, Inc. | Apparatus, systems, and methods for grouping data records |
Non-Patent Citations (2)
Title |
---|
伊東 道明 MICHIAKI ITO: "spectral clusteringを用いた不正侵入パケット検知の基礎検討", 第79回(平成29年)全国大会講演論文集(3) ネットワーク セキュリティ, JPN6022007505, 16 March 2017 (2017-03-16), pages 3 - 589, ISSN: 0004886720 * |
小宅 宏明 HIROAKI OHYA: "機械学習によるネットワークIDSのfalse positive削減手法 A Technique to Reduce False", 情報処理学会論文誌 第45巻 第8号 IPSJ JOURNAL, vol. 第45巻, JPN6022007504, 15 August 2004 (2004-08-15), JP, pages 2105 - 2112, ISSN: 0004886719 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220038482A1 (en) * | 2020-01-31 | 2022-02-03 | Panasonic Intellectual Property Corporation Of America | Anomaly detection method and anomaly detection device |
US11876818B2 (en) * | 2020-01-31 | 2024-01-16 | Panasonic Intellectual Property Corporation Of America | Anomaly detection method and anomaly detection device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438212B2 (en) | Fault root cause analysis method and apparatus | |
US10587632B1 (en) | Neural network-based malware detection | |
US20190370681A1 (en) | Clustering method, classification method, clustering apparatus, and classification apparatus | |
US20190340507A1 (en) | Classifying data | |
CN111431819B (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN113590451B (zh) | 一种根因定位方法、运维服务器及存储介质 | |
WO2022048668A1 (zh) | 知识图谱构建方法和装置、检查方法、存储介质 | |
CN116070206B (zh) | 一种异常行为检测方法、系统、电子设备及存储介质 | |
Graham et al. | Finding and visualizing graph clusters using pagerank optimization | |
JP6631527B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN106844553A (zh) | 基于样本数据的数据探测和扩充方法及装置 | |
CN107016223B (zh) | 一种抗硬件木马芯片设计方法及系统 | |
US20200202233A1 (en) | Future scenario generating device and method, and computer program | |
WO2016093839A1 (en) | Structuring of semi-structured log messages | |
JP2019213183A (ja) | クラスタリング方法、分類方法、クラスタリング装置、及び、分類装置 | |
WO2018135515A1 (ja) | 情報処理装置、ニューラルネットワークの設計方法及び記録媒体 | |
KR101893029B1 (ko) | 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치 | |
WO2019244446A1 (ja) | システム構成導出装置、方法およびプログラム | |
CN114422620A (zh) | 一种基于知识蒸馏的数据包分类方法及相关装置 | |
KR101771352B1 (ko) | 동적 환경에서의 그래프 요약 방법 및 장치 | |
US11275882B1 (en) | System, method, and computer program product for group and isolation prediction using machine learning and applications in analog placement and sizing | |
CN113591475A (zh) | 无监督可解释分词的方法、装置和电子设备 | |
CN115828090A (zh) | 网络故障预测方法、装置、设备及存储介质 | |
US8972356B2 (en) | Device, system, method and program for data integration process | |
JP7466878B2 (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220301 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221004 |