(57)【要約】【課題】通信機器の通信の異常の検知のためのモデルの学習期間に、当該通信機器の異常の検知が行われていない状態（無防備な状態）になることを防止する。【解決手段】検知装置は、通信機器に装備される機能ごとに、当該機能が装備される通信機器の通信が正常か否かを判断するための正常通信モデルを記憶する記憶部から、監視対象の通信機器に装備される機能に応じた正常通信モデルを１以上取得するモデル取得部と、取得した１以上の正常通信モデルを結合するモデル結合部と、結合された正常通信モデルを用いて、監視対象の通信機器の通信を監視し、前記通信の異常を検知する検知部とを備える。【選択図】図１
2020102671.tif 000002
【特許請求の範囲】
【請求項１】
通信機器に装備される機能ごとに、当該機能が装備される通信機器の通信が正常か否かを判断するための正常通信モデルを記憶する記憶部から、監視対象の通信機器に装備される機能に応じた前記正常通信モデルを１以上取得するモデル取得部と、
前記取得された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知する検知部と
を備えることを特徴とする検知装置。
【請求項２】
前記監視対象の通信機器による正常な通信の通信データを用いて、前記取得された正常通信モデルの追加学習を行う追加学習部を備え、
前記検知部は、
前記追加学習後の正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知すること
を特徴とする請求項１に記載の検知装置。
【請求項３】
前記検知装置は、さらに、
前記取得した正常通信モデルが複数ある場合、前記取得した複数の正常通信モデルを結合するモデル結合部を備え、
前記検知部は、
前記結合された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知する
を特徴とする請求項１に記載の検知装置。
【請求項４】
前記正常通信モデルは、
前記機能が装備される通信機器による通信が正常な通信である確率密度を算出する確率密度関数を含み、
前記モデル結合部は、
前記取得した正常通信モデルそれぞれに含まれる前記確率密度関数の和算により、前記正常通信モデルを結合すること
を特徴とする請求項３に記載の検知装置。
【請求項５】
前記監視対象の通信機器による正常な通信の通信データを用いて、前記結合された正常通信モデルの追加学習を行う追加学習部を備え、
前記検知部は、
前記追加学習後における結合された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知すること
を特徴とする請求項３に記載の検知装置。
【請求項６】
検知装置により実行される検知方法であって、
通信機器に装備される機能ごとに、当該機能が装備される通信機器の通信が正常か否かを判断するための正常通信モデルを記憶する記憶部から、監視対象の通信機器に装備される機能に応じた前記正常通信モデルを１以上取得するモデル取得ステップと、
前記取得された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知する検知ステップと
を含んだことを特徴とする検知方法。
【請求項７】
通信機器に装備される機能ごとに、当該機能が装備される通信機器の通信が正常か否かを判断するための正常通信モデルを記憶する記憶部から、監視対象の通信機器に装備される機能に応じた前記正常通信モデルを１以上取得するモデル取得ステップと、
前記取得された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知する検知ステップと
をコンピュータに実行させることを特徴とする検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機器の通信の異常検知に用いられる検知装置、検知方法、および、検知プログラムに関する。
【背景技術】
【０００２】
IoT（Internet  of  Things）時代の到来に伴い、様々なデバイスのセキュリティ対策のため、IoT機器向けのトラフィックセッション異常検知システムや侵入検知システム（IDS）が研究されている。
【０００３】
上記の異常検知システムの中には、Variational  Auto  Encoder（非特許文献１参照）等の教師なし学習による確率密度推定器を用いるものがある。
【０００４】
例えば、異常検知システムは、IoT機器の正常な通信パターンの発生確率を学習することにより、IoT機器の正常な通信を判断するための確率密度推定器（モデル）を作成する。そして、異常検知システムは、上記モデルを用いて、監視対象の各IoT機器の通信の発生確率を算出し、発生確率の小さい通信を正常ではない通信（異常な通信）として検知する。このようにすることで、悪性の通信パターンを知らずとも通信の異常を検知することができる。上記の方法は、例えば、すべての脅威情報を知り尽くせないIoT機器に対するサイバー攻撃の検知等に適している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Auto-Encoding  Variational  Bayes、［平成30年11月30日検索］、インターネット＜URL：https://arxiv.org/abs/1312.6114＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記のように、IoT機器等の通信機器の正常な通信パターンを学習してモデルを作成する場合、モデル作成のための学習期間中は、通信機器の通信の異常を検知することができないので、上記のIoT機器等の通信機器は無防備な状態となる。しかも、正常な通信パターンの学習にはすべての正常な通信パターンを網羅する必要があるため、モデル作成のための学習期間が長くなることが多い。よって、通信機器が無防備な状態となる期間も長くなる可能性がある。
【０００７】
そこで、本発明は、前記した問題を解決し、通信機器の通信の異常の検知のためのモデルの学習期間に、当該通信機器が異常の検知が行われていない状態（無防備な状態）になることを防止することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、本発明は、通信機器に装備される機能ごとに、当該機能が装備される通信機器の通信が正常か否かを判断するための正常通信モデルを記憶する記憶部から、監視対象の通信機器に装備される機能に応じた前記正常通信モデルを１以上取得するモデル取得部と、前記取得された正常通信モデルを用いて、前記監視対象の通信機器の通信を監視し、前記通信の異常を検知する検知部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、通信機器の通信の異常の検知のためのモデルの学習期間に、当該通信機器が異常の検知が行われていない状態（無防備な状態）になることを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、検知装置の概要を説明するための図である。
【図２】図２は、検知装置による結合した正常通信モデルによる検知と、追加学習後の正常通信モデルによる検知とを説明するための図である。
【図３】図３は、検知装置を含むシステムの構成例を示す図である。
【図４】図４は、検知装置が、結合した正常通信モデルを用いて、監視対象の通信機器の通信を監視する手順の例を示すフローチャートである。
【図５】図５は、検知装置が、結合した正常通信モデルの追加学習を行い、追加学習後の正常通信モデルを用いて、監視対象の通信機器の通信を監視する手順の例を示すフローチャートである。
【図６】図６は、検知プログラムを実行するコンピュータの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。本発明は、以下に説明する実施形態に限定されない。
【００１２】
［概要］
まず、図１を用いて、本実施形態の検知装置１０の概要を説明する。ここでは、検知装置１０による異常の検知の対象（監視対象）となる通信機器がIoT機器である場合を例に説明する。また、各IoT機器は、ゲートウェイによりインターネットに接続されるものとする。
【００１３】
まず、システムは、IoT機器を構成する要素（機能）ごとに、当該要素を備えるIoT機器が正常な通信を行っているか否かを判断するためのモデル（正常通信モデル）を用意しておく。この正常通信モデルは、例えば、各IoT機器が正常な通信を行っているときの通信情報（トラフィック情報等）を、当該IoT機器を構成する要素（例えば、カメラやセンサ）ごとに仕分けし、確率密度推定器を用いることで作成される。この正常通信モデルは、例えば、サーバ（図示省略）に蓄積される。
【００１４】
その後、監視対象のIoTネットワークに新たなIoT機器が追加された場合、検知装置１０は、ゲートウェイ等から当該IoT機器の情報を取得する（Ｓ１）。なお、ここで取得する情報は、例えば、当該IoT機器の機種等の情報、所定期間における当該IoT機器の通信データ（トラフィック情報）等、当該IoT機器から速やかに取得できる情報であることが好ましい。検知装置１０は、取得したIoT機器の情報に基づき、サーバに蓄積される既存の正常通信モデルのうち、どれを組み合わせれば当該IoT機器の通信の異常を検知可能かを判断する（Ｓ２）。
【００１５】
Ｓ２の後、検知装置１０は、サーバから、当該IoT機器の異常を検知可能な正常通信モデルを取得し、結合し、結合した正常通信モデルを用いて、当該IoT機器の通信の監視を開始する（Ｓ３）。つまり、検知装置１０は、結合した正常通信モデルを用いて、当該IoT機器の通信を監視し、当該IoT機器の通信に異常があればこれを検知する。
【００１６】
Ｓ３の後、検知装置１０は、結合した正常通信モデルと実際の通信（当該IoT機器の実際の通信）との差異を、追加学習（fine-tuning）により吸収する（Ｓ４）。
【００１７】
例えば、検知装置１０は、Ｓ３により当該IoT機器の通信の監視を開始した後、当該IoT機器の正常な通信データが充分蓄積された判断すると、当該通信データに基づき、結合した正常通信モデルの追加学習を行う。すなわち、検知装置１０は、当該IoT機器の正常な通信について精度よく判定できるよう、結合した正常通信モデルの追加学習を行う。
【００１８】
例えば、図２に示すように、検知装置１０による監視対象のIoT機器が行う正常な通信の範囲が、符号２０１に示す範囲である場合を考える。この場合、検知装置１０は、監視対象のIoT機器の情報に基づき、既存の正常通信モデル（図２におけるモデル１〜４）を選択し、結合する。そして、検知装置１０は、結合した正常通信モデルを用いて、監視対象のIoT機器の通信の初期検知を開始する。
【００１９】
ここで、監視対象のIoT機器が行う正常な通信の範囲（符号２０１に示す範囲）と、上記のモデル１〜４を結合したモデルにより正常な通信と判断される範囲とが一致しない場合もある。そこで、検知装置１０は、監視対象のIoT機器の正常な通信データが蓄積されると、当該通信データを用いて、結合した正常通信モデル（図２におけるモデル１〜４）の追加学習を行う。そして、検知装置１０は、追加学習後の正常通信モデルを用いて、監視対象のIoT機器の通信の本格検知を開始する。
【００２０】
このように検知装置１０は、まず、既存の正常通信モデルの組み合わせにより監視対象のIoT機器の通信の初期検知を行う。そして、検知装置１０は、当該IoT機器の正常な通信データによる既存の正常通信モデルの追加学習が終わると、その追加学習後の正常通信モデルを用いて当該IoT機器の通信の本格検知を行う。これにより、検知装置１０は、正常通信モデルの学習期間中に、当該IoT機器が異常の検知が行われていない状態（無防備な状態）になることを防止することができる。
【００２１】
［構成］
次に、図３を用いて、検知装置１０を含むシステムの構成例を説明する。システムは、例えば、図３に示すように、１以上の通信機器１と、ゲートウェイ２と、サーバ３と、検知装置１０とを備える。
【００２２】
通信機器１は、通信機能を備える装置であり、例えば、ゲートウェイ２経由でインターネットに接続し、通信を行うIoT機器である。ゲートウェイ２は、各通信機器１をインターネット等のネットワークに接続する装置である。
【００２３】
サーバ３は、１以上の正常通信モデルを記憶するモデル記憶部３１を備える。この正常通信モデルは、通信機器１に装備される機能ごとに、当該機能が装備される通信機器１の通信が正常な通信か否かを判断するためのモデルである。この正常通信モデルは、例えば、上記の確率密度推定器により実現される。
【００２４】
この正常通信モデルは、例えば、映像配信通信機能に関する正常通信モデル、DHCP（Dynamic  Host  Configuration  Protocol）通信機能に関する正常通信モデル、管理用HTTP（HyperText  Transfer  Protocol）通信機能に関する正常通信モデル、NTP（Network  Time  Protocol）通信機能に関する正常通信モデル、温度通知用MQTT（Message  Queue  Telemetry  Transport）通信機能に関する正常通信モデル等である。
【００２５】
例えば、監視対象の通信機器１がネットワークカメラである場合、検知装置１０は、当該ネットワークカメラに装備される、映像配信通信機能に関する正常通信モデル、DHCP通信機能に関する正常通信モデル、管理用HTTP通信機能に関する正常通信モデル、NTP通信機能に関する正常通信モデル等を組み合わせることで、当該ネットワークカメラによる通信が正常か否かを判断することができる。
【００２６】
また、監視対象の通信機器１が、温度センサを備えるIoTセンサである場合、検知装置１０は、当該IoTセンサに装備される、DHCP通信機能に関する正常通信モデル、NTP通信機能に関する正常通信モデル等を組み合わせることで、当該IoTセンサによる通信が正常か否かを判断することができる。
【００２７】
なお、この正常通信モデルは、例えば、通信機器１に用いられるプロトコルごとに用意されてもよいし、通信機器１の型番ごとに用意されてもよい。また、通信機器１の種別（ネットワークカメラ、センサ等）ごとに用意されてもよい、これらの組み合わせ（例えば、型番ｘｘの機器のｙｙプロトコル）ごとに用意されてもよい。
【００２８】
検知装置１０は、入出力部１１と、記憶部１２と、制御部１３とを備える。入出力部１１は、ネットワーク経由で各種情報の送受信を行う際のインタフェースを司る。記憶部１２は、制御部１３が動作する際に必要な各種情報を記憶する。また、記憶部１２は、制御部１３により結合された正常通信モデル、制御部１３により追加学習が行われた後の正常通信モデル等を記憶する。
【００２９】
制御部１３は、検知装置１０全体の制御を司る。この制御部１３は、モデル取得部１３１と、モデル結合部１３２と、検知部１３３と、追加学習部１３４とを備える。
【００３０】
モデル取得部１３１は、サーバ３から、監視対象の通信機器１に装備される機能に応じた正常通信モデルを１以上取得する。例えば、モデル取得部１３１は、監視対象の通信機器１から、当該通信機器１の機種や型番の情報を取得すると、当該情報に基づき、当該通信機器１にどのような機能が装備されるかを特定する。そして、モデル取得部１３１は、特定した機能それぞれに対応する正常通信モデルをサーバ３から取得する。
【００３１】
例えば、監視対象の通信機器１が機種Ａのネットワークカメラである場合を考える。この場合、モデル取得部１３１は、当該機種Ａのネットワークカメラに装備される、映像配信通信機能、DHCP通信機能、管理用HTTP通信機能およびNTP通信機能を特定する。サーバ３から、特定した、映像配信通信機能に関する正常通信モデル、DHCP通信機能に関する正常通信モデル、管理用HTTP通信機能に関する正常通信モデル、および、NTP通信機能に関する正常通信モデルを取得する。
【００３２】
モデル結合部１３２は、モデル取得部１３１により取得された正常通信モデルが複数ある場合、これらの正常通信モデルを結合する。例えば、正常通信モデルに、監視対象の通信機器１による通信（ｘ）を入力とし、当該通信が正常な通信である確率密度を算出する確率密度関数ｐ（ｘ）が用いられる場合、モデル結合部１３２は、結合対象の正常通信モデルにおける確率密度関数ｐ（ｘ）の和算により、各正常通信モデルを結合する。例えば、モデル結合部１３２は、以下の式（１）により、各正常通信モデルに用いられる確率密度関数ｐ（ｘ）の和算を行う。
【００３３】
【数１】
2020102671.tif 000003
【００３４】
検知部１３３は、監視対象の通信機器１の通信を監視し、異常を検知する。例えば、検知部１３３は、モデル結合部１３２により結合された正常通信モデルを用いて、監視対象の通信機器１の通信を監視し、異常を検知する。なお、追加学習部１３４により、結合された正常通信モデルの追加学習が行われた後は、検知部１３３は、追加学習後の正常通信モデルを用いて、監視対象の通信機器１の通信を監視し、異常を検知する。
【００３５】
追加学習部１３４は、監視対象の通信機器１の正常な通信データを用いて、正常通信モデルの追加学習を行う。
【００３６】
例えば、追加学習部１３４は、監視対象の通信機器１の正常な通信データが所定量（例えば、１日分〜１週間分）蓄積されたと判断すると、蓄積された通信データを用いて、結合された正常通信モデルの追加学習を行う。
【００３７】
なお、追加学習部１３４が、監視対象の通信機器１による正常な通信データを分析した結果、結合された正常通信モデルの中に不要な正常通信モデルが含まれていた場合、結合された正常通信モデルの中から不要な正常通信モデルを削除してもよい。
【００３８】
このようにすることで、追加学習部１３４は、モデル取得部１３１により取得され、結合された正常通信モデルについて、より検知精度の高いモデルにすることができる。
【００３９】
以上説明した検知装置１０によれば、まず、既存の正常通信モデルの組み合わせにより監視対象のIoT機器の通信の初期検知を行う。そして、検知装置１０は、当該IoT機器の正常な通信データによる既存の正常通信モデルの追加学習が終わると、その追加学習後の正常通信モデルを用いて当該IoT機器の通信の本格検知を行う。これにより、検知装置１０は、正常通信モデルの学習期間中に、当該IoT機器が異常の検知が行われていない状態（無防備な状態）になることを防止することができる。
【００４０】
［処理手順］
次に、検知装置１０の処理手順の例を説明する。まず、図４を用いて検知装置１０が、サーバ３から取得した正常通信モデルを結合した正常通信モデルを用いて、監視対象の通信機器の通信を監視する手順の例を説明する。
【００４１】
例えば、検知装置１０のモデル取得部１３１は、ゲートウェイ２から、監視対象の通信機器１の情報を取得すると（Ｓ１１）、取得した情報に基づき、サーバ３に蓄積される正常通信モデルの中から、当該通信機器１の機能に対応する正常通信モデルを取得する（Ｓ１２）。
【００４２】
Ｓ１２の後、モデル結合部１３２は、Ｓ１２で取得した正常通信モデルを結合する（Ｓ１３）。そして、検知部１３３は、Ｓ１３で結合した正常通信モデルを用いて、監視対象の通信機器１の通信を監視する（Ｓ１４）。
【００４３】
例えば、検知部１３３は、ゲートウェイ２から、監視対象の通信機器１の通信データを取得すると、上記の結合した正常通信モデルを用いて、当該通信機器１の通信が正常か否かを判断する。その後、検知部１３３は、監視対象の通信機器１の通信の異常を検知すると（Ｓ１５でＹｅｓ）、その旨の通知を行う（Ｓ１６）。また、検知部１３３が、監視対象の通信機器１の通信の異常を検知しなければ（Ｓ１５でＮｏ）、Ｓ１４に戻る。
【００４４】
次に、図５を用いて、図４に示す処理の後、検知装置１０が、結合した正常通信モデルの追加学習を行い、追加学習後の正常通信モデルを用いて、監視対象の通信機器の通信を監視する手順の例を説明する。
【００４５】
図４に示す処理の後、検知装置１０の追加学習部１３４は、監視対象の通信機器１の正常な通信データの蓄積を開始し（Ｓ２１）、正常な通信データが所定量蓄積されると（Ｓ２２でＹｅｓ）、蓄積された正常な通信データを用いて、結合した正常通信モデルの追加学習を行う（Ｓ２３）。
【００４６】
Ｓ２４の後、検知部１３３は、追加学習後の結合した正常通信モデルを用いて、監視対象の通信機器１の通信を監視する（Ｓ２４）。例えば、検知部１３３は、ゲートウェイ２から、監視対象の通信機器１の通信データを取得すると、上記の追加学習後の結合した正常通信モデルを用いて、当該通信機器１の通信が正常か否かを判断する。その後、検知部１３３は、監視対象の通信機器１の通信の異常を検知すると（Ｓ２５でＹｅｓ）、その旨の通知を行う（Ｓ２６）。また、検知部１３３が、監視対象の通信機器１の通信の異常を検知しなければ（Ｓ２５でＮｏ）、Ｓ２４に戻る。
【００４７】
このようにすることで、検知装置１０は、監視対象の通信機器１の通信に関する正常通信モデルの学習をしている間に、当該通信機器１が異常の検知が行われていない状態（無防備な状態）になることを防止することができる。
【００４８】
なお、前記した実施形態において検知装置１０がサーバ３から取得する正常通信モデルは複数である場合を例に説明したが、１つであってもよい。その場合、検知装置１０は、正常通信モデルの結合を行わず、検知部１３３は、サーバ３から取得した正常通信モデルを用いて初期検知を行う。また、追加学習部１３４は、サーバ３から取得した正常通信モデルの追加学習を行う。そして、上記の追加学習後、検知部１３３は、追加学習後の正常通信モデルを用いて本格検知を行う。
【００４９】
［プログラム］
また、上記の実施形態で述べた検知装置１０の機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等がその範疇に含まれる。また、検知装置１０を、クラウドサーバに実装してもよい。
【００５０】
図６を用いて、上記のプログラム（検知プログラム）を実行するコンピュータの一例を説明する。図６に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００５２】
ここで、図６に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００５３】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００５４】
なお、上記の検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００５５】
１  通信機器
２  ゲートウェイ
３  サーバ
１０  検知装置
１１  入出力部
１２  記憶部
１３  制御部
１３１  モデル取得部
１３２  モデル結合部
１３３  検知部
１３４  追加学習部
【図１】
2020102671.tif 000004
【図２】
2020102671.tif 000005
【図３】
2020102671.tif 000006
【図４】
2020102671.tif 000007
【図５】
2020102671.tif 000008
【図６】
2020102671.tif 000009