IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

<>
  • 特許-学習装置、学習方法及び学習プログラム 図1
  • 特許-学習装置、学習方法及び学習プログラム 図2
  • 特許-学習装置、学習方法及び学習プログラム 図3
  • 特許-学習装置、学習方法及び学習プログラム 図4
  • 特許-学習装置、学習方法及び学習プログラム 図5
  • 特許-学習装置、学習方法及び学習プログラム 図6
  • 特許-学習装置、学習方法及び学習プログラム 図7
  • 特許-学習装置、学習方法及び学習プログラム 図8
  • 特許-学習装置、学習方法及び学習プログラム 図9
  • 特許-学習装置、学習方法及び学習プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231219BHJP
   G06N 3/088 20230101ALI20231219BHJP
【FI】
G06N20/00 160
G06N3/088
【請求項の数】 3
(21)【出願番号】P 2022500201
(86)(22)【出願日】2020-02-14
(86)【国際出願番号】 JP2020005908
(87)【国際公開番号】W WO2021161538
(87)【国際公開日】2021-08-19
【審査請求日】2022-05-26
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山中 友貴
【審査官】上島 拓也
(56)【参考文献】
【文献】特開2019-220892(JP,A)
【文献】特開2019-067224(JP,A)
【文献】KANAGAWA, Motonobu, et al.,"Filtering with State-Observation Examples via Kernel Monte Carlo Filter",arXiv:1312.4664v4,version v4,[online], arXiv (Cornell University),2015年10月22日,Pages 1-57,[retrieved on 2020.06.26], Retrieved from the Internet: <URL: https://arxiv.org/abs/1312.4664v4> and
【文献】LECUYER, Mathias, et al.,"Pyramid: Enhancing Selectivity in Big Data Protection with Count Featurization",Proceedings of the 2017 IEEE Symposium on Security and Privacy,2017年05月26日,Pages 78-95,ISBN: 978-1-5090-5533-3, <DOI: 10.1109/SP.2017.60>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/088
(57)【特許請求の範囲】
【請求項1】
学習用の複数の通信データを取得する取得部と、
前記複数の通信データの特徴量をそれぞれ抽出する特徴量抽出部と、
前記通信データの特徴量を生成モデルに学習させる学習部と、
kernel herdingを用いて、前記複数の通信データの特徴量の代表点を抽出する第1の代表点抽出部と、
前記第1の代表点抽出部によって抽出された代表点を出力する出力部と、
前記生成モデルから複数のデータを生成する生成部と、
前記kernel herdingを用いて、前記複数のデータの代表点を抽出する第2の代表点抽出部と、
を有し、
前記出力部は、前記第2の代表点抽出部によって抽出された代表点を出力し、
前記第1の代表点抽出部によって抽出された代表点と、前記第2の代表点抽出部によって抽出された代表点との差分は、前記生成モデルの進行度合いの評価において使用されることを特徴とする学習装置。
【請求項2】
学習装置が実行する学習方法であって、
学習用の複数の通信データを取得する取得工程と、
前記複数の通信データの特徴量をそれぞれ抽出する特徴量抽出工程と、
前記通信データの特徴量を生成モデルに学習させる学習工程と、
kernel herdingを用いて、前記複数の通信データの特徴量の代表点を抽出する第1の代表点抽出工程と、
前記第1の代表点抽出工程において抽出された代表点を出力する出力工程と、
前記生成モデルから複数のデータを生成する生成工程と、
前記kernel herdingを用いて、前記複数のデータの代表点を抽出する第2の代表点抽出工程と、
を含み、
前記出力工程は、前記第2の代表点抽出工程において抽出された代表点を出力し、
前記第1の代表点抽出工程において抽出された代表点と、前記第2の代表点抽出工程によって抽出された代表点との差分は、前記生成モデルの進行度合いの評価において使用されることを特徴とする学習方法。
【請求項3】
学習用の複数の通信データを取得する取得ステップと、
前記複数の通信データの特徴量をそれぞれ抽出する特徴量抽出ステップと、
前記通信データの特徴量を生成モデルに学習させる学習ステップと、
kernel herdingを用いて、前記複数の通信データの特徴量の代表点を抽出する第1の代表点抽出ステップと、
前記第1の代表点抽出ステップにおいて抽出された代表点を出力する出力ステップと、
前記生成モデルから複数のデータを生成する生成ステップと、
前記kernel herdingを用いて、前記複数のデータの代表点を抽出する第2の代表点抽出ステップと、
をコンピュータに実行させ
前記出力ステップは、前記第2の代表点抽出ステップにおいて抽出された代表点を出力し、
前記第1の代表点抽出ステップにおいて抽出された代表点と、前記第2の代表点抽出ステップによって抽出された代表点との差分は、前記生成モデルの進行度合いの評価において使用されるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
IoT(Internet of Things)時代の到来に伴い、多種のデバイス(IoTデバイス)がインターネットに接続され、多様な使われ方をされるようになっている。これらのIoTデバイスのセキュリティ対策のため、IoT機器向けのトラフィックセッション異常検知システムや侵入検知システム(IDS:Intrusion Detection System)が、盛んに研究されている。
【0003】
このような異常検知システムの中には、例えば、VAE(Variational Auto Encoder)等の教師なし学習による確率密度推定器を用いるものがある。確率密度推定器による異常検知では、実際の通信からトラフィック特徴量と呼ばれる学習用の高次元データを生成し、この特徴量を用いて正常なトラフィックの特徴を学習することで、正常通信パターンの発生確率を推定できるようになる。その後、学習済みモデルを用いて各通信の発生確率を算出し、発生確率の小さい通信を異常として検知する。このため、すべての悪性状態を知らずとも異常検知が可能であり、さらに、未知のサイバー攻撃への対処も可能であるという利点もある。
【先行技術文献】
【非特許文献】
【0004】
【文献】Y. Chen, M. Welling and A. Smola, “Super-Samples from Kernel Herding”, In Proceedings of the 26th Conference on Uncertainty in Artificial Intelligence (UAI), pp. 109-116, (2010).
【発明の概要】
【発明が解決しようとする課題】
【0005】
確率密度推定器による異常検知システムを実運用で用いる際には、異常検知システムがどの様な特徴の通信を正常とみなすのか、その傾向を把握する必要がある。しかしながら、異常検知システムが学習対象とするIoT機器の通信は多種多様であり、その傾向の把握は難しい。
【0006】
具体的には、IoT機器はその種別ごとに多様なプロトコルを用いて通信を行う上に、1つのHTTPプロトコル通信に着目したとしても、WebSocketのような長時間継続する通信もあれば、ページ読み込みのような一瞬で終わる通信もある、といったように通信の特徴は様々である。したがって、これらの通信から生成される学習用データであるトラフィック特徴量も多種多様となってしまい、平均値や中央値の算出といった単なる統計処理のみでは、学習用トラフィック特徴量の傾向把握も同様に困難である。学習用トラフィック特徴量の傾向把握ができないと、異常検知システムがどの様な特徴の通信を正常とみなすのか分からないため、異常検知システムで検知が行われたとしても検知理由の把握ができず、運用に支障をきたすと考えられる。
【0007】
本発明は、上記に鑑みてなされたものであって、学習用のトラフィック特徴量の傾向を把握するためのデータを提供することができる学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明の学習装置は、学習用の複数の通信データを取得する取得部と、複数の通信データの特徴量をそれぞれ抽出する特徴量抽出部と、通信データの特徴量を生成モデルに学習させる学習部と、kernel herdingを用いて、複数の通信データの特徴量の代表点を抽出する第1の代表点抽出部と、第1の代表点抽出部によって抽出された代表点を出力する出力部と、を有することを特徴とする。
【0009】
また、本発明の学習方法は、学習装置が実行する学習方法であって、学習用の複数の通信データを取得する工程と、複数の通信データの特徴量をそれぞれ抽出する工程と、通信データの特徴量を生成モデルに学習させる工程と、kernel herdingを用いて、複数の通信データの特徴量の代表点を抽出する工程と、代表点を出力する工程と、を含んだことを特徴とする。
【0010】
また、本発明の学習プログラムは、学習用の複数の通信データを取得するステップと、複数の通信データの特徴量をそれぞれ抽出するステップと、通信データの特徴量を生成モデルに学習させるステップと、kernel herdingを用いて、複数の通信データの特徴量の代表点を抽出するステップと、代表点を出力するステップと、をコンピュータに実行させる。
【発明の効果】
【0011】
本発明によれば、学習用のトラフィック特徴量の傾向を把握するためのデータを提供することができる。
【図面の簡単な説明】
【0012】
図1図1は、混合ガウス分布において、通常のランダムサンプリングとkernel herdingとによるサンプリングの比較実験をした結果を示す図である。
図2図2は、実施の形態における通信システムの構成の一例を示すブロック図である。
図3図3は、実施の形態における検知システムの処理の流れについて説明する図である。
図4図4は、学習装置の構成の一例を示す図である。
図5図5は、検知装置の構成の一例を示す図である。
図6図6は、評価装置の構成の一例を示す図である。
図7図7は、実施の形態に係る学習処理の処理手順を示すフローチャートである。
図8図8は、評価装置が実行する評価処理の処理手順を示すフローチャートである。
図9図9は、実施の形態における検知システムの適用例を説明する図である。
図10図10は、プログラムが実行されることにより、検知システムが実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。なお、以下では、ベクトル、行列又はスカラーであるAに対し、“^A”と記載する場合は「“A”の直上に“^”が記された記号」と同等であるとする。
【0014】
[実施の形態]
本実施の形態では、kernel herdingと呼ばれるカーネル法を用いて、学習用トラフィック特徴量の代表点を抽出することで、学習用のトラフィック特徴量の傾向を把握するための情報を提供する。さらに、本実施の形態では、確率密度推定器としてVAEのような生成モデルを用いた場合、生成モデルからデータを生成し、kernel herdingを用いて、生成したデータの代表点を抽出することで、生成モデルが実際にどのような通信を正常とみなすのかを把握するための情報を提供する。
【0015】
[kernel herding]
まず、kernel herdingについて説明する。kernel herdingは、カーネル平均mをカーネルサンプル平均(1/T)ΣΦ(x)で効率的に近似するようなサンプル列を求めるためのアルゴリズムとして提案された(非特許文献1参照)。kernel herdingでは、(1),(2)式に示す更新式にしたがってサンプル列{x}を逐次的に求める。
【0016】
【数1】
【0017】
【数2】
【0018】
ここで、mは、(3)式に示すデータセットXの、カーネル平均である。Φ(・)は、は特性写像である。<・,・>は、正定値カーネルに付随する再生核ヒルベルト空間上での内積を表す。
【0019】
【数3】
【0020】
ただし、一般的に、カーネル平均mは直接求めることができない。そこで、実際にkernel herdingのアルゴリズムを実行する際には、カーネル平均を十分に多いサンプルで近似した標本カーネル平均^m=(1/N)ΣΦ(x)に置き換える((4),(5)式)。
【0021】
【数4】
【0022】
【数5】
【0023】
この置き換えを行っても、kernel herdingで効率的なサンプルを求めることができることが、実験的に知られている(非特許文献1参照)。
【0024】
本実施の形態では、kernel herdingを、データセットからの代表点の抽出技術として用いる。kernel herdingで近似するカーネル平均mは、計算に用いた正定値カーネルが特性的な場合、データセットX((3)式参照)の分布に関する完全な情報を持つ。
【0025】
このため、kernel herdingによって求められるカーネル平均mを少数のデータ点で近似するサンプル列は、データセットXの代表点の集合とみなすことができる。図1(非特許文献1より引用)は、混合ガウス分布において、通常のランダムサンプリングとkernel herdingとによるサンプリングの比較実験をした結果を示す図である。図1に示すように、kernel herdingによるサンプリングは、ランダムサンプリングと比べて、定性的に「代表的なデータ点」を抽出できていることが分かる。
【0026】
本実施の形態では、異常検知システムが学習対象とするトラフィック特徴量の代表点を抽出することで、異常検知システムが正常とみなすトラフィックの傾向を把握する方法を提案する。
【0027】
[異常検知システムの構成]
本実施の形態における通信システムについて説明する。図2は、実施の形態における通信システムの構成の一例を示すブロック図である。図2に示すように、実施の形態における通信システム1では、複数のNW装置2と、検知システム100とが、ネットワークNを介して接続する構成を有する。検知システム100は、NW管理者等が使用するユーザ端末3との間で通信を行う。
【0028】
NW装置2は、異常検知の対象であるトラフィックにおいてパケットのサンプリングを行う。NW装置2は、サンプリングしたパケットを、ネットワークNを介して、検知システム100に転送する。
【0029】
検知システム100は、NW装置2から受信したパケットを基に、教師なし学習によってトラフィック特徴量を学習させた生成モデルを用いて、通信の異常の有無を検知し、検知結果を、システム管理者が使用するユーザ端末3に送信する。検知システム100は、学習装置10、検知装置20及び評価装置30を有する。
【0030】
なお、生成モデルは、VAEのような確率密度推定器である。VAEは、トラフィック特徴量を学習することで、トラフィック特徴量が入力されるとアノマリスコア(異常度)を出力する。また、VAEは中間層にノイズが入力されると、入力されたノイズに応じた出力分布を出力する。
【0031】
学習装置10は、NW装置2から受信したパケットを基に、教師なし学習によってトラフィック特徴量を生成モデルに学習させる。そして、学習装置10は、kernel herdingを用いて、学習対象のトラフィック特徴量の代表点を抽出し、抽出した代表点を、生成モデルの進行度合いの評価用データとしてユーザ端末3に出力する。
【0032】
検知装置20は、学習装置10によってモデルパラメータが最適化された生成モデルを用いて、異常検知対象のトラフィックにおける通信の異常の有無を検知する。
【0033】
評価装置30は、学習装置10によって学習済みの生成モデルから複数のデータを生成し、これらの複数のデータの代表点をkernel herdingを用いて抽出し、抽出した代表点を、生成モデルの進行度合いの評価用データとしてユーザ端末3に出力する。具体的には、評価装置30は、VAEの中間層にノイズを入力して、これらのノイズに応じた出力分布からサンプリングを行い、生成モデルから生成されるデータとして取得する。この生成モデルから生成されるデータは、生成モデルを確率密度推定器として用いた際に、正常とるみなせるデータと対応している。
【0034】
[検知システムの処理の流れ]
次に、図3を参照して、理の流れについて説明する。図3は、実施の形態における検知システム100の処理の流れについて説明する図である。
【0035】
図3に示すように、学習装置10は、学習対象のNW装置を介して収集したパケットを基に、学習用のトラフィック特徴量を抽出し(図3の(1)参照)、抽出したトラフィック特徴量をVAE等の生成モデルに学習させる(図3の(2)参照)。これとともに、学習装置10は、kernel herdingによる、学習用のトラフィック特徴量の代表点を抽出する(図3の(3)参照)。
【0036】
学習用のトラフィック特徴量のデータセットは、基本的に正常な通信しか含まないと仮定されている。学習装置10では、VAE等の確率密度推定器(生成モデル)を用いて、このデータセットを基に、正常とみなすトラフィック特徴量を学習する。したがって、学習用のトラフィック特徴量の代表点は、検知システム100が正常とみなすようになるトラフィック特徴量と対応している。学習装置10では、kernel herdingを用いることによって、代表的な通信の特徴量を自動で抽出でき、NW管理者は、これらの特徴量を基に、ネットワークの傾向を把握することができる。
【0037】
さらに、検知システム100では、評価装置30が、学習済みの生成モデルからデータを多数生成してデータセットを作成する。評価装置30は、VAE等からサンプリングしたデータから(図3の(4)参照)、kernel herdingを用いて代表点を抽出する(図3の(5)参照)。
【0038】
このように、評価装置30は、VAEが学習した代表的な通信の抽出ができる。生成モデルから生成されるデータは、生成モデルを確率密度推定器として用いた際に、正常とみなすデータと対応している。評価装置30は、kernel herdingを用いることで、より直接的に検知システム100が正常とみなすようなトラフィック特徴量を把握することができる。
【0039】
NW管理者は、学習装置10によって抽出された代表点を基に、学習用トラフィック特徴量の傾向を把握する。学習装置10におけるkernel herding適用法は、トラフィック特徴量の代表点を介してネットワークの傾向までを把握したい際に有用である。
【0040】
また、NW管理者は、評価装置30によって抽出された代表点を基に、生成モデルが、実際にどのような特徴の通信を正常とみなすかを把握する。言い換えると、NW管理者は、生成モデルが正常なデータを生成できるか否かを把握する。評価装置30におけるkernel herding適用法は、確率密度推定器まで含めた検知システム100全体として正常とみなすトラフィック特徴量を把握したい際に有用である。
【0041】
そして、NW管理者は、学習装置10によって抽出された代表点と、評価装置30によって抽出された代表点との差分を用いて、生成モデルの進行度合いの評価を行う。例えば、学習装置10によって抽出された代表点と、評価装置30によって抽出された代表点との所定値未満の場合には生成モデルの学習が適切に進行されているとされ、差分が所定値よりも大きい場合には、生成モデルの学習が適切に進行されていないとされる。これによって、NW管理者は、生成モデルが適切に学習を行えたか否かを特徴量レベルで把握することができる。
【0042】
[学習装置]
次に、検知システム100の各装置の構成について説明する。まず、学習装置10について説明する。図4は、学習装置10の構成の一例を示す図である。図4に示すように、学習装置10は、通信部11、記憶部12及び制御部13を有する。
【0043】
通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置(例えば、検知装置20及び評価装置30)と制御部13(後述)との間の通信を行う。通信部11は、例えば、ネットワーク等を介して外部装置と接続し、学習対象のトラフィックのパケットの入力を受け付ける。
【0044】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、学習装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、VAEモデル1211を有する。
【0045】
VAEモデル121は、通信データの特徴量を学習する生成モデルである。VAEモデル121は、学習用のトラフィック特徴量を学習する。VAEモデル121は、確率密度推定器であり、学習用の通信データの確率密度の特徴を学習する。VAEモデル121は、あるデータ点xの入力を受け付けると、そのデータに対応したアノマリスコアを出力する。確率密度の推定値をp(x)とすると、アノマリスコアは、-logp(x)の近似値となる。したがって、VAEが出力するアノマリスコアは、値が高いほど、この通信データの異常度が高いことを示す。
【0046】
制御部13は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部13は、取得部131、特徴量抽出部132及びモデル学習部133を有する。
【0047】
取得部131は、学習用の複数の通信データを取得する。具体的には、取得部131は、学習対象のNW装置2を介して、学習用の多数のパケットを取得する。
【0048】
特徴量抽出部132は、取得部131によって取得された複数の通信データの特徴量をそれぞれ抽出する。特徴量抽出部132は、学習用の多数のパケットに対して統計処理を実施し、高次元データであるトラフィック特徴量を生成する。
【0049】
モデル学習部133は、特徴量抽出部132によって抽出されたトラフィック特徴量を用いてVAEモデル121の学習を行う。これとともに、モデル学習部133は、kernel herdingを用いて、学習対象である複数の通信データの特徴量の代表点を抽出する。モデル学習部133は、学習部1331、代表点抽出部1332及び提示部1344を有する。
【0050】
学習部1331は、特徴量抽出部132によって抽出された通信データの特徴量をVAEモデル121に学習させる。学習部1331は、通信データの確率密度の特徴をVAEモデル121に学習させる。学習部1331は、特徴量抽出部132によって生成されたトラフィック特徴量を用いてVAEモデル121のパラメータを最適化する。学習部1331は、通信部11を介して、学習済みのVAEモデル121を検知装置20及び評価装置30に出力する。
【0051】
代表点抽出部1332は、kernel herdingを用いて、学習用の複数の通信データの特徴量の代表点を抽出する。代表点抽出部1332は、特徴量抽出部132によって生成された、学習対象のトラフィック特徴量のデータセットから、kernel herdingを用いて代表点を抽出する。
【0052】
提示部1333は、通信部11を介して、代表点抽出部1332によって抽出された代表点をユーザ端末3に出力することによって、NW管理者に、学習用の複数の通信データの特徴量の代表点を提示する。
【0053】
[検知装置]
次に、検知装置20について説明する。図5は、検知装置20の構成の一例を示す図である。図5に示すように、検知装置20は、通信部21、記憶部22及び制御部23を有する。
【0054】
通信部21は、図4に示す通信部11と同様の機能を有し、情報の入出力や他の装置(例えば、学習装置10)との通信を行う。
【0055】
記憶部22は、図4に示す記憶部12と同様の機能を有する。記憶部22は、VAEモデル121を有する。VAEモデル121は、学習装置10により学習済みのモデルである。
【0056】
制御部23は、図4に示す制御部13と同様の機能を有し、検知装置20全体を制御する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。制御部23は、取得部231、特徴量抽出部232及び検知部233を有する。
【0057】
取得部231は、検知対象の通信データを取得する。具体的には、取得部131は、検知対象のトラフィックのパケットをキャプチャするNW装置2を介して、検知対象のパケットを取得する。
【0058】
特徴量抽出部232は、特徴量抽出部132と同様の機能を有し、取得部231によって取得された検知対象のパケットから、トラフィック特徴量を生成する。
【0059】
検知部233は、VAEモデル121を用いて、検知対象のトラフィックにおける異常の有無を検知する。検知部233は、特徴量抽出部232によって生成されたトラフィック特徴量をVAEモデル121に入力し、出力されたアノマリスコアを取得する。検知部233は、アノマリスコアが所定値よりも高い場合には、検知対象の通信データが異常であることを検知する。また、検知部233は、アノマリスコアが所定値以下である場合に、検知対象の通信データが正常であることを検知する。
【0060】
[評価装置]
次に、評価装置30の構成について説明する。図6は、評価装置30の構成の一例を示す図である。図6に示すように、評価装置30は、通信部31、記憶部32及び制御部33を有する。
【0061】
通信部31は、図4に示す通信部11と同様の機能を有し、情報の入出力や他の装置(例えば、学習装置10)との通信を行う。
【0062】
記憶部32は、図4に示す記憶部12と同様の機能を有する。記憶部32は、VAEモデル121を有する。VAEモデル121は、学習装置10により学習済みのモデルである。
【0063】
制御部33は、図4に示す制御部13と同様の機能を有し、評価装置30全体を制御する。制御部33は、各種のプログラムが動作することにより各種の処理部として機能する。制御部33は、モデル評価部331を有する。
【0064】
モデル評価部331は、生成モデルが、実際にどのような特徴の通信を正常とみなすかを評価するためのデータを、NW管理者に提示する。モデル評価部331は、データ生成部3311、代表点抽出部3312及び提示部3313を有する。
【0065】
データ生成部3311は、生成モデルであるVAEモデル121から複数のデータを生成する。データ生成部3311は、VAEモデル121の中間層にノイズを入力し、VAEモデル121による出力から、ノイズに応じた出力分布を取得する。
【0066】
代表点抽出部3312は、kernel herdingを用いて、データ生成部3311によって生成された複数のデータの代表点を抽出する。
【0067】
提示部3313は、通信部31を介して、代表点抽出部3312によって抽出された代表点をユーザ端末3に出力することによって、NW管理者に、VAEモデル121が生成したデータの特徴量の代表点を提示する。
【0068】
[学習処理]
次に、学習装置10が実行する学習方法について説明する。図7は、実施の形態に係る学習処理の処理手順を示すフローチャートである。
【0069】
図7に示すように、学習装置10は、学習用の複数のパケットを取得し(ステップS1)、取得した複数のパケットのトラフィック特徴量をそれぞれ抽出する(ステップS2)。
【0070】
学習装置10は、トラフィック特徴量をVAEモデル121に学習させる学習処理を行い(ステップS3)、学習済みのVAEモデル121を検知装置20及び評価装置30に出力する(ステップS4)。
【0071】
そして、学習装置10は、kernel herdingを用いて、学習対象のトラフィック特徴量のデータセットから代表点を抽出し(ステップS5)、抽出した代表点をユーザ端末3に出力することで、学習対象のトラフィック特徴量の代表点をNW管理者に提示する(ステップS6)。
【0072】
[評価処理]
次に、評価装置30が実行する評価方法について説明する。図8は、評価装置30が実行する評価処理の処理手順を示すフローチャートである。
【0073】
評価装置30は、生成モデルであるVAEモデル121から複数のデータを生成する(ステップS11)。評価装置30は、kernel herdingを用いて、ステップS11において生成された複数のデータの代表点を抽出する(ステップS12)。
【0074】
評価装置30は、ステップS12において抽出された代表点をユーザ端末3に出力することによって、NW管理者に、VAEモデル121が生成したデータの特徴量の代表点を提示する(ステップS13)。
【0075】
[実施例]
例えば、本実施の形態における検知システム100は、IoT機器の異常検知に適用することができる。図9は、実施の形態における検知システム100の適用例を説明する図である。図9に示すように、複数のIoT機器4が接続されたネットワーク5上に、検知システム100を設ける。この場合、検知システム100は、IoT機器4が送受信するトラフィックセッション情報を収集し、正常トラフィックセッションの確率密度の学習、及び、異常トラフィックセッションの検知を行う。
【0076】
検知システム100では、モデル学習部133が、学習対象となる複数のパケットを受け取り、受け取った複数のパケットのトラフィック特徴量を学習した学習済みのVAEモデルを検知装置20及び評価装置30に出力する。
【0077】
[実験]
実際に、学習用のトラフィック特徴量のデータセットから、kernel herdingを用いて代表点を抽出した。具体的には、2種類の通信(MQTT(Message Queue Telemetry Transport)による温度情報送信(500件)、RTMP(Real-Time Messaging Protocol)による動画配信(300件))を混ぜたデータセットを作成し、kernel herdingによる代表点抽出を行った。その結果を表1に示す。
【0078】
【表1】
【0079】
表1の1行目は、MQTTによる通信の代表点を抽出した結果を示す。実際のデータセットを確認すると、9割ほどが上りバイト444byteまたは445byteの通信で、パケット数は7個、平均パケットサイズは0.04×1500byteのものであり、人手で抽出された代表点とよく一致していた。
【0080】
表1の2行目は、RTMPによる通信の代表点を抽出した結果を示す。実際のデータを目視で確認すると、かなりばらつきが大きいが、平均セッション継続時間は6500秒ほど、平均上りパケットサイズは0.119×1500byteほど等、人手で抽出された代表点とよく一致していた。
【0081】
このように、人手(具体的には、システム管理の熟練者)で抽出したトラフィック特徴量と、kernel herdingを用いて自動的に抽出したトラフィック特徴量とはよく一致していることが確認できた。
【0082】
[実施の形態の効果]
このように、本実施の形態に係る学習装置10は、複数の通信データの特徴量をそれぞれ抽出し、通信データの特徴量を生成モデルに学習させる。
【0083】
これとともに、学習装置10が、kernel herdingを用いて、複数の通信データの特徴量の代表点を抽出し、抽出した代表点をユーザ端末3に出力することによって、学習用のトラフィック特徴量の傾向を把握するためのデータをNW管理者に提供する。
【0084】
これによって、NW管理者は、通信データの特徴量の代表点を基に、VAEモデル121が正常とみなすような特徴量を把握でき、さらに、通信データの特徴量の代表点を介してネットワークの傾向までを把握することも可能になる。
【0085】
そして、上記の実験結果に示すように、本実施の形態による、kernel herdingを用いて自動的に抽出したトラフィック特徴量と、人手で抽出したトラフィック特徴量とはよく一致していた。このため、本実施の形態によれば、人手を用いずに、kernel herdingを用いて学習用のトラフィック特徴量の代表点を適切に抽出できるため、システム管理者の負担を軽減できる。また、本実施の形態によれば、学習用のトラフィック特徴量の代表点を適切に抽出し、データとして出力するため、このデータを用いて、これらの特徴量を基に、ネットワーク特徴量の分析を、だれでも行えるようになり、熟練者の稼働削減を図ることができる。
【0086】
さらに、本実施の形態に係る評価装置30は、VAEモデル121から複数のデータを生成し、kernel herdingを用いて、生成した複数のデータの代表点を抽出し、抽出した代表点をユーザ端末3に出力する。
【0087】
この評価装置30によって抽出された代表点を基に、NW管理者は、VAEモデル121が、実際にどのような特徴の通信を正常とみなすかを把握することができる。言い換えると、NW管理者は、VAEモデル121が正常なデータを生成できるか否かを把握できる。
【0088】
したがって、本実施の形態によれば、VAEモデル121まで含めた検知システム100全体として正常とみなすトラフィック特徴量を定性的に把握することが可能となる。
【0089】
そして、NW管理者は、学習装置10によって抽出された代表点と、評価装置30によって抽出された代表点との差分を用いることによって、VAEモデル121の進行度合いの評価を、特徴量レベルで把握することができる。
【0090】
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0091】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0092】
[プログラム]
図10は、プログラムが実行されることにより、検知システム100が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0093】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0094】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検知システム100の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、検知システム100における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0095】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0096】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0097】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0098】
1 通信システム
2 NW装置
3 ユーザ端末
4 IoT機器
5,N ネットワーク
10 学習装置
11,21,31 通信部
12,22,32 記憶部
13,23,33 制御部
20 検知装置
30 評価装置
100 検知システム
121 VAEモデル
131,231 取得部
132,232 特徴量抽出部
133 モデル学習部
233 検知部
331 モデル評価部
1331 学習部
1332,3312 代表点抽出部
1333,3313 提示部
3311 データ生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10