(57)【要約】【課題】検知ルールが異なる複数の異常通信検知システムを多層化して異常通信の検知を行う場合に、誤検知や見逃しの発生を抑える。【解決手段】生成システムは、ホストのトラフィックキャプチャデータと、異常通信に関するテストデータと、異常通信識別ルールと、を取得し、正常通信識別ルールを、トラフィックキャプチャデータを正常通信に関するデータと識別するように生成し、異常通信識別ルールに含まれるルールのうち、トラフィックキャプチャデータを異常通信に関するデータと識別するルールを、異常通信識別ルールから削除し、テストデータのうち、正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、異常通信識別ルールに追加する。【選択図】図４
2019004260.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたホストにおいて所定の期間に発生した通信に関する第１のデータと、テスト用に発生させる異常通信に関する第２のデータと、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールと、を取得する取得部と、
通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、前記第１のデータを正常通信に関するデータと識別するように生成する生成部と、
前記異常通信識別ルールに含まれるルールのうち、前記第１のデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールから削除する削除部と、
前記第２のデータのうち、前記正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールに追加する追加部と、
を有することを特徴とする生成システム。
【請求項２】
前記追加部は、前記第２のデータのうち、前記正常通信識別ルールによって正常通信に関するデータと識別されたデータであって、前記異常通信識別ルールによって異常通信に関するデータと識別されないデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールに追加することを特徴とする請求項１に記載の生成システム。
【請求項３】
前記異常通信識別ルールを用いて異常通信の検知を行う第１の異常通信検知システムと、前記正常通信識別ルールを用いて異常通信の検知を行う第２の異常通信検知システムと、を多層化した多層化異常通信検知システムによって、正常であることが既知の通信が異常通信として検知された場合、前記取得部は、前記正常であることが既知の通信が発生した期間を含む前記所定の期間に発生した通信に関するデータを前記第１のデータとして取得することを特徴とする請求項１又は２に記載の生成システム。
【請求項４】
前記異常通信識別ルールを用いて異常通信の検知を行う第１の異常通信検知システムと、前記正常通信識別ルールを用いて異常通信の検知を行う第２の異常通信検知システムと、を多層化した多層化異常通信検知システムによって、異常であることが既知の通信が異常でない通信として検知された場合、前記取得部は、前記異常であることが既知の通信が発生した期間を含む前記所定の期間のうち、前記異常であることが既知の通信が発生した期間を除く期間に発生した通信に関するデータを前記第１のデータとして取得することを特徴とする請求項１又は２に記載の生成システム。
【請求項５】
コンピュータによって実行される生成方法であって、
ネットワークに接続されたホストにおいて所定の期間に発生した通信に関する第１のデータと、テスト用に発生させる異常通信に関する第２のデータと、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールと、を取得する取得工程と、
通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、前記第１のデータを正常通信に関するデータと識別するように生成する生成工程と、
前記異常通信識別ルールに含まれるルールのうち、前記第１のデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールから削除する削除工程と、
前記第２のデータのうち、前記正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールに追加する追加工程と、
を含んだことを特徴とする生成方法。
【請求項６】
コンピュータに、
ネットワークに接続されたホストにおいて所定の期間に発生した通信に関する第１のデータと、テスト用に発生させる異常通信に関する第２のデータと、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールと、を取得する取得ステップと、
通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、前記第１のデータを正常通信に関するデータと識別するように生成する生成ステップと、
前記異常通信識別ルールに含まれるルールのうち、前記第１のデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールから削除する削除ステップと、
前記第２のデータのうち、前記正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールに追加する追加ステップと、
を実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成システム、生成方法及び生成プログラムに関する。
【背景技術】
【０００２】
企業網等のローカルエリアネットワーク（ＬＡＮ：Local  Area  Network）では、インターネットのような不特定多数で使用される信頼性の低いネットワークと接続されるホストを外部の悪性通信から守るため、異常通信の検知や遮断を行うネットワーク型のセキュリティ対策装置が用いられる。ネットワーク型のセキュリティ対策装置としては、ファイアウォール、ネットワーク型ＩＤＳ（Intrusion  Detection  System）、ネットワーク型ＩＰＳ（Intrusion  Prevention  System）等が知られている。また、異常通信を検知するシステムを多層に設置し、異常通信の検知確率を高める手法が知られている（例えば、非特許文献１又は２を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】経済産業省、“サイバーセキュリティ経営ガイドライン”、[online]、[平成２９年６月５日検索]、インターネット（http://www.meti.go.jp/press/2015/12/20151228002/20151228002-2.pdf）
【非特許文献２】ＩＰＡ、“サイバーセキュリティ経営ガイドライン解説書”、[online]、[平成２９年６月５日検索]、インターネット（https://www.ipa.go.jp/files/000056148.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術には、それぞれ検知ルールが異なる複数の異常通信検知システムを多層化して異常通信の検知を行う場合に、誤検知や見逃しの発生を抑えることができない場合があるという問題がある。
【０００５】
例えば、悪性通信に関するデータに基づくシグネチャを検知ルールとして用いるミスユース検出型の異常通信検知システムと、正常通信に関するデータに基づく機械学習によって生成された写像関数を検知ルールとして用いるアノマリ検出型の異常通信検知システムと、を多層化する場合を考える。この場合、シグネチャと写像関数とを直接比較し、整合性を確認することは困難であるため、検知システム間の検知動作に矛盾が生じ、誤検知や見逃しが発生する場合がある。
【課題を解決するための手段】
【０００６】
本発明の生成システムは、ネットワークに接続されたホストにおいて所定の期間に発生した通信に関する第１のデータと、テスト用に発生させる異常通信に関する第２のデータと、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールと、を取得する取得部と、通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、前記第１のデータを正常通信に関するデータと識別するように生成する生成部と、前記異常通信識別ルールに含まれるルールのうち、前記第１のデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールから削除する削除部と、前記第２のデータのうち、前記正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、前記異常通信識別ルールに追加する追加部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、それぞれ検知ルールが異なる複数の異常通信検知システムを多層化して異常通信の検知を行う場合に、誤検知や見逃しの発生を抑えることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、多層の構成の異常通信検知システムについて説明するための図である。
【図２】図２は、多層の構成の異常通信検知システムについて説明するための図である。
【図３】図３は、多層の構成の異常通信検知システムについて説明するための図である。
【図４】図４は、第１の実施形態に係る生成システムの構成の一例を示す図である。
【図５】図５は、第１の実施形態に係る検知ルール生成制御部の構成の一例を示す図である。
【図６】図６は、第１の実施形態に係る生成システムの処理の流れを示すフローチャートである。
【図７】図７は、第１の実施形態に係る誤検知検査処理の流れを示すフローチャートである。
【図８】図８は、第１の実施形態に係る見逃し検査処理の流れを示すフローチャートである。
【図９】図９は、第１の実施形態に係る見逃し再検査処理の流れを示すフローチャートである。
【図１０】図１０は、第１の実施形態に係る異常通信識別ルールの一例を示す図である。
【図１１】図１１は、第１の実施形態に係るテストデータの一例を示す図である。
【図１２】図１２は、第１の実施形態に係るホストのトラフィックキャプチャデータの一例を示す図である。
【図１３】図１３は、第１の実施形態に係る正常通信識別ルールの一例を示す図である。
【図１４】図１４は、第１の実施形態に係る誤検知検査処理の結果の一例を示す図である。
【図１５】図１５は、第１の実施形態に係る誤検知検査処理後の異常通信識別ルールの一例を示す図である。
【図１６】図１６は、第１の実施形態に係る見逃し検査処理の結果の一例を示す図である。
【図１７】図１７は、第１の実施形態に係る見逃し検査処理後のテストデータの一例を示す図である。
【図１８】図１８は、第１の実施形態に係る見逃し再検査処理の結果の一例を示す図である。
【図１９】図１９は、第１の実施形態に係る見逃し再検査処理後の異常通信識別ルールの一例を示す図である。
【図２０】図２０は、第１の実施形態に係る誤検知に関する情報の一例を示す図である。
【図２１】図２１は、第１の実施形態に係る誤検知が発生した際のキャプチャデータの取得について説明するための図である。
【図２２】図２２は、第１の実施形態に係る見逃しに関する情報の一例を示す図である。
【図２３】図２３は、第１の実施形態に係る見逃しが発生した際のキャプチャデータの取得について説明するための図である。
【図２４】図２４は、生成プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る生成システム、生成方法及び生成プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１から３を用いて、本実施形態の生成システムによって生成される異常検知に関するルールを用いて異常通信の検知を行う多層の構成の異常通信検知システムの設置について説明する。図１から３は、多層の構成の異常通信検知システムについて説明するための図である。
【００１１】
図１は、一般的な企業網のネットワーク構成を示したものである。図１に示すように、複数のホスト５が繋がるＬＡＮ４とインターネットなどの不特定のネットワーク１は、ファイアウォール２を介して接続されている。また、ホスト５のセキュリティを守るため、設置区間３には、多層の構成の異常通信検知システムが設置される。多層の構成の異常通信検知システムには、ＩＤＳやＩＰＳというセキュリティ対策装置が含まれる。
【００１２】
図２は、インライン型の設置方法を示している。この場合、図２に示すように、異常通信検知システム１０ａの１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００は、インラインで接続される。
【００１３】
一方、図３は、タップ型の設置方法を示している。この場合、図３に示すように、異常通信検知システム１０ｂの１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００は、ネットワーク装置６を介してファイアウォール２等と接続される。ネットワーク装置６は、ミラーポートを有し、トラフィックの複製を異常通信検知システム１０ｂに渡すことができる。
【００１４】
図４を用いて、生成システムの構成について説明する。図４は、第１の実施形態に係る生成システムの構成の一例を示す図である。図４に示すように、生成システム３００は、異常通信検知システム１０に備えられる。異常通信検知システム１０は、トラフィックキャプチャシステム５０、１段目の層の異常通信検知システム１００、２段目の層の異常通信検知システム２００及び生成システム３００を有し、外部システム群４００と接続されている。
【００１５】
トラフィックキャプチャシステム５０は、生成システム３００の指示により指定されたホストの通信をキャプチャするシステムである。なお、トラフィックキャプチャシステム５０は、異常通信検知システム１０に流れるトラフィックをキャプチャリングできればよいため、インライン接続か、トラフィックのミラーリングが可能な装置を介したタップ接続にするかは問わない。
【００１６】
また、１段目の層の異常通信検知システム１００は、自身に設定された検知ルール（例えば、異常通信識別ルール）により異常通信を検知するシステムである。また、２段目の層の異常通信検知システム２００は、自身に設定された検知ルール（例えば、正常通信識別ルール）により正常通信を識別し、正常通信と識別できない通信を異常通信として検知するシステムである。外部システム群４００は、生成システム３００の指示により生成システム３００がルール生成処理で使用するデータを提供するシステム群である。１段目の層の異常通信検知システム１００は、第１の異常通信検知システムの一例である。２段目の層の異常通信検知システム２００は、第２の異常通信検知システムの一例である。また、異常通信検知システム１０は、異常通信識別ルールを用いて異常通信の検知を行う１段目の層の異常通信検知システム１００と、正常通信識別ルールを用いて異常通信の検知を行う２段目の層の異常通信検知システム２００と、を多層化した多層化異常通信検知システムの一例である。
【００１７】
また、図４に示すように、生成システム３００は、検知ルール生成制御部３１０、トラフィックキャプチャ管理部３２０、正常通信識別ルール生成部３３０、異常通信識別ルール生成部３４０、テストトラフィック管理部３５０及び検知ルール管理部３６０を有する。
【００１８】
また、トラフィックキャプチャ管理部３２０は、キャプチャデータ３２１を有する。また、正常通信識別ルール生成部３３０は、正常通信識別ルールデータ３３１を有する。また、異常通信識別ルール生成部３４０は、異常通信識別ルールデータ３４１を有する。また、テストトラフィック管理部３５０は、テストデータ３５１を有する。また、検知ルール管理部３６０は、検知ルールデータ３６１及び検知ルール配信部３６２を有する。
【００１９】
生成システム３００による検知ルール生成処理について説明する。外部システム群４００は、トラフィックキャプチャシステム５０及び生成システム３００等から入力されたデータを基に検知ルールを生成する。また、生成システム３００は、生成した検知ルールを、１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００へ出力する。
【００２０】
検知ルール生成処理は、生成システム３００の内部に位置する検知ルール生成制御部３１０が、トラフィックキャプチャ管理部３２０、正常通信識別ルール生成部３３０、異常通信識別ルール生成部３４０、テストトラフィック管理部３５０及び検知ルール管理部３６０を制御することによって行われる。
【００２１】
図５を用いて、検知ルール生成制御部３１０の構成について説明する。図５は、第１の実施形態に係る検知ルール生成制御部の構成の一例を示す図である。図５に示すように、検知ルール生成制御部３１０は、取得部３１１、生成部３１２、誤検知検査部３１３、見逃し検査部３１４、削除部３１５、追加部３１６を有する。
【００２２】
取得部３１１は、トラフィックキャプチャ管理部３２０を制御することにより、ネットワークに接続されたホストにおいて所定の期間に発生した通信に関するトラフィックキャプチャデータを取得する。トラフィックキャプチャ管理部３２０は、取得部３１１から指定されたホストのトラフィックキャプチャデータを、トラフィックキャプチャシステム５０から取得する。そして、トラフィックキャプチャ管理部３２０は、取得したトラフィックキャプチャデータを、キャプチャデータ３２１に蓄積する。また、トラフィックキャプチャ管理部３２０は、取得部３１１からの指示でキャプチャデータ３２１に蓄積したトラフィックキャプチャデータを検知ルール管理部３６０へ送信する。また、トラフィックキャプチャ管理部３２０は、検知ルール管理部３６０から渡されるトラフィックキャプチャデータをキャプチャデータ３２１へ蓄積する。トラフィックキャプチャ管理部３２０によって取得されるトラフィックキャプチャデータは、第１のデータの一例である。
【００２３】
また、異常通信検知システム１０によって、正常であることが既知の通信が異常通信として検知された場合、取得部３１１は、正常であることが既知の通信が発生した期間を含む所定の期間に発生した通信に関するデータをトラフィックキャプチャデータとして取得することができる。また、異常通信検知システム１０によって、異常であることが既知の通信が異常でない通信として検知された場合、取得部３１１は、異常であることが既知の通信が発生した期間を含む所定の期間のうち、異常であることが既知の通信が発生した期間を除く期間に発生した通信に関するデータをトラフィックキャプチャデータとして取得することができる。
【００２４】
また、生成部３１２は、正常通信識別ルール生成部３３０を制御することで、通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、トラフィックキャプチャデータを正常通信に関するデータと識別するように生成する。正常通信識別ルール生成部３３０は、生成部３１２から指定されたホストのトラフィックキャプチャデータを分析して、正常通信識別ルールを新たに生成し、正常通信識別ルールデータ３３１へ蓄積する。
【００２５】
取得部３１１は、異常通信識別ルール生成部３４０を制御することにより、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールを取得する。異常通信識別ルール生成部３４０は、１段目の層の異常通信検知システム１００を製造するベンダやセキュリティ業界のコミュニティ等、外部システム群４００に分類されるいくつかの団体のシステム等から提供される異常通信識別ルールを取得し、異常通信識別ルールデータ３４１へ蓄積する。
【００２６】
取得部３１１は、テストトラフィック管理部３５０を制御することにより、テスト用に発生させる異常通信に関するテストデータを取得する。テストトラフィック管理部３５０は、テストトラフィックの生成を行うセキュリティ対策機器の試験用の機器であり、これを製造するベンダやセキュリティ業界のコミュニティ等、外部システム群４００に分類されるいくつかの団体のシステムから提供されるテストデータ等を取得し、テストデータ３５１に蓄積する。また、テストトラフィック管理部３５０は、侵入テストで行われる脆弱性診断や攻撃パケットの再現等の通常とは異なる通信の生成、送信を自動で行うことができる。テストトラフィック管理部３５０によって取得されるテストデータは、第２のデータの一例である。
【００２７】
誤検知検査部３１３は、検知ルール管理部３６０を制御することにより、誤検知に関する検査を実行する。また、見逃し検査部３１４は、検知ルール管理部３６０を制御することにより、見逃しに関する検査を実行する。検知ルール管理部３６０は、検知ルール生成制御部３１０からの指示により、１段目の層の異常通信検知システム１００の仮想マシンをインスタンス化し、異常通信識別ルール生成部３４０から受け取る異常通信識別ルールをインスタンスに設定し、トラフィックキャプチャ管理部３２０及びテストトラフィック管理部３５０による通信テストを実施する。また、検知ルール管理部３６０は、２段目の層の異常通信検知システム２００の仮想マシンをインスタンス化し、正常通信識別ルール生成部３３０から受け取る正常通信識別ルールをインスタンスに設定し、トラフィックキャプチャ管理部３２０及びテストトラフィック管理部３５０による通信テストの実施を行う。
【００２８】
検知ルール管理部３６０は、インスタンス化した１段目の層の異常通信検知システム１００の仮想マシンへの入力パケットの異常通信識別ルールへのヒットのログ情報を収集し、ログ情報を基に異常通信識別ルールを修正し、異常通信識別ルール生成部３４０へ渡す。また、検知ルール管理部３６０は、異常通信識別ルールを検知ルールデータ３６１に蓄積することができる。削除部３１５は、検知ルール管理部３６０を制御することにより、異常通信識別ルールに含まれるルールのうち、トラフィックキャプチャデータを異常通信に関するデータと識別するルールを、異常通信識別ルールから削除する。また、追加部３１６は、検知ルール管理部３６０を制御することにより、テストデータのうち、正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、異常通信識別ルールに追加する。
【００２９】
また、検知ルール管理部３６０は、インスタンス化した２段目の層の異常通信検知システム２００の仮想マシンの出力パケットをキャプチャし、出力パケットのトラフィックキャプチャデータをトラフィックキャプチャ管理部３２０へ渡す。また、検知ルール管理部３６０は、正常通信識別ルールを検知ルールデータ３６１に蓄積することができる。
【００３０】
検知ルール管理部３６０の検知ルール配信部３６２は、検知ルールデータ３６１に蓄積された検知ルールを、１段目の層の異常通信検知システム１００と２段目の層の異常通信検知システム２００へ配信する。
【００３１】
［第１の実施形態の処理］
ここで、図６から９を用いて、第１の実施形態に係る生成システムの処理について説明する。図６は、第１の実施形態に係る生成システムの処理の流れを示すフローチャートである。また、図７は、第１の実施形態に係る誤検知検査処理の流れを示すフローチャートである。また、図８は、第１の実施形態に係る見逃し検査処理の流れを示すフローチャートである。図９は、第１の実施形態に係る見逃し再検査処理の流れを示すフローチャートである。
【００３２】
図６は、検知ルールの新たな登録が必要になった場合（ステップＳ１０２、登録あり）と、検知ルールの更新が必要になった場合（ステップＳ１０２、更新あり）の処理の流れを示している。検知ルールの新たな登録が必要になった場合とは、例えば、ホストが新たにＬＡＮに接続された場合である。また、検知ルールの更新が必要になった場合とは、例えば、使用中の検知ルールを用いた検知において誤検知や見逃しが所定回数発生した場合である。
【００３３】
また、ホストが新たにＬＡＮに接続された場合は、取得部３１１は、外部システム群４００から、設定された当該ホストの属性情報を基に、異常通信識別ルール及びテストデータを取得する。
【００３４】
図１０は、第１の実施形態に係る異常通信識別ルールの一例を示す図である。図１０に示すように、例えば、異常通信識別ルールのうち、異常通信識別ルールＩＤが「Ａ１」であるルールのルール内容は、通信相手が「任意」、プロトコルが「ＦＴＰ」、パケットサイズが「５０以上」、文字列が「任意」である。
【００３５】
図１１は、第１の実施形態に係るテストデータの一例を示す図である。図１１に示すように、テストデータのうち、テストデータＩＤが「Ｔ１」であるテストデータの通信内容は、通信相手が「ａからｚ」、プロトコルが「ＦＴＰ」、パケットサイズが「３０以上４０以下」、文字列が「ＴＡＲＧＥＴ」である。
【００３６】
取得部３１１は、新たなホストの登録の有無や、新たに検知ルールの更新が必要なホストの有無を確認する（ステップＳ１０１）。なお、以降の説明では、検知ルールの登録又は更新が必要となったホストを新ホストと呼ぶ。
【００３７】
ここで、検知ルールの新たな登録が必要になった場合（ステップＳ１０２、登録あり）、取得部３１１は、新ホストのトラフィックキャプチャデータを取得し、蓄積する（ステップＳ１０３）。図１２は、第１の実施形態に係るホストのトラフィックキャプチャデータの一例を示す図である。図１２に示すように、トラフィックキャプチャデータのうち、パケットＩＤが「Ｐ１」であるデータの通信内容は、通信相手が「ａ」、プロトコルが「ＦＴＰ」、パケットサイズが「１０」、文字列が「ＧＥＴ」である。
【００３８】
次に、生成部３１２は、新ホストのトラフィックキャプチャデータから、正常通信識別ルールを生成する（ステップＳ１０４）。このとき、生成部３１２は、トラフィックキャプチャデータの内容を基に作成したホワイトリスト正常通信識別ルールとしてもよいし、トラフィックキャプチャデータを正常時の振る舞いとして機械学習を行うことで生成した写像関数を正常通信識別ルールとしてもよい。図１３は、第１の実施形態に係る正常通信識別ルールの一例を示す図である。図１３に示すように、正常通信識別ルールのうち、正常通信識別ルールＩＤが「Ｎ１」であるルールのルール内容は、通信相手が「ａまたはｂ」、プロトコルが「ＦＴＰ」、パケットサイズが「１０以上５０以下」、文字列が「ＧＥＴ」である。
【００３９】
ここで、検知ルール生成制御部３１０は、１段目の層の異常通信検知システム１００のインスタンスＩ１と２段目の層の異常通信検知システム２００のインスタンスＩ２を生成する（ステップＳ１０５）。
【００４０】
誤検知検査部３１３は、誤検知検査処理を行う（ステップＳ２００）。誤検知検査部３１３は、図７に示すサブルーチンを実行することで誤検知検査処理を行う。図７に示すように、誤検知検査部３１３は、テスト環境をインスタンスＩ１（１段目の層の異常通信検知システム１００の仮想マシンをインスタンス化したもの）、入力トラフィックを新ホストのトラフィックキャプチャデータ、使用ルールを異常通信識別ルールとしてテストを行う（ステップＳ２０１）。このとき、誤検知検査部３１３は、通信にヒットした異常検知識別ルールを検知ログとして記録しておき、インスタンスＩ１の検知ログの出力の有無によって検査を行う。つまり、誤検知検査処理において、誤検知検査部３１３は、トラフィックキャプチャデータを正常とみなし、トラフィックキャプチャデータが異常通信と識別された場合、誤検知が発生したとみなす。
【００４１】
検知ログの出力があった場合（ステップＳ２０２、Ｙｅｓ）、削除部３１５は、新ホスト用の異常識別ルールから、通信にヒットした異常通信識別ルールを取り除いたものを、新ホスト用の新たな異常通信ルールとする（ステップＳ２０３）。一方、検知ログの出力がなかった場合（ステップＳ２０２、Ｎｏ）、誤検知検査部３１３は、誤検知はなかったものとみなし、ルールの削除を行わずにサブルーチンを終了する。
【００４２】
図１４は、第１の実施形態に係る誤検知検査処理の結果の一例を示す図である。また、図１５は、第１の実施形態に係る誤検知検査処理後の異常通信識別ルールの一例を示す図である。図１４に示すように、異常通信識別ルールＩＤが「Ａ１」であるルールが誤検知を発生させた場合、図１５に示すように、削除部３１５は当該ルールを削除する。これにより、トラフィックキャプチャデータが異常通信識別ルールに基づいて異常と識別されることを回避することができる。
【００４３】
ここで、図６に戻り、誤検知検査処理が行われた後、見逃し検査部３１４は、見逃し検査処理を行う（ステップＳ３００）。見逃し検査部３１４は、図８に示すサブルーチンを実行することで見逃し検査処理を行う。図８に示すように、見逃し検査部３１４は、テスト環境をインスタンスＩ２（２段目の層の異常通信検知システム２００の仮想マシンをインスタンス化したもの）、入力トラフィックをテストトラフィック管理部３５０の通信（テストデータに基づく通信）、使用ルールを正常通信識別ルールとしてテストを行う（ステップＳ３０１）。このとき、インスタンスＩ２は、正常通信識別ルールにヒットしなかったパケットを廃棄する。つまり、インスタンスＩ２は、正常通信識別ルールにヒットしたパケットのみを出力する。そして、見逃し検査部３１４は、インスタンスＩ２からの出力されたパケットの有無によって検査を行う。また、見逃し検査部３１４は、インスタンスＩ２から出力されたパケットのキャプチャを取得する。つまり、見逃し検査処理において、見逃し検査部３１４は、テストトラフィック管理部３５０の通信を正常でないものとみなし、当該通信が正常通信と識別された場合、見逃しが発生したとみなす。
【００４４】
出力パケットがあった場合（ステップＳ３０２、Ｙｅｓ）、見逃し検査部３１４は、インスタンスＩ２から出力されたパケットのキャプチャデータを見逃しトラフィックデータとして、キャプチャデータ３２１に登録する（ステップＳ３０３）。一方、出力パケットがなかった場合（ステップＳ３０２、Ｎｏ）、見逃し検査部３１４は、正常通信識別ルールを新ホスト用の検知ルールとして、検知ルールデータ３６１に登録する（ステップＳ３０４）。ここでは、見逃し検査部３１４は、見逃しが発生したテスト用のトラフィックデータを、見逃し再検査処理の対象としている。
【００４５】
図１６は、第１の実施形態に係る見逃し検査処理の結果の一例を示す図である。また、図１７は、第１の実施形態に係る見逃し検査処理後のテストデータの一例を示す図である。図１６に示すように、テストデータＩＤが「Ｔ１」であるデータ及びテストデータＩＤが「Ｔ２」であるデータが見逃しを発生させた場合、図１７に示すように、見逃し検査部３１４は、見逃しを発生させていないテストデータＩＤが「Ｔ３」であるデータを除いたテストデータを、見逃しトラフィックデータとする。
【００４６】
ここで、図６に戻り、見逃し知検査処理が行われた後、見逃し検査部３１４は、見逃し再検査処理を行う（ステップＳ４００）。見逃し検査部３１４は、図９に示すサブルーチンを実行することで見逃し再検査処理を行う。図９に示すように、見逃し検査部３１４は、新ホスト用の正常通信識別ルールが検知データへ登録されている場合（ステップＳ４０１、Ｙｅｓ）、見逃し再検査処理を行わずに、異常通信識別ルールを新ホスト用の検知ルールとして検知ルールデータ３６１へ登録する（ステップＳ４０２）。
【００４７】
一方、見逃し検査部３１４は、新ホスト用の正常通信識別ルールが検知データへ登録されていない場合（ステップＳ４０１、Ｎｏ）、テスト環境をインスタンスＩ１、入力トラフィックを見逃しトラフィックデータ、使用ルールを異常通信識別ルールとしてテストを行う（ステップＳ４０３）。このとき、インスタンスＩ１は、異常通信識別ルールにヒットしなかったパケットを廃棄する。つまり、インスタンスＩ１は、異常通信識別ルールにヒットしたパケットのみを出力する。そして、見逃し検査部３１４は、インスタンスＩ１からの出力されたパケットの有無によって検査を行う。また、見逃し検査部３１４は、インスタンスＩ１から出力されたパケットのトラフィックキャプチャを取得する。つまり、見逃し再検査処理において、見逃し検査部３１４は、見逃しトラフィックデータが異常と識別されなかった場合、このような異常なトラフィックデータは、１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００の両方で見逃しが発生するとみなす。
【００４８】
出力パケットがあった場合（ステップＳ４０４、Ｙｅｓ）、追加部３１６は、インスタンスＩ１から出力されたパケットのキャプチャデータから、異常通信識別ルールを生成し、異常通信識別ルールデータ３４１へ追加する（ステップＳ４０６）。そして、誤検知検査部３１３は、誤検知検査処理を行う（ステップＳ２００）。ここで、ステップＳ４０６で追加した異常通信識別ルールがすべて残っていない場合（ステップＳ４０７、Ｎｏ）、追加部３１６は、さらに、インスタンスＩ１から出力されたパケットのキャプチャデータから、異常通信識別ルールを生成し、異常通信識別ルールデータ３４１へ追加する（ステップＳ４０６）。一方、ステップＳ４０６で追加した異常通信識別ルールがすべて残っている場合（ステップＳ４０７、Ｙｅｓ）、見逃し検査部３１４は、正常通信識別ルールを新ホスト用の検知ルールとして検知ルールデータ３６１へ登録する。
【００４９】
また、出力パケットがなかった場合（ステップＳ４０４、Ｎｏ）も、見逃し検査部３１４は、正常通信識別ルールを新ホスト用の検知ルールとして検知ルールデータ３６１へ登録する（ステップＳ４０５）。そして、見逃し検査部３１４は、異常通信識別ルールを新ホスト用の検知ルールとして検知ルールデータ３６１へ登録する（ステップＳ４０２）。
【００５０】
図１８は、第１の実施形態に係る見逃し再検査処理の結果の一例を示す図である。また、図１９は、第１の実施形態に係る見逃し再検査処理後の異常通信識別ルールの一例を示す図である。図１８に示すように、テストデータＩＤが「Ｔ１」であるデータは、見逃し再検査処理においても異常と識別されなかったため、追加部３１６は、当該データから異常通信識別ルールが「Ａ５」であるルールを生成し、異常通信識別ルールデータ３４１へ追加する。
【００５１】
ここで、図６に戻り、見逃し再検査処理が行われた後、検知ルール配信部３６２は、１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００へ、新ホストの検知ルールを配信する（ステップＳ１０６）。そして、検知ルール生成制御部３１０は、１段目の層の異常通信検知システム１００のインスタンスＩ１及び２段目の層の異常通信検知システム２００のインスタンスＩ２を削除する（ステップＳ１０７）。そして、検知ルール生成制御部３１０は、処理をステップＳ１０１に戻し、検知ルール生成処理をさらに実行する。
【００５２】
また、図６に示すように、検知ルールの更新が必要になった場合（ステップＳ１０２、更新あり）、取得部３１１は、検知ルールの更新種別が誤検知か見逃しのいずれであるかを確認する（ステップＳ５０１）。
【００５３】
更新種別が誤検知である場合（ステップＳ５０１、誤検知）、取得部３１１は、誤検知発生期間を含む期間の新ホストのトラフィックキャプチャデータを対象として選択し取得する（ステップＳ５０２）。図２０は、第１の実施形態に係る誤検知に関する情報の一例を示す図である。取得部３１１は、図２０に示す情報を基に、検知ルールの更新が必要であり、更新種別が誤検知であると判定する。図２０は、１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００において、2016/12/1  10:10:10に誤検知が発生したことを示している。
【００５４】
図２１は、第１の実施形態に係る誤検知が発生した際のキャプチャデータの取得について説明するための図である。図２１に示すように、この場合、取得部３１１は、誤検知が発生した時点の前後の期間Ｄ００２のトラフィックキャプチャデータを選択し取得する。期間Ｄ００２は、検知ルールを登録する際にトラフィックキャプチャデータが取得される期間Ｄ００１と同じ長さであってよい。
【００５５】
一方、更新種別が見逃しである場合（ステップＳ５０１、見逃し）、取得部３１１は、見逃し発生期間を除いた期間の新ホストのトラフィックキャプチャデータを対象として選択し、検知を見逃したトラフィックキャプチャデータを見逃しトラフィックデータに含める（ステップＳ５０３）。図２２は、第１の実施形態に係る見逃しに関する情報の一例を示す図である。取得部３１１は、図２２に示す情報を基に、検知ルールの更新が必要であり、更新種別が見逃しであると判定する。図２２は、１段目の層の異常通信検知システム１００及び２段目の層の異常通信検知システム２００において、2017/1/1  15:00:00に見逃しが発生し、そのときの通信内容が、プロトコルが「ＨＴＴＰ」、パケットサイズが「２０」、文字列が「ＭＡＲＩＣＩＯＵＳ」であったことを示している。
【００５６】
図２３は、第１の実施形態に係る見逃しが発生した際のキャプチャデータの取得について説明するための図である。図２３に示すように、この場合、取得部３１１は、見逃しが発生した時点の前後であって、見逃しが発生した期間を含まない期間Ｄ００３のトラフィックキャプチャデータを選択し取得する。また、取得部３１１は、見逃しが発生した期間のトラフィックキャプチャデータを、見逃しトラフィックデータとして取得する。期間Ｄ００３は、検知ルールを登録する際にトラフィックキャプチャデータが取得される期間Ｄ００１と同じ長さであってよい。
【００５７】
［第１の実施形態の効果］
取得部３１１は、ネットワークに接続されたホストにおいて所定の期間に発生した通信に関するトラフィックキャプチャデータと、テスト用に発生させる異常通信に関するテストデータと、通信に関するデータが異常通信に関するデータであるか否かを識別する異常通信識別ルールと、を取得する。また、生成部３１２は、通信に関するデータが正常通信に関するデータであるか否かを識別する正常通信識別ルールを、トラフィックキャプチャデータを正常通信に関するデータと識別するように生成する。また、削除部３１５は、異常通信識別ルールに含まれるルールのうち、トラフィックキャプチャデータを異常通信に関するデータと識別するルールを、異常通信識別ルールから削除する。また、追加部３１６は、テストデータのうち、正常通信識別ルールによって正常通信に関するデータと識別されたデータを異常通信に関するデータと識別するルールを、異常通信識別ルールに追加する。このように、第１の実施形態では、トラフィックキャプチャデータ及びテストデータを介して検知ルールの評価を行うため、検知ルールが異なる場合であっても、検知ルール間の矛盾を解消し、整合性を保つことができる。このため、第１の実施形態によれば、検知ルールが異なる複数の異常通信検知システムを多層化して異常通信の検知を行う場合であっても、誤検知や見逃しの発生を抑えることができる。例えば、第１の実施形態によれば、ミスユース検出型の異常通信検知システムと、アノマリ検出型の異常通信検知システムとを多層化した異常通信検知システムにおいて、誤検知や見逃しの発生を抑えることができる。また、第１の実施形態では、検知ルールの生成が自動的に行われるため、ホストの初期導入時や運用中等において、従来と比較し少ない稼働で整合性の取れた検知ルールの生成ができる。
【００５８】
追加部３１６は、テストデータのうち、正常通信識別ルールによって正常通信に関するデータと識別されたデータであって、異常識別ルールによって異常通信に関するデータと識別されないデータを異常通信に関するデータと識別するルールを、異常識別ルールに追加することができる。これにより、正常通信識別ルールのみでは見逃されてしまう異常通信を、異常通信識別ルールを用いて検知することが可能となる。
【００５９】
異常通信識別ルールを用いて異常通信の検知を行う１段目の層の異常通信検知システム１００と、正常通信識別ルールを用いて異常通信の検知を行う２段目の層の異常通信検知システム２００と、を多層化した多層化異常通信検知システムによって、正常であることが既知の通信が異常通信として検知された場合、取得部３１１は、正常であることが既知の通信が発生した期間を含む所定の期間に発生した通信に関するデータをトラフィックキャプチャデータとして取得することができる。これにより、例えば、ホストの運用中のトラフィック特性の変化に起因した誤検知が発生した場合にも、当該誤検知に対応できるように、随時検知ルールを更新することができる。
【００６０】
異常通信識別ルールを用いて異常通信の検知を行う１段目の層の異常通信検知システム１００と、正常通信識別ルールを用いて異常通信の検知を行う２段目の層の異常通信検知システム２００と、を多層化した多層化異常通信検知システムによって、異常であることが既知の通信が異常でない通信として検知された場合、取得部３１１は、異常であることが既知の通信が発生した期間に期間を含む所定の期間のうち、異常であることが既知の通信が発生した期間を除く期間に発生した通信に関するデータをトラフィックキャプチャデータとして取得することができる。これにより、例えば、サイバー攻撃の変化に起因した見逃しが発生した場合にも、当該見逃しに対応できるように、随時検知ルールを更新することができる。
【００６１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
［プログラム］
一実施形態として、生成システム３０は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知ルールの生成を実行する生成プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の生成プログラムを情報処理装置に実行させることにより、情報処理装置を生成システム３０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００６４】
また、生成システム３０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検知ルールの生成に関するサービスを提供する生成サーバ装置として実装することもできる。例えば、生成サーバ装置は、新ホストの属性情報を入力とし、生成した検知ルールを出力とする生成サービスを提供するサーバ装置として実装される。この場合、生成サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の検知ルールの生成に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００６５】
図２４は、生成プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６７】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、生成システム３０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、生成システム３０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００６８】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６９】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７０】
１  ネットワーク
２  ファイアウォール
３  設置区間
４  ＬＡＮ
５  ホスト
６  ネットワーク装置
１０、１０ａ、１０ｂ  異常通信検知システム
５０  トラフィックキャプチャシステム
１００  １段目の層の異常通信検知システム
２００  ２段目の層の異常通信検知システム
３００  生成システム
３１０  検知ルール生成制御部
３１１  取得部
３１２  生成部
３１３  誤検知検査部
３１４  見逃し検査部
３１５  削除部
３１６  追加部
３２０  トラフィックキャプチャ管理部
３２１  キャプチャデータ
３３０  正常通信識別ルール生成部
３３１  正常通信識別ルールデータ
３４０  異常通信識別ルール生成部
３４１  異常通信識別ルールデータ
３５０  テストトラフィック管理部
３５１  テストデータ
３６０  検知ルール管理部
３６１  検知ルールデータ
３６２  検知ルール配信部
４００  外部システム群
【図１】
2019004260.tif 000003
【図２】
2019004260.tif 000004
【図３】
2019004260.tif 000005
【図４】
2019004260.tif 000006
【図５】
2019004260.tif 000007
【図６】
2019004260.tif 000008
【図７】
2019004260.tif 000009
【図８】
2019004260.tif 000010
【図９】
2019004260.tif 000011
【図１０】
2019004260.tif 000012
【図１１】
2019004260.tif 000013
【図１２】
2019004260.tif 000014
【図１３】
2019004260.tif 000015
【図１４】
2019004260.tif 000016
【図１５】
2019004260.tif 000017
【図１６】
2019004260.tif 000018
【図１７】
2019004260.tif 000019
【図１８】
2019004260.tif 000020
【図１９】
2019004260.tif 000021
【図２０】
2019004260.tif 000022
【図２１】
2019004260.tif 000023
【図２２】
2019004260.tif 000024
【図２３】
2019004260.tif 000025
【図２４】
2019004260.tif 000026