(57)【特許請求の範囲】
【請求項１】
通信データを受け付け、受け付けた通信データに対してリスト型検出を行うことによって不正な通信を検出するリスト型検出部と、
通信データを受け付け、受け付けた通信データに対して機械学習型検出を行うことによって不正な通信を検出する機械学習型検出部と、
ネットワークから通信データを受信する通信部と、
受信された通信データを振り分けフィルタを用いて前記リスト型検出部と前記機械学習型検出部との少なくとも一方に振り分ける振り分け部と、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、１つ以上の通信データのそれぞれの振り分け先を指定するためのパラメータ値を決定し、決定したパラメータ値を前記振り分けフィルタに設定するフィルタ設定部と、
を備えるネットワークセキュリティ装置。
【請求項２】
前記フィルタ設定部は、前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて前記ネットワークセキュリティ装置の全体の負荷状況を判定し、前記ネットワークセキュリティ装置の全体の負荷状況に応じて前記パラメータ値を決定する
請求項１に記載のネットワークセキュリティ装置。
【請求項３】
前記リスト型検出部によって得られる検出情報と前記機械学習型検出部によって得られる検出情報とに基づいて不正な通信についての検出結果を出力する検出結果出力部を備える
請求項１または請求項２に記載のネットワークセキュリティ装置。
【請求項４】
通信データを受け付け、受け付けた通信データに対してリスト型検出を行うことによって不正な通信を検出するリスト型検出部と、
通信データを受け付け、受け付けた通信データに対して機械学習型検出を行うことによって不正な通信を検出する機械学習型検出部と、
ネットワークから通信データを受信する通信部と、
受信された通信データを振り分けフィルタを用いて前記リスト型検出部と前記機械学習型検出部との少なくとも一方に振り分ける振り分け部と、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、１つ以上の通信データのそれぞれの振り分け先を決定するためのパラメータ値を決定し、決定したパラメータ値を前記振り分けフィルタに設定するフィルタ設定部と、
を備えるネットワークセキュリティシステム。
【請求項５】
リスト型検出部が、通信データを受け付け、受け付けた通信データに対してリスト型検出を行うことによって不正な通信を検出し、
機械学習型検出部が、通信データを受け付け、受け付けた通信データに対して機械学習型検出を行うことによって不正な通信を検出し、
通信部が、ネットワークから通信データを受信し、
振り分け部が、受信された通信データを振り分けフィルタを用いて前記リスト型検出部と前記機械学習型検出部との少なくとも一方に振り分け、
フィルタ設定部が、前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、１つ以上の通信データのそれぞれの振り分け先を決定するためのパラメータ値を決定し、決定したパラメータ値を前記振り分けフィルタに設定する
ネットワークセキュリティ方法。
【請求項６】
ネットワークから複数の通信データを受信する通信部と、
選択フィルタを用いて、受信された複数の通信データから１つ以上の通信データを選択する選択部と、
選択された１つ以上の通信データを受け付け、受け付けた１つ以上の通信データに対してリスト型検出を行うことによって不正な通信を検出するリスト型検出部と、
前記リスト型検出によって不正な通信が検出されなかった各通信データを受け付け、受け付けた各通信データに対して機械学習型検出を行うことによって不正な通信を検出する機械学習型検出部と、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、選択される通信データを指定するためのパラメータ値を決定し、決定したパラメータ値を前記選択フィルタに設定するフィルタ設定部と、
を備えるネットワークセキュリティ装置。
【請求項７】
前記フィルタ設定部は、前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて前記ネットワークセキュリティ装置の全体の負荷状況を判定し、前記ネットワークセキュリティ装置の全体の負荷状況に応じて前記パラメータ値を決定する
請求項６に記載のネットワークセキュリティ装置。
【請求項８】
前記ネットワークセキュリティ装置は、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、前記リスト型検出で用いられるリストを決定し、決定したリストを前記リスト型検出部に対して指定するリスト指定部を備え、
前記リスト型検出部は、指定されたリストを用いて前記リスト型検出を行う
請求項６または請求項７に記載のネットワークセキュリティ装置。
【請求項９】
前記リスト指定部は、前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて前記ネットワークセキュリティ装置の全体の負荷状況を判定し、前記ネットワークセキュリティ装置の全体の負荷状況に応じて前記リストを決定する
請求項８に記載のネットワークセキュリティ装置。
【請求項１０】
前記リスト型検出部によって得られる検出情報と前記機械学習型検出部によって得られる検出情報とに基づいて不正な通信についての検出結果を出力する検出結果出力部を備える
請求項６から請求項９のいずれか１項に記載のネットワークセキュリティ装置。
【請求項１１】
ネットワークから複数の通信データを受信する通信部と、
選択フィルタを用いて、受信された複数の通信データから１つ以上の通信データを選択する選択部と、
選択された１つ以上の通信データを受け付け、受け付けた１つ以上の通信データに対してリスト型検出を行うことによって不正な通信を検出するリスト型検出部と、
前記リスト型検出によって不正な通信が検出されなかった各通信データを受け付け、受け付けた各通信データに対して機械学習型検出を行うことによって不正な通信を検出する機械学習型検出部と、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、選択される通信データを指定するためのパラメータ値を決定し、決定したパラメータ値を前記選択フィルタに設定するフィルタ設定部と、
を備えるネットワークセキュリティシステム。
【請求項１２】
通信部が、ネットワークから複数の通信データを受信し、
選択部が、選択フィルタを用いて、受信された複数の通信データから１つ以上の通信データを選択し、
リスト型検出部が、選択された１つ以上の通信データを受け付け、受け付けた１つ以上の通信データに対してリスト型検出を行うことによって不正な通信を検出し、
機械学習型検出部が、前記リスト型検出によって不正な通信が検出されなかった各通信データを受け付け、受け付けた各通信データに対して機械学習型検出を行うことによって不正な通信を検出し、
フィルタ設定部が、前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、選択される通信データを指定するためのパラメータ値を決定し、決定したパラメータ値を前記選択フィルタに設定する
ネットワークセキュリティ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正な通信を検出するための技術に関するものである。
【背景技術】
【０００２】
インターネット技術および各種センサー・テクノロジーの進化等を背景に、パソコンおよびスマートフォンなどの従来のインターネット接続端末に加え、家電、自動車、ビルおよび工場などの世界中の様々なモノがインターネットへつながるＩｏＴ時代が到来している。２０２０年には、世界で４００億台の機器がインターネットへ接続されることが予想されている
ＩｏＴはＩｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓの略称である。【０００３】
急速にＩｏＴが普及する一方で、企業はセキュリティに関する課題を挙げている。
デバイス数が急速に増加していることに対して管理が行き届かなくなること、用途または環境に応じて使用方法が異なること、使用期間が長期になるために当初想定していない脅威が発生すること、リソースが限られたＩｏＴ機器では対策が限られていることなど、セキュリティの課題は多岐に渡っている。【０００４】
このような課題を解決する方法として、ＩｏＴ機器に対して個別に対策するのではなく、通信を中継するスイッチまたはゲートウェイにて不正な通信を検出することが考えられている。ネットワークを通じて生じるセキュリティ異常を防止するためである。【０００５】
不正な通信を検出する方法として、主に、以下の２種類の手法がある。
１つ目の手法をリスト型検出と呼ぶ。
２つ目を機械学習型検出と呼ぶ。【０００６】
リスト型検出では、許可された通信が詳細に定義され、非該当の通信が不正と判断される。
特許文献１はリスト型検出を開示している。そのリスト型検出は、通信の状態遷移を含めて通信の詳細を検査することにより、厳密に異常を検出することが可能である。また、派生する形で、ＤＰＩと呼ばれる技術など、通信内のメッセージ内容を解釈すること、または、通信タイミングを詳細に規定することで、より厳密な定義をすることも挙げられている。
ＤＰＩはＤｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎの略称である。【０００７】
機械学習型検出では、正常状態の通信トラフィックが機械学習され、学習結果との不一致度に基づいて不正が判断される。
特許文献２は機械学習型検出を開示している。その機械学習型検出は、通信トラフィックの統計情報に基づいて異常を検出できる。そして、学習結果であるモデル情報を用いて空間の距離または空間の密度に基づいて異常を判定することが可能であり、人の手によって定義ファイルを作成することが不要である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−３４５５３号公報
【特許文献２】特開２０１７−１４３５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
リスト型検出には、定義ファイルを作成するための人的コストが多大であること、定義ファイルを作成する際に人的ミスが生じること、定義ファイルと実際の通信を比較して検証するための処理が膨大になること、といった欠点がある。また、単純な振る舞いをしない機器に対する定義ファイルの作成が困難であるという欠点がある。【００１０】
機械学習型検出には、機械学習にかかる計算リソースが莫大になるという欠点がある。また、振る舞いが学習時と異なることが異常と判定されるため、判定結果が期待する検知結果とは必ずしも一致しないという欠点がある。【００１１】
上記のように、リスト型検出と機械学習型検出には、それぞれに長所と短所がある。そのため、リスト型検出と機械学習型検出は、適用されるシステムまたは適用される機器の特性に応じて静的に使い分けられている。
一方、ＩｏＴが急速に進む中、ネットワーク内に色々な機器およびシステムが混在することが想定される。そのため、リスト型検出と機械学習型検出との両方が同時に使われるようになることが考えられる。
同時使用を実現するための単純な実現方法として、リスト型検出用の装置（またはシステム）と機械学習型検出用の装置（またはシステム）との両方を導入する装置（またはシステム）の２重化が考えられる。しかし、この方法には、導入および運用における費用が嵩むこと、導入するためのネットワーク設計が複雑になること、といった課題がある。【００１２】
本発明は、装置（またはシステム）を２重化せずに、リスト型検出と機械学習型検出とによって不正な通信を検出できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明のネットワークセキュリティ装置は、
通信データを受け付け、受け付けた通信データに対してリスト型検出を行うことによって不正な通信を検出するリスト型検出部と、
通信データを受け付け、受け付けた通信データに対して機械学習型検出を行うことによって不正な通信を検出する機械学習型検出部と、
ネットワークから通信データを受信する通信部と、
受信された通信データを振り分けフィルタを用いて前記リスト型検出部と前記機械学習型検出部との少なくとも一方に振り分ける振り分け部と、
前記リスト型検出部の負荷状況と前記機械学習型検出部の負荷状況とに基づいて、１つ以上の通信データのそれぞれの振り分け先を指定するためのパラメータ値を決定し、決定したパラメータ値を前記振り分けフィルタに設定するフィルタ設定部と、を備える。
【発明の効果】
【００１４】
本発明によれば、負荷状況に応じてリスト型検出と機械学習型検出とが動的に使い分けられる。そのため、装置（またはシステム）を２重化せずに、リスト型検出と機械学習型検出とによって不正な通信を検出することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１におけるネットワークセキュリティシステム１００の構成図。
【図２】実施の形態１におけるネットワークセキュリティ装置２００の構成図。
【図３】実施の形態１におけるネットワークセキュリティ装置２００の機能構成図。
【図４】実施の形態１におけるネットワークセキュリティ方法のフローチャート。
【図５】実施の形態１におけるフィルタ設定処理のフローチャート。
【図６】実施の形態１における複数の振り分け形態についての比較表。
【図７】実施の形態１におけるネットワークセキュリティシステム１００の構成例を示す図。
【図８】実施の形態１におけるネットワークセキュリティ装置２００Ａの構成図。
【図９】ネットワークセキュリティ装置（２００、２００Ａ）が使用されない場合の設定および確認を示す図。
【図１０】ネットワークセキュリティ装置（２００、２００Ａ）が使用される場合の設定および確認を示す図。
【図１１】実施の形態１におけるネットワークセキュリティ装置（２００、２００Ａ）のハードウェア構成図。
【図１２】実施の形態２におけるネットワークセキュリティシステム１００の構成図。
【図１３】実施の形態２におけるネットワークセキュリティ装置３００の構成図。
【図１４】実施の形態２におけるネットワークセキュリティ装置３００の機能構成図。
【図１５】実施の形態２におけるネットワークセキュリティ方法のフローチャート。
【図１６】実施の形態２における制御処理のフローチャート。
【図１７】実施の形態２における複数の検出条件リストの概要図。
【図１８】実施の形態２におけるネットワークセキュリティシステム１００の構成例を示す図。
【図１９】実施の形態２におけるネットワークセキュリティ装置３００の構成例を示す図。
【図２０】実施の形態２におけるネットワークセキュリティ装置（３００、３００Ａ）のハードウェア構成図。
【発明を実施するための形態】
【００１６】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００１７】
実施の形態１．
不正な通信を検出するための形態について、図１から図１１に基づいて説明する。
【００１８】
＊＊＊構成の説明＊＊＊
図１に基づいて、ネットワークセキュリティシステム１００の構成を説明する。
ネットワークセキュリティシステム１００は、不正な通信を検出するネットワークセキュリティ装置２００を備えるネットワークシステムである。
【００１９】
ネットワークセキュリティ装置２００は、通信データを中継するネットワーク機器である。具体的には、ネットワークセキュリティ装置２００は、スイッチ、ゲートウェイまたはルータである。
ネットワークセキュリティ装置２００は、複数の通信ネットワーク（１０１、１０２）に接続される。例えば、通信ネットワーク１０１はインターネット（外部ネットワーク）であり、通信ネットワーク１０２はローカルエリアネットワークである。
ネットワークセキュリティ装置２００は、通信ネットワーク１０２を介して、複数の機器（１０３Ａ〜１０３Ｃ）に接続される。
【００２０】
機器（１０３Ａ〜１０３Ｃ）を特定しない場合、それぞれを機器１０３と称する。
機器１０３は、ＩｏＴを構成する機器である。
【００２１】
ネットワークセキュリティシステム１００における通信は、有線通信と無線通信とのいずれであってもよい。
ネットワークセキュリティシステム１００のトポロジーは、スター型、バス型、リング型またはその他の型のいずれであってもよい。
【００２２】
図２に基づいて、ネットワークセキュリティ装置２００の構成を説明する。
ネットワークセキュリティ装置２００は、プロセッサ２０１とメモリ２０２と補助記憶装置２０３と入出力インタフェース２０４と複数の通信インタフェース（２０５Ａ〜２０５Ｃ）といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００２３】
プロセッサ２０１は、演算処理を行うＩＣであり、他のハードウェアを制御する。例えば、プロセッサ２０１は、ＣＰＵまたはＤＳＰである。
ＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。
ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
ＤＳＰは、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称である。
【００２４】
メモリ２０２は揮発性の記憶装置である。メモリ２０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ２０２はＲＡＭである。メモリ２０２に記憶されたデータは必要に応じて補助記憶装置２０３に保存される。
ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００２５】
補助記憶装置２０３は不揮発性の記憶装置である。例えば、補助記憶装置２０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。補助記憶装置２０３に記憶されたデータは必要に応じてメモリ２０２にロードされる。
ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。
ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
【００２６】
入出力インタフェース２０４は、入力装置および出力装置が接続されるポートである。
【００２７】
通信インタフェース（２０５Ａ〜２０５Ｃ）を特定しない場合、それぞれを通信インタフェース２０５と称する。
通信インタフェース２０５は、通信データが入出力されるポートである。
【００２８】
ネットワークセキュリティ装置２００は、通信受付部２１０とリスト型検出部２２０と機械学習型検出部２３０と通信インタフェース２０５とフィルタ設定部２５０といった要素を備える。これらの要素はソフトウェアで実現される。
【００２９】
補助記憶装置２０３には、通信受付部２１０とリスト型検出部２２０と機械学習型検出部２３０と結果出力部２４０とフィルタ設定部２５０としてコンピュータを機能させるためのネットワークセキュリティプログラムが記憶されている。ネットワークセキュリティプログラムは、メモリ２０２にロードされて、プロセッサ２０１によって実行される。
補助記憶装置２０３には、さらに、ＯＳが記憶されている。ＯＳの少なくとも一部は、メモリ２０２にロードされて、プロセッサ２０１によって実行される。
プロセッサ２０１は、ＯＳを実行しながら、ネットワークセキュリティプログラムを実行する。
ＯＳは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略称である。
【００３０】
ネットワークセキュリティプログラムの入出力データは記憶部２９０に記憶される。
メモリ２０２は記憶部２９０として機能する。但し、補助記憶装置２０３、プロセッサ２０１内のレジスタおよびプロセッサ２０１内のキャッシュメモリなどの記憶装置が、メモリ２０２の代わりに、又は、メモリ２０２と共に、記憶部２９０として機能してもよい。
【００３１】
ネットワークセキュリティ装置２００は、プロセッサ２０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ２０１の機能を分担する。
【００３２】
ネットワークセキュリティプログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録（格納）することができる。
【００３３】
図３に基づいて、ネットワークセキュリティ装置２００の機能構成を説明する。
ネットワークセキュリティ装置２００は、通信受付部２１０とリスト型検出部２２０と機械学習型検出部２３０と結果出力部２４０とフィルタ設定部２５０とを備える。
通信受付部２１０は、通信部２１１と振り分け部２１２とを備える。
リスト型検出部２２０は、比較部２２１とリスト管理部２２２とを備える。
機械学習型検出部２３０は、比較部２３１と学習部２３２とを備える。
フィルタ設定部２５０は、受付部２５１と決定部２５２と設定部２５３とを備える。
これら構成要素の機能について後述する。
【００３４】
＊＊＊動作の説明＊＊＊
ネットワークセキュリティ装置２００の動作の手順はネットワークセキュリティ方法に相当する。また、ネットワークセキュリティ装置２００の動作の手順はネットワークセキュリティプログラムによる処理の手順に相当する。
【００３５】
図４に基づいて、ネットワークセキュリティ方法の主な処理を説明する。
ステップＳ１０１からステップＳ１０６は、通信データが通信インタフェース２０５に到達する毎に実行される。
【００３６】
ステップＳ１０１において、通信部２１１は通信データを受信する。
そして、通信部２１１は、受信した通信データに対して、通信インタフェース２０５間での通信交換処理を行う。つまり、通信部２１１は、受信した通信データの宛先に応じて通信インタフェース２０５を選択し、選択した通信インタフェース２０５から、受信した通信データを送信する。この通信交換処理は、一般的なネットワーク機器が備える機能によって行われる処理と同じである。
【００３７】
また、通信部２１１は、受信した通信データを振り分け部２１２へ入力する。
【００３８】
ステップＳ１０２において、振り分け部２１２は、通信部２１１から入力された通信データを受け付ける。
そして、振り分け部２１２は、受け付けた通信データを、振り分けフィルタを用いて、リスト型検出部２２０と機械学習型検出部２３０との少なくとも一方に振り分ける。
【００３９】
振り分けフィルタは、１つ以上の通信データのそれぞれをリスト型検出部２２０と機械学習型検出部２３０との少なくとも一方に振り分けるためのフィルタである。例えば、振り分けフィルタはソフトウェアによって実現される。
振り分けフィルタは、振り分けルールを指定するパラメータを有する。
振り分けルールは、１つ以上の通信データのそれぞれの振り分け先を決定するためのルールである。
例えば、振り分けルールは、リスト型検出部２２０と機械学習型検出部２３０とのうちの一方、または、リスト型検出部２２０と機械学習型検出部２３０との両方を指定する。
例えば、振り分けルールは、リスト型検出部２２０と機械学習型検出部２３０とのそれぞれに対して、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号または特定箇所のデータ値など、通信データに含まれる情報の範囲を指定する。
【００４０】
受け付けた通信データの振り分け先がリスト型検出部２２０である場合、振り分け部２１２は受け付けた通信データをリスト型検出部２２０へ入力する。そして、処理はステップＳ１０３に進む。
受け付けた通信データの振り分け先が機械学習型検出部２３０である場合、振り分け部２１２は受け付けた通信データを機械学習型検出部２３０へ入力する。そして、処理はステップＳ１０４に進む。
受け付けた通信データの振り分け先がリスト型検出部２２０と機械学習型検出部２３０との両方である場合、振り分け部２１２は受け付けた通信データをリスト型検出部２２０と機械学習型検出部２３０とのそれぞれへ入力する。そして、処理はステップＳ１０５に進む。
【００４１】
ステップＳ１０３において、リスト型検出部２２０は、振り分け部２１２から入力された通信データを受け付ける。
リスト型検出部２２０は、受け付けた通信データに対してリスト型検出を行う。
リスト型検出によって不正な通信が検出された場合、リスト型検出部２２０は、検出情報を結果出力部２４０へ入力する。検出情報は、検出された不正な通信の情報、具体的には、通信データの情報を示す。
【００４２】
リスト型検出は、ホワイトリストとブラックリストといったリストを用いて不正な通信を検出する手法である。以下、リスト型検出で用いられるリストを「検出条件リスト」と呼ぶ。
リスト型検出において、比較部２２１は、受け付けた通信データの情報を検出条件リストに示される各検出条件と比較する。そして、比較部２２１は、比較結果に基づいて、受け付けた通信データが不正な通信データであるか判定する。
各検出条件は、送信元ＩＰアドレスおよび宛先ＩＰアドレスなどの通信情報について定義される。ＩＰはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略称である。
【００４３】
検出条件リストは、リスト管理部２２２において管理される。
検出条件リストは、固定であってもよいし、動的に変更されてもよい。
ステップＳ１０３の後、処理はステップＳ１０６に進む。
【００４４】
ステップＳ１０４において、機械学習型検出部２３０は、振り分け部２１２から入力された通信データを受け付ける。
機械学習型検出部２３０は、受け付けた通信データに対して機械学習型検出を行う。
機械学習型検出によって不正な通信が検出された場合、機械学習型検出部２３０は、検出情報を結果出力部２４０へ入力する。検出情報は、検出された不正な通信の情報、具体的には、通信データの情報を示す。
【００４５】
機械学習型検出は、機械学習によって得られる学習モデルを用いて不正な通信を検出する手法である。
機械学習型検出において、比較部２３１は、受け付けた通信データを入力にして学習モデルを実行することによって、受け付けた通信データの異常度を算出する。比較部２３１は、算出した異常度を閾値と比較する。算出した異常度が閾値より大きい場合、比較部２３１は、受け付けた通信データが不正な通信データであると判定する。
【００４６】
学習モデルは、学習部２３２によって生成される。
学習部２３２は、複数の正常な通信データを入力にして機械学習を行い、機械学習の結果を用いて学習モデルを生成する。
機械学習のために、学習部２３２は、複数の正常な通信データに対して統計処理を行うことによって、機械学習がし易いように複数の正常な通信データを加工する。そして、学習部２３２は、加工後の通信データを用いて機械学習を行う。
ステップＳ１０４の後、処理はステップＳ１０６に進む。
【００４７】
ステップＳ１０５において、リスト型検出部２２０は、振り分け部２１２から入力された通信データを受け付ける。リスト型検出部２２０は、受け付けた通信データに対してリスト型検出を行う。リスト型検出によって不正な通信が検出された場合、リスト型検出部２２０は、検出情報を結果出力部２４０へ入力する。リスト型検出部２２０による処理は、ステップＳ１０３における処理と同じである。
さらに、機械学習型検出部２３０は、振り分け部２１２から入力された通信データを受け付ける。機械学習型検出部２３０は、受け付けた通信データに対して機械学習型検出を行う。機械学習型検出によって不正な通信が検出された場合、機械学習型検出部２３０は、検出情報を結果出力部２４０へ入力する。機械学習型検出部２３０による処理は、ステップＳ１０４における処理と同じである。
ステップＳ１０５の後、処理はステップＳ１０６に進む。
【００４８】
ステップＳ１０６において、結果出力部２４０は、リスト型検出部２２０と機械学習型検出部２３０とのそれぞれから入力される検出情報を受け付ける。
結果出力部２４０は、受け付けた検出情報に基づいて、不正な通信についての検出結果を出力する。例えば、結果出力部２４０は、検出結果を特定の宛先へ送信する。検出結果は、検出された不正な通信の情報を示す。
【００４９】
通信データがリスト型検出部２２０にだけ振り分けられ、リスト型検出部２２０から結果出力部２４０へ検出情報が入力された場合、結果出力部２４０は、入力された検出情報を検出結果として出力する。
通信データが機械学習型検出部２３０にだけ振り分けられ、機械学習型検出部２３０から結果出力部２４０へ検出情報が入力された場合、結果出力部２４０は、入力された検出情報を検出結果として出力する。
通信データがリスト型検出部２２０と機械学習型検出部２３０との両方に振り分けられた場合、結果出力部２４０は次のように動作する。リスト型検出部２２０と機械学習型検出部２３０との両方から検出情報が入力された場合に、結果出力部２４０は、入力された検出情報を統合して検出結果を生成し、生成した検出結果を出力する。但し、リスト型検出部２２０と機械学習型検出部２３０との一方から検出情報が入力された場合に、結果出力部２４０は、入力された検出情報を検出結果として出力してもよい。
【００５０】
図５に基づいて、フィルタ設定処理を説明する。
フィルタ設定処理は、ネットワークセキュリティ方法の一部の処理である。
【００５１】
ステップＳ１１１において、受付部２５１は、リスト型検出部２２０の負荷状況と機械学習型検出部２３０の負荷状況と通信受付部２１０の負荷状況とを受け付ける。
負荷状況は、単位時間あたりに処理した通信データの数、または、単位時間あたりに実行した処理量などである。負荷状況は通信状況と相関する。
【００５２】
受付部２５１は、各負荷状況を以下のように受け付ける。
リスト型検出部２２０は自己の負荷状況を管理する。そして、リスト型検出部２２０は、特定のタイミングで、負荷状況をフィルタ設定部２５０へ通知する。受付部２５１は、通知された負荷状況を受け付ける。例えば、特定のタイミングは、定期的、または、通信データが振り分けられて不正な通信を検出する処理を実行する毎である。
機械学習型検出部２３０は自己の負荷状況を管理する。そして、機械学習型検出部２３０は、特定のタイミングで、負荷状況をフィルタ設定部２５０へ通知する。受付部２５１は、通知された負荷状況を受け付ける。例えば、特定のタイミングは、定期的、または、通信データが振り分けられて不正な通信を検出する処理を実行する毎である。
通信受付部２１０は自己の負荷状況を管理する。そして、通信受付部２１０は、特定のタイミングで、負荷状況をフィルタ設定部２５０へ通知する。受付部２５１は、通知された負荷状況を受け付ける。例えば、特定のタイミングは、定期的、または、通信データを振り分ける毎である。
【００５３】
ステップＳ１１２において、決定部２５２は、受け付けられた負荷状況に基づいて、パラメータ値を決定する。
このパラメータ値は、振り分けフィルタのパラメータに設定される値である。
振り分けフィルタは、通信データの振り分けのために振り分け部２１２によって使用される。
【００５４】
決定部２５２は、パラメータ値を以下のように決定する。
まず、決定部２５２は、受け付けられた負荷状況に基づいて、ネットワークセキュリティ装置２００の全体の負荷状況を判定する。
そして、決定部２５２は、ネットワークセキュリティ装置２００の全体の負荷状況に応じて、パラメータ値を決定する。例えば、決定部２５２は、ネットワークセキュリティ装置２００の全体の負荷状況に対応するパラメータ値を対応表から選択する。対応表は負荷状況とパラメータ値との対応関係を示す。
【００５５】
例えば、決定部２５２は、リスト型検出または機械学習型検出を優先させる振り分けルールを識別する値をパラメータ値に決定する。
例えば、決定部２５２は、次のような振り分けルールを識別する値をパラメータ値に決定する。振り分けルールは、リスト型検出部２２０と機械学習型検出部２３０とのそれぞれに対して振り分けられる通信データを制限する。具体的には、振り分けルールは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号または特定箇所のデータ値など、通信データに含まれる情報の範囲を指定する。
【００５６】
ステップＳ１１３において、設定部２５３は、決定されたパラメータ値を振り分けフィルタのパラメータに設定する。
【００５７】
図６に基づいて、振り分け部２１２における振り分け形態を説明する。
振り分け形態には、重複型と分担型と排他型との３パターンがある。
重複型において、振り分け部２１２は、リスト型検出部２２０と機械学習型検出部２３０との両方に各通信データを振り分ける。そして、結果出力部２４０は、リスト型検出部２２０によって得られた検出情報と機械学習型検出部２３０によって得られた検出情報とを用いて、不正な通信を検出する。そのため、不正な通信を漏れなく検出することが可能である。重複型は処理負荷が大きいが併用効果が高い。
分担型において、振り分け部２１２は、リスト型検出部２２０と機械学習型検出部２３０とのいずれか一方に各通信データを振り分ける。そして、結果出力部２４０は、リスト型検出部２２０に振り分けられた通信データに基づく検出情報と、機械学習型検出部２３０に振り分けられた通信データに基づく検出情報と、を用いて不正な通信を検出する。そのため、不正な通信を漏れなく検出することが可能である。分担型は重複型に比べて処理負荷が小さい。
排他型において、振り分け部２１２は、１つ以上の通信データの全てをリスト型検出部２２０または機械学習型検出部２３０に振り分ける。そして、結果出力部２４０は、リスト型検出部２２０または機械学習型検出部２３０によって得られた検出情報を用いて、不正な通信を検出する。排他型は処理負荷が小さいが併用効果がない。そして、排他型は、ネットワークセキュリティシステム１００の状況によっては有効性が高い。
【００５８】
＊＊＊実施例の説明＊＊＊
ネットワークセキュリティ装置２００は、スイッチまたはゲートウェイなどのネットワーク機器でなく、不正な通信を検出するための専用の装置であってもよい。
不正な通信を検出するための専用の装置をネットワークセキュリティ装置２００Ａと称する。
【００５９】
図７に基づいて、ネットワークセキュリティシステム１００の構成例を説明する。
ネットワークセキュリティシステム１００は、ネットワークセキュリティ装置２００の代わりに、ネットワーク機器１０４とネットワークセキュリティ装置２００Ａとを備える。
ネットワーク機器１０４は、複製された通信データを出力するミラーポートを備える。
ネットワークセキュリティ装置２００Ａは、ネットワーク機器１０４のミラーポートに接続され、ミラーポートから出力される通信データを受信する。
【００６０】
図８に基づいて、ネットワークセキュリティ装置２００Ａの機能構成を説明する。
ネットワークセキュリティ装置２００Ａは、ネットワークセキュリティ装置２００と同じく、通信受付部２１０とリスト型検出部２２０と機械学習型検出部２３０と結果出力部２４０とフィルタ設定部２５０とを備える。
但し、通信部２１１は、受信した通信データに対して通信交換処理を行わない。
【００６１】
＊＊＊実施の形態１の効果＊＊＊
実施の形態１により、ネットワーク内に色々な機器が混在される環境であっても、負荷状況に基づいてリスト型検出と機械学習型検出との両方を用いることが可能となる。また、負荷状況が逼迫した環境において、振り分けフィルタのパラメータを動的に設定することで、ネットワークセキュリティサービスの継続を図ることが可能となる。
【００６２】
ネットワークセキュリティプログラムを通信装置に実装することで、システムおよび機器１０３の特性に応じて、不正な通信の検出を実現することが可能となる。そのため、システムまたは通信装置の二重化が不要となり、二重化のためのネットワーク設計が不要となる。そして、導入コストおよび運用コストが低減される。
例えば、ネットワークセキュリティ装置（２００、２００Ａ）が使用されない場合（図９参照）、オペレータは、以下の（１）から（４）のそれぞれについて設定および確認を行う必要がある。図９における通信ネットワークは、観測の対象となる通信ネットワークであり、通信ネットワーク１０１または通信ネットワーク１０２に相当する。また、ネットワーク機器は、機器１０３またはネットワーク機器１０４に相当する。
（１）オペレータは、ネットワーク機器に対して設定および確認を行う。具体的には、オペレータは、リスト型検出装置と機械学習型検出装置とのそれぞれに通信ネットワークの情報を転送する、という設定（ネットワーク設定）をネットワーク機器に対して行う。そして、オペレータはネットワーク設定を確認する。ここで、振り分け部２１２の機能に相当する設定をネットワーク機器に設定するという考えもあるが、その設定は煩雑になるため、オペレータの負担が増大する可能性がある。
（２）オペレータは、機械学習型検出装置に学習モデルルールを設定し、設定された学習モデルルールを確認する。機械学習型検出装置は機械学習型検出部２３０に相当する。
（３）オペレータは、リスト型検出装置に異常検知ルールを設定し、設定された異常検知ルールを確認する。リスト型検出装置はリスト型検出部２２０に相当する。
（４）オペレータは、異常検出装置に対して設定および確認を行う。具体的には、オペレータは、リスト型検出装置によって得られる検出結果と機械学習型検出装置によって得られる検出結果とを解析して総合的な結果を得るための設定（解析設定）を異常検出装置に対して行う。そして、オペレータは解析設定を確認する。異常検出装置は結果出力部２４０に相当する。
一方、ネットワークセキュリティ装置（２００、２００Ａ）が使用される場合（図１０参照）、オペレータは、以下の（１）および（２）のそれぞれについて設定および確認を行えばよい。図１０における通信ネットワークは、観測の対象となる通信ネットワークであり、通信ネットワーク１０１または通信ネットワーク１０２に相当する。また、ネットワーク機器は、機器１０３またはネットワーク機器１０４に相当する。
（１）オペレータは、通信ネットワークの情報をネットワークセキュリティ装置（２００、２００Ａ）に転送する、という設定（ネットワーク設定）をネットワーク機器に対して行う。そして、オペレータはネットワーク設定を確認する。
（２）オペレータは、ネットワークセキュリティ装置（２００、２００Ａ）に対する設定を行う。
以上のように、ネットワークセキュリティ装置（２００、２００Ａ）を使用することによって、システム構成が簡素化され、また、オペレータの負担が軽減される。そのため、導入コストおよび運用コストが低減される。
【００６３】
＊＊＊実施の形態１の補足＊＊＊
図１１に基づいて、ネットワークセキュリティ装置（２００、２００Ａ）のハードウェア構成を説明する。
ネットワークセキュリティ装置（２００、２００Ａ）は処理回路２０９を備える。
処理回路２０９は、通信受付部２１０とリスト型検出部２２０と機械学習型検出部２３０と結果出力部２４０とフィルタ設定部２５０とを実現するハードウェアである。
処理回路２０９は、専用のハードウェアであってもよいし、メモリ２０２に格納されるプログラムを実行するプロセッサ２０１であってもよい。
【００６４】
処理回路２０９が専用のハードウェアである場合、処理回路２０９は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。
ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。
ＦＰＧＡは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【００６５】
ネットワークセキュリティ装置（２００、２００Ａ）は、処理回路２０９を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路２０９の機能を分担する。
【００６６】
ネットワークセキュリティ装置（２００、２００Ａ）において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
【００６７】
このように、ネットワークセキュリティ装置（２００、２００Ａ）の各機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【００６８】
実施の形態２．
不正な通信を検出するための形態について、主に実施の形態１と異なる点を図１２から図２０に基づいて説明する。
【００６９】
＊＊＊構成の説明＊＊＊
図１２に基づいて、ネットワークセキュリティシステム１００の構成を説明する。
ネットワークセキュリティシステム１００は、実施の形態１におけるネットワークセキュリティ装置２００（図１参照）の代わりに、ネットワークセキュリティ装置３００を備える。
【００７０】
図１３に基づいて、ネットワークセキュリティ装置３００の構成を説明する。
ネットワークセキュリティ装置３００は、プロセッサ３０１とメモリ３０２と補助記憶装置３０３と入出力インタフェース３０４と複数の通信インタフェース（３０５Ａ〜３０５Ｃ）といったハードウェアを備えるコンピュータである。
これらのハードウェアは、実施の形態１におけるネットワークセキュリティ装置２００のハードウェア（２０１〜２０４、２０５Ａ〜２０５Ｃ）に相当する（図２参照）。
【００７１】
ネットワークセキュリティ装置３００は、通信受付部３１０とリスト型検出部３２０と機械学習型検出部３３０と結果出力部３４０と動的制御部３５０といった要素を備える。これらの要素はソフトウェアで実現される。
ネットワークセキュリティプログラムは、通信受付部３１０とリスト型検出部３２０と機械学習型検出部３３０と結果出力部３４０と動的制御部３５０としてコンピュータを機能させる。
【００７２】
図１４に基づいて、ネットワークセキュリティ装置３００の機能構成を説明する。
ネットワークセキュリティ装置３００は、通信受付部３１０とリスト型検出部３２０と機械学習型検出部３３０と結果出力部３４０と動的制御部３５０とを備える。
通信受付部３１０は、通信部３１１と選択部３１２とを備える。
リスト型検出部３２０は、比較部３２１とリスト管理部３２２とを備える。
機械学習型検出部３３０は、比較部３３１と学習部３３２とを備える。
動的制御部３５０は、フィルタ設定部３５１とリスト指定部３５２とを備える。
これら構成要素の機能について後述する。
【００７３】
＊＊＊動作の説明＊＊＊
図１５に基づいて、ネットワークセキュリティ方法の主な処理を説明する。
ステップＳ２０１からステップＳ２０５は、通信データが通信インタフェース３０５に到達する毎に実行される。
【００７４】
ステップＳ２０１において、通信部３１１は通信データを受信する。
そして、通信部３１１は、受信した通信データに対して、通信インタフェース３０５間での通信交換処理を行う。
【００７５】
また、通信部３１１は、受信した通信データを選択部３１２へ入力する。
【００７６】
ステップＳ２０２において、選択部３１２は、通信部３１１から入力された通信データを受け付ける。
そして、選択部３１２は、受け付けた通信データを処理対象として選択するか否かを、選択フィルタを用いて判定する。
【００７７】
選択フィルタは、複数の通信データから１つ以上の通信データを選択するためのフィルタである。例えば、選択フィルタはソフトウェアによって実現される。
選択フィルタは、選択ルールを指定するパラメータを有する。
選択ルールは、通信データの選択の要否を判定するためのルールである。
例えば、選択ルールは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号または特定箇所のデータ値など、通信データに含まれる情報の範囲を指定する。
【００７８】
受け付けた通信データが処理対象として選択された場合、選択部３１２は受け付けた通信データをリスト型検出部３２０へ入力する。そして、処理はステップＳ２０３に進む。
受け付けた通信データが処理対象として選択されなかった場合、処理は終了する。
【００７９】
ステップＳ２０３において、リスト型検出部３２０は、選択部３１２から入力された通信データを受け付ける。
リスト型検出部３２０は、受け付けた通信データに対してリスト型検出を行う。
【００８０】
リスト型検出は、実施の形態１のステップＳ１０３で説明した通りである。
但し、リスト型検出部３２０は、リスト指定部３５２から指定されたリストを用いて、リスト型検出を行う。リスト指定部３５２によるリストの指定については後述する。
【００８１】
リスト型検出によって不正な通信が検出された場合、リスト型検出部３２０は、検出情報を結果出力部３４０へ入力する。そして、処理はステップＳ２０５に進む。
リスト型検出によって不正な通信が検出されなかった場合、リスト型検出部３２０は、受け付けた通信データを機械学習型検出部３３０へ入力する。そして、処理はステップＳ２０４に進む。
【００８２】
ステップＳ２０４において、機械学習型検出部３３０は、リスト型検出部３２０から入力された通信データを受け付ける。
機械学習型検出部３３０は、受け付けた通信データに対して機械学習型検出を行う。
機械学習型検出は、実施の形態１のステップＳ１０４で説明した通りである。
【００８３】
機械学習型検出によって不正な通信が検出された場合、機械学習型検出部３３０は、検出情報を結果出力部３４０へ入力する。
ステップＳ２０４の後、処理はステップＳ２０５に進む。
【００８４】
ステップＳ２０５において、結果出力部３４０は、リスト型検出部３２０または機械学習型検出部３３０から入力される検出情報を受け付ける。
結果出力部３４０は、受け付けた検出情報に基づいて、不正な通信についての検出結果を出力する。例えば、結果出力部２４０は、検出結果を特定の宛先へ送信する。検出結果は、検出された不正な通信の情報を示す。
【００８５】
リスト型検出部３２０から結果出力部３４０へ検出情報が入力された場合、結果出力部３４０は、入力された検出情報を検出結果として出力する。
機械学習型検出部３３０から結果出力部３４０へ検出情報が入力された場合、結果出力部３４０は、入力された検出情報を検出結果として出力する。
【００８６】
図１６に基づいて、制御処理を説明する。
制御処理は、ネットワークセキュリティ方法の一部の処理である。
【００８７】
ステップＳ２１１において、フィルタ設定部３５１は、リスト型検出部３２０の負荷状況と機械学習型検出部３３０の負荷状況と通信受付部３１０の負荷状況とを受け付ける。
ステップＳ２１１は、実施の形態１におけるステップＳ１１１（図５参照）と同じである。
【００８８】
ステップＳ２１２において、フィルタ設定部３５１は、受け付けられた負荷状況に基づいて、パラメータ値を決定する。
このパラメータ値は、選択フィルタのパラメータに設定される値である。
選択フィルタは、通信データの選択のために選択部３１２によって使用される。
【００８９】
フィルタ設定部３５１は、パラメータ値を以下のように決定する。
まず、フィルタ設定部３５１は、受け付けられた負荷状況に基づいて、ネットワークセキュリティ装置３００の全体の負荷状況を判定する。
そして、フィルタ設定部３５１は、ネットワークセキュリティ装置３００の全体の負荷状況に応じて、パラメータ値を決定する。例えば、フィルタ設定部３５１は、ネットワークセキュリティ装置３００の全体の負荷状況に対応するパラメータ値を対応表から選択する。対応表は、負荷状況とパラメータ値との対応関係を示す。
【００９０】
例えば、フィルタ設定部３５１は、次のような選択ルールを識別する値をパラメータ値に決定する。選択ルールは、不正な通信を検出するための処理の対象として選択される通信データを制限する。具体的には、選択ルールは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、プロトコル番号または特定箇所のデータ値など、通信データに含まれる情報の範囲を指定する。
【００９１】
ステップＳ２１３において、フィルタ設定部３５１は、決定されたパラメータ値を振り分けフィルタのパラメータに設定する。
【００９２】
ステップＳ２２１において、リスト指定部３５２は、リスト型検出部３２０の負荷状況と機械学習型検出部３３０の負荷状況と通信受付部３１０の負荷状況とを受け付ける。
ステップＳ２２１は、実施の形態１におけるステップＳ１１１（図５参照）と同じである。
【００９３】
ステップＳ２２２において、リスト指定部３５２は、受け付けられた負荷状況に基づいて、リスト型検出で用いられるリスト（検出条件リスト）を決定する。
【００９４】
リスト指定部３５２は、検出条件リストを以下のように決定する。
まず、リスト指定部３５２は、受け付けられた負荷状況に基づいて、ネットワークセキュリティ装置３００の全体の負荷状況を判定する。
そして、リスト指定部３５２は、ネットワークセキュリティ装置３００の全体の負荷状況に応じて、検出条件リストを決定する。例えば、リスト指定部３５２は、ネットワークセキュリティ装置３００の全体の負荷状況に対応する検出条件リストを対応表から選択する。対応表は負荷状況と検出条件リストとの対応関係を示す。
【００９５】
ステップＳ２２３において、リスト指定部３５２は、決定された検出条件リストをリスト型検出部３２０に対して指定する。
【００９６】
図１７に基づいて、検出条件リストの種類について説明する。
リスト型検出では、負荷状況に応じて複数の検出条件リストが使い分けられる。例えば、リスト型検出では、２つの検出条件リストが使い分けられる。一方は詳細リストであり、他方は簡易リストである。
詳細リストは、詳細な検出条件のリストである。詳細リストでは、各検出条件が複数のルールで定義される。複数のルールは複数レベルで定義される。複数のルールを結合したものが１つの検出条件となる。例えば、ルール（１００）とルール（１１０）とルール（１１１）を結合したものが１つの検出条件となる。具体的には「ルールＸ１に該当し、且つ、ルールＸ１１に該当し、且つ、ルールＸ１１１に該当する」という条件が検出条件となる。
簡易リストは、簡易な検出条件のリストである。簡易リストでは、各検出条件が１つのルールで定義される。例えば、ルール（１００）が検出条件となる。具体的には「ルールＸ１に該当する」という条件が検出条件となる。
【００９７】
リスト指定部３５２は、負荷が高くない状況では詳細リストを選択し、負荷が高い状況では簡易リストを選択する。
【００９８】
＊＊＊実施例の説明＊＊＊
動的制御部３５０は、負荷状況の時系列に基づいて負荷の増減を予測し、予測結果に基づいてパラメータ値と検出条件リストとのそれぞれを決定してもよい。
これにより、トラフィックの急増に伴って負荷が急増した場合にも対応することが可能となる。例えば、トラフィックは、ＤｏＳ攻撃のような悪意のある攻撃が発生した場合またはＩｏＴ機器の故障による通信異常が発生した場合に急増する。
ＤＯＳはＤｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋの略称である。
【００９９】
ネットワークセキュリティ装置３００は、スイッチまたはゲートウェイなどのネットワーク機器でなく、不正な通信を検出するための専用の装置であってもよい。
不正な通信を検出するための専用の装置をネットワークセキュリティ装置３００Ａと称する。
【０１００】
図１８に基づいて、ネットワークセキュリティシステム１００の構成例を説明する。
ネットワークセキュリティシステム１００は、ネットワークセキュリティ装置３００の代わりに、ネットワーク機器１０４とネットワークセキュリティ装置３００Ａとを備える。
ネットワーク機器１０４は、複製された通信データを出力するミラーポートを備える。
ネットワークセキュリティ装置３００Ａは、ネットワーク機器１０４のミラーポートに接続され、ミラーポートから出力される通信データを受信する。
【０１０１】
図１９に基づいて、ネットワークセキュリティ装置３００Ａの機能構成を説明する。
ネットワークセキュリティ装置３００Ａは、ネットワークセキュリティ装置３００と同じく、通信受付部３１０とリスト型検出部３２０と機械学習型検出部３３０と結果出力部３４０と動的制御部３５０とを備える。
但し、通信部３１１は、受信した通信データに対して通信交換処理を行わない。
【０１０２】
＊＊＊実施の形態２の効果＊＊＊
実施の形態１により、ネットワーク内に色々な機器が混在される環境であっても、負荷状況に基づいてリスト型検出と機械学習型検出との両方を用いることが可能となる。また、負荷状況が逼迫した環境において、振り分けフィルタのパラメータを動的に設定することで、ネットワークセキュリティサービスの継続を図ることが可能となる。さらに、リスト型検出における振り分けルールを動的に変更することで、ネットワークセキュリティサービスの継続を図ることができる。
【０１０３】
ネットワークセキュリティプログラムを通信装置に実装することで、システムおよび機器１０３の特性に応じて、不正な通信の検出を実現することが可能となる。そのため、システムまたは通信装置の二重化が不要となり、二重化のためのネットワーク設計が不要となる。そして、導入コストおよび運用コストが低減される。
【０１０４】
＊＊＊実施の形態２の補足＊＊＊
図２０に基づいて、ネットワークセキュリティ装置（３００、３００Ａ）のハードウェア構成を説明する。
ネットワークセキュリティ装置（３００、３００Ａ）は処理回路３０９を備える。
処理回路３０９は、通信受付部３１０とリスト型検出部３２０と機械学習型検出部３３０と結果出力部３４０と動的制御部３５０とを実現するハードウェアである。
処理回路３０９は、実施の形態１における処理回路２０９（図１１参照）と同じく、専用のハードウェアであってもよいし、メモリ３０２に格納されるプログラムを実行するプロセッサ３０１であってもよい。
【０１０５】
ネットワークセキュリティ装置（３００、３００Ａ）において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
【０１０６】
このように、ネットワークセキュリティ装置（３００、３００Ａ）の各機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【０１０７】
＊＊＊実施の形態の補足＊＊＊
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【０１０８】
例えば、実施の形態２におけるリスト制御（ステップＳ２１４およびステップＳ２１５）が実施の形態１に適用されてもよい。つまり、実施の形態１において、検出条件リストが動的に変更されてもよい。
また、実施の形態２における負荷予測（実施例を参照）が実施の形態１に適用されてもよい。つまり、実施の形態１において、負荷状況の時系列に基づいて負荷の増減が予測され、予測結果に基づいてパラメータ値と検出条件リストとのそれぞれが決定されてもよい。
【０１０９】
ネットワークセキュリティ装置２００の要素である「部」は、「処理」または「工程」と読み替えてもよい。
【符号の説明】
【０１１０】
１００  ネットワークセキュリティシステム、１０１  通信ネットワーク、１０２  通信ネットワーク、１０３  機器、１０４  ネットワーク機器、２００  ネットワークセキュリティ装置、２０１  プロセッサ、２０２  メモリ、２０３  補助記憶装置、２０４  入出力インタフェース、２０５  通信インタフェース、２０９  処理回路、２１０  通信受付部、２１１  通信部、２１２  振り分け部、２２０  リスト型検出部、２２１  比較部、２２２  リスト管理部、２３０  機械学習型検出部、２３１  比較部、２３２  学習部、２４０  結果出力部、２５０  フィルタ設定部、２５１  受付部、２５２  決定部、２５３  設定部、２９０  記憶部、３００  ネットワークセキュリティ装置、３０１  プロセッサ、３０２  メモリ、３０３  補助記憶装置、３０４  入出力インタフェース、３０５  通信インタフェース、３０９  処理回路、３１０  通信受付部、３１１  通信部、３１２  選択部、３２０  リスト型検出部、３２１  比較部、３２２  リスト管理部、３３０  機械学習型検出部、３３１  比較部、３３２  学習部、３４０  結果出力部、３５０  動的制御部、３５１  フィルタ設定部、３５２  リスト指定部、３９０  記憶部。
【図１】
0006964829.tif 000002
【図２】
0006964829.tif 000003
【図３】
0006964829.tif 000004
【図４】
0006964829.tif 000005
【図５】
0006964829.tif 000006
【図６】
0006964829.tif 000007
【図７】
0006964829.tif 000008
【図８】
0006964829.tif 000009
【図９】
0006964829.tif 000010
【図１０】
0006964829.tif 000011
【図１１】
0006964829.tif 000012
【図１２】
0006964829.tif 000013
【図１３】
0006964829.tif 000014
【図１４】
0006964829.tif 000015
【図１５】
0006964829.tif 000016
【図１６】
0006964829.tif 000017
【図１７】
0006964829.tif 000018
【図１８】
0006964829.tif 000019
【図１９】
0006964829.tif 000020
【図２０】
0006964829.tif 000021