(57)【要約】  攻撃による影響がどのように広がっていくかを分析可能な分析システムを提供する。トポロジ特定部４は、診断対象システムに含まれる機器のネットワークトポロジを特定する。検出部５は、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する。時間情報特定部７は、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する。表示制御部８は、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する。このとき、表示制御部８は、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートをディスプレイ装置上に表示する。
2020195229.tif 000002
【特許請求の範囲】
【請求項１】
診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定部と、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出部と、
各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する時間情報特定部と、
前記ネットワークトポロジに重畳させて前記攻撃ルートをディスプレイ装置上に表示する表示制御部とを備え、
前記表示制御部は、
各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートを前記ディスプレイ装置上に表示する
ことを特徴とする分析システム。                            
【請求項２】
表示制御部は、
各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルート上の機器の表示態様を時間経過に伴い変える
請求項１に記載の分析システム。
【請求項３】
表示制御部は、
各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルート上における、既に攻撃者による攻撃が成功した機器と、攻撃を受けている最中の機器と、これから攻撃を受ける機器とを、それぞれ異なる態様で表示する
請求項１または請求項２に記載の分析システム。
【請求項４】
表示制御部は、
各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルートに沿った攻撃がどこまで進んだかを示す矢印を時間経過に伴い伸ばすようにして、各攻撃ルートを表示する
請求項１に記載の分析システム。
【請求項５】
表示制御部は、
攻撃ルート毎に、攻撃ルート上のそれぞれの機器の１つ前の機器から前記それぞれの機器までの区間を、前記それぞれの機器の時間情報に応じた態様でディスプレイ装置上に表示する
請求項１に記載の分析システム。
【請求項６】
攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定する被害特定部を備え、
表示制御部は、
攻撃ルート上の機器の近傍に被害情報を表示する
請求項１から請求項５のうちのいずれか１項に記載の分析システム。
【請求項７】
コンピュータが、
診断対象システムに含まれる機器のネットワークトポロジを特定し、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出し、
各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定し、
前記ネットワークトポロジに重畳させて前記攻撃ルートをディスプレイ装置上に表示し、
攻撃ルートを前記ディスプレイ装置上に表示するときに、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートを前記ディスプレイ装置上に表示する
ことを特徴とする分析方法。
【請求項８】
コンピュータに、
診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理、
各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する時間情報特定処理、および、
前記ネットワークトポロジに重畳させて前記攻撃ルートをディスプレイ装置上に表示する表示制御処理を実行させ、
前記コンピュータに、
前記表示制御処理で、
各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートを前記ディスプレイ装置上に表示させる
ための分析プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断対象システムへの攻撃に対する対処に関する判断材料となる情報を表示する分析システム、分析方法および分析プログラムに関する。
【背景技術】
【０００２】
複数のコンピュータ等を含む情報処理システムにおいて、情報資産をサイバー攻撃等から守るためのセキュリティ対策をとることが求められている。セキュリティ対策としては、対象となるシステムの脆弱性等を診断し、必要に応じて脆弱性を取り除くこと等が挙げられる。【０００３】
特許文献１には、ネットワークに接続された各コンピュータからなるシステムを評価対象として、シミュレータによって、脆弱性の検査を擬似的に評価することが記載されている。【０００４】
また、特許文献１には、クライアント／サーバの信頼性に基づく脆弱性の伝搬を評価することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１０８５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
セキュリティ診断の対象となるシステムを、診断対象システムと記す。また、攻撃ルートは、診断対象システムにおいて、実行可能な攻撃の流れを示すものである。【０００７】
セキュリティに関する対策をとるために、各脆弱性による影響を評価することが一般的である。【０００８】
しかし、診断対象システムの構成は、診断対象システム毎にそれぞれ異なるので、脆弱性による影響の評価のみでは、攻撃による診断対象システムへの影響を把握することは困難である。【０００９】
特に、複数の攻撃ルートが存在する場合に、セキュリティ管理者にとって、攻撃の広がりが分からず、対処すべき箇所の把握が難しい。【００１０】
そこで、本発明は、攻撃による影響がどのように広がっていくかを分析可能な分析システム、分析方法および分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による分析システムは、診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定部と、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出部と、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する時間情報特定部と、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御部とを備え、表示制御部が、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートをディスプレイ装置上に表示することを特徴とする。【００１２】
本発明による分析方法は、コンピュータが、診断対象システムに含まれる機器のネットワークトポロジを特定し、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出し、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定し、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示し、攻撃ルートをディスプレイ装置上に表示するときに、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートをディスプレイ装置上に表示することを特徴とする。【００１３】
本発明による分析プログラムは、コンピュータに、診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する時間情報特定処理、および、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する表示制御処理を実行させ、コンピュータに、表示制御処理で、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートをディスプレイ装置上に表示させることを特徴とする。また、本発明は、上記の分析プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
【発明の効果】
【００１４】
本発明によれば、攻撃による影響がどのように広がっていくかを分析することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態の分析システムの例を示すブロック図である。
【図２】トポロジ特定部によって特定されるネットワークトポロジの例を示す模式図である。
【図３】「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報の例を示す模式図である。
【図４】脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定に応じて予め定められた時間情報を格納したテーブルの例を示す模式図である。
【図５】ソフトウェアと脆弱性との対応関係を示す情報の例を示す模式図である。
【図６】時間経過に伴う表示の変化の例を示す模式図である。
【図７】時間経過に伴う表示の変化の例を示す模式図である。
【図８】時間経過に伴う表示の変化の例を示す模式図である。
【図９】これから矢印が伸びる部分を点線で表示する場合の表示例を示す模式図である。
【図１０】時間経過に伴う表示の変化の例を示す模式図である。
【図１１】時間経過に伴う表示の変化の例を示す模式図である。
【図１２】時間経過に伴う表示の変化の例を示す模式図である。
【図１３】第１の実施形態の分析システムの処理経過の例を示すフローチャートである。
【図１４】第１の実施形態の変形例における各攻撃ルートの表示例を示す模式図である。
【図１５】本発明の第２の実施形態の分析システムの例を示すブロック図である。
【図１６】被害情報記憶部が記憶する情報の例を示す模式図である。
【図１７】第２の実施形態における時間経過に伴う表示の変化の例を示す模式図である。
【図１８】第２の実施形態における時間経過に伴う表示の変化の例を示す模式図である。
【図１９】第２の実施形態における時間経過に伴う表示の変化の例を示す模式図である。
【図２０】本発明の各実施形態の分析システムに係るコンピュータの構成例を示す概略ブロック図である。
【図２１】本発明の分析システムの概要を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面を参照して説明する。
【００１７】
実施形態１．
図１は、本発明の第１の実施形態の分析システムの例を示すブロック図である。第１の実施形態の分析システム１は、データ収集部２と、データ記憶部３と、トポロジ特定部４と、検出部５と、時間情報記憶部６と、時間情報特定部７と、表示制御部８と、ディスプレイ装置９とを備える。
【００１８】
本発明の各実施形態における分析システムは、診断対象システムを仮想化し、各機器の情報等に基づいてシミュレーションを行うことによって、診断対象システムの分析を行う分析システムを想定している。
【００１９】
データ収集部２は、診断対象システム（セキュリティ診断の対象となるシステム）に含まれる各機器に関する情報を収集する。
【００２０】
診断対象システムの例として、例えば、企業内のＩＴ（Information Technology）システムや、工場やプラント等を制御するためのいわゆるＯＴ（Operational Technology）システム等が挙げられる。ただし、診断対象システムは、これらのシステムに限られない。複数の機器が通信ネットワークを介して接続されたシステムが、診断対象システムとなり得る。
【００２１】
診断対象システムに含まれる各機器は、通信ネットワークを介して接続されている。診断対象システムに含まれる機器の例として、例えば、パーソナルコンピュータ、サーバ、スイッチ、ルータ、工場に設置される工作機器、工作機器の制御装置等が挙げられる。ただし、機器は、上記の例に限定されない。また、機器は、物理的な機器であっても、仮想的な機器であってもよい。
【００２２】
データ収集部２が収集する情報の例として、例えば、機器に搭載されているＯＳ（Operating System）やそのバージョン情報、機器に搭載されているハードウェアの構成情報、機器に搭載されているソフトウェアやそのバージョン情報、機器が他の機器との間で授受する通信データやその通信データの授受に用いた通信プロトコルの情報、機器のポートの状態を示す情報（どのポートが開いているか）等が挙げられる。通信データには、その通信データの送信元や送信先の情報が含まれている。
【００２３】
データ収集部２は、さらに、機器に関する情報として、攻撃の波及に関連する情報を収集する。攻撃の波及に関連する情報の例として、パスワードの総当たり攻撃に関する情報が挙げられる。この情報は、認証時におけるロックアウト設定の有無、ロックアウトが設定されている場合のロックアウト期間、認証時における認証間隔設定の有無、認証間隔が設定されている場合の認証間隔、および、パスワードポリシ等を含む。
【００２４】
ロックアウト設定とは、認証時に所定回数、認証に失敗した場合に、一定期間、アカウント情報の受け付けを拒否する設定である。この一定期間を、ロックアウト期間と称する。ロックアウト期間の例として、例えば、数分から１時間程度等の期間が挙げられる。
【００２５】
また、認証間隔設定とは、１回認証に失敗した場合に、一定期間経過するまでアカウント情報を受け付けない設定である。この一定期間を、認証間隔と称する。認証間隔の例として、例えば、１０秒程度の期間が挙げられる。
【００２６】
パスワードポリシとは、認証時に用いるパスワードに関する規定を定めた情報である。パスワードポリシによって定められるパスワードに関する規定の例として、パスワードの文字数が挙げられる。ただし、パスワードポリシが定める規定は文字数に限定されず、パスワードの文字数に加えて、他の規定が定められていてもよい。
【００２７】
データ収集部２が収集する情報の例は、上記の例に限定されず、データ収集部２は、機器に関する情報として、他の情報を収集してもよい。
【００２８】
データ収集部２は、診断対象システムに含まれる各機器から、直接、機器に関する情報を収集してもよい。この場合、分析システム１は、各機器と通信ネットワークを介して接続されていて、データ収集部２は、通信ネットワークを介して、各機器から情報を収集すればよい。
【００２９】
あるいは、データ収集部２は、各機器の情報を収集する情報収集サーバから、各機器に関する情報を取得してもよい。この場合、分析システム１は、情報収集サーバと通信ネットワークを介して接続されていて、データ収集部２は、通信ネットワークを介して、情報収集サーバから各機器に関する情報を収集すればよい。
【００３０】
また、各機器にエージェントが搭載されている場合には、データ収集部２は、エージェントを介して各機器に関する情報を収集してもよく、エージェントを介して各機器の情報を収集した情報収集サーバから各機器に関する情報を取得してもよい。
【００３１】
各機器に搭載されたエージェントがそれぞれ、機器に関する情報を情報収集サーバに送信し、データ収集部２は、その情報収集サーバから、診断対象システムに含まれる各機器に関する情報を収集してもよい。この場合、例えば、分析システム１は、情報収集サーバと通信ネットワークを介して接続されていて、データ収集部２は、通信ネットワークを介して、その情報収集サーバから各機器に関する情報を収集すればよい。
【００３２】
データ収集部２は、診断対象システムに含まれる各機器に関する情報を収集すると、その情報を、データ記憶部３に記憶させる。
【００３３】
データ記憶部３は、データ収集部２が収集した各機器に関する情報を記憶する記憶装置である。
【００３４】
トポロジ特定部４は、各機器のネットワークトポロジを特定する。具体的には、トポロジ特定部４は、セキュリティ管理者（以下、単に管理者と記す。）から与えられたネットワークトポロジの構成を基に、各機器のネットワークトポロジを特定してもよいし、データ記憶部３に記憶された各機器に関する情報を基に、各機器のネットワークトポロジを特定してもよい。図２は、トポロジ特定部４によって特定されるネットワークトポロジの例を示す模式図である。図２では、複数の機器が通信ネットワークを介して接続されている状況を示している。
【００３５】
検出部５は、データ記憶部３に記憶された各機器に関するセキュリティの情報に基づいて、診断対象システムにおける攻撃ルートを検出する。具体的に、機器に関するセキュリティの情報は、機器に関するセキュリティ対応状況等を含む。
【００３６】
攻撃ルートは、診断対象システムにおいて、実行可能な攻撃の流れを示すものである。具体的には、攻撃ルートは、攻撃の起点となる機器から攻撃の終点となる機器までの、攻撃を受ける機器の順を示すルートである。
【００３７】
検出部５は、各機器に関するセキュリティの情報と、予め定められた分析ルールとに基づいて、攻撃ルートを検出してもよい。
【００３８】
また、例えば、検出部５は、以下に示す方法で攻撃ルートを検出してもよい。
【００３９】
まず、攻撃には複数の種類があり、機器の有する脆弱性に応じて、受ける可能性がある攻撃が異なる。そこで、本発明の各実施形態では、脆弱性によって攻撃を受ける可能性がある機器の状態を攻撃状態と定義する。例えば、攻撃状態として、「コードを実行できる状態（以下、execCodeと記す。）」、「データを改ざんできる状態（以下、dataInjectと記す。）」、「ファイルにアクセスできる状態（以下、accessFileと記す。）」、「アカウント情報を持っている状態（以下、hasAccountと記す。）」、「ＤｏＳ（Denial of Service ）攻撃を行える状態」等が挙げられる。
【００４０】
また、「機器と攻撃状態との組合せ」から別の「機器と攻撃状態との組合せ」への遷移を示す情報を攻撃シナリオと称することとする。「機器と攻撃状態との組合せ」から別の「機器と攻撃状態との組合せ」への遷移とは、ある機器にてある攻撃が可能になることで、その機器または別の機器で別のある攻撃が可能になることを示すものである。検出部５は、各機器に関するセキュリティの情報と、予め定められた分析ルールとに基づいて、診断対象システムで起こり得る攻撃シナリオを検出する。具体的には、検出部５は、各機器に関するセキュリティの情報が、分析ルールが示す条件にマッチするかに応じて、攻撃シナリオを検出する。検出部５は、検出した複数の攻撃シナリオにおいて、「機器と攻撃状態との組合せ」をノードとみなし、共通のノードを繋げることで、「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報を得る。図３は、この情報の例を模式的に示す模式図である。図３において、“Ａ”，“Ｂ”，“Ｕ”，“Ｗ”，“Ｘ”，“Ｙ”，“Ｚ”はそれぞれ機器を表わしている。ここでは、図３に示す情報が得られた場合を例にして説明する。
【００４１】
また、検出部５は、ユーザインタフェース（図示略）を介して、管理者から、分析対象の指定を受け付ける。分析対象は、攻撃の起点となる機器、攻撃の終点となる機器、および、それらの組み合わせ等でもよい。また、複数の分析対象の指定があってもよい。検出部５は、管理者から指定された分析対象に関して、「機器と攻撃状態との組合せ」の複数の遷移関係を示す情報（図３参照）に基づいて、攻撃ルートを検出する。
【００４２】
例えば、攻撃の起点となる機器Ｘと攻撃の終点となる機器Ｚとが管理者によって指定された場合、検出部５は、図３に模式的に示す情報に基づいて、「Ｘ→Ａ→Ｙ→Ｚ」という攻撃ルート（以下、攻撃ルート１と記す。）、および、「Ｘ→Ａ→Ｂ→Ｚ」という攻撃ルート（以下、攻撃ルート２と記す。）を検出することができる。このように、１つの起点および１つの終点が指定された場合であっても、複数の攻撃ルートが存在することもあり得る。
【００４３】
また、例えば、攻撃の起点となる機器Ｘと攻撃の終点となる機器Ｗとが管理者によって指定された場合、検出部５は、図３に模式的に示す情報に基づいて、「Ｘ→Ａ→Ｙ→Ｗ」という攻撃ルートを検出することができる。
【００４４】
この方法は、検出部５が攻撃ルートを検出する方法の一例である。
【００４５】
上記の方法において、異なる攻撃ルート上に共通の機器が存在する場合であっても、その機器の攻撃状態が同一であるとは限らない。機器が複数の脆弱性を有していたり、１つの脆弱性によって複数の攻撃を受けてしまう可能性もあるため、異なる攻撃ルート上の共通の機器の攻撃状態が異なる場合がある。例えば、上記の攻撃ルート１では、機器Ａの攻撃状態は“dataInject”であり、上記の攻撃ルート２では、機器Ａの攻撃状態は“hasAccount”である（図３参照）。
【００４６】
また、管理者に指定された分析対象に対して、必ず攻撃ルートが検出されるとは限らない。例えば、攻撃の起点となる機器Ｚと攻撃の終点となる機器Ｘとが管理者によって指定された場合、攻撃ルートは検出されない（図３参照）。すなわち、機器Ｚから機器Ｘに至る攻撃は存在しないということである。
【００４７】
また、管理者が起点のみを指定する場合、検出部５は、後述する重要機器を終点として設定してもよい。また、管理者が終点のみを指定する場合、検出部５は、起点となりうる可能性の高い所定の端末を起点として設定してもよい。
【００４８】
時間情報特定部７は、機器から収集された情報や、時間情報記憶部６に記憶された情報を参照することによって、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する。時間情報特定部７が機器毎に時間情報を特定する動作については後述する。
【００４９】
なお、時間情報は、機器への攻撃に要する時間そのものを表わす情報であってもよい。機器への攻撃に要する時間は概算値であってもよい。また、、時間情報は、機器への攻撃に要する時間を相対的に表した情報であってもよい。機器への攻撃に要する時間を相対的に表した情報は、「長時間」、「中程度の時間」、「短時間」等のラベルであってもよい。以下の説明では、時間情報として、機器への攻撃に要する時間を表した数値を用いる場合を例にして説明する。
【００５０】
また、時間情報は、攻撃のスピードの程度を表わしているということもできる。
【００５１】
時間情報記憶部６は、時間情報特定部７が機器毎に時間情報を特定するために用いる情報を記憶する記憶装置である。
【００５２】
時間情報記憶部６は、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定（以下に示す例では、認証に関する設定）に応じて定められた時間情報を、例えば、図４に例示するテーブル形式で記憶する。
【００５３】
なお、セキュリティ上の脆弱性は、大きく２つがある。第１は、ソフトウェアや機器（ルータ等）の不具合が原因の脆弱性である。この脆弱性については、様々な機関によって情報が収集、分類され、脆弱性は、適宜、採番される。一例として、共通脆弱性識別子ＣＶＥ（Common Vulnerabilities and Exposures）では、発見された脆弱性に対して“CVE-****-**** ”という形式の識別子が割り当てられる。第２は、プロトコルの仕様が原因の脆弱性である。このような脆弱性の例として、「ＦＴＰ（File Transfer Protocol）の悪用」、「Telnetの悪用」等が挙げられる。本発明の各実施形態において、脆弱性は、この第１および第２の脆弱性を含む。
【００５４】
図４は、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定に応じて予め定められた時間情報を格納したテーブルの例を示す模式図である。時間情報記憶部６は、図４に例示するテーブルを記憶する。なお、前述のように、時間情報として、機器への攻撃に要する時間を表した数値を用いる場合を例にする。
【００５５】
図４に示す例では、ソフトウェアや機器の脆弱性に関しては、「攻撃前の認証要否（Authentication）」、「攻撃ツールの有無」、「攻撃元区分（Access Vector ）」、「攻撃複雑性（Access Complexity ）」が予め定められている。「攻撃前の認証要否」、「攻撃元区分」および「攻撃複雑性」は、個々の脆弱性に対応するＣＶＳＳ  ｖ３（Common Vulnerability Scoring System v3）によって行った評価から分かる。すなわち、管理者は、脆弱性毎に関するＣＶＳＳ  ｖ３による評価結果を参照することで、「攻撃前の認証要否」、「攻撃元区分」および「攻撃複雑性」を知ることができる。
【００５６】
「攻撃前の認証要否」には、「複数（攻撃する場合、２つ以上の認証が必要である）」、「単数（攻撃前に認証が必要である）」、「不要（攻撃前に認証が不要である）」という３つの区分がある。
【００５７】
また、攻撃ツールとは、脆弱性に対する攻撃に使用されるツールである。攻撃ツールの例として、例えば、ダークウェブで配布されているエクスプロイトキット等のハッキングツールが挙げられる。
【００５８】
また、「攻撃元区分」とは、「どこから攻撃可能か」を示す。例えば、「攻撃元区分」が「ローカル」であるならば、ＵＳＢ（Universal Serial Bus）経由等のローカル環境からの攻撃が必要であることを表わしている。また、例えば、「攻撃元区分」が「ネットワーク」であるならば、リモートからの攻撃が可能であることを表わしている。
【００５９】
「攻撃複雑性」は、攻撃条件の複雑さであり、「高」、「中」、「低」の３つの区分に分けられている。
【００６０】
管理者は、「機器」、「攻撃前の認証要否」、「攻撃ツールの有無」、「攻撃元区分」、「攻撃複雑性」に応じて、ソフトウェアや機器の脆弱性の時間情報（脆弱性に対する攻撃に要する時間の程度）を予め定める。例えば、図４に例示する“CVE-2016-8*88 ”では、「機器」が「ルータ」であり、「攻撃前の認証要否」が「不要」であり、攻撃ツールが存在し、「攻撃元区分」が「ネットワーク」であり、「攻撃複雑性」が「低」である。これらのことから、管理者は、“CVE-2016-8*88 ”の時間情報を予め定めればよい。
【００６１】
さらに、「攻撃前の認証要否」が「単数」または「複数」である脆弱性に関しては、「パスワードの文字数」、「ロックアウト期間」および「認証間隔」といった、管理者によって予め定められた認証に関する種々の設定の組み合わせに応じて、管理者が時間情報を定める。例えば、図４に示す例では、“CVE-2017-9*99 ”については、「機器」が「サーバ」であり、「攻撃前の認証要否」が「単数」であり、攻撃ツールは存在せず、「攻撃元区分」が「ローカル」であり、「攻撃複雑性」が「高」である。ただし、認証に関する設定（本例では、パスワードの文字数、ロックアウト期間、認証間隔）は、個々の機器の設定によって異なる。従って、管理者は、“CVE-2017-9*99 ”については、各機器で設定されるパスワードの文字数、ロックアウト期間、認証間隔の種々の組み合わせを定める。そして、管理者は、「機器」が「サーバ」であり、「攻撃前の認証要否」が「単数」であり、攻撃ツールは存在せず、「攻撃元区分」が「ローカル」であり、「攻撃複雑性」が「高」であることの他に、各機器に応じた認証に関する複数の設定も考慮して、認証に関する設定の組み合わせに応じて、時間情報を予め定めればよい。従って、図４に例示するテーブルでは、機器と認証に関する複数の設定に応じた“CVE-2017-9*99 ”のレコードが複数存在する。
【００６２】
ここで、攻撃時に認証が必要な場合、攻撃者は、総当たり攻撃のような時間のかかる攻撃を行う。そのため、管理者は、攻撃時に認証が必要な場合には、時間情報の値を大きくし、認証が不要な場合には、時間情報の値を小さくしてもよい。
【００６３】
また、パスワードの文字数が多いほど、攻撃者は攻撃に多くの時間を要する。従って、管理者は、パスワードの文字数が多いほど、時間情報の値を大きくし、パスワードの文字数が少ないほど、時間情報の値を小さくしてもよい。
【００６４】
また、ロックアウト期間が長いほど、攻撃者は攻撃に多くの時間を要する。従って、管理者は、ロックアウト期間が長いほど、時間情報の値を大きくし、ロックアウト期間が短いほど、時間情報の値を小さくしてもよい。認証間隔についても同様である。なお、ロックアウト期間が０秒であるということは、ロックアウトが設定されていないことを意味する。同様に、認証間隔が０秒であるということは、認証間隔が設定されていないことを意味する。
【００６５】
また、攻撃ツールが存在している場合には、攻撃者にとって攻撃しやすくなる。従って、管理者は、攻撃ツールが存在している場合には、時間情報の値を小さくし、攻撃ツールが存在していない場合には、時間情報の値を大きくしてもよい。
【００６６】
また、「攻撃元区分」が「ローカル」である場合には、攻撃者にとって攻撃しにくくなる。従って、管理者は、「攻撃元区分」が「ローカル」である場合には、時間情報の値を大きくし、「攻撃元区分」が「ローカル」でない場合には、時間情報の値を小さくしてもよい。
【００６７】
また、管理者は、「攻撃複雑性」が「高」である場合には、時間情報の値を大きくし、「攻撃複雑性」が「中」である場合には、時間情報の値を中程度とし、「攻撃複雑性」が「低」である場合には、時間情報の値を小さくしてもよい。
【００６８】
また、図４に示す例では、プロトコルの仕様が原因の脆弱性に関しては、管理者が、適宜、時間情報を定める場合を例にしている。例えば、図４に示す例では、「ＦＴＰの悪用」、「Telnetの悪用」に対して、それぞれ、時間情報として“１０”を定めた場合を例にしている。ただし、プロトコルの仕様が原因の脆弱性に対する時間情報は、上記の例に限定されない。
【００６９】
上記のように、管理者は、予め、脆弱性に対する時間情報を定め、脆弱性の種類、あるいは、脆弱性の種類、機器および機器の設定（認証に関する設定）と、時間情報との対応を示すテーブル（例えば、図４に例示するテーブル）を、時間情報記憶部６に記憶させておく。
【００７０】
また、種々のソフトウェアと種々の脆弱性との対応関係は予め定められている。管理者は、ソフトウェアと脆弱性との対応関係を示す情報も、時間情報記憶部６に予め記憶させておく。図５は、ソフトウェアと脆弱性との対応関係を示す情報の例を示す模式図である。管理者は、例えば、図５に例示するテーブル形式で、ソフトウェアと脆弱性との対応関係を示す情報を時間情報記憶部６に記憶させてもよい。以下、図５に示すテーブルを対応関係テーブルと記す。
【００７１】
なお、各機器には複数のソフトウェアが搭載される可能性があり、各ソフトウェアには複数の脆弱性が存在することもある。新たな脆弱性が発見された場合、管理者は、図５に例示する対応関係テーブルや、図４に例示するテーブルをアップデートすればよい。
【００７２】
時間情報特定部７は、各攻撃ルート上の機器毎に時間情報を特定する。時間情報特定部７が１つの攻撃ルート上の１つの機器の時間情報を特定する動作について説明する。
【００７３】
時間情報特定部７は、着目している機器から収集された情報を参照し、その機器に搭載されている各ソフトウェアを確認し、さらに、時間情報記憶部６に記憶されている対応関係テーブル（図５参照）を参照することによって、機器に搭載されている各ソフトウェアに対応する各脆弱性を判定する。さらに、時間情報特定部７は、判定した脆弱性の中から、攻撃ルートに応じた脆弱性を特定する。既に説明したように、異なる攻撃ルート上に共通の機器が存在する場合であっても、その機器の攻撃状態が同一であるとは限らない。従って、上記のように、時間情報特定部７は、着目している機器に関して、攻撃ルートに応じた脆弱性を特定する。
【００７４】
次に、時間情報特定部７は、上記のように特定した脆弱性、着目している機器、および、着目している機器から収集された情報（ロックアウト設定の有無、ロックアウトが設定されている場合のロックアウト期間、認証時における認証間隔設定の有無、認証間隔が設定されている場合の認証間隔、パスワードポリシ）と、時間情報記憶部６に記憶されている図４に例示するテーブルとを照合し、脆弱性、着目している機器、および、着目している機器から収集された情報に応じた時間情報を、図４に例示するテーブルから読み込む。なお、パスワードポリシは、パスワードの文字数等を規定している。また、脆弱性のみから時間情報を特定できる場合には、時間情報特定部７は、着目している機器から収集された情報を参照しなくてもよい。
【００７５】
上記のように、時間情報特定部７は、１つの攻撃ルート上の１つの機器の時間情報を特定する。時間情報特定部７は、この動作を、各攻撃ルートの機器毎に行うことによって、各攻撃ルートの各機器の時間情報を特定する。
【００７６】
表示制御部８は、トポロジ特定部４によって特定されたネットワークトポロジに重畳させて各攻撃ルートをディスプレイ装置９上に表示する。このとき、表示制御部８は、各攻撃ルート上の機器毎に特定された時間情報に基づいて、時間の経過によって、攻撃がどのように進み、どの程度で終点の機器まで攻撃が達するか等の、各攻撃ルートに沿った攻撃の波及度合を管理者が認識可能な態様で各攻撃ルートをディスプレイ装置９上に表示する。以下、この表示例を説明する。
【００７７】
以下の説明では、表示制御部８が、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃がどこまで進んだかを示す情報をディスプレイ装置９上で時間経過に伴い変化させる場合を例にして説明する。ここでは、２つの攻撃ルートを表示する場合を例にして説明する。
【００７８】
また、以下に示す各例では、説明を簡単にするため、各攻撃ルートを表示する時の時間経過における１秒が、時間情報の値“１”に相当するものとして説明する。
【００７９】
まず、表示制御部８が攻撃を受けている機器を強調して表示する場合について説明する。また、１つの攻撃ルートに沿った攻撃を例にして、表示制御部８がディスプレイ装置９上に波及度合を表示する動作について説明する。表示制御部８は、表示開始後、その攻撃ルートの１番目の機器が攻撃を受けている間は（すなわち、１番目の機器の時間情報に相当する時間が経過するまでは）、その１番目の機器を強調表示する。機器の強調表示の例として、例えば、機器を枠で囲って表示したり、機器を点滅させて表示したりすることが挙げられる。以下、機器を枠で囲むことで、機器を強調表示する場合を例にして説明する。１番目の機器の時間情報に相当する時間が経過すると、表示制御部８は、その攻撃ルート上の１番目の機器から２番目の機器に伸びる矢印を表示し、２番目の機器が攻撃を受けていることを示すために、２番目の機器を強調表示する。このとき、表示制御部８は、１番目の機器を、攻撃を受けその攻撃が成功したことを示す表示に変更する。この表示は、通常状態を示す機器の表示や、攻撃を受けていることを示す機器の表示と異なる表示であればよい。以下、機器に対する攻撃が成功したことを示す表示として、機器に×印を重畳させる表示を例にして説明するが、この表示に限定されない。以降、表示制御部８は、攻撃を受けている機器を、順次、強調表示する。
【００８０】
すなわち、表示制御部８は、攻撃ルート上のｉ番目（ｉは１以上の整数）の機器が攻撃を受けていることを示すために、ｉ番目の機器の時間情報に相当する時間、そのｉ番目の機器を強調表示する。そして、ｉ番目の機器の時間情報に相当する時間が経過すると、ｉ番目の機器からｉ＋１番目の機器まで伸びる矢印を表示し、ｉ番目の機器の表示を、攻撃が成功したことを示す表示とする。そして、ｉ＋１番目の機器を、そのｉ＋１番目の機器の時間情報に相当する時間、強調表示する。表示制御部８は、この動作を、終点の機器の表示が、攻撃が成功したことを示す表示に変更されるまで繰り返す。
【００８１】
表示制御部８は、各攻撃ルートそれぞれに関して、同様の方法で表示を行う。
【００８２】
また、表示制御部８は、各攻撃ルートの１番目の機器に対する攻撃が同時に開始されるものとして、表示を行う。
【００８３】
図６、図７および図８は、時間経過に伴う表示の変化の例を示す模式図である。図６、図７および図８では、「機器ａ→機器ｂ→機器ｃ」という攻撃ルート（以下、符号“５０”で表し、攻撃ルート５０と記す。）、および、「機器ｄ→機器ｅ→機器ｆ」という攻撃ルート（以下、符号“５１”で表し、攻撃ルート５１と記す。）を例にして説明する。図６、図７および図８において、機器ａないし機器ｆの近傍に示した値は、時間情報特定部７によって特定された各機器の時間情報である。
【００８４】
本例において、攻撃ルート５０の１番目の機器ａの時間情報は“４”である。従って、表示制御部８は、表示開始から４秒後まで機器ａを強調表示する。そして、表示制御部８は、表示開始から４秒後に、機器ａから機器ｂ（２番目の機器）に伸びる矢印を表示し、×印を機器ａに重畳させて表示し、さらに、機器ｂを強調表示する。機器ｂの時間情報は“２”であるので、表示制御部８は、表示開始後における４秒経過時から６秒経過時まで、攻撃ルート５０に関して、上記の表示状態にする。そして、表示制御部８は、表示開始から６秒後に、機器ｂから機器ｃ（終点の機器）に伸びる矢印を表示し、×印を機器ｂに重畳させて表示し、さらに、機器ｃを強調表示する。機器ｃは、攻撃ルート５０の終点であり、機器ｃの時間情報は“２”である。従って、攻撃ルート５０に関して、その表示状態を２秒続けた後、表示制御部８は、×印を機器ｃに重畳させて表示する。
【００８５】
また、本例において、攻撃ルート５１の１番目の機器ｄの時間情報は“３”である。従って、表示制御部８は、表示開始から３秒後まで機器ｄを強調表示する。そして、表示制御部８は、表示開始から３秒後に、機器ｄから機器ｅ（２番目の機器）に伸びる矢印を表示し、×印を機器ｄに重畳させて表示し、さらに、機器ｅを強調表示する。機器ｂの時間情報は“３”であるので、表示制御部８は、表示開始後における３秒経過時から６秒経過時まで、攻撃ルート５１に関して、上記の表示状態にする。そして、表示制御部８は、表示開始から６秒後に、機器ｅから機器ｆ（終点の機器）に伸びる矢印を表示し、×印を機器ｅに重畳させて表示し、さらに、機器ｆを強調表示する。機器ｃは、攻撃ルート５１の終点であり、機器ｃの時間情報は“９”である。従って、攻撃ルート５１に関して、その表示状態を９秒続けた後、表示制御部８は、×印を機器ｆに重畳させて表示する。
【００８６】
図６は、上記の例における表示開始から５秒経過後の表示状態を示している。また、図７は、上記の例における表示開始から１０秒経過後の表示状態を示している。また、図８は、上記の例における表示開始から１５秒経過後の表示状態を示している。
【００８７】
図６に例示するように、表示制御部８は、各攻撃ルート上で、既に攻撃者による攻撃が成功した機器（図６における機器ａ，ｄ）と、攻撃を受けている最中の機器（図６における機器ｂ，ｅ）と、これから攻撃を受ける機器（図６における機器ｃ，ｆ）とを、それぞれ異なる態様で表示する。
【００８８】
攻撃ルート上の各機器が攻撃されていることを示す表示方法は、管理者等が、機器が攻撃されていることを視覚的に分かる方法であればよい。さらに、どれくらいのスピードで各機器への攻撃が成功するかを管理者が視覚的に分かる態様で表示を行ってもよい。例えば、表示制御部８は、攻撃を受けている機器を表示する際、その機器の時間情報に相当する時間内で、その機器の表示を変化させてもよい。例えば、攻撃を受けている機器の時間情報が“５”であったとする。その場合、表示制御部８は、５秒間の間に、その機器の色を初期状態の色から徐々に変えていってもよい。あるいは、表示制御部８は、５秒間の間に、その機器の色の濃淡を変化させてもよく、または、画面に表示されたその機器の下方から上方に向けて初期状態とは異なる色が広がるように表示を変化させてもよい。また、表示制御部８は、各機器における攻撃の進行状況を示すゲージを表示し、機器の時間情報に応じた速さでゲージの表示を変化させてもよい。例示した表示方法によって、管理者は、どのくらいのスピードで診断対象システムが攻撃の影響を受けていくかを容易に把握することができ、さらに、各機器に対する攻撃のスピードも容易に把握できる。
【００８９】
また、上記の例では、表示制御部８が、各攻撃ルートを表示する時の時間経過における１秒が、時間情報の値“１”に相当するものとして、表示を変化させる場合を示した。表示制御部８は、表示を変化させる速さのパラメータを、ユーザインタフェース（図示略）を介して指定され、指定されたパラメータに応じた変化速度で、表示を変化させてもよい。この場合、いわゆる早送り再生やスロー再生と同様の態様で、表示を変化させることができる。この点については、後述する他の表示例でも同様である。
【００９０】
また、表示制御部８は、各攻撃ルートにおいて、矢印が伸びた箇所までの部分と、これから矢印が伸びる部分との表示態様を変えて、各攻撃ルートを表示してもよい。表示制御部８は、例えば、各攻撃ルートにおいて、矢印が伸びた箇所までの部分を実線で表示し、これから矢印が伸びる部分を点線で表示してもよい。この表示方法を、図６に適用した場合の例を、図９に示す。このように表示することで、管理者は、どのような攻撃ルートに沿って攻撃が波及しているのかを把握することができる。この点については、後述する他の表示例でも同様である。
【００９１】
また、表示制御部８は、管理者に指定された時点における攻撃の波及度合を表示してもよい。例えば、表示制御部８は、ユーザインタフェース（図示略）を介して、時間情報の値の指定を受け付ける。そして、表示制御部８は、表示開始からその時間情報の値に相当する時間が経過した時点の画像をディスプレイ装置９上に表示してもよい。例えば、表示制御部８は、時間情報として“５”が指定された場合、図６に示す状態（５秒経過後の状態）を表示し、時間情報として“１０”が指定された場合、図７に示す状態（１０秒経過後の状態）を表示し、時間情報として“１５”が指定された場合、図８に示す状態（１５秒経過後の状態）を表示してもよい。この点については、後述する他の表示例でも同様である。
【００９２】
また、表示制御部８は、表示を連続的に変化させるのでなく、管理者に指定された時間間隔で、攻撃の波及度合を示す表示を切り替えてもよい。例えば、表示制御部８は、ユーザインタフェース（図示略）を介して、時間情報の値の指定を受け付ける。そして、表示制御部８は、その値に相当する時間間隔で、表示を切り替えてもよい。例えば、値として“５”が指定されたとする。この場合、表示制御部８は、図６に示す表示（５秒経過後の状態の表示）、図７に示す表示（１０秒経過後の状態の表示）、図８に示す表示（１５秒経過後の状態の表示）の順に、表示を切り替えればよい。この点については、後述する他の表示例でも同様である。
【００９３】
次に、表示制御部８による他の表示例を説明する。以下に示す例では、表示制御部８は、各攻撃ルートに沿った攻撃がどこまで進んだかを示す情報を、各攻撃ルートに沿った矢印で表す。すなわち、表示制御部８は、矢印を伸ばすように表示を行うことによって、攻撃ルートに沿った攻撃がどこまで進んだかを表わす。
【００９４】
１つの攻撃ルートに沿った攻撃を例にして、表示制御部８が、その攻撃ルートに沿った矢印を伸ばすように表示を行う例について、より具体的に説明する。表示制御部８は、表示開始後、攻撃ルート上の１番目の機器の時間情報に相当する時間が経過してから、その１番目の機器からその攻撃ルート上の２番目の機器への矢印の表示を開始する。１番目の機器から２番目の機器への矢印の表示が開始されていないということは、１番目の機器への攻撃がまだ成功していない状況を模式的に表している。そして、１番目の機器の時間情報に相当する時間が経過したということは、攻撃者が１番目の機器に対する攻撃が成功したということを意味している。また、表示制御部８は、攻撃ルート上のｉ番目（ｉは１以上の整数）の機器までの各機器の時間情報の値の累積値に相当する時間の経過時から、攻撃ルート上のｉ＋１番目の時間情報の値に相当する時間で、矢印がｉ番目の機器からｉ＋１番目の機器まで徐々に伸びていくように表示を行う。すなわち、本例では、矢印が伸びるスピードによって、次の機器への攻撃が成功するまでのスピードを表わすことになる。また、矢印がｉ番目の機器からｉ＋１番目の機器に向かって伸びている表示は、ｉ＋１番目の機器への攻撃中であることを模式的に表している。
【００９５】
表示制御部８は、各攻撃ルートの１番目の機器に対する攻撃が同時に開始されるものとして、各攻撃ルートに沿った矢印の表示を行う。
【００９６】
前述の例と同様に、本例においても、説明を簡単にするため、矢印を表示している時の時間経過における１秒が、時間情報の値“１”に相当するものとして説明する。
【００９７】
表示制御部８による表示の具体例を、図面を参照して説明する。図１０、図１１および図１２は、時間経過に伴う表示の変化の例を示す模式図である。図１０、図１１および図１２では、「機器ａ→機器ｂ→機器ｃ」という攻撃ルート５０、および、「機器ｄ→機器ｅ→機器ｆ」という攻撃ルート５１を例にして説明する。また、図１０、図１１および図１２において、機器ａないし機器ｆの近傍に示した値は、時間情報特定部７によって特定された各機器の時間情報である。図１０、図１１および図１２に示す例では、説明を簡単にするために、機器ｅの時間情報を“２”とし、機器ｆの時間情報を“１０”とする。機器ａないし機器ｄの時間情報は、図６、図７および図８に示す例と同様である。
【００９８】
攻撃ルート５０の１番目の機器ａの時間情報は“４”である。従って、表示制御部８は、表示開始から４秒経過後に、機器ａから機器ｂに伸びる矢印の表示を開始する。ここで、機器ｂの時間情報は“２”であるので、表示制御部８は、２秒の間に、機器ａから機器ｂに矢印が伸びるように矢印の表示を行う。さらに、機器ｃの時間情報も“２”であるので、表示制御部８は、２秒の間に、機器ｂから機器ｃに矢印が伸びるように矢印の表示を行う。
【００９９】
また、攻撃ルート５１の１番目の機器ｄの時間情報は“３”である。従って、表示制御部８は、表示開始から３秒経過後に、機器ｄから機器ｅに伸びる矢印の表示を開始する。ここで、機器ｅの時間情報は“２”であるので、表示制御部８は、２秒の間に、機器ｄから機器ｅに矢印が伸びるように矢印の表示を行う。さらに、機器ｆの時間情報は“１０”であり、表示制御部８は、１０秒の間に、機器ｅから機器ｆに矢印が伸びるように矢印の表示を行う。
【０１００】
図１０は、上記のように、表示制御部８が上記のように攻撃ルート５０，５１に対応する各矢印を表示する場合において、表示開始から５秒経過後の表示状態を示している。また、図１１は、表示開始から１０秒経過後の表示状態を示している。また、図１２は、表示開始から１５秒経過後の表示状態を表わしている。管理者は、ディスプレイ装置９でこのような表示を確認することによって、攻撃ルート５０に沿った攻撃の方が、終点となる機器への攻撃成功までの時間が短いことを容易に確認できる。これによって、管理者は、どの攻撃ルートに対する対処を優先的に行えばよいかを容易に判断できる。
【０１０１】
また、時間情報特定部７は、攻撃ルート毎に、攻撃ルート上の各機器の時間情報の値の和を計算してもよい。そして、表示制御部８は、攻撃ルート毎に、終点となる機器の近傍に、時間情報特定部７によって計算された攻撃ルート上の各機器の時間情報の値の和を表示してもよい。この和は、攻撃ルートの終点となる機器への攻撃成功までの時間である。従って、このように表示を行うことによって、管理者は、それぞれの攻撃ルートにおける終点となる機器への攻撃成功までの時間を比較することができる。攻撃ルート毎に終点となる機器への攻撃成功までの時間を表示するという事項は、図６、図７および図８に例示した表示にも適用可能である。
【０１０２】
なお、上記の例では、矢印が徐々に伸びるように表示制御部８が矢印の表示を行う場合を示した。表示制御部８は、それぞれの攻撃ルート上で、ｉ＋１番目の機器への攻撃成功のタイミングで、ｉ番目の機器に至る矢印を、ｉ＋１番目の機器の機器に至る矢印に切り替えるように矢印を表示してもよい。
【０１０３】
また、時間情報は値に限定されず、「長時間」、「中程度の時間」、「短時間」等のラベルを時間情報として用いてもよい。この場合、表示制御部８は、機器毎に特定された「長時間」、「中程度の時間」、「短時間」等のラベルを、例えば、“１０”、“５”、“２”等の値に置き換え、前述の各例のように表示を行えばよい。
【０１０４】
なお、ディスプレイ装置９は、情報を表示する装置であり、一般的なディスプレイ装置でよい。なお、分析システム１がクラウド上に存在する場合には、ディスプレイ装置７は、クラウドに接続される端末のディスプレイ装置等であってもよい。
【０１０５】
データ収集部２は、例えば、分析プログラムに従って動作するコンピュータのＣＰＵ（Central
Processing Unit ）、および、そのコンピュータの通信インタフェースによって実現される。例えば、ＣＰＵが、コンピュータのプログラム記憶装置等のプログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、データ収集部２として動作すればよい。また、トポロジ特定部４、検出部５、時間情報特定部７および表示制御部８は、例えば、分析プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが上記のようにプログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、トポロジ特定部４、検出部５、時間情報特定部７および表示制御部８として動作すればよい。データ記憶部３および時間情報記憶部６は、例えば、コンピュータが備える記憶装置によって実現される。
【０１０６】
次に、処理経過について説明する。図１３は、第１の実施形態の分析システム１の処理経過の例を示すフローチャートである。既に説明した事項については説明を省略する。
【０１０７】
まず、データ収集部２が、診断対象システムに含まれる各機器に関する情報を収集する（ステップＳ１）。データ収集部２は、収集した情報をデータ記憶部３に記憶させる。
【０１０８】
次に、トポロジ特定部４が、各機器のネットワークトポロジを特定する（ステップＳ２）。
【０１０９】
次に、検出部５が、各機器に関するセキュリティの情報に基づいて、診断対象システムにおける攻撃ルートを検出する（ステップＳ３）。
【０１１０】
次に、時間情報特定部７が、各攻撃ルートの機器毎に、時間情報を特定する（ステップＳ４）。
【０１１１】
次に、表示制御部８が、ネットワークトポロジに重畳させて各攻撃ルートを表示する。このとき、表示制御部８は、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合を管理者が認識可能な態様で、各攻撃ルートをディスプレイ装置９上に表示する（ステップＳ５）。表示制御部８は、図６、図７および図８に例示する態様で攻撃ルートを表示してもよい。あるいは、表示制御部８は、図１０、図１１および図１２に例示する態様で攻撃ルートを表示してもよい。
【０１１２】
本実施形態によれば、上記のように、表示制御部８が、各攻撃ルートに沿った攻撃の波及度合を管理者が認識可能な態様で、各攻撃ルートをディスプレイ装置９上に表示する。従って、管理者は、各攻撃ルート上の各機器に攻撃が波及していく状況を確認することができる。従って、どの攻撃ルートに対する対処を優先的に行えばよいかを容易に判断することができる。例えば、終点に該当する機器への攻撃成功までの時間が最も短い攻撃ルートが分かり、その攻撃ルートに対する対処を優先的に行う等の判断を容易に行うことができる。
【０１１３】
このように、本実施形態によれば、攻撃による影響がどのように広がっていくかを分析可能である。
【０１１４】
なお、分析システム１が、終点に該当する機器への攻撃成功までの時間に応じて、ある攻撃ルートを他の攻撃ルートとは異なる態様（例えば、他の攻撃ルートとは異なる太さ、色または線種等）で表示してもよい。例えば、分析システム１は、終点に該当する機器への攻撃成功までの時間が最も短い攻撃ルートを特定して、その攻撃ルートを他の攻撃ルートとは異なる態様で表示してもよい。具体的には、時間情報特定部７が、攻撃ルート毎に、攻撃ルート上の各機器の時間情報の値の和を計算し、時間情報の値の和が最小となる攻撃ルートを、終点に該当する機器への攻撃成功までの時間が最も短い攻撃ルートとして決定してもよい。そして、表示制御部８が、その攻撃ルートを、他の攻撃ルートとは異なる態様で表示してもよい。この点は、次に説明する第１の実施形態の変形例や、後述の第２の実施形態でも同様である。
【０１１５】
次に、第１の実施形態の変形例について説明する。上記の説明では、表示制御部８が、各攻撃ルートに沿った攻撃がどこまで進んだかを、攻撃を受ける機器を強調表示したり（図６、図７および図８参照）、あるいは、攻撃の波及度合に応じて矢印を伸ばしたりする（図１０、図１１および図１２参照）ことで表す場合を例示した。
【０１１６】
本変形例において、表示制御部８は、各攻撃ルートをディスプレイ装置９上に表示するときに、攻撃の起点となる機器から攻撃の終点となる機器までの攻撃ルート上において、攻撃ルート上に存在する各機器の時間情報の和に対して、各機器の時間情報が示す割合に応じた態様で、機器と機器の間の区間を表示することで、攻撃ルートを表示してもよい。あるいは、表示制御部８は、攻撃ルート毎に、攻撃ルート上のそれぞれの機器の１つ前の機器からそのそれぞれの機器までの区間を、そのそれぞれの機器の時間情報に応じた態様（例えば、色、太さ、線種等）でディスプレイ装置９上に表示してもよい。換言すれば、表示制御部８は、攻撃ルート毎に、攻撃ルート上のｉ番目（ｉは１以上の整数）の機器からｉ＋１番目の機器までの区間を、ｉ＋１番目の機器の時間情報に応じた色、太さまたは線種等で、ディスプレイ装置９上に表示してもよい。
【０１１７】
図１４は、第１の実施形態の変形例における各攻撃ルートの表示例を示す模式図である。図１４に示す例では、機器ｅ、機器ｂ、機器ｃの時間情報は、いずれも“２”である。従って、機器ｄから機器ｅまでの区間、機器ａから機器ｂまでの区間、機器ｂから機器ｃまでの区間は、同じ色で表示されている。また、機器ｆの時間情報は“１０”であるので、機器ｅから機器ｆまでの区間は、上記の３つの区間とは別の色で表示されている。
【０１１８】
このような表示においても、管理者は、各攻撃ルートにおける攻撃の波及度合を確認することができる。従って、どの攻撃ルートに対する対処を優先的に行えばよいかを容易に判断することができる。
【０１１９】
また、表示制御部８は、各攻撃ルートを表示するときに、各攻撃ルート上の各機器を、機器の時間情報に応じた態様で表示してもよい。例えば、表示制御部８は、時間情報の値が大きい機器を赤で表示し、時間情報の値が小さい機器を青で表示してもよい。ただし、上記の赤、青等の色は例示である。このような表示により、管理者は、各機器の耐久性も、攻撃の波及度合とともに確認することができ、どの攻撃ルートに対する対処を優先的に行えばよいかを容易に判断することができる。
【０１２０】
この変形例は、後述の第２の実施形態にも適用可能である。
【０１２１】
実施形態２．
図１５は、本発明の第２の実施形態の分析システムの例を示すブロック図である。第１の実施形態の要素と同様の要素については、図１と同一の符号を付す。第２の実施形態の分析システム１は、データ収集部２と、データ記憶部３と、トポロジ特定部４と、検出部５と、時間情報記憶部６と、時間情報特定部７と、被害情報記憶部１１と、被害特定部１２と、表示制御部８と、ディスプレイ装置９とを備える。
【０１２２】
データ収集部２、データ記憶部３、トポロジ特定部４、検出部５、時間情報記憶部６、時間情報特定部７およびディスプレイ装置９は、第１の実施形態におけるそれらの要素と同様であり、説明を省略する。
【０１２３】
被害情報記憶部１１は、機器の機能や攻撃種類に応じた被害情報（攻撃された場合に受ける被害内容を示す情報）を記憶する記憶装置である。
【０１２４】
図１６は、被害情報記憶部１１が記憶する情報の例を示す模式図である。被害情報記憶部１１は、例えば、図１６に例示するように、機器の機能と、攻撃種類と、被害情報とを対応付けたテーブルを記憶する。なお、攻撃種類は、機器の機能に基づいて特定することができる。そして、被害情報は、機器の機能と攻撃種類の両方、あるいは、いずれか一方から特定することができる。図１６に例示する情報は、例えば、管理者が予め定めておき、被害情報記憶部１１に記憶させておけばよい。
【０１２５】
被害特定部１２は、攻撃ルート上の機器毎に、被害情報を特定する。被害特定部１２は、この処理を、攻撃ルート毎に行う。ただし、攻撃ルート上には、被害情報が特定されない機器が存在していてもよい。
【０１２６】
被害特定部１２が１つの攻撃ルートの機器毎に被害情報を特定する方法の例を説明する。被害特定部１２は、着目している攻撃ルートの機器毎に、機器の機能と、攻撃種類とを特定する。
【０１２７】
被害特定部１２は、例えば、以下のように各機器の機能を特定する。
【０１２８】
予め、機器の機能に応じた条件が定められている。例えば、アカウントサーバには、アカウントサーバ用のソフトウェアが搭載されている。また、アカウントサーバは、所定のプロトコルで他の機器と通信データを授受する。また、例えば、アカウントサーバでは、所定のポートが開いた状態になっている。従って、例えば、「アカウントサーバ機能」に対しては、「アカウントサーバ用のソフトウェアが搭載されている」、「所定のプロトコルで他の機器と通信データを授受する機器である」、あるいは、「所定のポートが開いた状態になっている」という条件のいずれか１つ、あるいは、２つ以上が予め定められている。
【０１２９】
また、例えば、「人事情報管理サーバ機能」に対しては、「人事情報管理サーバ用のソフトウェアが搭載されている」という条件が予め定められている。
【０１３０】
被害特定部１２は、機能を特定しようとしている機器に関する情報を参照し、その情報がどの機能に応じた条件を満たしているのかを判定することによって、その機器の機能を特定すればよい。なお、被害特定部１２は、機器に関する情報がどの機能に応じた条件も満たしていないならば、その機器の機能として、「該当する機能なし」という結果を導出してもよい。
【０１３１】
上記のような方法で、被害特定部１２は、着目している攻撃ルート上の各機器の機能を特定する。
【０１３２】
また、前述のように、攻撃種類は、機器の機能に基づいて特定することができる。従って、被害特定部１２は、例えば、予め既知となっている機器の機能と攻撃種類との対応関係に基づいて、攻撃種類を特定すればよい。
【０１３３】
ただし、被害特定部１２は、他の方法で機器の機能を特定してもよい。例えば、被害特定部１２は、攻撃ルート上の各機器の機能の指定を、ユーザインタフェース（図示略）を介して管理者から受け付けることによって、攻撃ルート上の各機器の機能を特定してもよい。攻撃種類に関しても同様である。
【０１３４】
被害特定部１２は、着目している攻撃ルート上の１つの機器に関して、機器の機能および攻撃種類を特定したならば、被害情報記憶部１１が記憶しているテーブル（図１６参照）を参照して、例えば、機器の機能と攻撃種類の組み合わせに対応する被害情報を特定する。なお、被害情報は、機器の機能と攻撃種類の一方からも特定することができる。従って、被害特定部１２は、機器の機能に対応する被害情報を特定したり、攻撃種類に対応する被害情報を特定したりしてもよい。また、被害情報記憶部１１が記憶しているテーブル（図１６参照）を参照しても、機器の機能と攻撃種類の組み合わせ、または、そのいずれか一方に対応する被害情報を特定できない場合、被害特定部１２は、その機器の被害情報はないと判定する。被害特定部１２は、着目している攻撃ルート上の各機器に対して、この動作を行う。この結果、着目している攻撃ルート上の各機器の被害情報が定まる。
【０１３５】
被害特定部１２は、攻撃ルート毎に上記と同様の動作を行い、各攻撃ルート上の各機器の被害情報を特定する。ただし、前述のように、被害情報が特定されない機器が存在していてもよい。
【０１３６】
以上の説明では、被害特定部１２が機器の機能や攻撃種類に基づいて被害情報を定める場合を示した。被害特定部１２は、他の方法で被害情報を定めてもよい。例えば、予め、脆弱性の種類と被害情報とを対応付けることができる。被害特定部１２は、各攻撃ルート上の各機器にインストールされているソフトウェアに基づいて脆弱性の種類を特定し、その脆弱性の種類に基づいて被害情報を特定してもよい。
【０１３７】
被害特定部１２は、上記の処理を、例えば、第１の実施形態におけるステップＳ４（図１３参照）の次に行う。
【０１３８】
そして、表示制御部８は、ステップＳ５（図１３参照）において、第１の実施形態、または、第１の実施形態の変形例で説明したように各攻撃ルートを表示するとともに、被害情報が特定された機器の近傍に被害情報（すなわち、攻撃された場合に受ける被害内容を示す情報）を表示する。
【０１３９】
第２の実施形態において、図６、図７および図８に例示するように、表示制御部８が、攻撃を受けている機器を強調表示することによって、攻撃の波及度合を表示するとする。この場合、機器への攻撃が成功した時点で、その機器の近傍に被害情報（すなわち、攻撃された場合に受ける被害内容を示す情報）を表示してもよい。このような表示例を、図１７、図１８および図１９に示す。図１７ないし図１９に示す例において、第１の実施形態で例示した機器ｅ，ｃ，ｆに関して被害情報が特定されているとする。また、図１７は、図６と同様に、表示開始から５秒経過後の表示状態を示している。この時点では、機器ｅ，ｃ，ｆのいずれにおいても、まだ攻撃が成功していない。従って、図１７に示すように、まだ、被害情報は表示されない。図１８は、図７と同様に、表示開始から１０秒経過後の表示状態を示している。この時点では、機器ｅ，ｃへの攻撃が成功している。従って、表示制御部８は、図１８に例示するように、機器ｅ、機器ｃそれぞれの近傍に被害情報を表示する。図１９は、図８と同様に、表示開始から１５秒経過後の表示状態を示している。この時点では、機器ｅ，ｃ，ｆへの攻撃が成功している。従って、表示制御部８は、図１９に例示するように、機器ｅ、機器ｃおよび機器ｆそれぞれの近傍に被害情報を表示する。
【０１４０】
また、第１の実施形態の変形例と同様に各攻撃経路の全体を表示する場合、表示制御部８は、被害情報が特定された機器の近傍に被害情報を表示すればよい。
【０１４１】
なお、表示制御部８は、被害情報が示す被害内容の大きさに応じて文字、ポップアップの大きさ、色を変えてもよい。例えば、予め、被害情報の内容にランクを付しておき、表示制御部８は、被害情報を表示するときに、そのランクに応じて、文字、ポップアップの大きさ、色を定めてもよい。
【０１４２】
また、被害情報の表示態様は、上記の例に限定されない。例えば、表示制御部８は、被害情報が特定された機器の近傍に、その機器に関する被害情報があることを表わすアイコンを表示してもよい。そして、表示制御部８は、そのアイコンがマウス等によってクリックされた場合に、その機器に関する被害情報を表示してもよい。あるいは、表示制御部８は、そのアイコンがマウスオーバ状態になったときに、その機器に関する被害情報を表示してもよい（ロールオーバ）。また、表示制御部８は、被害情報をポップアップ表示し、マウス等による操作に応じて、そのポップアップ表示の大きさを変化させてもよい。
【０１４３】
被害特定部１２は、例えば、分析プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、ＣＰＵが、プログラム記録媒体から分析プログラムを読み込み、そのプログラムに従って、被害特定部１２として動作すればよい。また、被害情報記憶部１１は、例えば、コンピュータが備える記憶装置によって実現される。
【０１４４】
第２の実施形態でも、第１の実施形態と同様の効果が得られる。また、第２の実施形態では、表示制御部８が、ディスプレイ装置９において、攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報も機器の近傍に表示する。従って、管理者は、想定される被害内容に応じて、どの攻撃ルートに対する対処を優先的に行えばよいかを判断することができるようになる。
【０１４５】
図２０は、本発明の各実施形態の分析システム１に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、ディスプレイ装置１００５と、通信インタフェース１００６とを備える。
【０１４６】
本発明の各実施形態の分析システム１は、コンピュータ１０００によって実現される。分析システム１の動作は、分析プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、その分析プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、その分析プログラムに従って、上記の各実施形態で説明した処理を実行する。
【０１４７】
補助記憶装置１００３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、そのプログラムに従って上記の各実施形態で説明した処理を実行してもよい。
【０１４８】
また、各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１４９】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１５０】
次に、本発明の概要について説明する。図２１は、本発明の分析システムの概要を示すブロック図である。本発明の分析システムは、トポロジ特定部４と、検出部５と、時間情報特定部７と、表示制御部８とを備える。
【０１５１】
トポロジ特定部４は、診断対象システムに含まれる機器のネットワークトポロジを特定する。
【０１５２】
検出部５は、機器に関するセキュリティの情報に基づいて、診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する。
【０１５３】
時間情報特定部７は、各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する。
【０１５４】
表示制御部８は、ネットワークトポロジに重畳させて攻撃ルートをディスプレイ装置上に表示する。このとき、表示制御部８は、各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートをディスプレイ装置上に表示する。
【０１５５】
そのような構成によって、攻撃による影響がどのように広がっていくかを分析することができる。
【０１５６】
表示制御部８が、各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルート上の機器の表示態様を時間経過に伴い変える構成であってもよい。
【０１５７】
表示制御部８が、各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルート上における、既に攻撃者による攻撃が成功した機器と、攻撃を受けている最中の機器と、これから攻撃を受ける機器とを、それぞれ異なる態様で表示する構成であってもよい。
【０１５８】
また、表示制御部８が、各攻撃ルート上の各機器の時間情報に基づいて、各攻撃ルートに沿った攻撃がどこまで進んだかを示す矢印を時間経過に伴い伸ばすようにして、各攻撃ルートを表示する構成であってもよい。
【０１５９】
また、表示制御部８が、攻撃ルート毎に、攻撃ルート上のそれぞれの機器の１つ前の機器からそのそれぞれの機器までの区間を、そのそれぞれの機器の時間情報に応じた態様でディスプレイ装置上に表示する構成であってもよい。
【０１６０】
攻撃ルート上の機器が攻撃された場合に受ける被害内容を示す被害情報を特定する被害特定部（例えば、被害特定部１２）を備え、表示制御部８が、攻撃ルート上の機器の近傍に被害情報を表示する構成であってもよい。
【０１６１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６２】
この出願は、２０１９年３月２８日に出願された日本特許出願２０１９−０６３５９８を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【産業上の利用の可能性】
【０１６３】
本発明は、攻撃ルートを表示する分析システムに好適に適用される。
【符号の説明】
【０１６４】
１  分析システム
２  データ収集部
３  データ記憶部
４  トポロジ特定部
５  検出部
６  時間情報記憶部
７  時間情報特定部
８  表示制御部
９  ディスプレイ装置
１１  被害情報記憶部
１２  被害特定部
【図１】
2020195229.tif 000003
【図２】
2020195229.tif 000004
【図３】
2020195229.tif 000005
【図４】
2020195229.tif 000006
【図５】
2020195229.tif 000007
【図６】
2020195229.tif 000008
【図７】
2020195229.tif 000009
【図８】
2020195229.tif 000010
【図９】
2020195229.tif 000011
【図１０】
2020195229.tif 000012
【図１１】
2020195229.tif 000013
【図１２】
2020195229.tif 000014
【図１３】
2020195229.tif 000015
【図１４】
2020195229.tif 000016
【図１５】
2020195229.tif 000017
【図１６】
2020195229.tif 000018
【図１７】
2020195229.tif 000019
【図１８】
2020195229.tif 000020
【図１９】
2020195229.tif 000021
【図２０】
2020195229.tif 000022
【図２１】
2020195229.tif 000023
【手続補正書】
【提出日】令和3年8月20日(2021.8.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
コンピュータに、
診断対象システムに含まれる機器のネットワークトポロジを特定するトポロジ特定処理、
機器に関するセキュリティの情報に基づいて、前記診断対象システムにおいて、実行可能な攻撃の流れを示す攻撃ルートを検出する検出処理、
各攻撃ルート上の機器毎に、機器への攻撃に要する時間の程度を表わす時間情報を特定する時間情報特定処理、および、
前記ネットワークトポロジに重畳させて前記攻撃ルートをディスプレイ装置上に表示する表示制御処理を実行させ、
前記コンピュータに、
前記表示制御処理で、
各攻撃ルート上の機器毎に特定された時間情報に基づいて、各攻撃ルートに沿った攻撃の波及度合をユーザが認識可能な態様で各攻撃ルートを前記ディスプレイ装置上に表示させる
ための分析プログラム。
【国際調査報告】
2020195229.tif 000024
2020195229.tif 000025
2020195229.tif 000026
2020195229.tif 000027
2020195229.tif 000028
2020195229.tif 000029