(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】計量学習装置、計量学習方法、計量学習プログラム、及び検索装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240116BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022527437
(86)(22)【出願日】2020-05-29
(86)【国際出願番号】 JP2020021325
(87)【国際公開番号】W WO2021240775
(87)【国際公開日】2021-12-02
【審査請求日】2022-11-01
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】池田 聡
【審査官】真木 健彦
(56)【参考文献】
【文献】米国特許出願公開第2015/0135320(US,A1)
【文献】特開2018-007179(JP,A)
【文献】国際公開第2019/202711(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得
し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出手段と、
生成された前記データ
の前記通信元と前記通信先とが同じデータの組に正例を表す正解ラベルを付与し、前記データの前記通信元と前記通信先とが異なるデータの組に負例を表す正解ラベルを付与して、計量学習で用いるサンプルデータを生成する、生成手段と、
前記特徴ベクトルを低次元ベクトルに変換する変換モデルを、前記正例を表す正解ラベルが付与された組の低次元ベクトル間の距離を近づけ、前記負例を表す正解ラベルが付与された組の低次元ベクトル間の距離を遠ざけるように、前記サンプルデータを用いて計量学習する、学習手段と、
を有する計量学習装置。
【請求項2】
請求項1に記載の計量学習装置であって、
前記生成手段は、前記データの前記通信元と前記通信先とが同じで、かつ前記通信元と前記通信先とに関連付けられた前記通信日時が、あらかじめ設定された期間内のデータの組に正例を表す正解ラベルを付与する
計量学習装置。
【請求項3】
請求項1又は2に記載の計量学習装置であって、
前記学習手段は、前記サンプルデータの組が、あらかじめ設定された正例又は負例を表す正解ラベルが付与された教師データの組と一致した場合、前記サンプルデータの組は学習に利用しない
計量学習装置。
【請求項4】
コンピュータが、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成し、
生成された前記データの前記通信元と前記通信先とが同じデータの組に正例を表す正解ラベルを付与し、前記データの前記通信元と前記通信先とが異なるデータの組に負例を表す正解ラベルを付与して、計量学習で用いるサンプルデータを生成し、
前記特徴ベクトルを低次元ベクトルに変換する変換モデルを、前記正例を表す正解ラベルが付与された組の低次元ベクトル間の距離を近づけ、前記負例を表す正解ラベルが付与された組の低次元ベクトル間の距離を遠ざけるように、前記サンプルデータを用いて計量学習する、
計量学習方法。
【請求項5】
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出処理と、
生成された前記データの前記通信元と前記通信先とが同じデータの組に正例を表す正解ラベルを付与し、前記データの前記通信元と前記通信先とが異なるデータの組に負例を表す正解ラベルを付与して、計量学習で用いるサンプルデータを生成する、生成処理と、
前記特徴ベクトルを低次元ベクトルに変換する変換モデルを、前記正例を表す正解ラベルが付与された組の低次元ベクトル間の距離を近づけ、前記負例を表す正解ラベルが付与された組の低次元ベクトル間の距離を遠ざけるように、前記サンプルデータを用いて計量学習する、学習処理と、
を実行させるための計量学習プログラム。
【請求項6】
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出手段と、
生成された前記データの前記通信元と前記通信先とが同じデータの組に正例を表す正解ラベルを付与し、前記データの前記通信元と前記通信先とが異なるデータの組に負例を表す正解ラベルを付与して、計量学習で用いるサンプルデータを生成する、生成手段と、
前記特徴ベクトルを低次元ベクトルに変換する変換モデルを
、前記正例を表す正解ラベルが付与された組の低次元ベクトル間の距離を近づけ、前記負例を表す正解ラベルが付与された組の低次元ベクトル間の距離を遠ざけるように、前記サンプルデータを用いて計量学習する、学習手段と、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索手段と、
を有する検索装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計量学習に用いるサンプルデータを抽出するサンプルデータ生成装置、サンプルデータ生成方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
データ間の計量(距離や類似度など)を学習する手法として計量学習(Metric Learning)が知られている(特許文献1)。計量学習は、意味の近いデータを近くに、意味の遠いデータを遠くにする学習である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、計量学習では、学習においてサンプルデータとして、近いデータの組(正例の組)と遠いデータの組(負例の組)を与える必要がある。一般には、近いデータの組と遠いデータの組は、人手で与える必要がある。そこで、計量学習で用いるサンプルデータを効率よく生成することが求められている。
【0005】
一つの側面として、計量学習で用いるサンプルデータを効率よく生成するサンプルデータ生成装置、サンプルデータ生成方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、一つの側面におけるサンプルデータ生成装置は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出部と、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成部と、
を有することを特徴とする。
【0007】
また、上記目的を達成するため、一側面におけるサンプルデータ生成方法は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
を有することを特徴とする。
【0008】
また、上記目的を達成するため、一側面におけるプログラムは、
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップ
を実行させることを特徴とする。
【0009】
上記目的を達成するため、一つの側面における計量学習装置は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出部と、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成部と、
前記サンプルデータを用いて計量学習により変換モデルを学習する、学習部と、
を有することを特徴とする。
【0010】
また、上記目的を達成するため、一側面における計量学習方法は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
前記サンプルデータを用いて計量学習をする、学習ステップと、
を有することを特徴とする。
【0011】
また、上記目的を達成するため、一側面におけるプログラムは、
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
前記サンプルデータを用いて計量学習をする、学習ステップと、
を実行させることを特徴とする。
【0012】
また、上記目的を達成するため、一つの側面における検索装置は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出部と、
前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成部と、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習部と、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索部と、
を有することを特徴とする。
【0013】
また、上記目的を達成するため、一つの側面における検索方法は、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出ステップと、
前記データの前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成ステップと、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習ステップと、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索ステップと、
を有することを特徴とする。
【0014】
また、上記目的を達成するため、一側面におけるプログラムは、
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出ステップと、
前記データの前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成ステップと、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習ステップと、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索ステップと、
を実行させることを特徴とする。
【発明の効果】
【0015】
一つの側面として、計量学習で用いるサンプルデータを効率よく生成できる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、サンプルデータ生成装置の一例を説明するための図である。
【
図2】
図2は、システムの一例を説明するための図である。
【
図3】
図3は、情報処理装置を有するシステムの一例を説明するための図である。
【
図4】
図4は、通信履歴情報の一例を説明するための図である。
【
図5】
図5は、特徴ベクトルを有するデータの一例を説明するための図である。
【
図6】
図6は、計量学習の一例を説明するための図である。
【
図7】
図7は、サンプルデータ生成装置の動作の一例を説明するための図である。
【
図8】
図8は、計量学習装置の動作の一例を説明するための図である。
【
図9】
図9は、検索装置の動作の一例を説明するための図である。
【
図10】
図10は、情報処理装置の一例を説明するための図である。
【
図11】
図11は、教師データの一例を説明するための図である。
【
図12】
図12は、計量学習装置の動作の一例を説明するための図である。
【
図13】
図13は、実施形態1、2における情報処理装置を実現するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【0017】
はじめに、以降で説明する実施形態の理解を容易にするためにセキュリティ対策における実施を想定した背景を説明する。すでに組織のシステムに侵入している脅威を検知するセキュリティ対策の方法として脅威ハンティングが知られている。
【0018】
脅威ハンティングの一つの方法として、外部機関から提供される脅威情報を用いて、マルウェア、ウィルス、攻撃者などの脅威を検知する方法がある。しかし、脅威情報の網羅性は必ずしも高いものとはいえない。
【0019】
例えば、セキュリティ対策の従事者は、脅威情報としてIoC(Indicator of Compromise)などを用いて、当該組織のシステムで生成されたログを検索し、脅威を検知している。
【0020】
ところが、IoCがドメインやドメインに関連付けられたIPアドレスなどである場合、攻撃者は、ドメインやドメインに関連付けられたIPアドレスなどを容易に変更できるため、それらが変更されてしまうと脅威を検知することができない。また、検知を避けることを目的として、攻撃する組織に応じてC&C(Command and Control)サーバを変えている場合、他の組織が受けた攻撃に関するIoCを用いて検索をしても、脅威を検知することができない。
【0021】
また、IoCなどの攻撃に関する脅威情報はその数が限られているため、ログをIoCで検索して脅威が検知された場合でも、セキュリティ対策の従事者は、検知された脅威に類似する脅威がないかを確認する必要がある。
【0022】
類似する脅威の有無を確認するためには、セキュリティ対策の従事者は、検知された脅威の特徴を分析し、人手により検索条件を作成しなくてはならない。さらに、セキュリティ対策の従事者は、作成した検索条件で過検知が多い場合には、検索条件を見直す必要がある。
【0023】
このように、発明者は、上述したような課題を見出し、それとともに係る課題を解決する手段を導出するに至った。すなわち、発明者は、セキュリティ対策の従事者が、検索条件を人手により作成しなくても、ログの特徴を用いて類似する脅威を検索できる手段を導出するに至った。
【0024】
また、類似する脅威の確認についても、セキュリティ対策の従事者の作業を抑制できる手段を導出するに至った。さらに、類似する脅威を、セキュリティ対策の従事者が抽出したように(人の感覚で)、自動で抽出できる手段を導出するに至った。
【0025】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0026】
(実施形態1)
図1を用いて、実施形態1におけるサンプルデータ生成装置の構成について説明する。
図1は、サンプルデータ生成装置の一例を説明するための図である。
【0027】
[装置構成]
図1に示すサンプルデータ生成装置1は、計量学習で用いるサンプルデータを効率よく抽出する装置である。また、
図1に示すように、サンプルデータ生成装置1は、抽出部11と、生成部12とを有する。
【0028】
抽出部11は、通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する。なお、抽出部11が、通信元と通信先と通信日時とに基づいて通信履歴情報を分類してもよい。生成部12は、分類した前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する。
【0029】
以上説明したように、実施形態1においては、計量学習で用いるサンプルデータを効率よく生成することができる。なお、計量学習では、一般的にあらかじめ分類問題の教師データとして作成された分類情報(分類ラベル)を用いるが、実施形態1では、このような分類情報を用いず、通信元と通信先と通信日時とに基づいて分類した通信履歴情報を用いている。
【0030】
[システム構成]
図2を用いて、実施形態1における情報処理装置10を有するシステム100の構成を具体的に説明する。
図2は、システムの一例を説明するための図である。また、
図3を用いて、実施形態1における情報処理装置10の構成を具体的に説明する。
図3は、情報処理装置を有するシステムの一例を説明するための図である。
【0031】
システム100について説明する。
システム100は、
図2の例では、情報処理装置10と、プロキシサーバ20と、クライアント30とを有する。ただし、実施形態1のシステムの構成は、
図2に示したシステム100の構成に限定されるものではない。
【0032】
情報処理装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はそれら両方を搭載したサーバコンピュータ、パーソナルコンピュータなどである。また、情報処理装置10は、
図3に示すように、抽出部11と、生成部12と、学習部13と、検索部14とを有する。また、情報処理装置10の内部又は外部に、記憶部21、22、23を有する。
【0033】
情報処理装置10をサンプルデータ生成装置として用いる場合には、
図1に示したように抽出部11と生成部12を有する構成とする。また、情報処理装置10を計量学習装置として用いる場合には、抽出部11と生成部12と学習部13を有する構成とする。また、情報処理装置10を検索装置として用いる場合には、抽出部11と生成部12と学習部13と検索部14を有する構成とする。
【0034】
プロキシサーバ20は、ネットワーク40を介して、クライアント30から取得したリクエストを、取得したリクエストで指定されたサーバ50へ送信する。リクエストは、例えば、クライアント30とサーバ50との間のHTTP通信のリクエストである。ただし、リクエストは、HTTP通信に限定されるものではない。
【0035】
プロキシサーバ20は、少なくともリクエストに関する情報であるアクセスログ(通信履歴情報)を記憶部21に記憶する。記憶部21には、
図3の例では、プロキシログが記憶されている。
【0036】
クライアント30(30a、30b、30c)は、プロキシサーバ20を介して、ネットワーク40に接続されたサーバ50にアクセスする。ネットワーク40は、例えば、インターネットなどのネットワークである。サーバ50(50a、50b、50c)は、例えば、HTTP(Hypertext Transfer Protocol)サーバなどである。
【0037】
情報処理装置10について説明する。
抽出部11は、分類された通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、通信元と通信先と通信日時と特徴ベクトルとを関連付けてデータを生成する。
【0038】
通信履歴情報は、少なくとも通信元と通信先と通信日時とが関連付けられた情報である。
図4は、通信履歴情報の一例を説明するための図である。
【0039】
図4の例では、通信履歴情報はプロキシログを表す。プロキシログの「クライアント」には、クライアント30を識別する情報「C1」「C2」などが記憶されている。「サーバ」には、サーバ50を識別する情報「S1」「S2」などが記憶されている。「通信日時」には、年月日と時間を表す情報が記憶されている。
【0040】
また、「メソッド」には、メソッドを表す「GET」「POST」などが記憶されている。「リクエストパス」には、リクエストパスを表す「/index.html」「/main.css」「/title.png」「/」などが記憶されている。「受信サイズ」には、受信したデータのサイズを表す「2000」「3000」「10000」「200」などが記憶されている。「送信サイズ」には、送信したデータのサイズを表す「0」「1000」などが記憶されている。
【0041】
さらに、プロキシログには、クライアント30が送信するリクエストに含まれる、実用ユーザエージェント文字列などが記憶されている。
【0042】
具体的には、まず、抽出部11は、記憶部21に記憶されている通信履歴情報が有する、クライアント30(通信元)を識別する情報と、サーバ50(通信先)を識別する情報と、クライアント30とサーバ50とが通信をした通信日時とに基づいて、通信履歴情報を分類する。
【0043】
抽出部11は、例えば、通信履歴情報を、クライアント30、サーバ50、あらかじめ設定された所定期間が同じ通信履歴情報に分類する。所定期間は、例えば、同じ年月日、同じ年月日と時間帯、年月日が近い期間などである。
【0044】
ただし、通信履歴情報の分類は、必ずしも抽出部11が行わなくてもよく、抽出部11と別に分類部を設け、分類部に通信履歴情報の分類をさせてもよい。
【0045】
続いて、抽出部11は、分類された通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出する。
【0046】
続いて、抽出部11は、クライアント30を識別する情報と、サーバ50を識別する情報と、所定期間を表す情報と、抽出した特徴ベクトルとを関連付けてデータを生成し、記憶部22に記憶する。記憶部22には、
図3の例では、データセットにデータが記憶されている。
【0047】
図5は、特徴ベクトルを有するデータの一例を説明するための図である。
図5のデータの例では、「クライアント」には、クライアント30を識別する情報「C1」「C2」などが記憶されている。「サーバ」には、サーバ50を識別する情報「S1」「S2」などが記憶されている。「日付」には、年月日を表す情報が記憶されている。「特徴ベクトル」には、特徴ベクトルを表す情報が記憶されている。
【0048】
特徴ベクトルは、次のような要素を含んでいる。例えば、送信サイズ及び受信サイズの統計量(例えば、最小値、最大値、平均値、分散、合計値など)、リクエストパス長の統計量(最小値、最大値、平均値、分散など)、リクエストパスの拡張子の頻度(html、css、pngなどの拡張子ごとのリクエストの割合)、メソッドの頻度(GET/POST/HEADなどリクエストの割合)、アクセス時刻の分布(単位時間(例えば1時間)ごとのリクエストの割合)、リクエスト回数などである。なお、プロキシログにヘッダ情報が含まれている場合にはそれらのヘッダ情報に関する特徴を抽出してもよい。特徴抽出の方法は、これらに限定されず、機械学習において特徴ベクトルへの変換に用いられる一般的な方法も用いてもよい。
【0049】
生成部12は、データの通信元と通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する。
【0050】
具体的には、まず、生成部12は、記憶部22(データセット)のデータを参照して、クライアント30とサーバ50とが同じデータの組(正例の組)を抽出する。なお、すべてのデータを用いず、サンプリングしたデータを用いて抽出をしてもよい。続いて、生成部12は、抽出した組に、正例を表す正解ラベルを付与して、サンプルデータを生成する。
【0051】
図5の例では、データX1、X2の組(X1,X2)と、データX4、X5の組(X4,X5)が正例の組となる。
【0052】
また、生成部12は、記憶部22(データセット)のデータを参照して、クライアント30とサーバ50とが異なるデータの組(負例の組)を抽出する。なお、すべてのデータを用いず、サンプリングしたデータを用いて抽出をしてもよい。
【0053】
続いて、生成部12は、抽出した組のデータに、負例を表す正解ラベルを付与して、サンプルデータを生成する。
【0054】
図5の例では、データX1、X4の組(X1,X4)と、データX1,X5の組(X1,X5)と、データX2、X4の組(X2,X4)と、データX2、X5の組(X2,X5)とが負例の組となる。
【0055】
さらに、生成部12は、記憶部22(データセット)のデータを参照して、クライアント30とサーバ50とが同じで、かつクライアント30とサーバ50とに関連付けられた通信日時が、あらかじめ設定された期間内のデータの組(正例の組)を抽出し、抽出した組のデータに、正例を表す正解ラベルを付与して、サンプルデータを生成してもよい。
【0056】
なお、生成部12は、サーバ50が同じでも、クライアント30が異なる場合には、サンプルデータとして採用しない。理由は、サーバ50が同じだけでは、必ずしも通信の特徴が似ているとは限らないためである。例えば、クライアント30に搭載されているプログラムにより、通信の傾向が変わるためである。また、クライアント30に搭載されているプログラムを、プロキシログから特定することは容易にできない。
【0057】
また、クライアント30が同じである場合、クライアント30に搭載されているプログラムは、特定のサーバ50と通信をしている傾向が強い。クライアント30が異なる場合でも、プログラムとサーバ50が同じであれば、通信の特徴は似ている傾向がある。
【0058】
また、時間的に近ければサーバ50の構成は大きく変化する可能性は低い。例えば、ウェブサーバなどは、サイトのページ構成が大きく変化する可能性は低い。そのため、日時が近いデータの組の方が、通信の特徴が似ている傾向がある。
【0059】
学習部13は、サンプルデータを用いて計量学習により変換モデルを学習する。計量学習では、データ間の計量(距離や類似度など)を学習する。計量学習には、例えば、シャムネットワークやトリプレットネットワークなどを用いる。
【0060】
図6は、計量学習の一例を説明するための図である。
図6の例では、特徴ベクトルの変換後の低次元ベクトル間の距離を利用したロス関数を利用して変換モデルの学習をする。ロス関数は、例えば、シャムネットワークでは Contrastive Loss関数を用いる。
図6の例では、正例の組の距離を近づけ、負例の組の距離を遠ざけるように、変換モデルが学習される。
【0061】
なお、
図6のXi、Xjは、サンプルデータの特徴ベクトルを表している。
図6のNNは、特徴ベクトルを低次元ベクトルに変換するニューラルネットワークを表している。
図6のZi、Zjは、低次元ベクトルを表している。また、Lossi,jは、サンプルデータに対するContrastive Lossを表している。
【0062】
具体的には、まず、学習部13は、サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルの学習をする。変換モデルを用いて特徴ベクトルの次元を低次元に変換するのは、人の感覚を反映させた検索をするためである。すなわち、セキュリティ対策の従事者が類似していると判断するデータが検索で抽出されやすくするためである。
【0063】
学習部13が、特徴ベクトルの次元を低くする理由は、抽出部11で抽出した特徴ベクトルの距離を用いて検索を行うと、人が類似していると判断するデータが抽出されない可能性が高いからである。そこで、計量学習を用いて、低次元に変換する変換モデルを学習する。計量学習では、人が類似判断を行う場合において重要な情報を踏まえて、低次元に変換する変換モデルを学習するので、人の感覚に近い検索ができる。
【0064】
続いて、学習部13は、計量学習をしたニューラルネットワークの構造を表す情報と、その重みを表す情報とを記憶部23(変換モデル)に記憶する。
【0065】
検索部14は、検索対象の特徴ベクトルを変換モデルにより変換した低次元ベクトルと、データの特徴ベクトルを変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した距離があらかじめ設定された距離以内にあるデータを検索する。
【0066】
データセットにデータがn個(nは正の整数)ある場合について説明する。
まず、検索部14は、検索対象のデータを取得する。続いて、検索部14は、検索対象のデータの特徴ベクトルXqの次元を、変換モデルを用いて、低次元ベクトルZqに変換する。
【0067】
続いて、検索部14は、記憶部22(データセット)からデータを取得する。続いて、検索部14は、取得したデータの特徴ベクトルX1の次元を、変換モデルを用いて、低次元ベクトルZ1に変換する。
【0068】
続いて、検索部14は、低次元ベクトルZqと低次元ベクトルZ1との距離d(Zq,Z1)を算出する。ここで、距離d(Zq,Zi)は、例えば、ユークリッド距離、又はコサイン距離などである。「i」は1からnを表す。
【0069】
続いて、検索部14は、距離d(Zq,Z1)があらかじめ設定された閾値以下であるか否かを判定する。距離d(Zq,Z1)が閾値以下である場合、検索部14は、特徴ベクトルX1が検索対象のデータの特徴ベクトルXqに類似していると判定する。なお、距離d(Zq,Z1)が閾値より大きい場合、検索部14は、特徴ベクトルX1が、検索対象のデータの特徴ベクトルXqに類似していないと判定する。なお、閾値は、例えば、実験、シミュレーションなどにより決定する。
【0070】
続いて、検索部14は、検索対象のデータの特徴ベクトルXqと、記憶部22(データセット)に記憶されている次のデータの特徴ベクトルX2に対して、同じように検索をする。記憶部22に記憶されているn個のデータに対して検索処理が終了した場合、検索対象のデータに対する検索処理を終了する。
【0071】
[装置動作]
実施形態1における情報処理装置の動作について
図7、
図8、
図9を用いて説明する。
図7は、サンプルデータ生成装置の動作の一例を説明するための図である。
図8は、計量学習装置の動作の一例を説明するための図である。
図9は、検索装置の動作の一例を説明するための図である。
【0072】
以下の説明においては、適宜
図1から
図6を参照する。また、実施形態1では、情報処理装置を動作させることによって、サンプルデータ生成方法、計量学習方法、検索方法が実施される。よって、実施形態1におけるサンプルデータ生成方法、計量学習方法、検索方法の説明は、以下の情報処理装置の動作説明に代える。
【0073】
サンプルデータ生成方法について説明する。
図7に示すように、まず、抽出部11は、通信元と通信先と通信日時とに基づいて通信履歴情報を分類する(ステップA1)。ただし、通信履歴情報の分類は、必ずしも抽出部11が行わなくてもよく、抽出部11と別に分類部を設けて、分類部に通信履歴情報の分類をさせてもよい。
【0074】
具体的には、ステップ1において、抽出部11は、例えば、クライアント30、サーバ50、あらかじめ設定された所定期間が同じ通信履歴情報を分類する。所定期間は、例えば、同じ年月日、同じ年月日と時間帯、年月日が近い期間などである。
【0075】
次に、抽出部11は、分類した通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出する(ステップA2)。
【0076】
次に、抽出部11は、通信元と通信先と通信日時と特徴ベクトルとを関連付けてデータを生成する(ステップA3)。
【0077】
具体的には、ステップ3において、抽出部11は、クライアント30を識別する情報と、サーバ50を識別する情報と、所定期間を表す情報と、抽出した特徴ベクトルとを関連付けてデータを生成し、記憶部22に記憶する。
【0078】
次に、生成部12は、記憶部22のデータの通信元と通信先とに基づいて、正例又は負例となるデータの組を抽出する(ステップA4)。
【0079】
具体的には、ステップA1において、生成部12は、記憶部22のデータを参照して、クライアント30とサーバ50とが同じデータの組(正例の組)を抽出する。
【0080】
また、ステップA1において、生成部12は、記憶部22(データセット)のデータを参照して、クライアント30とサーバ50とが異なるデータの組(負例の組)を抽出する。
【0081】
また、生成部12は、記憶部22(データセット)のデータを参照して、クライアント30とサーバ50とが同じで、かつクライアント30とサーバ50とに関連付けられた通信日時が、あらかじめ設定された期間内のデータの組(正例の組)を抽出してもよい。
【0082】
次に、生成部12は、抽出した組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する(ステップA5)。
【0083】
計量学習方法について説明する。
図8に示すように、まず、学習部13は、サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルの学習をする(ステップB1)。
【0084】
次に、学習部13は、計量学習をしたニューラルネットワークの構造を表す情報と、その重みを表す情報とを記憶部23(変換モデル)に記憶する(ステップB2)。
【0085】
検索方法について説明する。
図9に示すように、まず、検索部14は、検索対象のデータを取得する(ステップC1)。次に、検索部14は、検索対象のデータの特徴ベクトルXqの次元を、変換モデルを用いて、低次元ベクトルZqに変換する(ステップC2)。
【0086】
次に、検索部14は、記憶部22(データセット)からデータを取得する(ステップC3)。次に、検索部14は、取得したデータの特徴ベクトルXiの次元を、変換モデルを用いて、低次元ベクトルZiに変換する(ステップC4)。
【0087】
次に、検索部14は、低次元ベクトルZqと低次元ベクトルZiとの距離d(Zq,Zi)を算出する(ステップC5)。
【0088】
次に、検索部14は、距離d(Zq,Zi)があらかじめ設定された閾値以下であるか否かを判定する(ステップC6)。距離d(Zq,Zi)が閾値以下である場合(ステップC6:Yes)、検索部14は、特徴ベクトルX1が検索対象のデータの特徴ベクトルXqに類似していると判定する(ステップC7)。
【0089】
なお、距離d(Zq,Zi)が閾値より大きい場合(ステップC6:No)、検索部14は、特徴ベクトルX1が、検索対象のデータの特徴ベクトルXqに類似していないと判定する(ステップC8)。
【0090】
次に、記憶部22に記憶されているn個のデータに対して検索処理が終了した場合(ステップC9:Yes)、検索対象のデータに対する検索処理を終了する。検索処理が終了した場合(ステップC9:No)、ステップC3のステップに移行する。
【0091】
[実施形態1の効果]
以上のように実施形態1によれば、上述したサンプルデータ生成装置(抽出部11、生成部12から構成される装置)を用いることで、計量学習で用いるサンプルデータを効率よく生成することができる。また、計量学習で用いるサンプルデータの数が少ない場合でも、自動でサンプルデータを生成できるので、セキュリティ対策の従事者の作業を抑制できる。
【0092】
また、上述した計量学習装置(抽出部11、生成部12、学習部13から構成される装置)を用いることで、サンプルデータを用いて計量学習した、特徴ベクトルを低次元ベクトルに変換する変換モデルを生成することができる。
【0093】
すなわち、変換モデルは、セキュリティ対策の従事者が類似判断を行う場合において重要な情報を踏まえて学習がされモデルであるため、人に近い感覚で類似する脅威を検出できる。変換モデルは、計量学習で一般的に用いられる分類情報を用いずに学習されたモデルである。
【0094】
さらに、上述した検索装置(抽出部11、生成部12、学習部13、検索部14から構成される装置)を用いることで、セキュリティ対策の従事者が、検索条件を作成しなくても、通信履歴情報の特徴を用いて類似する脅威を検索できる。また、類似する脅威の確認についても、セキュリティ対策の従事者の作業を抑制できる。
【0095】
さらに、類似する脅威を、セキュリティ対策の従事者が抽出したように(人の感覚で)、ドメイン知識を活用して類似するデータを自動で抽出できる。
【0096】
なお、実施形態1では、通信履歴情報としてプロキシサーバのアクセスログを例として説明したが、本発明で用いる通信履歴情報をプロキシサーバのアクセスログに限定するものではない。通信元と通信先の通信に関するログであり、通信元と通信先が同一であれば一定の定常性を期待できるログであれば適用可能である。具体的には、例えば、ファイアウォールのログやルータのフロー情報などを用いてもよい。
【0097】
[プログラム]
実施形態1におけるプログラムは、コンピュータに、
図7に示すステップA1からA5、
図8に示すステップB1からB2、
図9に示したステップC1からC7を実行させるプログラムであればよい。
【0098】
このプログラムをコンピュータにインストールし、実行することによって、実施形態1における情報処理装置(サンプルデータ生成装置、計量学習装置、検索装置)と、サンプルデータ生成方法、計量学習方法、検索方法とを実現することができる。この場合、コンピュータのプロセッサは、抽出部11、生成部12、学習部13、検索部14として機能し、処理を行なう。
【0099】
また、実施形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、抽出部11、生成部12、学習部13、検索部14のいずれかとして機能してもよい。
【0100】
(実施形態2)
以下、実施形態2における情報処理装置について説明する。実施形態1と実施形態2との違いは、セキュリティ対策の従事者があらかじめ作成した教師データを計量学習に用いる点である。
【0101】
[装置構成]
実施形態2における情報処理装置について図面を参照しながら説明する。
図10は、情報処理装置の一例を説明するための図である。
図10に示す情報処理装置10′は、抽出部11、生成部12、学習部13′、検索部14、受付部15を有する。また、情報処理装置10′の内部又は外部に、記憶部21、22、23、24を有する。
【0102】
情報処理装置10をサンプルデータ生成装置として用いる場合には、抽出部11と生成部12を有する構成とする。また、情報処理装置10を計量学習装置として用いる場合には、抽出部11と生成部12と学習部13′と受付部15とを有する構成とする。また、情報処理装置10を検索装置として用いる場合には、抽出部11と生成部12と学習部13′と検索部14と受付部15とを有する構成とする。
【0103】
情報処理装置10′について説明する。
抽出部11及び生成部12については、実施形態1で既に説明したので説明を省略する。
【0104】
受付部15は、セキュリティ対策の従事者があらかじめ作成した教師データを受け付ける。受付部15は、受け付けた教師データを記憶部24(教師データ)に記憶する。受付部15を設けることで、サンプルデータに加えて、教師データを人手で与えることができる。
【0105】
教師データは、記憶部23に記憶されているデータセットに含まれるデータの組と、正例又は負例を表す正解ラベルとが関連付けられた情報で、記憶部24に記憶されている。
図11は、教師データの一例を説明するための図である。
図11の例では、データセットに含まれるデータの組と、正解ラベルとが関連付けられたデータである。正解ラベルは、正例の組である場合に「1」、負例の場合には「0」を付与する。
【0106】
学習部13′は、生成部12で生成したサンプルデータと教師データとを用いて、計量学習をする。学習部13′は、教師データに含まれる組が生成部12で抽出したサンプルデータに含まれる場合、教師データを優先して用いる。
【0107】
具体的には、学習部13′は、サンプルデータの組が、あらかじめ設定された正例又は負例を表す正解ラベルが付された教師データの組と一致した場合、そのサンプルデータの組は学習に利用しない。つまり、教師データの正解ラベルを採用する。
【0108】
加えて、ロス関数において教師データの重みをサンプルデータより大きく設定し、変換モデルを学習する。教師データの重みを大きくして学習することで、教師データの組の類似/非類似が変換後の距離に反映されやすくする。その結果、セキュリティ対策の従事者の意図を反映させる。
【0109】
[装置動作]
実施形態2における情報処理装置の動作について
図12を用いて説明する。
図12は、計量学習装置の動作の一例を説明するための図である。
【0110】
以下の説明においては、適宜図を参照する。また、実施形態2では、情報処理装置を動作させることによって、サンプルデータ生成方法、計量学習方法、検索方法が実施される。サンプルデータ生成方法と検索方法の説明については、実施形態1で既に説明したので省略する。実施形態2における計量学習方法の説明は、以下の情報処理装置の動作説明に代える。
【0111】
計量学習方法について説明する。
図12に示すように、まず、学習部13′は、サンプルデータと教師データとを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルの学習をする(ステップB1′)。
【0112】
次に、学習部13′は、計量学習をしたニューラルネットワークの構造と、その重みとを記憶部23(変換モデル)に記憶する(ステップB2′)。
【0113】
[実施形態2の効果]
以上のように実施形態2によれば、実施形態1の効果に加え、更に、セキュリティ対策の従事者の意図を反映させることができる。
【0114】
[プログラム]
実施形態2におけるプログラムは、コンピュータに、
図7に示すステップA1からA5、
図12に示すステップB1′からB2′、
図9に示したステップC1からC7を実行させるプログラムであればよい。
【0115】
このプログラムをコンピュータにインストールし、実行することによって、実施形態2における情報処理装置(サンプルデータ生成装置、計量学習装置、検索装置)と、サンプルデータ生成方法、計量学習方法、検索方法とを実現することができる。この場合、コンピュータのプロセッサは、抽出部11、生成部12、学習部13′、検索部14、受付部15として機能し、処理を行なう。
【0116】
また、実施形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、抽出部11、生成部12、学習部13′、検索部14、受付部15のいずれかとして機能してもよい。
【0117】
[物理構成]
ここで、実施形態1、2におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて
図13を用いて説明する。
図13は、実施形態1、2における情報処理装置を実現するコンピュータの一例を説明するための図である。
【0118】
図13に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGAを備えていてもよい。
【0119】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0120】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0121】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0122】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0123】
なお、実施形態1、2における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0124】
[付記]
以上の実施形態に関し、更に以下の付記を開示する。上述した実施形態の一部又は全部は、以下に記載する(付記1)から(付記27)により表現することができるが、以下の記載に限定されるものではない。
【0125】
(付記1)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出部と、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成部と、
を有するサンプルデータ生成装置。
【0126】
(付記2)
付記1に記載のサンプルデータ生成装置であって、
前記抽出部は、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成し、
前記生成部は、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する
サンプルデータ生成装置。
【0127】
(付記3)
付記2に記載のサンプルデータ生成装置であって、
前記生成部は、前記データの前記通信元と前記通信先とが同じデータの組を抽出し、抽出した前記組を正例とする
サンプルデータ生成装置。
【0128】
(付記4)
付記2又は3に記載のサンプルデータ生成装置であって、
前記生成部は、前記データの前記通信元と前記通信先とが異なるデータの組を抽出し、抽出した前記組を負例とする
サンプルデータ生成装置。
【0129】
(付記5)
付記2から4のいずれか一つに記載のサンプルデータ生成装置であって、
前記生成部は、前記データの前記通信元と前記通信先とが同じで、かつ前記通信元と前記通信先とに関連付けられた前記通信日時が、あらかじめ設定された期間内のデータの組を抽出し、抽出した前記組を正例とする
サンプルデータ生成装置。
【0130】
(付記6)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
を有するサンプルデータ生成方法。
【0131】
(付記7)
付記6に記載のサンプルデータ生成方法であって、
前記抽出ステップにおいて、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、
前記生成ステップにおいて、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する
サンプルデータ生成方法。
【0132】
(付記8)
付記7に記載のサンプルデータ生成方法であって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが同じデータの組を抽出し、抽出した前記組を正例とする
サンプルデータ生成方法。
【0133】
(付記9)
付記7又は8に記載のサンプルデータ生成方法であって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが異なるデータの組を抽出し、抽出した前記組を負例とする
サンプルデータ生成方法。
【0134】
(付記10)
付記7から9のいずれか一つに記載のサンプルデータ生成方法であって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが同じで、かつ前記通信元と前記通信先とに関連付けられた前記通信日時が、あらかじめ設定された期間内のデータの組を抽出し、抽出した前記組を正例とする
サンプルデータ生成方法。
【0135】
(付記11)
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと
を実行させる命令を含むプログラム。
【0136】
(付記12)
付記11に記載のプログラムであって、
前記抽出ステップにおいて、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成し、
前記生成ステップにおいて、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する
プログラム。
【0137】
(付記13)
付記12に記載のプログラムであって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが同じデータの組を抽出し、抽出した前記組を正例とする
プログラム。
【0138】
(付記14)
付記12又は13に記載のプログラムであって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが異なるデータの組を抽出し、抽出した前記組を負例とする
プログラム。
【0139】
(付記15)
付記12から14のいずれか一つに記載のプログラムであって、
前記生成ステップにおいて、前記データの前記通信元と前記通信先とが同じで、かつ前記通信元と前記通信先とに関連付けられた前記通信日時が、あらかじめ設定された期間内のデータの組を抽出し、抽出した前記組を正例とする
プログラム。
【0140】
(付記16)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出部と、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成部と、
前記サンプルデータを用いて計量学習により変換モデルを学習する、学習部と、
を有する計量学習装置。
【0141】
(付記17)
付記16に記載の計量学習装置であって、
前記抽出部は、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成し、
前記生成部は、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成し、
前記学習部は、前記サンプルデータを用いて、特徴ベクトルの次元を低次元ベクトルに変換する変換モデルを学習する、
計量学習装置。
【0142】
(付記18)
付記17に記載の計量学習装置であって、
前記学習部は、前記サンプルデータの組が、あらかじめ設定された正例又は負例を表す正解ラベルが付された教師データの組と一致した場合、前記サンプルデータの組は学習に利用しない
計量学習装置。
【0143】
(付記19)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類した前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
前記サンプルデータを用いて計量学習により変換モデルを学習する、学習ステップと、
を有する計量学習方法。
【0144】
(付記20)
付記19に記載の計量学習方法であって、
前記抽出ステップにおいて、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、
前記生成ステップにおいて、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成し、
前記学習ステップにおいて、前記サンプルデータを用いて、特徴ベクトルの次元を低次元ベクトルに変換する変換モデルを学習する
計量学習方法。
【0145】
(付記21)
付記20に記載の計量学習方法であって、
前記学習ステップにおいて、前記サンプルデータの組が、あらかじめ設定された正例又は負例を表す正解ラベルが付された教師データの組と一致した場合、前記サンプルデータの組は学習に利用しない
計量学習方法。
【0146】
(付記22)
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得する、抽出ステップと、
分類された前記通信履歴情報と前記通信元と前記通信先と前記通信日時とを関連付けて生成したデータに、正解ラベルを付与して計量学習で用いるサンプルデータとして生成する、生成ステップと、
前記サンプルデータを用いて計量学習により変換モデルを学習する、学習ステップと、
を実行させる命令を含むプログラム。
【0147】
(付記23)
付記22に記載のプログラムであって、
前記抽出ステップにおいて、通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成し、
前記生成ステップにおいて、前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成し、
前記学習ステップにおいて、前記サンプルデータを用いて、特徴ベクトルの次元を低次元ベクトルに変換する変換モデルを学習する
プログラム。
【0148】
(付記24)
付記23に記載のプログラムであって、
前記学習ステップにおいて、前記サンプルデータの組が、あらかじめ設定された正例又は負例を表す正解ラベルが付された教師データの組と一致した場合、前記サンプルデータの組は学習に利用しない
プログラム。
【0149】
(付記25)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出部と、
前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成部と、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習部と、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索部と、
を有する検索装置。
【0150】
(付記26)
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、抽出ステップと、
前記データの前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成ステップと、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習ステップと、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索ステップと、
を有する検索方法。
【0151】
(付記27)
コンピュータに、
通信元と通信先と通信日時とに基づいて分類された通信履歴情報を取得し、分類された前記通信履歴情報を用いて通信の特徴を表す特徴ベクトルを抽出し、前記通信元と前記通信先と前記通信日時と前記特徴ベクトルとを関連付けてデータを生成する、生成ステップと、
前記データの前記通信元と前記通信先とに基づいて、正例又は負例となるデータの組を抽出し、抽出した前記組に正例又は負例を表す正解ラベルを付与して計量学習で用いるサンプルデータを生成する、生成ステップと、
前記サンプルデータを用いて、特徴ベクトルを低次元ベクトルに変換する変換モデルを学習する、学習ステップと、
検索対象の特徴ベクトルを前記変換モデルにより変換した低次元ベクトルと、前記データの特徴ベクトルを前記変換モデルにより変換した低次元ベクトルとの距離を算出し、算出した前記距離があらかじめ設定された距離以内にあるデータを検索する、検索ステップと、
を実行させる命令を含むプログラム。
【0152】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0153】
以上のように本発明によれば、計量学習で用いるサンプルデータを効率よく生成することができる。本発明は、脅威ハンティングが必要な分野において有用である。
【符号の説明】
【0154】
1 サンプルデータ生成装置
10、10´ 情報処理装置
11 抽出部
12 生成部
13、13´ 学習部
14 検索部
15 受付部
20 プロキシサーバ
21、22、23、24 記憶部
30、30a、30b、30c クライアント
40 ネットワーク
50、50a、50b、50c サーバ
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス