(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023144725
(43)【公開日】2023-10-11
(54)【発明の名称】複雑性算出装置、複雑性算出方法及び複雑性算出プログラム
(51)【国際特許分類】
H04L 43/08 20220101AFI20231003BHJP
【FI】
H04L43/08
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022051846
(22)【出願日】2022-03-28
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】奥井 宣広
(72)【発明者】
【氏名】中原 正隆
(72)【発明者】
【氏名】窪田 歩
(57)【要約】
【課題】データの連続性を考慮した複雑性を評価できる複雑性算出装置、複雑性算出方法及び複雑性算出プログラムを提供すること。
【解決手段】複雑性算出装置1は、複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する特徴量選定部11と、連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する特徴量セット抽出部12と、複数抽出された特徴量セットの中から、ユニークな特徴量セットの集合を作成する集合作成部13と、ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、当該エントロピーの総和を計算するエントロピー算出部14と、エントロピーの総和を所定の値域に正規化し、複雑性指標として出力する指標出力部15と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する特徴量選定部と、
連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する特徴量セット抽出部と、
複数抽出された前記特徴量セットの中から、ユニークな特徴量セットの集合を作成する集合作成部と、
前記ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、当該エントロピーの総和を計算するエントロピー算出部と、
前記エントロピーの総和を所定の値域に正規化し、複雑性指標として出力する指標出力部と、を備える複雑性算出装置。
【請求項2】
前記連続データは、通信情報の時系列データである請求項1に記載の複雑性算出装置。
【請求項3】
前記時系列データは、フローデータである請求項2に記載の複雑性算出装置。
【請求項4】
前記特徴量選定部は、複数のフィールド間で特定の処理を行い、新たに作成したフィールドを前記特徴量の一部として選定する請求項1から請求項3のいずれかに記載の複雑性算出装置。
【請求項5】
前記特徴量選定部は、複数のパターンで特徴量を選定し、
前記指標出力部は、前記複数のパターンのそれぞれから算出された複数の前記複雑性指標から統計量を求め、出力値とする請求項1から請求項4のいずれかに記載の複雑性算出装置。
【請求項6】
前記特徴量セット抽出部は、前記データ数を複数設定し、
前記指標出力部は、複数の前記データ数のそれぞれから算出された複数の前記複雑性指標から統計量を求め、出力値とする請求項1から請求項5のいずれかに記載の複雑性算出装置。
【請求項7】
複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する特徴量選定ステップと、
連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する特徴量セット抽出ステップと、
複数抽出された前記特徴量セットの中から、ユニークな特徴量セットの集合を作成する集合作成ステップと、
前記ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、当該エントロピーの総和を計算するエントロピー算出ステップと、
前記エントロピーの総和を所定の値域に正規化し、複雑性指標として出力する指標出力ステップと、をコンピュータが実行する複雑性算出方法。
【請求項8】
請求項1から請求項6のいずれかに記載の複雑性算出装置としてコンピュータを機能させるための複雑性算出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信データの複雑性を算出するための装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、異常検知等の通信データを分析する手法を選定するため、あるいは、通信デバイスの特性又は機種等の推測又はグルーピングのために、通信データの複雑性を評価して利用することが行われている。
【0003】
例えば、特許文献1では、デバイス識別において、パケットシーケンス、パケットサイズ、パケットの間隔を含む複数のパケット間の相関、又はエントロピーに基づいて、デバイス検出プロセスを実行することが示されている。
ここで算出されるエントロピーは、個々のレコードに対して算出されるものである。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
時系列データに対する従来の複雑性指標は、センサデータ等の1次元を対象としたものであるため、複数の次元を持つ通信データに対して、1次元の手法をそのまま適用して複雑性を評価することは難しかった。
また、通信データの複雑性指標としてエントロピーを算出する手法はあるが、1つのレコード内の特定のフィールドに着目して計算するものであるため、個々のレコードの複雑性を評価することはできるが、通信の連続性を考慮した複雑性を評価することができなかった。
【0006】
本発明は、データの連続性を考慮した複雑性を評価できる複雑性算出装置、複雑性算出方法及び複雑性算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る複雑性算出装置は、複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する特徴量選定部と、連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する特徴量セット抽出部と、複数抽出された前記特徴量セットの中から、ユニークな特徴量セットの集合を作成する集合作成部と、前記ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、当該エントロピーの総和を計算するエントロピー算出部と、前記エントロピーの総和を所定の値域に正規化し、複雑性指標として出力する指標出力部と、を備える。
【0008】
前記連続データは、通信情報の時系列データであってもよい。
【0009】
前記時系列データは、フローデータであってもよい。
【0010】
前記特徴量選定部は、複数のフィールド間で特定の処理を行い、新たに作成したフィールドを前記特徴量の一部として選定してもよい。
【0011】
前記特徴量選定部は、複数のパターンで特徴量を選定し、前記指標出力部は、前記複数のパターンのそれぞれから算出された複数の前記複雑性指標から統計量を求め、出力値としてもよい。
【0012】
前記特徴量セット抽出部は、前記データ数を複数設定し、前記指標出力部は、複数の前記データ数のそれぞれから算出された複数の前記複雑性指標から統計量を求め、出力値としてもよい。
【0013】
本発明に係る複雑性算出方法は、複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する特徴量選定ステップと、連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する特徴量セット抽出ステップと、複数抽出された前記特徴量セットの中から、ユニークな特徴量セットの集合を作成する集合作成ステップと、前記ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、当該エントロピーの総和を計算するエントロピー算出ステップと、前記エントロピーの総和を所定の値域に正規化し、複雑性指標として出力する指標出力ステップと、をコンピュータが実行する。
【0014】
本発明に係る複雑性算出プログラムは、前記複雑性算出装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0015】
本発明によれば、データの連続性を考慮した複雑性を評価することができる。
【図面の簡単な説明】
【0016】
【
図1】実施形態における複雑性算出装置の機能構成を示す図である。
【
図2】実施形態における複雑性算出方法の流れを示すフローチャートである。
【
図3】実施形態における連続データとして取得したIPFIXレコードを例示する図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の一例について説明する。
本実施形態の複雑性算出方法では、IPFIX等の集約情報、又は通信データのヘッダ情報を使用して、デバイスが送受信する通信において、通信の連続性を考慮した複雑性を示す指標が出力される。
【0018】
図1は、本実施形態における複雑性算出装置1の機能構成を示す図である。
複雑性算出装置1は、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置である。
【0019】
制御部10は、複雑性算出装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
具体的には、制御部10は、特徴量選定部11と、特徴量セット抽出部12と、集合作成部13と、エントロピー算出部14と、指標出力部15とを備える。
【0020】
記憶部20は、ハードウェア群を複雑性算出装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(複雑性算出プログラム)を記憶し、さらに、処理対象として受信した連続データ、及び演算結果等を記憶する。
【0021】
特徴量選定部11は、ユーザからの選択入力等に従って、複数のフィールドを持つ連続データに対して、特徴量として1つ以上のフィールドを選定する。
さらに、特徴量選定部11は、複数のフィールド間で四則演算等、特定の処理を行い、新たに作成したフィールドを特徴量の一部として選定してもよい。
また、特徴量選定部11は、複数のパターンで特徴量を選定してもよい。
【0022】
ここで、連続データは、例えば、IoTデバイス等からの出力データの他、双方向の通信情報の時系列データであってもよい。通信情報は、例えばパケットのヘッダ情報であってもよいし、統計情報が格納されたフローデータの列であってもよい。
また、これらの連続データは、例えば、固定の周期でサンプリングされたものであってもよい。
【0023】
特徴量セット抽出部12は、連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出する。
このとき、特徴量セット抽出部12は、データ数を複数設定してもよい。この場合、特徴量セット抽出部12は、データ数毎に特徴量セットを抽出する。
【0024】
集合作成部13は、複数抽出された特徴量セットの中から、ユニークな特徴量セットの集合を作成する。
【0025】
エントロピー算出部14は、ユニークな特徴量セットの集合において、各特徴量セットのエントロピーを算出し、これらのエントロピーの総和を計算する。
【0026】
指標出力部15は、計算されたエントロピーの総和を所定の値域に正規化し、複雑性指標として出力する。
このとき、指標出力部15は、複数のパターンで選定された特徴量、及び複数設定されたデータ数のそれぞれから算出された複数の複雑性指標から統計量を求め、最終的な複雑性指標として出力してもよい。
統計量は、例えば、平均値、中央値、最大値、最小値等であってよい。また、指標出力部15は、複数の複雑性指標から標準偏差を計算し、複雑性指標に幅を持たせて出力してもよい。
【0027】
図2は、本実施形態における複雑性算出方法の流れを示すフローチャートである。
ここでは、通信データとしてIPFIXを用いた場合の具体的な複雑性指標の算出手順を例示する。
【0028】
IPFIXには、次のようなフィールド(IPFIXエレメント)がある。
flowEndMilliseconds:フローが終了した時刻。
flowStartMilliseconds:フローが開始した時刻。
flowDurationMilliseconds:フローの継続時間。
reverseFlowDeltaMilliseconds:フローの最初の行きパケットと帰りパケットとの時間の差。
protocolIdentifier:フローのプロトコル(ICMP、TCP、UDP等)。
sourceIPv4Address:送信元のIPv4アドレス。
sourceTransportPort:送信元のポート番号。
packetTotalCount:フローに含まれる行き方向のパケット数。
octetTotalCount:フローに含まれる行き方向のオクテット数。
sourceMacAddress:送信元のMACアドレス。
destinationIPv4Address:宛先のIPv4アドレス。
destinationTransportPort:宛先のポート番号。
reversePacketTotalCount:フローに含まれる帰り方向のパケット数。
reverseOctetTotalCount:フローに含まれる帰り方向のオクテット数。
【0029】
ステップS1において、特徴量選定部11は、これらのフィールドからc個のフィールドを選定し、c個のフィールドの組み合わせを特徴量Fとする。例えば、3つフィールドを選定した場合、i番目のレコードの特徴量は、
Fi=(packetTotalCount, octetTotalCount, reversePacketTotalCount)
のようになる。
また、前述のように、特徴量選定部11は、これらのフィールドのいずれかを用いて、例えば、送受信比率(送信パケット数/受信パケット数)等の演算結果を特徴量に含めてもよい。
【0030】
図3は、本実施形態における連続データとして取得したIPFIXレコードを例示する図である。
ここでは、選定された3つのフィールドのみを示しており、複雑性を計測する期間として取得したレコード総数は8(レコード番号1~8)である。
【0031】
ステップS2において、特徴量セット抽出部12は、d個の連続データを1つのセットとして扱い、各セットから特徴量セットを抽出する。
例えば、
図3のようなIPFIXレコードにおいて、d=3とした場合、特徴量セットとなりうるレコード番号の組み合わせは次のようになる。
{(1,2,3), (2,3,4), (3,4,5) (4,5,6), (5,6,7), (6,7,8)}
なお、複雑性指標の算出に使用するレコード数の総数をz(
図3の例では8)とすると、特徴量セットの数は、z-d+1(=8-3+1=6)となる。
【0032】
ここで、抽出される特徴量セットは、例えば、レコード番号が(1,2,3)の組み合わせの場合、
F(1,2,3)={F1,F2,F3}={(8, 400, 300), (8, 400, 300), (4, 160, 80)}
である。
【0033】
ステップS3において、集合作成部13は、生成された特徴量セットの中から、ユニークな特徴量セットの集合を作成する。
図3の例の場合、F
(1,2,3)=F
(5,6,7)となるため、ユニークな特徴量セットの集合は、
{(1,2,3), (2,3,4), (3,4,5), (4,5,6), (6,7,8)}
となる。
【0034】
ステップS4において、エントロピー算出部14は、複雑性を計測する期間に含まれる通信データにおいて、各特徴量セットの出現頻度(出現数)を計算する。
例えば、
図3の例の場合、特徴量セット毎の出現頻度は、次のように計算される。
(1,2,3)=2, (2,3,4)=1, (3,4,5)=1, (4,5,6)=1, (6,7,8)=1
【0035】
ステップS5において、エントロピー算出部14は、ユニークな特徴量セットの集合における要素毎のエントロピー(平均情報量)を計算し、さらに、各特徴量セットのエントロピーを総和した合計値を計算する。
【0036】
ここで、ユニークな特徴量セットの集合における要素数をNとし、i番目の要素の出現頻度をV
iとすると、各特徴量セットのエントロピーの総和は、
【数1】
であり、
図3の例では、
【数2】
となる。
【0037】
ステップS6において、指標出力部15は、エントロピーの合計値Eを、要素数Nに応じた最大エントロピーで割り、値の範囲が0以上1以下となるように正規化して複雑性指標E
pとする。
【数3】
図3の例では、複雑性指標E
pは、
【数4】
となる。
【0038】
なお、前述のように、複数のパターンでフィールド選定された場合、又は特徴量セットに含める連続データ数dが複数設定された場合、パターン及びデータ数毎に、ステップS1~S6が実行され、複数の複雑性指標が算出される。
【0039】
ステップS7において、指標出力部15は、算出した複雑性指標Epを出力する。複数の複雑性指標Epが算出された場合、指標出力部15は、これらの統計量を求め、最終的な複雑性指標として出力する。
【0040】
本実施形態によれば、複雑性算出装置1は、複数のフィールドを持つ連続データに対して、連続する所定のデータ数の特徴量からなる特徴量セットを順に複数抽出し、ユニークな特徴量セットのエントロピーを総和することにより複雑性指標を算出する。
したがって、複雑性算出装置1は、センサの出力や通信の時系列データ等から取得した連続データに対して、データの連続性を考慮した複雑性を、処理負荷の小さい簡易な計算により評価することができる。
【0041】
この結果、例えば、通信データに対する異常検知を実施する場合に、通信データの複雑性を事前に把握することで、複雑性が低い場合にはホワイトリストを、複雑性が高い場合には決定木、あるいはディープラーニングを用いる等、分析手法の選定範囲を絞ることができる。
また、通信データの複雑性によって、通信元のデバイスの特性又は機種等を推測し、分類することができる。
【0042】
複雑性算出装置1は、通信データに関して、フローデータを対象とすることにより、複数パケットが集約されたレコードから特徴量を取得できるため、連続データ数dを小さくし、計算効率を向上できる。
【0043】
複雑性算出装置1は、複数のフィールド間で特定の処理を行い、新たに作成したフィールドを特徴量の一部として選定してもよく、これにより、多彩な特徴量を用いて、データの特性に応じた複雑性の評価を適切に実施できる。
【0044】
複雑性算出装置1は、複数のパターンで特徴量を選定、あるいは、連続データ数dを複数設定することで、複数の複雑性指標を算出し、統計量を出力してもよい。
これにより、複雑性算出装置1は、最適な特徴量及びデータ数が不明な場合であっても、評価結果の信頼性を向上できる他、最大値又は最小値等の要求された指標を適切に出力できる。
なお、連続データ数dは、2以上7以下程度とするのが好ましく、これにより、計算量を抑えつつ、連続データの特徴を適切に抽出して複雑性を評価できる。
【0045】
前述の実施形態により、例えば、通信データの分析を効率化できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0046】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0047】
複雑性算出装置1による複雑性算出方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0048】
1 複雑性算出装置
10 制御部
11 特徴量選定部
12 特徴量セット抽出部
13 集合作成部
14 エントロピー算出部
15 指標出力部
20 記憶部