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

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

▶ 株式会社ARISE analyticsの特許一覧 ▶ KDDI株式会社の特許一覧

特開2024-79965異常検知装置、異常検知方法及び異常検知プログラム
<>
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図1
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図2
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図3
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図4
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図5
  • 特開-異常検知装置、異常検知方法及び異常検知プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024079965
(43)【公開日】2024-06-13
(54)【発明の名称】異常検知装置、異常検知方法及び異常検知プログラム
(51)【国際特許分類】
   H04L 41/16 20220101AFI20240606BHJP
   H04L 41/12 20220101ALI20240606BHJP
   H04L 43/16 20220101ALI20240606BHJP
【FI】
H04L41/16
H04L41/12
H04L43/16
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022192716
(22)【出願日】2022-12-01
(71)【出願人】
【識別番号】517297980
【氏名又は名称】株式会社ARISE analytics
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】近藤 真暉
(72)【発明者】
【氏名】奥井 宣広
(57)【要約】
【課題】多種多様なIoTデバイスによって構成されるIoTネットワークにおいて、異常通信を適切に検知できる異常検知装置を提供すること。
【解決手段】異常通信検知装置1は、通信データからホストペアを抽出し、ホストペアの間の通信をノードとして通信の情報を当該ノードの属性に格納したグラフを生成するグラフ生成部11と、指定されたホストペアに関するノードを起点とし、グラフからサブグラフを抽出した後、サブグラフから、ホストペアに関する特徴ベクトルを抽出する特徴抽出部12と、同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、集合ごとに異常通信を検知可能な学習済みモデルを生成する学習部13と、判定対象のホストペアに関する特徴ベクトルに対して、同一又は互いに類似したホストペアに関する特徴ベクトルから生成された学習済みモデルを用いて異常判定を行う異常判定部14と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
通信データから通信元のホストと通信先のホストとの組み合わせからなるホストペアを抽出し、当該ホストペアの間の通信をノードとして当該通信の情報を当該ノードの属性に格納したグラフを生成するグラフ生成部と、
指定されたホストペアに関するノードを起点とし、前記グラフからサブグラフを抽出した後、当該サブグラフから、当該ホストペアに関する特徴ベクトルを抽出する特徴抽出部と、
同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、当該集合ごとに異常通信を検知可能な学習済みモデルを生成する学習部と、
判定対象のホストペアに関する特徴ベクトルに対して、当該ホストペアと同一又は互いに類似したホストペアに関する特徴ベクトルから生成された前記学習済みモデルを用いて異常判定を行う異常判定部と、を備える異常通信検知装置。
【請求項2】
前記学習部は、前記指定されたホストペアに対して機器情報の少なくとも一部が類似するホストペアを、前記同一又は互いに類似したホストペアとする請求項1に記載の異常通信検知装置。
【請求項3】
前記学習部は、前記機器情報のうち、所定のソフトウェアのバージョンが一致する場合に限り、前記同一又は互いに類似したホストペアとする請求項2に記載の異常通信検知装置。
【請求項4】
前記学習部は、前記指定されたホストペアに関する特徴ベクトルに対して、距離が所定内の特徴ベクトルが抽出されたホストペアを、前記同一又は互いに類似したホストペアとして決定する請求項1に記載の異常通信検知装置。
【請求項5】
前記学習部は、複数のホストペアを特徴ベクトル間の距離に基づいてクラスタリングすることにより、各クラスタに属するホストペアを、それぞれ前記同一又は互いに類似したホストペアとして決定する請求項1に記載の異常通信検知装置。
【請求項6】
前記学習部は、前記ノードの属性の少なくとも一部が類似するホストペアを、前記同一又は互いに類似したホストペアとして決定する請求項1に記載の異常通信検知装置。
【請求項7】
前記学習部は、前記学習済みモデルの少なくとも一部のパラメータを複製して、他の特徴ベクトルの集合に対する学習済みモデルを生成する請求項1から請求項6のいずれかに記載の異常通信検知装置。
【請求項8】
前記グラフ生成部は、同一のホストペアが1回のみ出現するように前記グラフを生成する請求項1から請求項6のいずれかに記載の異常通信検知装置。
【請求項9】
前記グラフ生成部は、前記通信データから、第1のホストから中間ホストを経由して第2のホストに至る通信情報が得られた場合に、前記第1のホストと前記第2のホストとの組み合わせをホストペアとして抽出する請求項1から請求項6のいずれかに記載の異常通信検知装置。
【請求項10】
通信データから通信元のホストと通信先のホストとの組み合わせからなるホストペアを抽出し、当該ホストペアの間の通信をノードとして当該通信の情報を当該ノードの属性に格納したグラフを生成するグラフ生成ステップと、
指定されたホストペアに関するノードを起点とし、前記グラフからサブグラフを抽出した後、当該サブグラフから、当該ホストペアに関する特徴ベクトルを抽出する特徴抽出ステップと、
同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、当該集合ごとに異常通信を検知可能な学習済みモデルを生成する学習ステップと、
判定対象のホストペアに関する特徴ベクトルに対して、当該ホストペアと同一又は互いに類似したホストペアに関する特徴ベクトルから生成された前記学習済みモデルを用いて異常判定を行う異常判定ステップと、をコンピュータが実行する異常通信検知方法。
【請求項11】
請求項1から請求項6のいずれかに記載の異常通信検知装置としてコンピュータを機能させるための異常通信検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト間の異常通信を検知する異常検知装置、異常検知方法及び異常検知プログラムに関する。
【背景技術】
【0002】
近年、5Gを代表とする通信技術、並びに半導体及びセンシング技術の進化により、IoTデバイスの台数は増加傾向にある。多種多様なデバイスがインターネットに接続されることで、クラウドとの連携、及びデバイス同士の相互通信による新しい価値創出が期待されている。IoTデバイスは、家電及びホームカメラなどの家庭内のデバイスに限定されるものではなく、例えば、工場内のセンサの他、街中のカメラデバイス、公共ルータなどのインフラサービスにも利用されている。こうした中で、IoTデバイスを対象としたセキュリティ技術の需要が高まっている。
【0003】
IoTデバイスを対象としたサイバー攻撃の一例として、マルウェアによるDDoS攻撃が挙げられ、マルウェアに感染しbot化した多数のIoTデバイスによる大量通信がサービス妨害につながる事例もあった。
IoTデバイスは設計が統一されていないこと、及び専門知識を有しない一般ユーザでも容易に利用できることから、全てのデバイスを対象としたセキュリティ対策を施すことが困難である。加えて、IoTデバイスの導入にあたり守るべきセキュリティガイドラインが十分に整備されていない、又は徹底されていないこともあり、アカウント情報を初期値のまま運用開始したり、管理が十分に行き届かなかったりといった状況がある。この結果、マルウェアに感染しても長期間気付かずに運用が継続され、マルウェア感染の拡大につながるケースもあった。
このような状況のため、IoT機器はサイバー攻撃の標的となりやすかった。さらに、IoTデバイスは膨大に存在し、これらを全て手動で運用及び監視することは非現実的であった。
【0004】
そこで、機械学習を取り入れたサイバー攻撃の自動検知(異常通信検知)が行われている(例えば、非特許文献1-3参照)。近年は、深層学習技術を用いた異常通信検知の研究開発が盛んに行われ、性能向上に大きく貢献している。特に、IoTデバイスの通信はグラフ構造とみなすことができるため、グラフニューラルネットワーク(GNN)との相性が良く、多くの成果が報告されている。
【0005】
例えば、非特許文献5,6及び特許文献1では、複数のホストによる通信のパケットデータ又はフローデータをグラフ構造に変換し、事前に学習したモデルを用いて異常であるか否かを判定する異常通信検知手法が提案されている。
具体的には、非特許文献5,6の手法では、通信元及び通信先のホスト識別子をそれぞれグラフ構造におけるノードとし、ホスト間で行われる通信の情報をエッジに格納したグラフが構築される。ただし、エッジ情報をGNNで処理する方法は限定的なため、エッジとノードとを入れ替えるE-Graph変換を行うことにより、ノードに通信情報が格納されたグラフが構成される。さらに、非特許文献4で示されているk-hop node samplingを適用することで小規模なサブグラフを生成し、大規模グラフが処理されている。また、特許文献1の手法では、E-Graph変換は行わず、k-hop node samplingによって生成されたサブグラフから得られる局所特徴と、グラフ全体から得られる大局特徴とが結合される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2019-149681号公報
【非特許文献】
【0007】
【非特許文献1】Alireza Souri and Rahil Hosseini. A state-of-the-art sur-vey of malware detection approaches using data mining techniques. Human-centric Computing and Information Sciences, 8(1):1-22, 2018.
【非特許文献2】Daniel Gibert, Carles Mateu, and Jordi Planes. The rise of machine learning for detection and classification of malware: Research developments, trends and challenges. Journal of Network and Computer Applications, 153:102526, 2020.
【非特許文献3】Mohammed Ali Al-Garadi, Amr Mohamed, Abdulla Khalid Al-Ali, Xiaojiang Du, Ihsan Ali, and Mohsen Guizani. A Survey of Machine and Deep Learning Methods for Internet of Things (IoT) Security. IEEE Communications Surveys & Tutorials, 22(3):1646-1685, 2020.
【非特許文献4】Will Hamilton, Zhitao Ying, and Jure Leskovec. Inductive Representation Learning on Large Graphs. Advances in Neural Information Processing Systems, 30, 2017.
【非特許文献5】Wai Weng Lo, Siamak Layeghy, Mohanad Sarhan, Marcus Gallagher, and Marius Portmann. E-GraphSAGE: A Graph Neural Network based Intrusion Detection System for IoT. arXiv preprint arXiv:2103.16329, 2021.
【非特許文献6】Liyan Chang and Paula Branco. Graph-based Solutions with Residuals for Intrusion Detection: the Modified E-GraphSAGE and E-ResGAT Algorithms. arXiv preprint arXiv:2111.13597, 2021.
【非特許文献7】Bryan Perozzi, Rami Al-Rfou, and Steven Skiena. DeepWalk: Online Learning of Social Representations. In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 701-710, 2014.
【非特許文献8】Yunqiang Chen, Xiang Sean Zhou, and Thomas S Huang. One-class SVM for learning in image retrieval. In Proceedings 2001 international conference on image processing (Cat. No. 01CH37205), volume 1, pages 34-37. IEEE, 2001.
【非特許文献9】Jinwon An and Sungzoon Cho. Variational Autoencoder based Anomaly Detection using Reconstruction Probability. Special Lecture on IE, 2(1):1-18, 2015.
【非特許文献10】Sunil Arya, David M. Mount, Nathan S. Netanyahu, Ruth Silverman, and Angela Y. Wu. An optimal algorithm for approximate nearest neighbor searching fixed dimensions. Journal of the ACM (JACM), 45(6), 891-923, 1998.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、グラフ構造を用いた従来の異常通信検知手法では、全ての通信を同様に扱うため、機器ごとに通信の特徴が大きく異ならない場合を前提としていた。すなわち、例えばスマートフォン同士、又はパーソナルコンピュータ同士など、同一又は類似デバイスによる通信が対象となっていた。
【0009】
一方、多種多様なIoTデバイスによって構成されるIoTネットワークで行われる通信は、機器ごとに通信の特徴が異なる。したがって、異常通信による特徴のばらつきと、機器の違いによる特徴のばらつきの両方を考慮する必要があるため、従来の手法を単純に適用することができなかった。
【0010】
本発明は、多種多様なIoTデバイスによって構成されるIoTネットワークにおいて、異常通信を適切に検知できる異常検知装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る異常通信検知装置は、通信データから通信元のホストと通信先のホストとの組み合わせからなるホストペアを抽出し、当該ホストペアの間の通信をノードとして当該通信の情報を当該ノードの属性に格納したグラフを生成するグラフ生成部と、指定されたホストペアに関するノードを起点とし、前記グラフからサブグラフを抽出した後、当該サブグラフから、当該ホストペアに関する特徴ベクトルを抽出する特徴抽出部と、同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、当該集合ごとに異常通信を検知可能な学習済みモデルを生成する学習部と、判定対象のホストペアに関する特徴ベクトルに対して、当該ホストペアと同一又は互いに類似したホストペアに関する特徴ベクトルから生成された前記学習済みモデルを用いて異常判定を行う異常判定部と、を備える。
【0012】
前記学習部は、前記指定されたホストペアに対して機器情報の少なくとも一部が類似するホストペアを、前記同一又は互いに類似したホストペアとしてもよい。
【0013】
前記学習部は、前記機器情報のうち、所定のソフトウェアのバージョンが一致する場合に限り、前記同一又は互いに類似したホストペアとしてもよい。
【0014】
前記学習部は、前記指定されたホストペアに関する特徴ベクトルに対して、距離が所定内の特徴ベクトルが抽出されたホストペアを、前記同一又は互いに類似したホストペアとして決定してもよい。
【0015】
前記学習部は、複数のホストペアを特徴ベクトル間の距離に基づいてクラスタリングすることにより、各クラスタに属するホストペアを、それぞれ前記同一又は互いに類似したホストペアとして決定してもよい。
【0016】
前記学習部は、前記ノードの属性の少なくとも一部が類似するホストペアを、前記同一又は互いに類似したホストペアとして決定してもよい。
【0017】
前記学習部は、前記学習済みモデルの少なくとも一部のパラメータを複製して、他の特徴ベクトルの集合に対する学習済みモデルを生成してもよい。
【0018】
前記グラフ生成部は、同一のホストペアが1回のみ出現するように前記グラフを生成してもよい。
【0019】
前記グラフ生成部は、前記通信データから、第1のホストから中間ホストを経由して第2のホストに至る通信情報が得られた場合に、前記第1のホストと前記第2のホストとの組み合わせをホストペアとして抽出してもよい。
【0020】
本発明に係る異常通信検知方法は、通信データから通信元のホストと通信先のホストとの組み合わせからなるホストペアを抽出し、当該ホストペアの間の通信をノードとして当該通信の情報を当該ノードの属性に格納したグラフを生成するグラフ生成ステップと、指定されたホストペアに関するノードを起点とし、前記グラフからサブグラフを抽出した後、当該サブグラフから、当該ホストペアに関する特徴ベクトルを抽出する特徴抽出ステップと、同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、当該集合ごとに異常通信を検知可能な学習済みモデルを生成する学習ステップと、判定対象のホストペアに関する特徴ベクトルに対して、当該ホストペアと同一又は互いに類似したホストペアに関する特徴ベクトルから生成された前記学習済みモデルを用いて異常判定を行う異常判定ステップと、をコンピュータが実行する。
【0021】
本発明に係る異常通信検知プログラムは、前記異常通信検知装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0022】
本発明によれば、多種多様なIoTデバイスによって構成されるIoTネットワークにおいて、異常通信を適切に検知できる。
【図面の簡単な説明】
【0023】
図1】実施形態における異常通信検知装置の機能構成を示すブロック図である。
図2】実施形態において構築される一時的なグラフを例示する図である。
図3】実施形態において生成されるグラフを例示する図である。
図4】実施形態における特徴ベクトルの抽出イメージを示す図である。
図5】実施形態における異常通信検知の手法を従来と比較して例示する図である。
図6】実施形態における中間ホストを経由した通信を例示する図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態の一例について説明する。
本実施形態の異常通信検知装置は、サイバー攻撃又はマルウェア感染などによる異常通信の自動検知を目的とし、ホスト間の通信を起点として生成されたグラフ・ネットワーク同士を、同一又は類似したホストペア間で比較することで、多種多様なIoTデバイスによって構成されるIoTネットワークで行われる通信における異常を検知する。
本実施形態で想定している通信は、通信元ホスト及び通信先ホストを設定可能な通信であり、複数のIoTデバイスから得られるパケットデータ又はフローデータなどの通信データを対象とする。
【0025】
図1は、本実施形態における異常通信検知装置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】
一般的に、通信データ(パケットデータ又はフローデータ)には、通信元及び通信先のIPアドレス及びポート番号、通信プロトコルなどの情報が含まれており、グラフ生成部11は、これらの情報を通信元ホストと通信先ホストとの組み合わせ(ホストペア)として抽出する。
ここで、各ホストをノードとみなし、ホストペアをエッジで接続することで一時的なグラフを構築できる。一般的には、単体のホストペアからグラフを構築するのではなく、複数のホストペアのセットから、次のようにグラフが構築される。
【0030】
図2は、本実施形態において構築される一時的なグラフを例示する図である。
例えば、ホスト1からホストa~c、ホスト2からホストb~c、ホスト3からホストb~cへの通信データがそれぞれ取得できた場合、複数の通信元ホスト(S)及び複数の通信先ホスト(D)がノードとして存在し、各ホストペアがエッジで接続される。
【0031】
この一時的なグラフでは、エッジは通信に該当するため、エッジに通信情報を格納することが考えられる。ただし、一般的なグラフ構造では、エッジに属性情報を格納するのではなく、ノードに属性情報を格納することが多い。このため、GNNでもノードに属性情報が格納されることを前提としていることがほとんどである。
これに対応するため、グラフ生成部11は、一時的なグラフのエッジをノードとみなし、ノードをエッジとみなすE-Graph変換を行う。すなわち、ホストペアによる通信をノードとし、通信情報をノードの属性情報として格納することが可能となる。
【0032】
図3は、本実施形態において生成されるグラフを例示する図である。
ホストをノードとして一時的に構築されたグラフ(図2)に対して、エッジで表されたホストペア間の通信(1a)、(1b)、(1c)、(2b)、(2c)、(3b)、(3c)がそれぞれノードに変換される。
これにより、各ホストペア間の通信がエッジで接続されたグラフが生成される。
【0033】
本実施形態が対象とする通信データからは、同一のホストペアによる通信情報が複数回抽出される場合がある。このような場合に、N回目の通信とN+1回目の通信とを同一のグラフに格納することはできないため、異なるグラフを複数構築することになる。
このとき、グラフ生成部11は、同一のホストペアが1回のみ出現するように、例えば、該当のホストペアに対応するノードの属性情報のみ書き換えて異なるノードとしてもよい。あるいは、グラフ生成部11は、グラフ生成に用いる通信データを、指定した時間窓において取得し、又はサンプリングの手法により取得することで、グラフ生成に用いるホストペアのセットの中に同一のホストペアが含まれないように分割してもよい。
なお、時間窓は固定である必要はなく、異なる長さの時間窓が混在していてもよい。
【0034】
特徴抽出部12は、グラフ生成部11により生成されたグラフから、指定されたホストペアに関するノードを起点としてサブグラフを抽出した後、このサブグラフから、指定されたホストペア間の通信に関する特徴ベクトルを抽出する。
すなわち、特徴抽出部12は、グラフ全体からひとつの特徴ベクトルを生成するのではなく、ホストペアごとに特徴ベクトルを生成する。
【0035】
このとき、特徴抽出部12は、例えば、指定されたノード(ホストペア)を起点とし、ランダムウォークにより、ホストペアごとに異なるサブグラフを生成する。あるいは、特徴抽出部12は、指定されたノードを起点とし、所定の範囲(k-hop)まで隣接ノードをサンプリングすることにより、ホストペアごとに異なるサブグラフを生成してもよい。
【0036】
特徴抽出部12は、このようにして生成したサブグラフを特徴ベクトルに変換する。変換方法は限定されず、グラフを特徴ベクトルに変換できる方法であればよい。
例えば、非特許文献7のDeepWalkのように、グラフ上のノードをランダムウォークさせたのちニューラルネットワークで特徴ベクトルにエンコードする方法、あるいは、非特許文献4のUnsupervised GraphSAGEのように、ノードが隣接するか否かの情報を用いてMetric Learningを行うグラフ埋め込みモデルを用いる方法などを用いることができる。
【0037】
図4は、本実施形態における特徴ベクトルの抽出イメージを示す図である。
ここでは、Metric Learningによる手法を例示しており、グラフ上で近い(ホップ数が小さい)ノード(AとB)は、特徴空間においてベクトルの距離が近くなるように、離れている(ホップ数が大きい)ノード(AとC)は、ベクトルの距離が遠くなるように学習される。
【0038】
このとき、特徴ベクトルには、元のホストペア情報及びデバイス情報などが紐付けられる。なお、Metric Learningにおいては、隣接ノードの距離が近くなるように学習する方法のほか、同一種別の又は類似したホストペアに相当するノードが近くなるように学習する方法が用いられてもよい。
【0039】
学習部13は、同一又は互いに類似したホストペアに関する特徴ベクトルの集合を用いて、集合ごとに異常通信を検知可能な学習済みモデルを生成する。
【0040】
異常判定部14は、判定対象のホストペアに関する特徴ベクトルに対して、このホストペアと同一又は互いに類似したホストペアに関する特徴ベクトルから生成された学習済みモデルを用いて異常判定を行う。
【0041】
ネットワーク通信を対象とした異常検知では、事前に正常通信を取得しておき、新たに発生した通信に対して正常通信か異常通信かの判定が行われる。この判定で異常とみなされた場合、起点となったホストペア間の通信に異常が生じているため、マルウェア感染又はDDoS攻撃などが疑われる。
本実施形態のようにサブグラフから変換した特徴ベクトルを用いる場合、正常通信である特徴ベクトルと、新たに発生した通信から得られた特徴ベクトルとを比較し、外れ値となるような特徴ベクトルが異常値とみなされる。
なお、異常検知アルゴリズムは限定されず、例えば、非特許文献8のOne Class SVM、又は非特許文献9のAuto Encoderなど、既知のアルゴリズムを用いることができる。また、正常通信に加えて異常通信のサンプルも十分に取得可能な場合には、2クラス分類の機械学習手法が用いられてもよい。
【0042】
しかしながら、本実施形態が対象としているIoTネットワークでは、多種多様なIoTデバイス(ホスト)が接続されるため、デバイスの差異による特徴ベクトルの変動が生じる。これらの変動を考慮せず、全てのデバイスの特徴ベクトルを同一の特徴空間にマッピングした場合、異常通信と正常通信とのクラス間分散が小さく、異常通信による変動かデバイスの差異による変動かの区別が困難である。このような場合、外れ値検知(異常通信検知)が非常に難しい。
【0043】
そこで、本実施形態では、デバイスの差異による変動を吸収することを考える。
まず、事前に取得した正常通信に関する特徴ベクトルに対して、起点となったホストペアを紐付けておく。次に、新たに発生した通信に対しても、同様に特徴ベクトルの抽出とホストペアの紐付けを行う。
正常通信から得られた特徴ベクトルの中から、新たに発生した通信の起点となったホストペアと同一のホストペアが紐付けられた特徴ベクトルを選択する。そして、選択された特徴ベクトルに対してのみ異常検知アルゴリズムを適用する。
【0044】
このように、関連性の低い通信を間引くことで、異常通信と正常通信とのクラス間分散を大きくできるので、異常通信検知装置1は、デバイスの差異による変動を吸収しつつ、通信そのものの異常による変動に注目した異常検知が可能となる。
【0045】
図5は、本実施形態における異常通信検知の手法を従来と比較して例示する図である。
従来手法では、異なるデバイス間の通信情報を共通の特徴空間にマッピングすることにより、単一の識別境界が学習される。この結果、デバイスの違いによる特徴ベクトルのばらつきと、異常通信による特徴ベクトルのばらつきとの区別が難しくなっている。
すなわち、各種通信から学習された識別境界(破線)では、全ての通信の正常/異常を正確に区別できず、例えば、2行目の正常通信bが異常と判断され、4行目の異常通信dが正常と判断されてしまっている。
【0046】
これに対して、本実施形態の提案手法では、デバイスA-B以外の通信は除外(黒塗り)され、同一デバイスによる通信から学習された識別境界(破線)を用いて、デバイスA-Bの通信に関して正常/異常を区別できる。例えば、4行目の異常通信dは異常と判断され、5行目の正常通信eは正常と判断されている。
【0047】
ここで、学習のために選択する特徴ベクトルの集合は、同一のホストペアに関するものであってよく、これにより、異常通信検知のための識別境界(閾値)を精度良く学習することができる。
また、同一のホストペアの他、類似したホストペア、すなわち機器情報の少なくとも一部が類似するホストペア、例えば同一種別のデバイス、又は類似デバイスで構成されるホストペアに関する特徴データの集合が選択されてもよい。
【0048】
同一種別のデバイスとは、例えば、IoTネットワークにおいて異なるIPアドレスを持つ同一品番のセンサなどである。また、類似デバイスとは、異なるメーカのスマートスピーカやカメラデバイスなどである。
このような組み合わせは、デバイスごとの特徴ベクトルの変動が小さいため、異常通信検知装置1は、デバイスの違いによるばらつきを抑制して異常通信を精度良く検知できる。
【0049】
なお、同一種別のデバイスであっても、所定のソフトウェア、例えばデバイスのファームウェアが更新されたことにより通信挙動に変化が生じることがある。このような場合、異なるバージョンのソフトウェアが動作しているデバイスによって構成されるホストペアを類似したホストペアとして扱うことは好ましくないケースがある。
したがって、学習部13は、機器情報のうち、所定のソフトウェアのバージョンが一致する場合に限り、同一又は互いに類似したホストペアとしてもよい。
【0050】
同一又は類似したホストペアを用いる場合、事前に組み合わせの候補となるデバイスが手動で指定されてもよい。また、この指定が困難な場合には、事前に取得した正常通信から得られた特徴ベクトルと距離が最も近いデバイスが自動的に選択されてもよい。
例えば、学習部13は、指定されたホストペアに関する特徴ベクトルから一定の距離内にある特徴ベクトルに紐付けられたホストペアを、類似したホストペアとして決定してもよい。
なお、距離計算においては、非特許文献10のANN(Approximate Nearest Neighbor)など、最近傍探索の手法を用いてクラスタリングすることにより、各クラスタに属するホストペアを、それぞれ類似したホストペアとして決定できる。これにより、実用的な速度まで高速化することが可能である。
【0051】
また、例えば、学習部13は、特徴ベクトルに変換する前の通信情報が類似したもの、すなわち、生成されたグラフにおけるノードの属性の少なくとも一部が類似するホストペアを、類似したホストペアとして決定してもよい。
【0052】
本実施形態によれば、異常通信検知装置1は、同一又は互いに類似した複数のホストペアによる通信をそれぞれ起点とした特徴ベクトルの集合に基づいて、異常通信の検知モデルを学習し、学習済みモデルを用いて異常通信を検知する。
したがって、異常通信検知装置1は、多種多様なIoTデバイスによって構成されるIoTネットワークにおいて、デバイスの違いによる特徴ベクトルのばらつきを抑制して、通信そのもののばらつきにより異常通信を適切に検知できる。
このとき、同一のホストペアが1回のみ出現するようにグラフを生成することで、通信セッションごとの特徴を適切に抽出して、精度良く学習モデルを生成できる。
【0053】
異常通信検知装置1は、指定されたホストペアに対して機器情報の少なくとも一部が類似し、所定のソフトウェアのバージョンが一致するホストペア、距離が所定内の特徴ベクトルが抽出されたホストペア、特徴ベクトル間の距離に基づいてクラスタリングしたホストペア、通信情報の少なくとも一部が類似するホストペアを、同一又は互いに類似したホストペアとして決定する。
これにより、異常通信検知装置1は、類似したホストペアを適切にクラスタリングして、デバイスの違いによる特徴ベクトルのばらつきを抑制できる。
【0054】
なお、これにより、例えばIoTネットワークにおけるサイバー攻撃及びマルウェア感染による異常通信などを自動検知できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0055】
以上、本発明の実施形態の一例について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0056】
前述の実施形態では、通信元ホストと通信先ホストとをホストペアとし、このホストペア間の直接通信をノードとしたグラフを生成することとした。しかしながら、例えば、DDoS攻撃の場合、ホストAから複数の中間ホストを経由しホストBへアクセスする。
【0057】
図6は、本実施形態における中間ホストを経由した通信を例示する図である。
この例では、攻撃元ホストAから中間ホストC,D,E,Fのいずれかを経由して攻撃先ホストBに対する通信が発生している。
【0058】
このようなケースでは、グラフ上の隣接ノード(ホスト)でホストペアを構築するのではなく、中間ホストを経由して接続された攻撃元ホストと攻撃先ホストとでホストペアを構築するのが好ましい。
例えば、各ホスト間の通信データに基づき、一時的なグラフとして、通信方向をエッジに反映した有向グラフが得られた場合、指定したエッジの通信先ホストと、隣接するエッジの通信元ホストとが一致するとき、この一致するホストを中間ホストとみなすことができる。
【0059】
したがって、グラフ生成部11は、このような指定エッジの通信元ホストと、隣接するエッジの通信先ホストとを、中間ホストを経由したホストペアとみなしてもよい。
なお、複数の中間ホストを経由する場合も同様に、ホストPから、これら複数の中間ホストを経由してホストQに至る有向グラフが得られた場合、ホストPとホストQとをホストペアとみなしてよい。
【0060】
これにより、異常通信検知装置1は、DDoS攻撃のように同一の中間ホストによる複数回の通信を観測できない通信パターンの場合にも、通信の実体に合わせたホストペアを決定して、適切な学習モデルを生成することができる。
【0061】
また、前述の実施形態では、ホストペア(又は類似したホストペアの集合)ごとに、独立してモデルの学習が実施されることを想定した。この場合、ホストペアごとに異常検知アルゴリズムを適用するため、異常通信か否かを判定する閾値又は識別境界もホストペアごとに用意することとなる。
このとき、ホストペアが異なっていても、正常通信と異常通信との差分は類似している場合があるため、この場合、閾値又は識別境界の流用が可能である。なお、ホストペアの違いにより特徴空間上のマッピング位置又はスケールが異なる場合には、識別境界を適宜補正することが好ましい。例えば、マッピング位置がずれている場合は、識別境界がシフト補正されてよい。
【0062】
したがって、学習部13は、学習済みモデルの少なくとも一部のパラメータを複製して、他の特徴ベクトルの集合に対する学習済みモデルを生成してもよい。例えば、最も通信件数が多いホストペアを代表ホストペアとし、代表ホストペアによって決定された閾値が他のホストペアにも流用されてもよい。
ただし、正常通信と異常通信との差分が大きく異なるホストペアの間では、閾値又は識別境界の流用が難しいため、類似したホストペアの場合に限定されてよい。
これにより、学習処理が効率化され、異常通信検知装置1は、容易に精度良く異常通信を検知することができる。
【0063】
異常通信検知装置1による異常通信検知方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0064】
1 異常通信検知装置
10 制御部
11 グラフ生成部
12 特徴抽出部
13 学習部
14 異常判定部
20 記憶部
図1
図2
図3
図4
図5
図6