(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023150851
(43)【公開日】2023-10-16
(54)【発明の名称】異常通信検知装置、異常通信検知方法及び異常通信検知プログラム
(51)【国際特許分類】
H04L 43/04 20220101AFI20231005BHJP
H04L 43/02 20220101ALI20231005BHJP
【FI】
H04L43/04
H04L43/02
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022060172
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(71)【出願人】
【識別番号】517297980
【氏名又は名称】株式会社ARISE analytics
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】奥井 宣広
(72)【発明者】
【氏名】窪田 歩
(72)【発明者】
【氏名】秋元 裕介
(72)【発明者】
【氏名】近藤 真暉
(72)【発明者】
【氏名】寺尾 康宏
(72)【発明者】
【氏名】吉田 琢也
(72)【発明者】
【氏名】伊藤 雅典
(72)【発明者】
【氏名】大野 允裕
(72)【発明者】
【氏名】本江 政司
(57)【要約】
【課題】処理コストを低減し、かつ、正常通信と区別が難しい異常通信を検知できる異常通信検知装置、異常通信検知方法及び異常通信検知プログラムを提供すること。
【解決手段】異常通信検知装置1は、送信元及び通信を行った機能が共通するフローデータを生成順にエッジで結んだ、当該フローデータをノードとする有向グラフを構成するグラフ構成部11と、有向グラフにおけるノード間の関連性を示すエッジの重みを所定の閾値と比較することにより、通信順序サブグラフを抽出するサブグラフ抽出部12と、通信順序サブグラフに対して、当該グラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加するデータ付加部13と、通信順序サブグラフ及び通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する異常検知部14と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
送信元及び通信を行った機能が共通するフローデータを生成順にエッジで結んだ、当該フローデータをノードとする有向グラフを構成するグラフ構成部と、
前記有向グラフにおけるノード間の関連性を示すエッジの重みを所定の閾値と比較することにより、通信順序サブグラフを抽出するサブグラフ抽出部と、
前記通信順序サブグラフに対して、当該グラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加するデータ付加部と、
前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する異常検知部と、を備える異常通信検知装置。
【請求項2】
前記グラフ構成部は、車両と車載アプリケーションのサーバとが相互に通信する車両通信ネットワークから取得されるフローデータを取得し、
前記異常検知部は、車両の種類又は前記車載アプリケーションの機能毎に、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する請求項1に記載の異常通信検知装置。
【請求項3】
前記グラフ構成部は、車両間、又は車両と道路との間で送受信された通信ログデータをフローデータとして取得し、
前記異常検知部は、車両又は道路の種類毎に、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する請求項1に記載の異常通信検知装置。
【請求項4】
前記サブグラフ抽出部は、前記有向グラフにおける連続するフローデータの時間間隔を前記エッジの重みとし、当該時間間隔が所定の閾値を超えるエッジを削除することにより、前記通信順序サブグラフを抽出する請求項1から請求項3のいずれかに記載の異常通信検知装置。
【請求項5】
前記サブグラフ抽出部は、前記有向グラフにおけるフローデータから取得できる統計量を条件に、直後のフローデータから取得できる統計量が発生する条件付き確率を前記エッジの重みとし、当該確率が所定の閾値に満たないエッジを削除することにより、前記通信順序サブグラフを抽出する請求項1から請求項3のいずれかに記載の異常通信検知装置。
【請求項6】
送信元及び通信を行った機能が共通するフローデータを生成順にエッジで結んだ、当該フローデータをノードとする有向グラフを構成するグラフ構成ステップと、
前記有向グラフにおけるノード間の関連性を示すエッジの重みを所定の閾値と比較することにより、通信順序サブグラフを抽出するサブグラフ抽出ステップと、
前記通信順序サブグラフに対して、当該グラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加するデータ付加ステップと、
前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する異常検知ステップと、をコンピュータが実行する異常通信方法。
【請求項7】
請求項1から請求項5のいずれかに記載の異常通信検知装置としてコンピュータを機能させるための異常通信検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常な通信を検知するための装置、方法およびプログラムに関する。
【背景技術】
【0002】
従来、トラフィックデータの異常検知においては、パケットデータを対象とする手法が主流である。例えば、非特許文献1では、一部のマルウェアが正常通信を模した通信パターンを持つことから、ホストをノード、ホスト間の通信をエッジとしてグラフを構築することで、サブグラフに着目した手法が提案されている。この手法では、正常通信のサブグラフの中から標準的なパターンを検出し、パターンとしては標準に近いが生起確率が閾値以下のサブグラフを異常通信と定義する。
【0003】
非特許文献2では、通信量やパケット数等のパケットデータの各属性から特徴量ベクトルを構成し、これらをもとにトラフィックデータの挙動をグラフ構造として抽出することによって、DoS攻撃等の異常な通信を検知する手法が提案されている。
【0004】
非特許文献3では,時間とともに構造が変化するトラフィックデータの特徴を捉えるために、ダイナミックグラフのサブグラフとRNN(Recurrent Neural Network)とを組み合わせた異常検知手法であるStrGNNが提案されている。ホストをノード、ホスト間の通信をエッジとしてグラフを構成する点は非特許文献1及び2と同様であるが、StrGNNでは、グラフの各エッジに着目し、エッジを構成する2つのノードからkホップまでのノードをたどってサブグラフを構成する。トラフィックデータが時系列で与えられた場合に、時間区間におけるエッジから構成されたサブグラフのリストをRNNに投入することによって、該当のエッジが正常か異常かを学習させる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Eberle, W., & Holder, L. (2013). Incremental anomaly detection in graphs. Proceedings - IEEE 13th International Conference on Data Mining Workshops, ICDMW 2013, 521-528.
【非特許文献2】Yu, X., Tian, Z., Qiu, J., Su, S., & Yan, X. (2019). An Intrusion Detection Algorithm Based On Feature Graph. Computers, Materials & Continua, 61(1), 255-274.
【非特許文献3】Cai, L., Chen, Z., Luo, C., Gui, J., Ni, J., Li, D., & Chen, H. (2021). Structural Temporal Graph Neural Networks for Anomaly Detection in Dynamic Graphs; Structural Temporal Graph Neural Networks for Anomaly Detection in Dynamic Graphs. ACM International Conference on Information & Knowledge Management, 3747-3756.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1~3の手法は、いずれもパケットデータを対象とした異常検知手法だが、トラフィックデータは時間当たりの通信量が膨大になるため、グラフとして処理するには非常に時間がかかる。
【0007】
また、これらの既存技術がパケットの特徴量をもとにして異常通信を検出する手法であることから、正常通信と比較して通信量が急増するDoS攻撃等パケットの属性情報に異常性が現れる異常通信は検知しやすい一方、マルウェアの感染拡大時に行われるホストスキャン攻撃等、パケットデータとしてみた場合には正常通信と区別がつきにくい異常通信を検知することが難しかった。
【0008】
本発明は、処理コストを低減し、かつ、正常通信と区別が難しい異常通信を検知できる異常通信検知装置、異常通信検知方法及び異常通信検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る異常通信検知装置は、送信元及び通信を行った機能が共通するフローデータを生成順にエッジで結んだ、当該フローデータをノードとする有向グラフを構成するグラフ構成部と、前記有向グラフにおけるノード間の関連性を示すエッジの重みを所定の閾値と比較することにより、通信順序サブグラフを抽出するサブグラフ抽出部と、前記通信順序サブグラフに対して、当該グラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加するデータ付加部と、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する異常検知部と、を備える。
【0010】
前記グラフ構成部は、車両と車載アプリケーションのサーバとが相互に通信する車両通信ネットワークから取得されるフローデータを取得し、前記異常検知部は、車両の種類又は前記車載アプリケーションの機能毎に、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知してもよい。
【0011】
前記グラフ構成部は、車両間、又は車両と道路との間で送受信された通信ログデータをフローデータとして取得し、前記異常検知部は、車両又は道路の種類毎に、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知してもよい。
【0012】
前記サブグラフ抽出部は、前記有向グラフにおける連続するフローデータの時間間隔を前記エッジの重みとし、当該時間間隔が所定の閾値を超えるエッジを削除することにより、前記通信順序サブグラフを抽出してもよい。
【0013】
前記サブグラフ抽出部は、前記有向グラフにおけるフローデータから取得できる統計量を条件に、直後のフローデータから取得できる統計量が発生する条件付き確率を前記エッジの重みとし、当該確率が所定の閾値に満たないエッジを削除することにより、前記通信順序サブグラフを抽出してもよい。
【0014】
本発明に係る異常通信検知方法は、送信元及び通信を行った機能が共通するフローデータを生成順にエッジで結んだ、当該フローデータをノードとする有向グラフを構成するグラフ構成ステップと、前記有向グラフにおけるノード間の関連性を示すエッジの重みを所定の閾値と比較することにより、通信順序サブグラフを抽出するサブグラフ抽出ステップと、前記通信順序サブグラフに対して、当該グラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加するデータ付加ステップと、前記通信順序サブグラフ及び前記通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する異常検知ステップと、をコンピュータが実行する。
【0015】
本発明に係る異常通信検知プログラムは、前記異常通信検知装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0016】
本発明によれば、処理コストを低減し、かつ、正常通信と区別が難しい異常通信を検知できる。
【図面の簡単な説明】
【0017】
【
図1】実施形態における車両通信ネットワークを例示する図である。
【
図2】実施形態における異常通信検知装置の機能構成を示す図である。
【
図3】実施形態におけるフローデータから構成される有向グラフを例示する図である。
【
図4】実施形態における通信順序サブグラフを例示する図である。
【
図5】実施形態における通信内容サブグラフを例示する図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の一例について説明する。
本実施形態の異常通信検知方法は、検知処理を高速化する手段として、パケットではなくIPFIX(IP Flow Information Export)又はVPC(Virtual Private Cloud)フローログ等のフローデータを対象とする。フローデータでは、複数のパケットが統計情報として集約されているため、全体のデータ量を圧縮することができ、この結果、異常検知処理を高速化することができる。
例えば、車両通信ネットワーク等においては、大量の通信が高速に流れることが想定されるため、処理時間のかかるパケット単位での異常検知ではなく、より軽量なフローデータを用いた異常検知により高速化が可能である。
【0019】
しかしながら、フローデータ用いた既存の異常検知手法では、レコードに含まれる統計情報を利用して異常なレコードを検知しようとするが、これらの手法では、マルウェア拡散のためのホストスキャン攻撃、又はDDoS攻撃のためのC&C(Command and Control)通信等、フローデータのレコード単体としてみれば正常通信と区別がつかない異常通信を検知できなかった。
【0020】
そこで、本実施形態の異常通信検知方法は、フローデータのレコード単体ではなく、送信元から送信先へのひとまとまりの通信パターンをフローデータの時間的なまとまりとし、複数レコードにわたる通信のふるまいをグラフ構造で表現することにより、フローデータのレコード単体としては正常通信と区別がつきにくい異常通信を高精度に検出する。
【0021】
以下、異常通信の検知対象である通信ネットワークとして、車両通信のネットワーク(以下、車両通信ネットワーク)を例示し、各車両がそれぞれ車載アプリケーションのサーバと通信を行う際の異常通信検知方法について説明する。
【0022】
図1は、本実施形態における車両通信ネットワークを例示する図である。
多数の車両のそれぞれは、各車両が搭載している車載アプリケーションにより、車両通信ネットワークを介して、該当の車載アプリケーションサーバと通信を行う。なお、全ての通信データは、車両通信ネットワーク上の特定のポイントを経由して車両又は車載アプリケーションサーバに到達するものとする。
【0023】
車両通信ネットワーク上の特定のポイントに設置されているキャプチャデバイスが通信をキャプチャすることにより、車両通信ネットワーク上の全ての、あるいは、特定の車種又は特定のアプリケーション若しくは機能等に関する通信をもれなく取得する。
【0024】
本実施形態の異常通信検知装置1は、キャプチャデバイスで取得したIPFIX等のフローデータを用いて車両通信ネットワーク上に発生するマルウェア感染、機器故障、サイバー攻撃等による異常通信を検知する。
フローデータには、通信元及び通信先等を含む統計データのほか、各車両がアプリケーションのどの機能(以下、アプリ機能)に対して通信を行ったのかを示す情報が含まれるものとする。なお、アプリ機能については、他のアプリケーション識別手段等により取得されてもよい。
【0025】
図2は、本実施形態における異常通信検知装置1の機能構成を示す図である。
異常通信検知装置1は、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置である。
【0026】
制御部10は、異常通信検知装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
具体的には、制御部10は、グラフ構成部11と、サブグラフ抽出部12と、データ付加部13と、異常検知部14とを備える。
【0027】
記憶部20は、ハードウェア群を異常通信検知装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(異常通信検知プログラム)を記憶し、さらに、処理対象として受信したフローデータ、グラフデータ、異常検知モデル、各種パラメータ等を記憶する。
【0028】
グラフ構成部11は、送信元である車両、及び通信を行ったアプリ機能が共通するフローデータを、生成順にエッジで結び、フローデータをノードとする有向グラフを構成する。
【0029】
具体的には、まず、各車両からアプリ機能yへの通信をキャプチャしたフローデータの集合を{vi∈V}とする。グラフ構成部11は、各フローデータをグラフにおけるノードとし、送信元が共通する2つのノードに関してフローデータが生成された順に順序対の集合E={vi,vj}(i<j; vi,vj∈V)を構成して、これをエッジとした有向グラフG={V,E}を構成する。
【0030】
図3は、本実施形態におけるフローデータから構成される有向グラフを例示する図である。
有向グラフGは、車両x
kからアプリ機能yへの通信を表現する連結なサブグラフから構成される。グラフのエッジは、車両からアプリ機能yに対して通信が行われる順番を示しており、どの車両からの通信であっても、同じアプリ機能への通信であれば処理内容はほぼ同じであるため、各サブグラフのトポロジもほぼ同一であることが期待される。
【0031】
サブグラフ抽出部12は、有向グラフGにおけるノード間の関連性を示すエッジの重みを、所定の閾値と比較することにより、通信順序サブグラフを抽出する。
重みの定義は限定されないが、例えば、次の(1)又は(2)の手法が適用できる。
【0032】
(1)時間間隔:
サブグラフ抽出部12は、有向グラフGにおける連続するフローデータの時間間隔をエッジの重みとし、時間間隔が所定の閾値を超えるエッジを削除することにより、通信順序サブグラフを抽出する。
【0033】
ノードvi(フローデータ)の通信開始時刻及び通信終了時刻をそれぞれsti,etiとすると、エッジei,j={vi,vj}(i<j; vi,vj∈V)は、フローデータが生成された順で構成される順序対であるから、eti<stjである。
ここで、ei,jの重みを、|ei,j|=stj-etiと定義する。
【0034】
車両とアプリ機能yに関わるサーバとの通信は、車載アプリケーションを操作したことを契機とする操作通信と、車載アプリケーションが定期的にデータの更新等を行う定常通信とに大別される。いずれの場合も、1つの操作又は1回の定常通信(以下、ひとまとまりの通信)において、車両とアプリ機能yに関わるサーバとの間で1レコード以上のフローデータが生成される。これらひとまとまりの通信は、操作通信の場合はスポットで、定常通信の場合は一定の間隔で定期的に発生するものであるから、短い時間間隔のレコード群で表される通信パターンとして、繰り返し生じるものである。
そこで、サブグラフ抽出部12は、レコード群を通信パターン毎に分離できる程度の閾値θを設定し、θ<|ei,j|となるei,jを削除する。
【0035】
図4は、本実施形態における通信順序サブグラフを例示する図である。
グラフGを構成するノードv
i,v
i+1,,v
i+2,v
i+3,…は、それぞれ重みが|e
i,i+1|,|e
i+1,i+2|,|e
i+2,i+3|,…のエッジにより連結されている。
これらの重みが順に、|e
i,i+1|≦θ,|e
i+1,i+2|≦θ,|e
i+2,i+3|>θ,…となっている場合、エッジe
i+2,i+3が削除され、ノードv
iからノードv
i+2までで構成された通信順序サブグラフが抽出される。
このようにして、ひとまとまりの通信が連結なサブグラフで表現された、新しいグラフG’が得られる。
【0036】
(2)条件付き確率:
サブグラフ抽出部12は、有向グラフGにおけるフローデータから取得できる統計量を条件に、直後のフローデータから取得できる統計量が発生する条件付き確率をエッジの重みとし、この確率が所定の閾値に満たないエッジを削除することにより、通信順序サブグラフを抽出する。
【0037】
車両と車載アプリケーションサーバとの通信は、アプリケーションによって操作及び機能が固定されているため、例えば通信の最初にライセンス認証が実施される等、ある程度通信順序及び通信パターンが限られている。
そこで、パケット数又は通信量等のフローデータから取得できる統計量をU={u1,u2,…}、通信順序をt1,t2,…とした場合に、特定の順序で統計量Uが発生する条件付き確率P(Ut_k|Ut_k-1,Ut_k-2,…)を考える。そして、ei,jの重みを、前述の時間間隔の代わりに、|ei,j|=1-P(Ut_j|Ut_i)(0<|ei,j|<1)と定義する。
【0038】
ひとまとまりの通信に含まれるフローデータは、特定の順序で連続して発生する確率が高いことが期待されるため、適切な閾値θを設定することにより、ひとまとまりの通信を通信順序サブグラフとしてすることができる。
【0039】
データ付加部13は、抽出された通信順序サブグラフに対して、このサブグラフを構成するフローデータに含まれるホストをノードとした通信内容を属性情報として持つ、通信内容サブグラフを付加する。
【0040】
グラフG’を構成する通信順序サブグラフSは、各車両とアプリ機能yに関わるサーバとの間のひとまとまりの通信の通信順序を示すものである。アプリ機能yは、どの車両に対しても同じサービスを提供するものであるから、通信の順序だけでなく、通信内容も同様のパターンで構成される。
そこで、データ付加部13は、車両のネットワーク上のホストをx、アプリ機能yを構成する1つ以上のホストをy1,y2,…とし、ホストをノード、ホスト間で発生する通信をエッジとした通信内容サブグラフS’をグラフG’に追加して新しいグラフG’’を構成する。
このとき、通信内容サブグラフS’のエッジ及びノードは、属性として、ホスト間の通信量、通信パケット数、ホストのアドレス等、フローデータから取得できる統計量等の情報を属性として保持する。
【0041】
図5は、実施形態における通信内容サブグラフを例示する図である。
車両xからアプリ機能yに関わるサーバへの通信について、通信順序サブグラフSを含むグラフG’が構成されている。
このとき、通信順序サブグラフSに含まれるホストは、車両xの他、アプリ機能yに関わるサーバy
1,y
2,y
3が存在し、xと各サーバとの間での通信を表現した通信内容サブグラフS’が付加されたグラフG’’が構成される。
【0042】
異常検知部14は、車両の種類又はアプリ機能毎に、通信順序サブグラフ及び通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知する。
【0043】
データ付加部13により構成されるグラフG''は、車両xとアプリ機能yに関わるサーバとの間で発生するひとまとまりの通信に関して、通信の順序を表現する通信順序サブグラフ、及び通信内容を表現する通信内容サブグラフからなる。
車両通信ネットワークにおいて異常通信が発生した場合には、グラフのトポロジ、又はノード若しくはエッジの属性において、正常なひとまとまりの通信から構成されるグラフから著しく逸脱するグラフが生成される。例えば、マルウェアの拡散時に行われるホストスキャン攻撃等は、フローデータのレコード単体としてみた場合には正常通信とは区別が難しいが、本実施形態のグラフとしてみた場合には、ひとまとまりの通信において正常な通信とは著しく異なる通信順序を示すと考えられる。なお、ホストスキャンは、複数のホストに対して無差別に短い通信を行うので、通信順序から構成されるグラフのトポロジ以外にも、通信内容のグラフのトポロジにも異常が発生する。
【0044】
したがって、車両通信ネットワークからグラフG''を構成し、サブグラフのトポロジ、又はノード若しくはエッジの異常を検知する異常検知手法を適用することによって、異常検知部14は、フローデータのレコード単体としては検知が難しい異常通信を検知する。
なお、具体的な異常検知手法は、既存の様々な手法を適用でき、例えば、機械学習モデルを用いた異常検知手法であってもよい。また、適用する異常検知手法は、有向グラフを対象としたものに限定されない。
【0045】
以上のように、本実施形態では、車両通信ネットワークにおける車両と車載アプリケーションサーバとの間の通信に関する異常を検知する場合を例示したが、適用範囲はこれに限られない。
例えば、グラフ構成部11は、車両間、又は車両と道路との間で送受信された通信ログデータをフローデータとして取得し、異常検知部14は、車両又は道路の種類毎に、通信順序サブグラフ及び通信内容サブグラフの組み合わせを互いに比較することにより、異常通信を検知してもよい。
【0046】
図6は、本実施形態の変形例を示す図である。
この場合、車両-車両間の通信、又は車両-道路間の通信において、各車両が通信のログを一定期間保持する。各車両は、一定期間の通信ログを保持した後、拠点に設置されたサーバに対して、ネットワークを介して定期的に通信ログを送信する。通信ログには、通信元、通信先、通信量等、フローデータに準拠した情報が含まれる。
【0047】
サーバに集約された通信ログデータの通信元及び通信先は、別途車種又は道路の種別毎に分類されるものとする。分類後の通信ログデータは、前述のフローデータの集合と同等である。
この通信ログデータの集合において、「通信元の車両又は道路」及び「通信先の車両又は道路」が共通するものから前述と同様にグラフを構成することで、サーバに集約された通信ログデータをもとにした車両-車両間又は車両-道路間の異常通信を検知することができる。
【0048】
本実施形態によれば、異常通信検知装置1は、パケットではなくフローデータを用いることによって、異常通信の検知処理にかかる処理コストを低減することができる。
また、異常通信検知装置1は、ひとまとまりの通信を通信順序サブグラフ及び通信内容サブグラフの組み合わせとして表現することによって、フローデータのレコード単体としてみた場合には正常通信とは区別が難しい異常通信も、一連の通信のふるまいの異常として検知することができる。
【0049】
特に、異常通信検知装置1は、車両と車載アプリケーションのサーバとが相互に通信する車両通信ネットワークにおける膨大な通信データの中から、異常通信を効率的に検知することができる。
また、異常通信検知装置1は、車両間、又は車両と道路との間で送受信された通信ログデータを取得した場合にも、このデータをフローデータとみなして同様に処理することにより、異常通信を検知できる。
【0050】
さらに、異常通信検知装置1は、車両通信ネットワークにおいて車両とサーバとの間に発生する異常通信を個別に認識できるため、全体として異常が発生したかどうかだけでなく、どの車両のどのアプリ機能で異常通信が発生したかを特定することができる。
また、異常検知の手法によっては、グラフのトポロジに発生した異常か、グラフを構成するノード又はエッジの属性に発生した異常かを識別できるため、例えばDoS攻撃等の特徴であるパケット数の異常、C&C通信等で生じるトポロジの異常等、異常通信のパターンを分類することができる。
【0051】
異常通信検知装置1は、通信順序サブグラフを抽出する際に、フローデータの時間間隔を閾値と比較する、あるいは、統計量に関する条件付確率を閾値と比較することにより、フローデータの有向グラフを、ひとまとまりの通信に適切に分離できるため、精度良く異常通信を検知できる。
【0052】
なお、前述の実施形態により、例えば、ネットワークにおける攻撃に伴う異常通信を検知できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0053】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0054】
異常通信検知装置1による異常通信検知方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0055】
1 異常通信検知装置
10 制御部
11 グラフ構成部
12 サブグラフ抽出部
13 データ付加部
14 異常検知部
20 記憶部