(57)【特許請求の範囲】
【請求項１】
サイバー攻撃の複数のフェーズのうちのいずれかのフェーズに属する攻撃活動が検知された場合に、フェーズ毎に１つ以上の攻撃活動のそれぞれの発生間隔を含む活動間隔データを用いて、各フェーズの代表の攻撃活動で構成される攻撃シナリオについて発生間隔を算出する算出部と、
前記攻撃シナリオの前記発生間隔に基づいて、アラートの要否を判定する判定部と
を備えるアラート頻度制御装置。
【請求項２】
前記算出部は、各フェーズの代表の発生間隔を前記活動間隔データから選択し、選択された代表の発生間隔の合計を前記攻撃シナリオの前記発生間隔として算出する
請求項１に記載のアラート頻度制御装置。
【請求項３】
前記算出部は、検知された攻撃活動に対応する発生間隔を前記活動間隔データから取得し、フェーズ毎に各攻撃活動に対応するシナリオ間隔を含む活動登録ファイルから、前記検知された攻撃活動が属するフェーズの前のフェーズにおける代表のシナリオ間隔を選択し、前記検知された攻撃活動に対応する前記発生間隔と前記代表のシナリオ間隔との合計を前記攻撃シナリオの前記発生間隔として算出する
請求項１に記載のアラート頻度制御装置。
【請求項４】
前記算出部は、前記活動登録ファイルに前記攻撃シナリオの前記発生間隔を前記検知された攻撃活動に対応するシナリオ間隔として設定する
請求項３に記載のアラート頻度制御装置。
【請求項５】
前記活動登録ファイルは、フェーズ毎に各攻撃活動に対応する攻撃シナリオの情報である対応シナリオを含み、
前記算出部は、前記検知された攻撃活動が属するフェーズの前のフェーズにおける代表の対応シナリオを前記活動登録ファイルから取得し、前記活動登録ファイルに前記代表の対応シナリオと前記検知された攻撃活動とを前記検知された攻撃活動に対応する対応シナリオとして設定する
請求項４に記載のアラート頻度制御装置。
【請求項６】
前記判定部は、前記攻撃シナリオの前記発生間隔が基準時間より長い場合にアラートが必要であると判定する
請求項１から請求項５のいずれか１項に記載のアラート頻度制御装置。
【請求項７】
前記算出部は、前記攻撃シナリオの前記発生間隔を暫定間隔と比較し、前記攻撃シナリオの前記発生間隔が前記暫定間隔より大きい場合に前記暫定間隔を前記攻撃シナリオの前記発生間隔に更新し、前記攻撃シナリオの前記発生間隔が前記暫定間隔より大きい場合にアラートが不要であると判定し、
前記判定部は、アラートが不要であると判定された場合にアラートの要否を判定しない請求項６に記載のアラート頻度制御装置。
【請求項８】
前記アラート頻度制御装置は、前記基準時間を決定する決定部を備え、
前記算出部は、前記基準時間が決定される前に、１つ以上の攻撃シナリオのそれぞれの仮発生間隔を算出し、
前記判定部は、各仮発生間隔が暫定時間より長い場合にアラートが必要であると判定し、
前記決定部は、前記基準時間が決定される前にアラートが必要であると判定された頻度を推定頻度として計測し、前記推定頻度に基づいて前記基準時間を決定する
請求項６または請求項７に記載のアラート頻度制御装置。
【請求項９】
前記決定部は、前記推定頻度が更新停止条件を満たす場合に前記暫定時間を前記基準時間に決定し、前記推定頻度が前記更新停止条件を満たさない場合に前記暫定時間を更新し、
前記算出部は、前記暫定時間が更新された後に、１つ以上の新たな仮発生間隔を算出し、
前記判定部は、各新たな仮発生間隔が更新後の暫定時間より長い場合にアラートが必要であると判定し、
前記決定部は、前記暫定時間が更新された後にアラートが必要であると判定された頻度を新たな推定頻度として計測し、前記新たな推定頻度が前記更新停止条件を満たす場合に前記更新後の暫定時間を前記基準時間に決定する
請求項８に記載のアラート頻度制御装置。
【請求項１０】
前記基準時間に基づいてアラートが必要であると判定された頻度を現在頻度として計測し、前記現在頻度が調整条件を満たす場合に前記基準時間を調整する調整部を備える
請求項６から請求項９のいずれか１項に記載のアラート頻度制御装置。
【請求項１１】
サイバー攻撃の複数のフェーズのうちのいずれかのフェーズに属する攻撃活動が検知された場合に、フェーズ毎に１つ以上の攻撃活動のそれぞれの発生間隔を含む活動間隔データを用いて、各フェーズの代表の攻撃活動で構成される攻撃シナリオについて発生間隔を算出する算出処理と、
前記攻撃シナリオの前記発生間隔に基づいて、アラートの要否を判定する判定処理と
をコンピュータに実行させるためのアラート頻度制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一連の攻撃活動の発生に関するアラートの頻度を制御する技術に関するものである。
【背景技術】
【０００２】
標的型攻撃における一連の攻撃活動を検知するための手法として、攻撃シナリオに基づくログ分析手法が存在する。この手法は主にセキュリティ監視に適用される。
攻撃シナリオは、一連の攻撃活動における攻撃活動の流れを示す。【０００３】
標的型攻撃は、複数のフェーズにわたって実行される。
そのため、個々の攻撃活動を分析するだけでは標的型攻撃の誤検知が多数発生してしまう。
一方、攻撃シナリオに合致する一連の攻撃活動を監視することにより、標的型攻撃らしい一連の攻撃活動を検知することが可能となる。【０００４】
特許文献１は、攻撃シナリオに沿ってログを分析することによってサイバー攻撃の検知漏れを減らす技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１２１９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術により、標的型攻撃らしい一連の攻撃活動の検知漏れを減らすことができる。一方で、検知される一連の攻撃活動の数が増大する可能性がある。
標的型攻撃らしい一連の攻撃活動が検知された場合、オペレータが検知された一連の攻撃活動に対処する。
検知される一連の攻撃活動の数が増大すると、オペレータによる対処が困難となる。その結果、標的型攻撃が放置されてしまう可能性がある。
しかし、オペレータによる対処を可能とするために、検知される一連の攻撃活動の数を減らしすぎると、標的型攻撃の検知漏れが増えてしまう。【０００７】
本発明は、一連の攻撃活動の発生に関する各アラートに対処することが可能な程度にアラートの頻度を制御することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のアラート頻度制御装置は、
サイバー攻撃の複数のフェーズのうちのいずれかのフェーズに属する攻撃活動が検知された場合に、フェーズ毎に１つ以上の攻撃活動のそれぞれの発生間隔を含む活動間隔データを用いて、各フェーズの代表の攻撃活動で構成される攻撃シナリオについて発生間隔を算出する算出部と、
前記攻撃シナリオの前記発生間隔に基づいて、アラートの要否を判定する判定部とを備える。
【発明の効果】
【０００９】
本発明によれば、一連の攻撃活動の発生に関する各アラートに対処することが可能な程度にアラートの頻度を制御することが可能となる。
その結果、サイバー攻撃の検知漏れが増えず、且つ、サイバー攻撃の対処漏れが減ることとなる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるアラート頻度制御装置１００の構成図。
【図２】実施の形態１における攻撃シナリオを説明するための図。
【図３】実施の形態１におけるアラート頻度制御方法のフローチャート。
【図４】実施の形態１における受付処理（Ｓ１１０）のフローチャート。
【図５】実施の形態１における活動データ２０１を示す図。
【図６】実施の形態１における端末ファイル２１０の概要図。
【図７】実施の形態１における活動登録データ２０２を示す図。
【図８】実施の形態１における活動間隔データ２２０を示す図。
【図９】実施の形態１における算出処理（Ｓ１２０）のフローチャート。
【図１０】実施の形態１における攻撃活動一覧２３０を示す図。
【図１１】実施の形態１における活動間隔算出処理（Ｓ１２２）のフローチャート。
【図１２】実施の形態１における更新処理（Ｓ１２３）のフローチャート。
【図１３】実施の形態１におけるシナリオ間隔算出処理（Ｓ１２４）のフローチャート。
【図１４】実施の形態１における判定処理（Ｓ１３０）のフローチャート。
【図１５】実施の形態１における判定結果処理（Ｓ１４０）のフローチャート。
【図１６】実施の形態２における活動登録データ２０２を示す図。
【図１７】実施の形態２におけるシナリオ間隔算出処理（Ｓ１２４）のフローチャート。
【図１８】実施の形態２における端末ファイル２１０の概要図。
【図１９】実施の形態３における活動登録データ２０２を示す図。
【図２０】実施の形態３における登録処理（Ｓ１２２）のフローチャート。
【図２１】実施の形態３におけるシナリオ間隔算出処理（Ｓ１２４）のフローチャート。
【図２２】実施の形態４における端末ファイル２１０の概要図。
【図２３】実施の形態４におけるアラート頻度制御方法のフローチャート。
【図２４】実施の形態４におけるシナリオ間隔算出処理（Ｓ１２４）のフローチャート。
【図２５】実施の形態４における暫定間隔更新処理（Ｓ１２４９）のフローチャート。
【図２６】実施の形態５におけるアラート頻度制御装置１００の構成図。
【図２７】実施の形態５におけるアラート頻度制御方法のフローチャート。
【図２８】実施の形態５における決定処理（Ｓ２００）のフローチャート。
【図２９】実施の形態５における第１時間および第２時間を説明するための図。
【図３０】実施の形態５における更新処理（Ｓ２４０）のフローチャート。
【図３１】実施の形態５における更新処理（Ｓ２４０）のフローチャート。
【図３２】実施の形態６におけるアラート頻度制御装置１００の構成図。
【図３３】実施の形態６における調整処理（Ｓ３００）のフローチャート。
【図３４】実施の形態におけるアラート頻度制御装置１００のハードウェア構成図。
【発明を実施するための形態】
【００１１】
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００１２】
実施の形態１．
一連の攻撃活動の発生に関するアラートの頻度を制御するための形態について、図１から図１５に基づいて説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１に基づいて、アラート頻度制御装置１００の構成を説明する。
アラート頻度制御装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と通信装置９０４といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００１４】
プロセッサ９０１は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。例えば、プロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メモリ９０２に記憶されたデータは必要に応じて補助記憶装置９０３に保存される。
補助記憶装置９０３は不揮発性の記憶装置である。例えば、補助記憶装置９０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、またはフラッシュメモリである。補助記憶装置９０３に記憶されたデータは必要に応じてメモリ９０２にロードされる。
【００１５】
通信装置９０４は通信を行う装置、すなわち、レシーバ及びトランスミッタである。例えば、通信装置９０４は通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ
Ｃａｒｄ）である。
【００１６】
アラート頻度制御装置１００は、管理部１１０と算出部１２０と判定部１３０と通知部１４０といった要素を備える。これらの要素はソフトウェアで実現される。
【００１７】
補助記憶装置９０３には、管理部１１０と算出部１２０と判定部１３０と通知部１４０としてコンピュータを機能させるためのアラート頻度制御プログラムが記憶されている。アラート頻度制御プログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、アラート頻度制御プログラムを実行する。
アラート頻度制御プログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。
【００１８】
メモリ９０２はデータを記憶する記憶部１９１として機能する。但し、他の記憶装置が、メモリ９０２の代わりに、又は、メモリ９０２と共に、記憶部１９１として機能してもよい。
通信装置９０４はデータを受信する受信部１９２として機能する。また、通信装置９０４はデータを送信する送信部１９３として機能する。
【００１９】
アラート頻度制御装置１００は、プロセッサ９０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ９０１の役割を分担する。
【００２０】
アラート頻度制御プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録することができる。
【００２１】
アラート頻度制御装置１００は、発生した攻撃シナリオの発生間隔に基づいてアラートの要否を判定する。
図２に基づいて、攻撃シナリオについて説明する。
サイバー攻撃は複数のフェーズから成り、複数のフェーズによってサイバー攻撃が行われる。フェーズは、攻撃過程における段階を意味する。サイバー攻撃の具体例は標的型攻撃である。
例えば、サイバー攻撃は、第１フェーズから第３フェーズで構成される。第１フェーズは初期侵入と呼ばれる段階であり、第２フェーズは基盤構築と呼ばれる段階であり、第３フェーズは内部調査と呼ばれる段階である。
但し、第１フェーズから第３フェーズが上記の通りに分類される必要はない。つまり、第１フェーズから第３フェーズは、別の分類方法、より細分化された分類方法または別の名称を用いた分類方法などで分類されてもよい。また、第１フェーズから第３フェーズのうちの一部のフェーズによってサイバー攻撃が構成される場合がある。また、第４フェーズ以降のフェーズがサイバー攻撃に含まれる場合がある。
【００２２】
攻撃シナリオは、サイバー攻撃となる一連の攻撃活動における攻撃活動の流れを示す。
それぞれの攻撃活動は、いずれかのフェーズに属する。
攻撃シナリオ（Ａ）は、攻撃活動１−１と攻撃活動２−１と攻撃活動３−１とで構成される。攻撃活動１−１は、「指示を受信」という攻撃活動であり、第１フェーズに属する。「指示を受信」において、端末に感染したマルウェアは外部からの指示を受信する。攻撃活動２−１は、「端末を調査」という攻撃活動であり、第２フェーズに属する。「端末を調査」において、マルウェアは端末に記憶されているデータを調査する。攻撃活動３−１は、「サーバへのアクセス権を入手」という攻撃活動であり、第３フェーズに属する。「サーバへのアクセス権を入手」において、マルウェアはサーバにアクセスする権利を端末から入手する。
但し、第１フェーズから第３フェーズのうちの一部のフェーズに対応する一部の攻撃活動によって攻撃シナリオが構成される場合がある。また、第４フェーズ以降のフェーズに属する攻撃活動が攻撃シナリオに含まれる場合がある。
例えば、攻撃シナリオ（Ｂ）は、攻撃活動２−２と攻撃活動３−２とで構成される。攻撃活動２−２は第２フェーズに属し、攻撃活動３−２は第３フェーズに属する。また、攻撃シナリオ（Ｃ）は、攻撃活動１−３と攻撃活動３−３とで構成される。攻撃活動１−３は第１フェーズに属し、攻撃活動３−３は第３フェーズに属する。
【００２３】
＊＊＊動作の説明＊＊＊
アラート頻度制御装置１００の動作はアラート頻度制御方法に相当する。また、アラート頻度制御方法の手順はアラート頻度制御プログラムの手順に相当する。
【００２４】
図３に基づいて、アラート頻度制御方法を説明する。
ステップＳ１１０において、管理部１１０は活動データを受け付ける。
活動データは、検知された攻撃活動の情報を含んだデータである。
【００２５】
受付処理（Ｓ１１０）は、攻撃活動が検知されて活動データがアラート頻度制御装置１００に入力される毎に実行される。
具体的には、ネットワーク監視装置が従来の監視方法によって攻撃活動を検知し、検知された攻撃活動の活動データをアラート頻度制御装置１００へ送信する。そして、送信された活動データがアラート頻度制御装置１００に到達すると受付処理（Ｓ１１０）が実行される。
【００２６】
図４に基づいて、受付処理（Ｓ１１０）の手順を説明する。
ステップＳ１１１において、受信部１９２は活動データを受信する。
【００２７】
図５に基づいて、活動データ２０１を説明する。
活動データ２０１は、活動名称と発生端末と発生時刻などの情報を含んでいる。
活動名称は、検知された攻撃活動の種類を識別する。活動データ２０１に示される活動名称は「スケジュールされたタスクの実行」である。
発生端末は、検知された攻撃活動が発生した端末である。活動データ２０１に示される発生端末は「端末Ａ」である。
発生時刻は、検知された攻撃活動が発生した時刻である。活動データ２０１に示される発生時刻は「２０１７／０５／２３  １２：３４」である。
【００２８】
図４に戻り、ステップＳ１１２から説明を続ける。
ステップＳ１１２からステップＳ１１４における発生端末は、受信された活動データに示される発生端末を意味する。
【００２９】
ステップＳ１１２において、管理部１１０は、発生端末用の端末ファイルが記憶部１９１に記憶されているか判定する。
発生端末用の端末ファイルが記憶部１９１に記憶されている場合、処理はステップＳ１１３に進む。
発生端末用の端末ファイルが記憶部１９１に記憶されていない場合、処理はステップＳ１１４に進む。
【００３０】
図６に基づいて、端末ファイル２１０を説明する。
端末ファイル２１０は、端末毎に作成される活動登録ファイルであり、記憶部１９１に記憶されている。
端末ファイル２１０には、フェーズ毎に当該フェーズに属する各攻撃活動の活動登録データが登録されている。つまり、攻撃活動の種類（活動名称）ごとに、攻撃活動の活動登録データが、攻撃活動が属するフェーズに対応付けられて、端末ファイル２１０に登録されている。活動登録データは、活動データに含まれる情報を基に生成される。
図６において、端末ファイル２１０には、攻撃活動Ｅ１１と攻撃活動Ｅ１２と攻撃活動Ｅ２２とのそれぞれの活動登録データが登録されている。
【００３１】
図７に基づいて、活動登録データ２０２を説明する。
活動登録データ２０２は、活動名称と発生端末とを示している。
【００３２】
図４に戻り、ステップＳ１１３から説明を続ける。
ステップＳ１１３において、管理部１１０は、発生端末用の端末ファイルを記憶部１９１から選択する。
【００３３】
ステップＳ１１４において、管理部１１０は、発生端末用の端末ファイルを生成する。そして、記憶部１９１は、発生端末用の端末ファイルを記憶する。
【００３４】
図３に戻り、ステップＳ１２０を説明する。
ステップＳ１２０以降の処理において、検知された攻撃活動を検知活動という。また、ステップＳ１１０で受け付けられた活動データを検知活動の活動データという。
【００３５】
ステップＳ１２０において、算出部１２０はシナリオ間隔を算出する。
シナリオ間隔は、攻撃シナリオの発生間隔である。つまり、シナリオ間隔は、攻撃シナリオが発生する間隔を示す時間である。
その攻撃シナリオは、各フェーズの代表の攻撃活動とで構成される。
図２において第３フェーズに属するいずれかの攻撃活動が検知された場合、例えば、攻撃シナリオ（Ａ）の発生間隔が算出される。攻撃シナリオ（Ａ）は、攻撃活動１−１と攻撃活動２−１と攻撃活動３−１とで構成される。攻撃シナリオ（Ａ）において、攻撃活動３−１は、検知活動が属する第３フェーズの攻撃活動である。また、攻撃活動２−１は第３フェーズより前の第２フェーズの攻撃活動であり、攻撃活動１−１は第３フェーズより前の第１フェーズの攻撃活動である。
【００３６】
具体的には、算出部１２０は、活動間隔データを用いてシナリオ間隔を算出する。
活動間隔データは、フェーズ毎に１つ以上の攻撃活動のそれぞれの発生間隔を含むデータである。活動間隔データは記憶部１９１に記憶されている。
【００３７】
図８に基づいて、活動間隔データ２２０を説明する。
活動間隔データ２２０は、端末と各フェーズの攻撃活動との組に対応付けて活動間隔と発生回数と前回時刻とを含む。図８において、活動間隔データ２２０に示している値は活動間隔である。
活動間隔は、攻撃活動の発生間隔である。つまり、活動間隔は、攻撃活動が発生する間隔を示す時間である。具体的には、活動間隔は、攻撃活動の平均の発生間隔である。
例えば、攻撃活動Ｅ１１および攻撃活動Ｅ１２は第１フェーズに属する。端末Ａにおける攻撃活動Ｅ１１の発生間隔は７２分であり、端末Ａにおける攻撃活動Ｅ１２の発生間隔は６５分である。
例えば、攻撃活動Ｅ２１および攻撃活動Ｅ２２は第２フェーズに属し、端末Ａにおける攻撃活動Ｅ２１の発生間隔は９６分であり、端末Ａにおける攻撃活動Ｅ２２の発生間隔は１１０分である。
発生回数は、攻撃活動が発生した回数である。
前回時刻は、攻撃活動が前回発生した時刻である。
【００３８】
図９に基づいて、算出処理（Ｓ１２０）の手順を説明する。
ステップＳ１２１において、算出部１２０は検知活動のフェーズを判定する。
検知活動のフェーズは、検知活動が属するフェーズである。
【００３９】
具体的には、算出部１２０は、攻撃活動一覧を用いて検知活動のフェーズを判定する。
【００４０】
図１０に基づいて、攻撃活動一覧２３０を説明する。
攻撃活動一覧２３０は、活動名称とフェーズ番号とを互いに対応付けている。
活動名称は、攻撃活動を識別する。
フェーズ番号は、フェーズを識別する。
例えば、攻撃活動Ｅ１１および攻撃活動Ｅ１２は第１フェーズに属し、攻撃活動Ｅ２１および攻撃活動Ｅ２２は第２フェーズに属する。
【００４１】
図９に戻り、ステップＳ１２１の説明を続ける。
算出部１２０は、検知活動のフェーズを以下のように判定する。
まず、算出部１２０は、検知活動の活動データから活動名称を取得する。取得された活動名称を検知活動の活動名称という。
次に、算出部１２０は、検知活動の活動名称と同じ活動名称を攻撃活動一覧から選択する。
そして、算出部１２０は、選択された活動名称に対応付けられたフェーズ番号を攻撃活動一覧から取得する。取得されたフェーズ番号で識別されるフェーズが、検知活動のフェーズである。
【００４２】
ステップＳ１２２において、算出部１２０は、検知活動の検知活動と同じ種類の攻撃活動の活動登録データが発生端末用の端末ファイルに登録されていない場合、検知活動の活動登録データを発生端末用の端末ファイルに登録する。
【００４３】
図１１に基づいて、登録処理（Ｓ１２２）の手順を説明する。
ステップＳ１２２１において、算出部１２０は、検知活動のフェーズに対応付けられた活動登録データ群を発生端末用の端末ファイルから選択する。
図１１において、検知活動のフェーズを対象フェーズといい、対象フェーズに対応付けられた活動登録データ群を対象フェーズの活動登録データ群という。
【００４４】
活動登録データ群は１つ以上の活動登録データである。
発生端末用の端末ファイルは、図４のステップＳ１１３で選択された端末ファイルまたは図４のステップＳ１１４で生成された端末ファイルである。
【００４５】
ステップＳ１２２２において、算出部１２０は、検知活動と同じ種類の攻撃活動の活動登録データが対象フェーズの活動登録データ群に含まれるか判定する。
図１１において、検知活動と同じ種類の攻撃活動を対象活動という。
【００４６】
対象活動の活動登録データが対象フェーズの活動登録データ群に含まれる場合、処理は終了する。
対象活動の活動登録データが対象フェーズの活動登録データ群に含まれない場合、処理はステップＳ１２２３に進む。
【００４７】
ステップＳ１２２３において、算出部１２０は、検知活動の活動データを用いて対象活動の活動登録データを生成し、対象活動の活動登録データを対象フェーズに対応付けて発生端末用の端末ファイルに登録する。
【００４８】
図９に戻り、ステップＳ１２３から説明を続ける。
ステップＳ１２３において、算出部１２０は、検知活動に関して活動間隔データを更新する。
【００４９】
図１２に基づいて、更新処理（Ｓ１２３）を説明する。
ステップＳ１２３１において、算出部１２０は、発生端末と対象活動とに対応付けられた情報が活動間隔データに登録されているか判定する。対象活動は、検知活動と同じ種類の攻撃活動である。
図１２において、発生端末と対象活動とに対応付けられた情報を対象情報という。
対象情報が活動間隔データに登録されている場合、処理はステップＳ１２３３に進む。
対象情報が活動間隔データに登録されていない場合、処理はステップＳ１２３２に進む。
【００５０】
ステップＳ１２３２において、算出部１２０は、対象情報を生成し、対象情報を活動間隔データに登録する。
登録される対象情報において、活動間隔はゼロであり、発生回数はゼロであり、前回時刻は初期時刻である。初期時刻は予め決められた時刻である。
【００５１】
ステップＳ１２３３において、算出部１２０は、新たな活動間隔を算出し、対象情報に含まれる活動間隔を新たな活動間隔に更新する。
【００５２】
新たな活動間隔は、以下の式で表すことができる。
新たな活動間隔  ＝  （総活動期間＋経過時間）／（発生回数＋１）
総活動期間  ＝  発生回数  ×  活動間隔
経過時間  ＝  発生時刻  −  前回時刻
発生時刻は、検知された攻撃活動が発生した時刻であり、検知活動の活動データに含まれる。
【００５３】
ステップＳ１２３４において、算出部１２０は、対象情報に含まれる発生回数を更新する。具体的には、算出部１２０は、対象情報に含まれる発生回数に１を加える。
【００５４】
ステップＳ１２３５において、算出部１２０は、対象情報に含まれる前回時刻を検知活動の発生時刻に更新する。検知活動の発生時刻は、検知活動の活動データに含まれる。
【００５５】
図９に戻り、ステップＳ１２４から説明を続ける。
ステップＳ１２４において、算出部１２０は、活動間隔データを用いてシナリオ間隔を算出する。
具体的には、算出部１２０は、各フェーズの代表の発生間隔を活動間隔データから選択する。そして、算出部１２０は、選択された代表の発生間隔の合計を算出する。算出される合計がシナリオ間隔である。
【００５６】
図１３に基づいて、シナリオ間隔算出処理（Ｓ１２４）の手順を説明する。
ステップＳ１２４１において、算出部１２０は、活動間隔データにおける最大フェーズ番号を変数ｎに設定する。
活動間隔データにおける最大フェーズ番号は、活動間隔データにおいて活動間隔が登録されているフェーズの中で最大のフェーズを識別する番号である。
図１３において、変数ｎに設定されている値を変数ｎの値という。
【００５７】
ステップＳ１２４２において、算出部１２０は、第ｎフェーズにおける代表の活動間隔を活動間隔データから選択する。
第ｎフェーズは、変数ｎの値で識別されるフェーズである。
【００５８】
具体的には、算出部１２０は、第ｎフェーズにおける代表の活動間隔を以下のように選択する。
まず、算出部１２０は、第ｎフェーズの各攻撃活動に対応付けられた活動間隔を活動間隔データから取得する。
そして、算出部１２０は、取得された活動間隔から最長の活動間隔を選択する。選択される最長の活動間隔が第ｎフェーズにおける代表の活動間隔である。
【００５９】
ステップＳ１２４３において、算出部１２０は変数ｎの値から１を引く。
【００６０】
ステップＳ１２４４において、算出部１２０は、変数ｎの値が１以上であるか判定する。
変数ｎの値が１以上である場合、処理はステップＳ１２４５に進む。
変数ｎの値が１未満である場合、処理はステップＳ１２４６に進む。
【００６１】
ステップＳ１２４５において、算出部１２０は、第ｎフェーズの攻撃活動に対応付けられた活動間隔が活動間隔データに登録されているか判定する。
第ｎフェーズの攻撃活動に対応付けられた活動間隔が活動間隔データに登録されている場合、処理はステップＳ１２４２に進む。
第ｎフェーズの攻撃活動に対応付けられた活動間隔が活動間隔データに登録されていない場合、処理はステップＳ１２４３に進む。
【００６２】
ステップＳ１２４６において、算出部１２０は、ステップＳ１２４２で選択された代表の活動間隔の合計を算出する。算出される合計がシナリオ間隔である。
【００６３】
図３に戻り、ステップＳ１３０を説明する。
ステップＳ１３０において、判定部１３０は、シナリオ間隔に基づいてアラートの要否を判定する。
具体的には、判定部１３０は、シナリオ間隔が基準時間より長い場合にアラートが必要であると判定する。
【００６４】
基準時間は予め決められた時間である。
【００６５】
図１４に基づいて、判定処理（Ｓ１３０）の手順を説明する。
ステップＳ１３１において、判定部１３０は、シナリオ間隔を基準時間と比較する。
シナリオ間隔が基準時間以上である場合、処理はステップＳ１３２に進む。
シナリオ間隔が基準時間未満である場合、処理はステップＳ１３３に進む。
【００６６】
ステップＳ１３２において、判定部１３０は、アラートが必要であると判定する。
【００６７】
ステップＳ１３３において、判定部１３０は、アラートが不要であると判定する。
【００６８】
図３に戻り、ステップＳ１４０を説明する。
ステップＳ１４０において、管理部１１０および通知部１４０は、判定結果に応じて処理を行う。つまり、管理部１１０および通知部１４０は、アラートの要否に応じて処理を行う。
【００６９】
図１５に基づいて、判定結果処理（Ｓ１４０）の手順を説明する。
ステップＳ１３０でアラートが必要であると判定された場合、処理はステップＳ１４１に進む。
ステップＳ１３０でアラートが不要であると判定された場合、処理は終了する。
【００７０】
ステップＳ１４１において、通知部１４０は、オペレーションセンタにアラートを通知する。
例えば、通知部１４０は、以下の（１）のデータまたは（２）の情報などを含んだアラートデータを生成し、生成されたアラートデータを送信部１９３を介してオペレーションセンタへ送信する。
（１）図３のステップＳ１１０で受け付けられた活動データ。
（２）図３のステップＳ１２０で算出されたシナリオ間隔に対応する攻撃シナリオに関する情報。攻撃シナリオに関する情報とは、攻撃シナリオを構成する各攻撃活動の活動名称などである。
【００７１】
ステップＳ１４２において、管理部１１０は、発生端末用の端末ファイルを記憶部１９１から削除する。
発生端末用の端末ファイルは、図４のステップＳ１１３で選択された端末ファイルまたは図４のステップＳ１１４で生成された端末ファイルである。
【００７２】
＊＊＊実施の形態１の補足＊＊＊
図１３のシナリオ間隔算出処理（Ｓ１２４）は次のような理論に基づく。
正常な活動と攻撃活動とを正確に識別することは困難である。そのため、正常な活動を攻撃活動として誤検知する可能性がある。誤検知がランダムなタイミングで発生すると仮定した場合、検知される攻撃活動の発生間隔は指数分布に従う。このとき、各攻撃活動が次に発生するまでの時間は、各攻撃活動の平均発生間隔で表現できる。
さらに、各攻撃活動が独立な指数分布に従って発生すると仮定すると、各フェーズの攻撃活動がフェーズ順に発生する間隔は、指数分布の無記憶性により、各攻撃活動の平均発生間隔の和で表現することができる。
【００７３】
＊＊＊実施の形態１の効果＊＊＊
一連の攻撃活動の発生に関する各アラートに対処することが可能な程度に、アラートの頻度を制御することが可能となる。
その結果、サイバー攻撃の検知漏れが増えず、且つ、サイバー攻撃の対処漏れが減ることとなる。
【００７４】
＊＊＊他の構成＊＊＊
活動間隔またはシナリオ間隔といった発生間隔は、発生頻度の逆数に相当する。言い換えると、発生頻度は発生間隔の逆数に相当する。発生頻度は、単位時間当たりの発生回数である。例えば、１０分という発生間隔は１時間当たり６回という発生頻度に相当する。
そのため、各発生間隔は発生頻度に変換されてもよい。その場合、基準時間の代わりに基準頻度が用いられる。基準頻度は基準時間の逆数に相当する。
【００７５】
実施の形態２．
各フェーズの攻撃活動が時系列順に発生する組み合わせについてシナリオ間隔を算出する形態について、主に実施の形態１と異なる点を図１６から図１８に基づいて説明する。
【００７６】
＊＊＊構成の説明＊＊＊
アラート頻度制御装置１００の構成は、実施の形態１における構成（図１参照）と同じである。
【００７７】
図１６に基づいて、活動登録データ２０２を説明する。
活動登録データ２０２は、シナリオ間隔を含んでいる。
【００７８】
＊＊＊動作の説明＊＊＊
アラート頻度制御方法の手順は、実施の形態１における手順（図３参照）と同じである。
但し、算出処理（Ｓ１２０）の一部が実施の形態１における処理と異なる。具体的には、図９の算出処理（Ｓ１２０）において、シナリオ間隔算出処理（Ｓ１２４）が実施の形態１における処理と異なる。
【００７９】
図１７に基づいて、シナリオ間隔算出処理（Ｓ１２４）の手順を説明する。
ステップＳ１２４１において、算出部１２０は、検知活動のフェーズを識別する番号を変数ｎに設定する。
図１３において、検知活動のフェーズを識別する番号を対象フェーズ番号という。また、変数ｎに設定されている値を変数ｎの値という。
【００８０】
ステップＳ１２４２において、算出部１２０は、検知活動に対応する活動間隔を活動間隔データから取得する。
具体的には、算出部１２０は、発生端末と対象活動との組に対応付けられた活動間隔を活動間隔データから取得する。対象活動は、検知活動と同じ種類の攻撃活動である。
【００８１】
ステップＳ１２４３において、算出部１２０は変数ｎの値から１を引く。
【００８２】
ステップＳ１２４４において、算出部１２０は、変数ｎの値が１以上であるか判定する。
変数ｎの値が１以上である場合、処理はステップＳ１２４５に進む。
変数ｎの値が１未満である場合、処理はステップＳ１２４８に進む。
【００８３】
ステップＳ１２４５において、算出部１２０は、第ｎフェーズの活動登録データ群が発生端末用の端末ファイルに登録されているか判定する。第ｎフェーズは、変数ｎの値で識別されるフェーズである。活動登録データ群は、１つ以上の活動登録データである。
第ｎフェーズの活動登録データ群が発生端末用の端末ファイルに登録されている場合、処理はステップＳ１２４６に進む。
第ｎフェーズの活動登録データ群が発生端末用の端末ファイルに登録されていない場合、処理はステップＳ１２４３に進む。
【００８４】
ステップＳ１２４６において、算出部１２０は、第ｎフェーズにおける代表のシナリオ間隔を第ｎフェーズの活動登録データ群から選択する。
【００８５】
具体的には、算出部１２０は、第ｎフェーズにおける代表のシナリオ間隔を以下のように選択する。
まず、算出部１２０は、第ｎフェーズの各活動登録データのシナリオ間隔を比較する。
次に、算出部１２０は、第ｎフェーズの代表の活動登録データを選択する。第ｎフェーズの代表の活動登録データは、第ｎフェーズの活動登録データ群の中で最長のシナリオ間隔が設定されている活動登録データである。
そして、算出部１２０は、第ｎフェーズの代表の活動登録データからシナリオ間隔を取得する。取得されるシナリオ間隔が第ｎフェーズにおける代表のシナリオ間隔である。
【００８６】
ステップＳ１２４７において、算出部１２０は、検知活動に対応する活動登録データにシナリオ間隔を設定する。
検知活動に対応する活動登録データは、検知活動と同じ種類の攻撃活動の活動登録データである。
【００８７】
具体的には、算出部１２０は以下のように動作する。
まず、算出部１２０は、ステップＳ１２４２で取得された活動間隔とステップＳ１２４６で選択された代表のシナリオ間隔との合計を算出する。算出される合計を合計間隔という。
次に、算出部１２０は、検知活動に対応する活動登録データを発生端末用の端末ファイルから選択する。
そして、算出部１２０は、検知活動に対応する活動登録データに合計間隔をシナリオ間隔として設定する。
検知活動に対応する活動登録データにシナリオ間隔が既に設定されていた場合、算出部１２０はシナリオ間隔の値を合計間隔に更新する。
【００８８】
ステップＳ１２４８において、算出部１２０は、検知活動に対応する活動登録データにシナリオ間隔を設定する。
検知活動に対応する活動登録データは、検知活動と同じ種類の攻撃活動の活動登録データである。
【００８９】
具体的には、算出部１２０は以下のように動作する。
まず、算出部１２０は、検知活動に対応する活動登録データを発生端末用の端末ファイルから選択する。
そして、算出部１２０は、検知活動に対応する活動登録データに検知活動に対応する活動間隔（ステップＳ１２４２で取得）をシナリオ間隔として設定する。
【００９０】
ステップＳ１２４７またはステップＳ１２４８で検知活動に対応する活動登録データに設定されたシナリオ間隔が、シナリオ間隔算出処理（Ｓ１２４）で算出されたシナリオ間隔である。
【００９１】
図１８に基づいて、シナリオ間隔の概要を説明する。
検知活動（Ｅ３１）のフェーズは第３フェーズである。また、検知活動（Ｅ３１）に対応する活動間隔の値は１１８である。
第２フェーズにおいて、攻撃活動Ｅ２１の活動間隔の値は１６８であり、攻撃活動Ｅ２２の活動間隔の値は１８２である。したがって、第２フェーズにおける代表の活動間隔の値は１８２（＞１６８）である。
この場合、検知活動（Ｅ３１）に対応する活動登録データにはシナリオ間隔の値として３００（＝１１８＋１８２）が設定される。
【００９２】
＊＊＊実施の形態２の補足＊＊＊
第ｎフェーズにおける最長の活動間隔（代表の活動間隔）を選択することは、第ｎフェーズまでの各フェーズの攻撃活動の組み合わせのうち最も発生間隔が長い組み合わせを選択することに相当する。フェーズ番号ｎの昇順は時系列順に対応し、選択された組み合わせの各フェーズの攻撃活動はフェーズ番号ｎの順に発生したことになる。
【００９３】
＊＊＊実施の形態２の効果＊＊＊
各フェーズの攻撃活動が時系列順に発生する組み合わせについてシナリオ間隔を算出することができる。
【００９４】
実施の形態３．
アラートの通知時にオペレータに情報を提供することを可能とする形態について、主に実施の形態２と異なる点を図１９から図２１に基づいて説明する。
【００９５】
＊＊＊構成の説明＊＊＊
アラート頻度制御装置１００の構成は、実施の形態１における構成（図１参照）と同じである。
【００９６】
図１９に基づいて、活動登録データ２０２を説明する。
活動登録データ２０２は、発生時刻リストと対応シナリオといった情報を含んでいる。
発生時刻リストは、対象活動の発生時刻のリストである。つまり、端末ファイルの生成後において対象活動が発生した時刻のリストである。対象活動は、活動登録データ２０２に含まれる活動名称で識別される攻撃活動である。
対応シナリオは、シナリオ間隔に対応するシナリオにおける各フェーズの攻撃活動の活動名称を示す。
シナリオ間隔は、対応シナリオが発生する間隔である。
【００９７】
＊＊＊動作の説明＊＊＊
アラート頻度制御方法の手順は、実施の形態１における手順（図３参照）と同じである。
但し、算出処理（Ｓ１２０）の一部が実施の形態１における処理と異なる。具体的には、図９の算出処理（Ｓ１２０）において、登録処理（Ｓ１２２）およびシナリオ間隔算出処理（Ｓ１２４）が実施の形態１における処理と異なる。
【００９８】
図２０に基づいて、登録処理（Ｓ１２２）を説明する。
ステップＳ１２２１からステップＳ１２２３は、実施の形態１（図１１参照）で説明した通りである。
ステップＳ１２２３の後、処理はステップＳ１２２４に進む。
【００９９】
ステップＳ１２２４において、算出部１２０は、検知活動の発生時刻を対象活動の活動登録データに追加する。
具体的には、算出部１２０は、検知活動の活動データから発生時刻を取得する。取得される発生時刻が検知活動の発生時刻である。そして、算出部１２０は、対象活動の活動登録データの中の発生時刻リストに検知活動の発生時刻を追加する。
【０１００】
図２１に基づいて、シナリオ間隔算出処理（Ｓ１２４）を説明する。
ステップＳ１２４１からステップ１２４６は、実施の形態２（図１７）における処理と同じである。
ステップＳ１２４７およびステップＳ１２４８は、実施の形態２（図１７）における処理と一部異なる。
【０１０１】
ステップＳ１２４７において、算出部１２０は、検知活動に対応する活動登録データを更新する。
検知活動に対応する活動登録データは、検知活動と同じ種類の攻撃活動の活動登録データである。
【０１０２】
具体的には、算出部１２０は、検知活動に対応する活動登録データにシナリオ間隔を設定する。この処理は、実施の形態２（図１７）におけるステップＳ１２４７と同じである。設定されたシナリオ間隔が、シナリオ間隔算出処理（Ｓ１２４）で算出されたシナリオ間隔である。
【０１０３】
さらに、算出部１２０、検知活動に対応する活動登録データに含まれる対応シナリオを以下のように更新する。
まず、算出部１２０は、第ｎフェーズにおける代表の活動登録データから対応シナリオを取得する。取得される対応シナリオを代表シナリオという。
第ｎフェーズにおける代表の活動登録データは、第ｎフェーズにおける代表のシナリオ間隔が設定されている活動登録データである（ステップＳ１２４６を参照）。
次に、算出部１２０は、検知活動に対応する活動登録データに代表シナリオを対応シナリオとして設定する。検知活動に対応する活動登録データに対応シナリオが既に設定されていた場合、算出部１２０は、設定されている対応シナリオを削除した後に代表シナリオを対応シナリオとして設定する。
そして、算出部１２０は、検知活動に対応する活動登録データの中の対応シナリオに検知活動のフェーズの欄を追加し、追加した欄に検知活動の活動名称を設定する。
【０１０４】
ステップＳ１２４８において、算出部１２０は、検知活動に対応する活動登録データを更新する。
検知活動に対応する活動登録データは、検知活動と同じ種類の攻撃活動の活動登録データである。
【０１０５】
具体的には、算出部１２０は、検知活動に対応する活動登録データにシナリオ間隔を設定する。この処理は、実施の形態２（図１７）におけるステップＳ１２４８と同じである。設定されたシナリオ間隔が、シナリオ間隔算出処理（Ｓ１２４）で算出されたシナリオ間隔である。
【０１０６】
さらに、算出部１２０、検知活動に対応する活動登録データに検知活動のフェーズの欄を対応シナリオとして追加し、追加した欄に検知活動の活動名称を設定する。
【０１０７】
＊＊＊実施の形態３の補足＊＊＊
ステップＳ１４１（図１５参照）において、通知部１４０は、検知活動に対応する活動登録データから発生時刻リストと対応シナリオといった情報を取得し、取得した情報をアラートに含めて通知する。
【０１０８】
＊＊＊実施の形態３の効果＊＊＊
発生時刻リストおよび対応シナリオがオペレータに通知されることにより、オペレータの対応を迅速化させる効果が得られる。通知される情報は、発生時刻リストと対応シナリオとの一方であってもよい。
【０１０９】
実施の形態４．
判定処理（Ｓ１３０）の回数を減らす形態について、主に実施の形態３と異なる点を図２２から図２５に基づいて説明する。
【０１１０】
＊＊＊構成の説明＊＊＊
アラート頻度制御装置１００の構成は、実施の形態１における構成（図１参照）と同じである。
【０１１１】
図２２に基づいて、端末ファイル２１０を説明する。
端末ファイル２１０は、暫定間隔を含んでいる。
暫定間隔は、暫定のシナリオ間隔である。
【０１１２】
＊＊＊動作の説明＊＊＊
図２３に基づいて、アラート頻度制御方法を説明する。
ステップＳ１２０においてアラートが不要であると判定された場合、処理はステップＳ１４０に進む。
ステップＳ１２０においてアラートが不要であると判定されなかった場合、処理はステップＳ１３０に進む。
【０１１３】
図２４に基づいて、シナリオ間隔算出処理（Ｓ１２４）を説明する。
ステップＳ１２４１からステップＳ１２４８は、実施の形態３（図２１）における処理と同じである。
【０１１４】
ステップＳ１２４９において、算出部１２０は、発生端末に対応する暫定間隔を更新する。
発生端末に対応する暫定間隔は、発生端末用の端末ファイルに登録されている暫定間隔である。
【０１１５】
図２５に基づいて、暫定間隔更新処理（Ｓ１２４９）を説明する。
暫定間隔更新処理（Ｓ１２４９）において、ステップＳ１２４７またはステップＳ１２４８で検知活動に対応する活動登録データに設定されたシナリオ間隔を検知活動に対応するシナリオ間隔という。
検知活動に対応するシナリオ間隔は、シナリオ間隔算出処理（Ｓ１２４）で算出されたシナリオ間隔となる。
【０１１６】
ステップＳ１２４９１において、算出部１２０は、検知活動に対応するシナリオ間隔を発生端末に対応する暫定間隔と比較する。
シナリオ間隔が暫定間隔より大きい場合、処理はステップＳ１２４９２に進む。
シナリオ間隔が暫定間隔以下である場合、処理はステップＳ１２４９３に進む。
【０１１７】
ステップＳ１２４９２において、算出部１２０は、発生端末に対応する暫定間隔を検知活動に対応するシナリオ間隔に更新する。
【０１１８】
ステップＳ１２４９３において、算出部１２０は、アラートが不要であると判定する。
【０１１９】
＊＊＊実施の形態４の効果＊＊＊
発生端末に対応する暫定間隔が更新された場合にだけ判定処理（Ｓ１３０）が実行される。これにより、判定処理（Ｓ１３０）の回数を減らすことができる。そして、計算リソースを削減することが可能となる。
なお、実施の形態４は、実施の形態１または実施の形態２に適用してもよい。
【０１２０】
実施の形態５．
基準時間を決定する形態について、主に実施の形態１と異なる点を図２６から図３１に基づいて説明する。
【０１２１】
＊＊＊構成の説明＊＊＊
図２６に基づいて、アラート頻度制御装置１００の構成を説明する。
アラート頻度制御装置１００は、さらに、決定部１５０を備える。
アラート頻度制御プログラムは、さらに、決定部１５０としてコンピュータを機能させる。
【０１２２】
＊＊＊動作の説明＊＊＊
図２７に基づいて、アラート頻度制御方法を説明する。
ステップＳ２００において、決定部１５０は基準時間を決定する。
【０１２３】
ステップＳ２００は、アラート頻度制御方法において基準時間を決定するための前処理として行われる。
例えば、ステップＳ２００は、アラート頻度制御装置１００の運用が始まる前の試験期間に行われる。
ステップＳ２００では、模擬された複数の活動データが用いられる。但し、使用されるデータが、模擬されたデータに限定されるわけではない。つまり、実データが用いられてもよい。例えば、既存の装置からアラート頻度制御装置１００に実データをコピーすることにより、実データを用いることが可能となる。
【０１２４】
基準時間は以下のように決定される。
算出部１２０は、１つ以上の攻撃シナリオのそれぞれの仮発生間隔を算出する。仮発生間隔は、ステップＳ２００で算出される発生間隔、つまり、基準時間が決定される前に算出される発生間隔である。
各仮発生間隔が暫定時間より長い場合、判定部１３０は、アラートが必要であると判定する。暫定時間は、基準時間に相当する時間である。
そして、決定部１５０は、アラートが必要であると判定された頻度を推定頻度として計測し、推定頻度に基づいて基準時間を決定する。
【０１２５】
具体的には、基準時間は以下のように決定される。
推定頻度が更新停止条件を満たす場合、決定部１５０は暫定時間を基準時間に決定する。更新停止条件は、暫定時間の更新が停止される条件として予め決められた条件である。
推定頻度が更新停止条件を満たさない場合、決定部１５０は、暫定時間を更新する。
暫定時間が更新された後、算出部１２０は、１つ以上の新たな仮発生間隔を算出する。
各新たな仮発生間隔が更新後の暫定時間より長い場合、判定部１３０は、アラートが必要であると判定する。
決定部１５０は、暫定時間が更新された後にアラートが必要であると判定された頻度を新たな推定頻度として計測する。
そして、新たな推定頻度が更新停止条件を満たす場合、決定部１５０は更新後の暫定時間を基準時間に決定する。
【０１２６】
図２８に基づいて、決定処理（Ｓ２００）の詳細を説明する。
ステップＳ２１０において、決定部１５０は、暫定時間と第１時間と第２時間とを初期化する。
【０１２７】
第１時間と第２時間とについて以下に説明する。
第１時間は、現在の暫定時間より短い過去の暫定時間のうち最も長い過去の暫定時間である。つまり、第１時間は、現在の暫定時間より短くて現在の暫定時間に長さが最も近い過去の暫定時間である。
第２時間は、現在の暫定時間より長い過去の暫定時間のうち最も短い過去の暫定時間である。つまり、第２時間は、現在の暫定時間より長くて現在の暫定時間に長さが最も近い過去の暫定時間である。
【０１２８】
図２９に基づいて、第１時間および第２時間を説明する。
暫定時間ＴＣは、現在の暫定時間である。暫定時間Ｔ１から暫定時間Ｔ１０は、過去の暫定時間である。
第１時間は、暫定時間ＴＣより短い暫定時間Ｔ１から暫定時間Ｔ５のうち最も長い暫定時間Ｔ５である。
第２時間は、暫定時間ＴＣより長い暫定時間Ｔ６から暫定時間Ｔ１０のうち最も短い暫定時間Ｔ６である。
【０１２９】
図２８に戻り、ステップＳ２１０の説明を続ける。
具体的には、決定部１５０は、暫定時間と第１時間と第２時間とのそれぞれに初期値を設定する。
例えば、決定部１５０は、暫定時間に１を設定し、第１時間に０を設定し、第２時間に無限大を設定する。
【０１３０】
ステップＳ２２０において、決定部１５０は推定頻度を計測する。
具体的には、予め決められた計測時間の間、模擬された各活動データがアラート頻度制御装置１００に入力される。そして、管理部１１０、算出部１２０および判定部１３０が、模擬された各活動データに対する処理を行う。その処理は、実際の各活動データに対する処理（Ｓ１１０〜Ｓ１４０）と同じである。
ステップＳ２２０で算出部１２０によって算出される発生間隔を仮発生間隔という。各仮発生間隔が暫定時間より長い場合、判定部１３０はアラートが必要であると判定する。
決定部１５０は、アラートが必要であると判定された頻度を計測する。計測される頻度が推定頻度である。
具体的には、決定部１５０は、アラートが必要であると判定されたアラート回数を数え、計測時間を単位時間で割って得られる値でアラート回数を割る。その結果、得られる値が推定頻度である。
【０１３１】
ステップＳ２３０において、決定部１５０は、推定頻度が更新停止条件を満たすか判定する。
【０１３２】
具体的には、更新停止条件は次の式で表すことができる。
０  ＜  （λＥ−λＳ）  ＜  （０．０５×λＳ）
λＥは推定頻度である。
λＳは基準頻度である。基準頻度は予め決められた頻度である。具体的には、基準頻度は、オペレーションセンタで各アラートを処理することが可能なアラート頻度である。
【０１３３】
つまり、決定部１５０は、推定頻度が基準頻度より大きく基準頻度の１．０５倍より小さいか判定する。
推定頻度が基準頻度より大きく基準頻度の１．０５倍より小さい場合、推定頻度が更新停止条件を満たす。
【０１３４】
推定頻度が更新停止条件を満たす場合、処理は終了する。このときの暫定時間が基準時間となる。
推定頻度が更新停止条件を満たさない場合、処理はステップＳ２４０に進む。
【０１３５】
ステップＳ２４０において、決定部１５０は暫定時間を更新する。
具体的には、暫定時間は以下のように更新される。
推定頻度が基準頻度以下である場合、決定部１５０は暫定時間を縮める。
推定頻度が基準頻度の１．０５倍以上である場合、決定部１５０は暫定時間を延ばす。
ステップＳ２４０の後、処理はステップＳ２２０に進む。
【０１３６】
図３０および図３１に基づいて、更新処理（Ｓ２４０）の手順を説明する。
ステップＳ２４１（図３０参照）において、決定部１５０は、推定頻度を基準頻度と比較する。
推定頻度が基準頻度より大きい場合、処理はステップＳ２４２に進む。
推定頻度が基準頻度以下である場合、処理はステップＳ２４６（図３１参照）に進む。
【０１３７】
ステップＳ２４２において、決定部１５０は、第１時間を暫定時間に更新する。
【０１３８】
ステップＳ２４２は次の式で表すことができる。
Ｓｍａｘ  ＝  Ｔｐ
Ｔｐは暫定時間である。
Ｓｍａｘは第１時間である。
【０１３９】
ステップＳ２４３において、決定部１５０は、第２時間が第２時間用の初期値（無限大）であるか判定する。
第２時間が第２時間用の初期値（無限大）である場合、処理はステップＳ２４４に進む。
第２時間が第２時間用の初期値（無限大）でない場合、処理はステップＳ２４５に進む。
【０１４０】
ステップＳ２４４において、決定部１５０は、暫定時間を倍の時間に更新する。
【０１４１】
ステップＳ２４４は次の式で表すことができる。
Ｔｐ  ＝  ２Ｔｐ
Ｔｐは暫定時間である。
【０１４２】
ステップＳ２４５において、決定部１５０は、暫定時間と第２時間との中間の時間に暫定時間を更新する。
【０１４３】
ステップＳ２４５は次の式で表すことができる。
Ｔｐ  ＝  （Ｌｍｉｎ＋Ｔｐ）／２
Ｔｐは暫定時間である。
Ｌｍｉｎは第２時間である。
【０１４４】
ステップＳ２４６（図３１参照）において、決定部１５０は、第２時間を暫定時間に更新する。
【０１４５】
ステップＳ２４６は以下の式で表すことができる。
Ｌｍｉｎ  ＝  Ｔｐ
Ｔｐは暫定時間である。
Ｌｍｉｎは第２時間である。
【０１４６】
ステップＳ２４７において、決定部１５０は、第１時間が第１時間用の初期値（無限大）であるか判定する。
第１時間が第１時間用の初期値（無限大）である場合、処理はステップＳ２４８に進む。
第１時間が第１時間用の初期値（無限大）でない場合、処理はステップＳ２４９に進む。
【０１４７】
ステップＳ２４８において、決定部１５０は、暫定時間を半分の時間に更新する。
【０１４８】
ステップＳ２４８は次の式で表すことができる。
Ｔｐ  ＝  Ｔｐ／２
Ｔｐは暫定時間である。
【０１４９】
ステップＳ２４９において、決定部１５０は、第１時間と暫定時間との中間の時間に暫定時間を更新する。
【０１５０】
ステップＳ２４９は次の式で表すことができる。
Ｔｐ  ＝  （Ｓｍａｘ＋Ｔｐ）／２
Ｔｐは暫定時間である。
Ｓｍａｘは第１時間である。
【０１５１】
図２７に戻り、ステップＳ２００の後の処理を説明する。
ステップＳ２００の後、ステップＳ１１０からステップＳ１４０が実行される。
ステップＳ１１０からステップＳ１４０は、実施の形態１（図３参照）で説明した通りである。ステップＳ１３０では、ステップＳ２００で決定された基準時間が用いられる。
【０１５２】
＊＊＊実施の形態５の効果＊＊＊
実施の形態１に適した基準時間を自動で決定することができる。
その結果、より適切にアラートの頻度を制御することが可能となる。そして、サイバー攻撃の検知漏れが増えず、且つ、サイバー攻撃の対処漏れが減ることとなる。
【０１５３】
実施の形態６．
基準時刻を調整する形態について、主に実施の形態１と異なる点を図３２および図３３に基づいて説明する。
【０１５４】
＊＊＊構成の説明＊＊＊
図３２に基づいて、アラート頻度制御装置１００の構成を説明する。
アラート頻度制御装置１００は、さらに、調整部１６０を備える。
アラート頻度制御プログラムは、さらに、調整部１６０としてコンピュータを機能させる。
【０１５５】
＊＊＊動作の説明＊＊＊
調整部１６０は、指定された調整期間の間、調整処理（Ｓ３００）を実行する。調整期間の満了後、調整部１６０は、アラート頻度制御装置１００を調整処理（Ｓ３００）の実行前の状態に戻す。
例えば、調整部１６０は、アラート頻度制御装置１００が運用される日ごとに、運用終了時刻の１時間前に調整処理（Ｓ３００）を実行し、運用終了時刻にアラート頻度制御装置１００を調整処理（Ｓ３００）の実行前の状態に戻す。
【０１５６】
調整処理（Ｓ３００）において、調整部１６０は基準時間を調整する。
具体的には、調整部１６０は、基準時間に基づいてアラートが必要であると判定された頻度を現在頻度として計測し、現在頻度に基づいて基準時間を調整する。
【０１５７】
図３３に基づいて、調整処理（Ｓ３００）の手順を説明する。
ステップＳ３１０において、調整部１６０は現在頻度を計測する。
具体的には、調整部１６０は、運用開始時刻から調整時刻までのアラート回数を数える。アラート回数は、アラートが必要であると判定された回数である。そして、調整部１６０は、運用開始時刻から調整時刻までの時間を単位時間で割って得られる値でアラート回数を割る。その結果、得られる値が現在頻度である。
【０１５８】
ステップＳ３２０において、調整部１６０は、現在頻度が調整条件を満たすか判定する。
調整条件は、基準時間が調整される条件として予め決められた条件である。
【０１５９】
具体的には、調整条件は次の式で表すことができる。
λＮ  ＜  λＳ
λＮは現在頻度である。
λＳは基準頻度である。基準頻度は予め決められた頻度である。具体的には、基準頻度は、オペレーションセンタで各アラートを処理することが可能なアラート頻度である。
【０１６０】
つまり、調整部１６０は、現在頻度が基準頻度未満であるか判定する。
現在頻度が基準頻度未満である場合、現在頻度が調整条件を満たす。
【０１６１】
現在頻度が調整条件を満たす場合、処理はステップＳ３３０に進む。
現在頻度が調整条件を満たさない場合、処理は終了する。この場合、基準時間は調整されない。
【０１６２】
ステップＳ３３０において、調整部１６０は基準時間を調整する。
具体的には、調整部１６０は基準時間を縮める。
【０１６３】
例えば、調整部１６０は、単位時間ごとに基準時間を一定時間短くし、単位時間ごとに現在頻度を算出する。現在頻度が調整条件を満たさなくなった場合、調整部１６０は基準時間を元の値に戻す。そして、調整部１６０は、ふたたび単位時間ごとに基準時間を一定時間短くする。
具体的には、調整部１６０は、１分ごとに基準時間を１小さくし、１分ごとに現在頻度を計算する。現在頻度が調整条件を満たさなくなった場合、調整部１６０は基準時間を元の値に戻す。
【０１６４】
例えば、調整部１６０は、次の式を計算することによって基準頻度を更新する。
λＳ  ＝  λＳ  ＋  （λＳ  −  λＮ）
次に、調整部１６０は、実施の形態５の方法を適用して、複数の基準頻度に対する基準時間を予め求める。
そして、調整部１６０は、更新された基準頻度を超えず、且つ、更新された基準頻度に最も近い基準頻度に対応する基準時間を調整後の基準時間とする。
【０１６５】
＊＊＊実施の形態６の効果＊＊＊
各アラートに対処することが可能な程度に基準時間を自動で調整することができる。
その結果、サイバー攻撃の検知漏れを減らすことができる。
【０１６６】
＊＊＊他の構成＊＊＊
図３３の調整処理（Ｓ３００）において、現在頻度が基準頻度を超える場合、調整部１６０は基準時間を延ばしてもよい。
【０１６７】
アラート頻度制御装置１００は、実施の形態５のように決定部１５０を備えてもよい。つまり、運用の開始前に決定部１５０によって基準時間が自動で決定されてもよい。
【０１６８】
＊＊＊実施の形態の補足＊＊＊
図３４に基づいて、アラート頻度制御装置１００のハードウェア構成を説明する。
アラート頻度制御装置１００は処理回路９９０を備える。
処理回路９９０は、管理部１１０と算出部１２０と判定部１３０と通知部１４０と決定部１５０と調整部１６０との全部または一部を実現するハードウェアである。
処理回路９９０は、専用のハードウェアであってもよいし、メモリ９０２に格納されるプログラムを実行するプロセッサ９０１であってもよい。
【０１６９】
処理回路９９０が専用のハードウェアである場合、処理回路９９０は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。
ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ
Ａｒｒａｙの略称である。
アラート頻度制御装置１００は、処理回路９９０を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路９９０の役割を分担する。
【０１７０】
アラート頻度制御装置１００において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
【０１７１】
このように、処理回路９９０はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【０１７２】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１７３】
１００  アラート頻度制御装置、１１０  管理部、１２０  算出部、１３０  判定部、１４０  通知部、１５０  決定部、１６０  調整部、１９１  記憶部、１９２  受信部、１９３  送信部、２０１  活動データ、２０２  活動登録データ、２１０  端末ファイル、２２０  活動間隔データ、２３０  攻撃活動一覧、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  通信装置、９９０  処理回路。
【図１】
0006671557.tif 000002
【図２】
0006671557.tif 000003
【図３】
0006671557.tif 000004
【図４】
0006671557.tif 000005
【図５】
0006671557.tif 000006
【図６】
0006671557.tif 000007
【図７】
0006671557.tif 000008
【図８】
0006671557.tif 000009
【図９】
0006671557.tif 000010
【図１０】
0006671557.tif 000011
【図１１】
0006671557.tif 000012
【図１２】
0006671557.tif 000013
【図１３】
0006671557.tif 000014
【図１４】
0006671557.tif 000015
【図１５】
0006671557.tif 000016
【図１６】
0006671557.tif 000017
【図１７】
0006671557.tif 000018
【図１８】
0006671557.tif 000019
【図１９】
0006671557.tif 000020
【図２０】
0006671557.tif 000021
【図２１】
0006671557.tif 000022
【図２２】
0006671557.tif 000023
【図２３】
0006671557.tif 000024
【図２４】
0006671557.tif 000025
【図２５】
0006671557.tif 000026
【図２６】
0006671557.tif 000027
【図２７】
0006671557.tif 000028
【図２８】
0006671557.tif 000029
【図２９】
0006671557.tif 000030
【図３０】
0006671557.tif 000031
【図３１】
0006671557.tif 000032
【図３２】
0006671557.tif 000033
【図３３】
0006671557.tif 000034
【図３４】
0006671557.tif 000035