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

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

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

特許7586304特徴量算出装置、特徴量算出方法および特徴量算出プログラム
<>
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図1
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図2
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図3
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図4
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図5
  • 特許-特徴量算出装置、特徴量算出方法および特徴量算出プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】特徴量算出装置、特徴量算出方法および特徴量算出プログラム
(51)【国際特許分類】
   H04L 41/142 20220101AFI20241112BHJP
   H04L 41/16 20220101ALI20241112BHJP
【FI】
H04L41/142
H04L41/16
【請求項の数】 8
(21)【出願番号】P 2023520712
(86)(22)【出願日】2021-05-14
(86)【国際出願番号】 JP2021018349
(87)【国際公開番号】W WO2022239222
(87)【国際公開日】2022-11-17
【審査請求日】2023-09-14
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】胡 博
(72)【発明者】
【氏名】神谷 和憲
【審査官】長谷川 未貴
(56)【参考文献】
【文献】国際公開第2016/002132(WO,A1)
【文献】HAMILTON, W, L, et al.,Representation Learning on Graphs: Methods and Applications,arXiv:1709.05584v3 [cs.SI],2018年04月10日
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-101/00
(57)【特許請求の範囲】
【請求項1】
ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する生成部と、
生成された前記グラフのノードのうち、所定の条件を満たすノードを選択する選択部と、
選択された前記ノードについて、前記グラフでの特徴量を所定の学習方法により計算する計算部と、
選択された前記ノード以外のノードについて、前記グラフで相互に隣接するノードの計算された特徴量を合成することにより、特徴量を推定する推定部と、
を有することを特徴とする特徴量算出装置。
【請求項2】
前記生成部は、隣接するノードの数が所定の閾値より小さいノードを除外してグラフを生成することを特徴とする請求項1に記載の特徴量算出装置。
【請求項3】
前記選択部は、隣接するノードの数が多い順に所定数のノードを選択することを特徴とする請求項1に記載の特徴量算出装置。
【請求項4】
前記選択部は、すべてのノードに対して隣接ノードと異なる色を付与するColoringアルゴリズムにより所定の色が付与されたノードを選択することを特徴とする請求項1に記載の特徴量算出装置。
【請求項5】
前記推定部は、選択された前記ノード以外のノードについて、該ノードから最短距離の全ての選択されたノードの計算された特徴量を合成することにより、特徴量を推定することを特徴とする請求項1に記載の特徴量算出装置。
【請求項6】
前記推定部は、複数のノードの特徴量ベクトルを平均またはアダマール積により合成することにより、前記選択されたノード以外のノードの特徴量を推定することを特徴とする請求項1に記載の特徴量算出装置。
【請求項7】
特徴量算出装置が実行する特徴量算出方法であって、
ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する生成工程と、
生成された前記グラフのノードのうち、所定の条件を満たすノードを選択する選択工程と、
選択された前記ノードについて、前記グラフでの特徴量を所定の学習方法により計算する計算工程と、
選択された前記ノード以外のノードについて、前記グラフで相互に隣接するノードの計算された特徴量を合成することにより、特徴量を推定する推定工程と、
を含んだことを特徴とする特徴量算出方法。
【請求項8】
コンピュータに、
ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する生成ステップと、
生成された前記グラフのノードのうち、所定の条件を満たすノードを選択する選択ステップと、
選択された前記ノードについて、前記グラフでの特徴量を所定の学習方法により計算する計算ステップと、
選択された前記ノード以外のノードについて、前記グラフで相互に隣接するノードの計算された特徴量を合成することにより、特徴量を推定する推定ステップと、
を実行させることを特徴とする特徴量算出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特徴量算出装置、特徴量算出方法および特徴量算出プログラムに関する。
【背景技術】
【0002】
従来、悪意のあるプログラムによって乗っ取られたコンピュータで構成されるボットネットと呼ばれるネットワークの構造を検知する技術が期待されている。IPホストをノードとし、IPホスト間のエンドツーエンド通信をエッジとするグラフの特徴量は、ボットネットの構造を検知するために有用な情報となる。
【0003】
そこで、グラフの特徴量の質の高い学習が可能なgraph embeddingと呼ばれる技術が知られている。例えば、Deep WalkやNode2Vec等のgraph embeddingでは、関連性のあるノード同士に対して、低次元の特徴量空間上で類似するように、特徴ベクトルを学習することにより、グラフ上の数ホップ先の関連性のあるノードを抽出することができる(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Bryan Perozzi et al., “DeepWalk: Online Learning of Social Representations”, KDD '14, Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery, 2014年
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、ノード数に依存して、時間・空間計算量が増加するという問題がある。
【0006】
本発明は、上記に鑑みてなされたものであって、時間・空間計算量を削減して通信ネットワークを表すグラフから特徴量を算出することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る特徴量算出装置は、ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する生成部と、生成された前記グラフのノードのうち、所定の条件を満たすノードを選択する選択部と、選択された前記ノードについて、前記グラフでの特徴量を所定の学習方法により計算する計算部と、選択された前記ノード以外のノードについて、前記グラフで順次隣接するノードの計算された特徴量を合成することにより、特徴量を推定する推定部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、時間・空間計算量を削減して通信ネットワークを表すグラフから特徴量を算出することが可能となる。
【図面の簡単な説明】
【0009】
図1図1は、特徴量算出装置の概略構成を例示する模式図である。
図2図2は、特徴量算出装置の処理を説明するための図である。
図3図3は、特徴量算出装置の処理を説明するための図である。
図4図4は、特徴量算出装置の処理を説明するための図である。
図5図5は、特徴量算出処理手順を示すフローチャートである。
図6図6は、特徴量算出プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0011】
[特徴量算出装置の構成]
図1は、特徴量算出装置の概略構成を例示する模式図である。図1に例示するように、特徴量算出装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
【0012】
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
【0013】
通信制御部13は、NIC(Network Interface Card)等で実現され、ネットワークを介したサーバ等の外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、ネットワークの通信情報を収集し管理する管理装置等と制御部15との通信を制御する。
【0014】
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、特徴量算出装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。例えば、記憶部14は、後述する推定部の処理結果の推定モデル等を記憶する。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
【0015】
制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図1に例示するように、取得部15a、生成部15b、選択部15c、計算部15dおよび推定部15eとして機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。例えば、計算部15dと推定部15eとは異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。
【0016】
取得部15aは、収集されたネットワークのノードの通信情報を取得する。例えば、取得部15aは、後述する特徴量算出処理の処理対象のIPホストのフロー情報等を、入力部11あるいは通信制御部13を介して、ネットワークの通信情報を収集し管理する管理装置等から取得する。なお、取得部15aは、取得したデータを記憶部14に記憶させてもよい。あるいは、取得部15aは、これらの情報を記憶部14に記憶させずに、以下に説明する生成部15bに転送してもよい。
【0017】
生成部15bは、ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する。具体的には、生成部15bは、取得したIPホストのフロー情報を用いて、IPホストをノードとし、IPホスト間の通信をエッジとするグラフを作成する。その際に、生成部15bは、隣接するノードの数が所定の閾値より小さいノードを除外してグラフを生成する。
【0018】
選択部15cは、生成されたグラフのノードのうち、所定の条件を満たすノードを選択する。例えば、選択部15cは、隣接するノードの数が多い順に所定数のノードを選択する。
【0019】
あるいは、選択部15cは、すべてのノードに対して隣接ノードと異なる色を付与するColoringアルゴリズムにより所定の色が付与されたノードを選択する。ここで、図2は、選択部の処理を説明するための図である。図2に示すように、選択部15cは、例えば、Greedy Coloring algorithmを用いて、隣接ノードと異なる色になるように、各ノードに色を付加する。図2に示す例では、隣接ノード数の多い順に選択して、例えば、ノードEとノードAには赤、ノードB、C、Dには青というように、所定の順に隣接ノードと異なる色を付与する。そして、選択部15cは、例えば赤を付与したノード(図2の例ではノードA、E)を選択する。
【0020】
計算部15dは、選択されたノードについて、グラフでの特徴量を所定の学習方法により計算する。ここで、図3は、計算部の処理を説明するための図である。図3に示すように、計算部15dは、例えば、グラフ上でrandom walkによってノードごとに複数のノードからなるパス(リスト)を生成し、パス上での選択されたノードについてのみ、特徴量をDeep Walkでも利用されるWord2Vecアルゴリズムによって計算する。
【0021】
図3に示す例では、パス上の選択されたノードA、Eについて、特徴量空間での特徴量φ(A)、φ(E)を計算する。このように、計算部15dは、Deep Walkのように全ノードの特徴量を学習することなく、選択されたノードのみの特徴量を所定の学習方法により計算する。
【0022】
推定部15eは、選択されたノード以外のノードについて、グラフで順次隣接するノードの計算された特徴量を合成することにより、特徴量を推定する。なお、順次隣接するノードとは、各ノードの隣接ノードと、当該隣接ノードに隣接する2次隣接ノード等を含むことを意味する。
【0023】
ここで、図4は、推定部の処理を説明するための図である。図4に示すように、推定部15eは、例えば、選択されたノード以外のノードについて、該ノードから最短距離の全ての選択されたノードの計算された特徴量を合成することにより、特徴量を推定する。また、推定部15eは、複数のノードの特徴量ベクトルを平均またはアダマール積により合成することにより、選択されたノード以外のノードの特徴量を推定する。
【0024】
図4に示す例では、推定部15eは、選択されたノードA、E以外の未学習のノードBの特徴量φ(B)を、ノードAの特徴量φ(A)とノードEの特徴量φ(E)との平均Agg(φ(A),φ(E))により算出している。また、推定部15eは、未学習のノードGの特徴量φ(G)を、最短距離の全ノードであるノードFの特徴量φ(F)の平均Agg(φ(F))、すなわち、ノードFの最短距離の選択された学習済のノードEの特徴量φ(E)の平均Agg(Agg(φ(E)))により推定している。
【0025】
また、推定部15eは、出力部12を介して、計算された特徴量と、推定された特徴量とを出力する。
【0026】
[特徴量算出処理]
次に、図5を参照して、本実施形態に係る特徴量算出装置10による特徴量算出処理について説明する。図5は、特徴量算出処理手順を示すフローチャートである。図5のフローチャートは、例えば、特徴量算出処理の開始を指示する操作入力があったタイミングで開始される。
【0027】
まず、取得部15aが取得したネットワークのノードの通信情報を用いて、生成部15bがノード間の通信を表すグラフを生成する(ステップS1)。
【0028】
次に、選択部15cが、生成されたグラフのノードのうち、所定の条件を満たすノードを選択する(ステップS2)。例えば、選択部15cは、隣接するノードの数が多い順に所定数のノードを選択する。あるいは、選択部15cは、Coloringアルゴリズムにより所定の色が付与されたノードを選択する。
【0029】
また、計算部15dが、選択ノードについて、グラフでの特徴量を所定の学習方法により計算する(ステップS3)。
【0030】
そして、推定部15eが、選択ノード以外の未学習ノードについて、グラフで隣接する選択ノードの計算された特徴量を合成することにより、特徴量を推定する(ステップS4)。
【0031】
例えば、推定部15eは、選択ノード以外の未学習ノードについて、該未学習ノードから最短距離の全ての選択ノードの計算された特徴量を合成することにより、特徴量を推定する。その際に、推定部15eは、複数のノードの特徴量ベクトルを平均またはアダマール積により合成することにより、選択ノード以外の未学習ノードの特徴量を推定する。
【0032】
また、推定部15eが、出力部12を介して、計算された特徴量と、推定された特徴量とを出力する(ステップS5)。これにより、一連の特徴量算出処理が終了する。
【0033】
以上、説明したように、特徴量算出装置10において、生成部15bが、ネットワークのノード間の通信情報を用いて、ノード間の通信を表すグラフを生成する。選択部15cが、生成されたグラフのノードのうち、所定の条件を満たすノードを選択する。計算部15dが、選択されたノードについて、グラフでの特徴量を所定の学習方法により計算する。推定部15eが、選択されたノード以外のノードについて、グラフで順次隣接するノードの計算された特徴量を合成することにより、特徴量を推定する。
【0034】
このように、特徴量算出装置10は、学習時の計算を選択ノードに限定して計算量を削減する。これにより、時間・空間計算量を削減して通信ネットワークを表すグラフから特徴量を算出することが可能となる。
【0035】
また、生成部15bは、隣接するノードの数が所定の閾値より小さいノードを除外してグラフを生成する。これにより、特徴量算出装置10は、効率よく特徴量を算出することが可能となる。
【0036】
また、選択部15cは、隣接するノードの数が多い順に所定数のノードを選択する。これにより、特徴量算出装置10は、効率よく特徴量を算出することが可能となる。
【0037】
また、選択部15cは、すべてのノードに対して隣接ノードと異なる色を付与するColoringアルゴリズムにより所定の色が付与されたノードを選択する。これにより、特徴量算出装置10は、効率よく特徴量を算出することが可能となる。
【0038】
また、推定部15eは、選択されたノード以外のノードについて、該ノードから最短距離の全ての選択されたノードの計算された特徴量を合成することにより、特徴量を推定する。これにより、特徴量算出装置10は、高精度に特徴量を算出することが可能となる。
【0039】
また、推定部15eは、複数のノードの特徴量ベクトルを平均またはアダマール積により合成することにより、選択されたノード以外のノードの特徴量を推定する。これにより、特徴量算出装置10は、効率よく特徴量を算出することが可能となる。
【0040】
[プログラム]
上記実施形態に係る特徴量算出装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、特徴量算出装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の特徴量算出処理を実行する特徴量算出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の特徴量算出プログラムを情報処理装置に実行させることにより、情報処理装置を特徴量算出装置10として機能させることができる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。また、特徴量算出装置10の機能を、クラウドサーバに実装してもよい。
【0041】
図6は、特徴量算出プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
【0042】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
【0043】
ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
【0044】
また、特徴量算出プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した特徴量算出装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
【0045】
また、特徴量算出プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
【0046】
なお、特徴量算出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、特徴量算出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0047】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0048】
10 特徴量算出装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
15 制御部
15a 取得部
15b 生成部
15c 選択部
15d 計算部
15e 推定部
図1
図2
図3
図4
図5
図6