(57)【要約】      （修正有）【課題】構成や機能の脆弱性を組み合わせた攻撃に対応する漏れのないテストケースを作成する。【解決手段】車載装置に対する攻撃に関するテストシナリオを生成するテストシナリオ生成装置１は、車載装置に含まれる複数の構成要素及び構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報５００、構成要素同士のつながりを示す要素連結５１０、構成要素ごとの脆弱性を示す脆弱性情報６００及び脆弱性ごとの攻撃種別を示す攻撃種別情報９００、を格納する記憶部４０と、階層情報５００、脆弱性情報６００及び攻撃種別情報９００を用いて、構成要素ごとの攻撃種別を特定した攻撃種別情報を作成する割付部２１及び要素連結５１０に基づき資産である構成要素までの侵入経路を生成し、攻撃種別情報９００を用いて、構成要素及び攻撃種別の組合せを侵入経路の順番に並べたテストシナリオを複数生成するシナリオ作成部２３を備える処理部２０と、を有する。【選択図】図３
2020160611.tif 000002
【特許請求の範囲】
【請求項１】
車載装置に対する攻撃に関するテストシナリオを生成するテストシナリオ生成装置であって、
前記車載装置に含まれる複数の構成要素および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部と、
前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成する割付部と、
前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成するシナリオ作成部とを備えるテストシナリオ生成装置。
【請求項２】
請求項１に記載のテストシナリオ生成装置において、
前記記憶部には、前記攻撃種別が実行される順番を示すシナリオパターン情報がさらに格納され、
前記シナリオ作成部は、前記要素連結に基づき前記資産である前記構成要素までの侵入経路を全て生成して得られた前記テストシナリオのうち、前記シナリオパターン情報に該当するテストシナリオのみを抽出するテストシナリオ生成装置。
【請求項３】
請求項１に記載のテストシナリオ生成装置において、
前記シナリオ作成部が生成した前記テストシナリオのごとの優先順位を決定するリスク評価部をさらに備えるテストシナリオ生成装置。
【請求項４】
請求項１に記載のテストシナリオ生成装置において、
前記シナリオ作成部が生成した複数の前記テストシナリオのうち、前記構成要素および前記攻撃種別の組合せが侵入口から少なくとも一部が重複するテストシナリオを検出する重複シナリオ判定部をさらに備えるテストシナリオ生成装置。
【請求項５】
車載装置に含まれる複数の構成要素および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部を備えるテストシナリオ生成装置が前記車載装置に対する攻撃に関するテストシナリオを生成するテストシナリオ生成方法であって、
前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成することと、
前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成することとを含むテストシナリオ生成方法。
【請求項６】
請求項５に記載のテストシナリオ生成方法において、
前記記憶部には、前記攻撃種別が実行される順番を示すシナリオパターン情報がさらに格納され、
前記要素連結に基づき前記資産である前記構成要素までの侵入経路を全て生成して得られた前記テストシナリオのうち、前記シナリオパターン情報に該当するテストシナリオのみを抽出するテストシナリオ生成方法。
【請求項７】
請求項５に記載のテストシナリオ生成方法において、
生成した前記テストシナリオのごとの優先順位を決定するテストシナリオ生成方法。
【請求項８】
請求項５に記載のテストシナリオ生成方法において、
生成した複数の前記テストシナリオのうち、前記構成要素および前記攻撃種別の組合せが侵入口から少なくとも一部が重複するテストシナリオを検出することをさらに含むテストシナリオ生成方法。
【請求項９】
車載装置に含まれる複数の構成要素および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部を備えるテストシナリオ生成装置に前記車載装置に対する攻撃に関するテストシナリオを生成させるテストシナリオ生成プログラムであって、
前記テストシナリオ生成装置に、
前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成させ、
前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成させるテストシナリオ生成プログラム。
【請求項１０】
請求項９に記載のテストシナリオ生成プログラムにおいて、
前記記憶部には、前記攻撃種別が実行される順番を示すシナリオパターン情報がさらに格納され、
前記要素連結に基づき前記資産である前記構成要素までの侵入経路を全て生成して得られた前記テストシナリオのうち、前記シナリオパターン情報に該当するテストシナリオのみを抽出するテストシナリオ生成プログラム。
【請求項１１】
請求項９に記載のテストシナリオ生成プログラムにおいて、
生成した前記テストシナリオのごとの優先順位を決定するテストシナリオ生成プログラム。
【請求項１２】
請求項９に記載のテストシナリオ生成プログラムにおいて、
生成した複数の前記テストシナリオのうち、前記構成要素および前記攻撃種別の組合せが侵入口から少なくとも一部が重複するテストシナリオを検出するテストシナリオ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストシナリオ生成装置、テストシナリオ生成方法、およびテストシナリオ生成プログラムに関する。
【背景技術】
【０００２】
近年、複数の電子制御装置を有する車載通信システムにおいて、車外の情報通信機器から様々な情報を取得して、車両の安全運転支援および自動運転を実現する技術が広がりつつある。このような車載通信システムでは、機器外からのサイバ−攻撃を受ける危険性が高まり、セキュリティ性能の向上が求められている。一方で、それら機器を構成するソフトウェアにはコンピュ−タプログラム上の不具合や仕様上の問題点など、ソフトウェア脆弱性（以下、脆弱性）と呼ばれる欠陥を有していることがある。
【０００３】
車載通信システムへのサイバ−攻撃に対する耐性や対策を確認するために、車載通信システムを開発した機器メーカや、車載通信システムの発注メーカはファジングテストやペネストレーションテストなどを実施する。機器メーカのシステムテストにおけるそれらセキュリティの攻撃に対するテストシナリオは、製品の設計仕様や要件、セキュリティ攻撃を想定して作成する必要がある。
【０００４】
しかし、セキュリティ攻撃を想定したテストを設計する際に、設計者のセキュリティや攻撃に関するノウハウに従うと、テスト設計をする設計者の力量に依存し、高度なセキュリティ知識を持った設計者が必要となってしまうという課題があった。この課題を解決するため、製品の仕様とセキュリティ攻撃の双方を考慮したテストプログラムを作成する技術に関して、たとえば特許文献１が開示されている。
【０００５】
特許文献１には、コンピュータに、セキュリティテストを実行させるテストプログラムであって、セキュリティ攻撃種別と、セキュリティ攻撃種別に対応するテストの手順を定義した情報であるテスト手順情報と、該テスト手順に対応するテスト成功条件を定義した情報である成功条件情報とを対応付けて格納するデータベースにアクセス可能なコンピュータを、セキュリティ攻撃種別と攻撃対象との指定を受け付ける指定手段、前記データベースを参照し、前記受け付けたセキュリティ攻撃種別に対応するテスト手順情報を特定する特定手段、前記特定したテスト手順情報に基づいて、前記受け付けた攻撃対象に対してテストを実行し、前記受け付けたセキュリティ攻撃種別に対応する成功条件情報に基づきテストの成否を判定する実行手段として機能させることを特徴とするテストプログラムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−８６２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載されている発明では、構成や機能の脆弱性を組み合わせた攻撃に対応する漏れのないテストケースの作成が困難である。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によるテストシナリオ生成装置は、車載装置に対する攻撃に関するテストシナリオを生成するテストシナリオ生成装置であって、前記車載装置に含まれる複数の構成要素、および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部と、前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成する割付部と、前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成するシナリオ作成部とを備える。
本発明の第２の態様によるテストシナリオ生成方法は、車載装置に含まれる複数の構成要素、および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部を備えるテストシナリオ生成装置が前記車載装置に対する攻撃に関するテストシナリオを生成するテストシナリオ生成方法であって、前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成することと、前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成することとを含む。
本発明の第３の態様によるテストシナリオ生成プログラムは、車載装置に含まれる複数の構成要素、および前記構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報、前記構成要素同士のつながりを示す要素連結、前記構成要素ごとの脆弱性を示す脆弱性情報、および前記脆弱性ごとの攻撃種別を示す攻撃種別情報、を格納する記憶部を備えるテストシナリオ生成装置に前記車載装置に対する攻撃に関するテストシナリオを生成させるテストシナリオ生成プログラムであって、前記テストシナリオ生成装置に、前記階層情報、前記脆弱性情報、および前記攻撃種別情報を用いて、前記構成要素ごとの前記攻撃種別を特定した攻撃種別情報を作成させ、前記要素連結に基づき前記資産である前記構成要素までの侵入経路を生成し、前記攻撃種別情報を用いて、前記構成要素および前記攻撃種別の組合せを前記侵入経路の順番に並べたテストシナリオを複数生成させる。
【発明の効果】
【０００９】
本発明によれば、構成や機能の脆弱性を組み合わせた攻撃に対応する漏れのないテストケースが作成できる。
【図面の簡単な説明】
【００１０】
【図１】テストシナリオ生成システムの構成図
【図２】テストシナリオ生成装置１、管理者端末２および構成管理ＤＢ３のハ−ドウェア構成を示す図
【図３】テストシナリオ生成装置１の機能構成図
【図４】階層情報５００の一例を示す図
【図５】要素連結５１０の一例を示す図
【図６】脆弱性情報６００の一例を示す図
【図７】攻撃種別情報７００の一例を示す図
【図８】脆弱性対応情報７１０の一例を示す図
【図９】シナリオパターン情報８００の一例を示す図
【図１０】攻撃種別情報９００の一例を示す図
【図１１】攻撃経路情報１１００の一例を示す図
【図１２】テストシナリオ出力結果１２００の一例を示す図
【図１３】テストシナリオ優先順位評価結果１３００の一例を示す図
【図１４】重複テストシナリオ判定結果１４００の一例を示す図
【図１５】テストシナリオ生成装置１および管理者端末２の処理シ−ケンス図
【図１６】図１５のステップＳ４０４の詳細を示すフローチャート
【図１７】変形例３における脆弱性情報６００Ａの一例を示す図
【発明を実施するための形態】
【００１１】
―実施の形態―
以下、図１〜図１５を参照して、本発明に係るテストシナリオ生成装置の実施の形態を説明する。本実施の形態では、ある車載装置が攻撃を受けることを想定し、想定されるさまざまな場面を「テストシナリオ」として作成する。想定されるすべての状況ごとに事前にテストシナリオを作成してユーザに提供することで、事前の対策が可能となる。本実施の形態では、攻撃者から情報搾取などの攻撃を受ける車載装置の保持するデータである情報資産と、攻撃者からＤｏＳなどの機能停止攻撃を受ける車載装置の様々な処理を実施する機能資産とをあわせて資産情報と呼ぶ。
【００１２】
図１は、実施の形態に係るテストシナリオ生成システムＳの構成図である。テストシナリオ生成システムＳは、テストシナリオ生成装置１と、管理者端末２と、管理データベース３とを含んで構成される。ただし図１に示す構成は例示に過ぎず、後述するそれぞれの装置が有する機能や情報がテストシナリオ生成システムＳに含まれていればよく、テストシナリオ生成システムＳを構成する装置数は３つに限定されない。
【００１３】
図２は、テストシナリオ生成装置１、管理者端末２および構成管理ＤＢ３の各々のハ−ドウェア構成を示す図である。これら３つの装置は、ハードウエア構成が略同一なのでまとめて説明する。ただしテストシナリオ生成装置１、管理者端末２および構成管理ＤＢ３のハードウエア構成は完全に一致する必要はなく、適宜変更が加えられてもよい。
【００１４】
テストシナリオ生成装置１、管理者端末２および構成管理ＤＢ３は、各種処理や演算、コンピュ−タ全体の制御等を行うＣＰＵ（Central  Processing  Unit）３０２と、揮発性の記憶領域であるメモリ３０３と、各種プログラムおよびデ−タを記憶するハ−ドディスク等の外部記憶装置３０４と、ネットワ−ク３１０を介して他コンピュ−タと通信を行うための通信装置３０５と、キーボードやボタン等の入力装置３０６と、モニタやプリンタ等の出力装置３０７と、ＣＤ−ＲＯＭやＵＳＢ等の可搬性を有する記憶媒体３０９から情報を読み取る読取装置３０８と、これらの各コンピュ−タ間のデ−タの送受信を行う内部通信線（たとえば、ＢＵＳ）３０１と、を備える。テストシナリオ生成装置１、管理者端末２および構成管理ＤＢ３はいわば、汎用のコンピュ−タ（電子計算機）である。
【００１５】
ＣＰＵ３０２は、外部記憶装置３０４から各種プログラムをメモリ３０３にロードし、所定のプログラムを実行することにより後述する機能を実現する。ＣＰＵ３０２が実行するプログラムは、予め外部記憶装置３０４に格納されていてもよいし、電子計算機が利用可能な可搬性を有する記憶媒体３０９に格納されており読取装置３０８を介して必要に応じて読み出されてもよい。またＣＰＵ３０２が実行するプログラムは、電子計算機が利用可能な通信媒体であるネットワ−クまたはネットワ−ク上を伝搬する搬送波を利用する通信装置３０５と接続された他のコンピュ−タから必要に応じてダウンロードされて外部記憶装置３０４に格納されてもよい。
【００１６】
図３は、テストシナリオ生成装置１の機能構成図である。テストシナリオ生成装置１は、処理部２０と、記憶部４０と、操作者からの指示の受け付けや各種デ−タの入出力や処理結果の出力などを行う入出力部６０と、ネットワ−クを介して通信する通信部８０とを備える。図３と図２との関係を説明すると、処理部２０は、ＣＰＵ３０２の処理プロセスとして実現され、記憶部４０は、ＣＰＵ３０２がメモリ３０３や外部記憶装置３０４を利用することにより実現される。また、通信部８０は、ＣＰＵ３０２が通信装置３０５を利用することにより実現され、入出力部６０は、ＣＰＵ３０２が入力装置３０６や出力装置３０７や読取装置３０８を利用することにより実現される。
【００１７】
処理部２０は、割付部２１と、経路作成部２２と、シナリオ作成部２３と、リスク評価部２４と、重複シナリオ判定部２５とを含む。記憶部４０には、後述する階層情報５００と、攻撃種別情報９００と、脆弱性情報６００と、攻撃種別情報７００と、脆弱性対応情報７１０と、シナリオパターン情報８００、攻撃経路情報１１００と、テストシナリオ出力結果１２００と、テストシナリオ優先順位評価結果１３００と、重複テストシナリオ判定結果１４００とが格納される。
【００１８】
割付部２１は、脆弱性情報６００と、攻撃種別情報７００と、脆弱性対応情報７１０とを用いて攻撃種別情報９００を作成して記憶部４０に格納する。経路作成部２２は、階層情報５００を参照して攻撃経路情報１１００を作成し、さらに階層情報５００および攻撃種別情報９００を参照して攻撃経路情報１１００を作成し、記憶部４０に格納する。シナリオ作成部２３は、攻撃経路情報１１００およびシナリオパターン情報８００を参照して、テストシナリオ出力結果１２００を作成し、記憶部４０に格納する。
【００１９】
リスク評価部２４は、テストシナリオ出力結果１２００に対し、テストシナリオごとの評価値を算出し、テストシナリオ優先順位評価結果１３００を作成する。重複シナリオ判定部２５は、テストシナリオ出力結果１２００に対し、同一シナリオ部分を検出し、テスト設計時に確認すべきパターンを削減してテストを効率化するための重複テストシナリオ判定結果１４００を作成する。
【００２０】
（階層情報５００）
図４は、階層情報５００の一例を示す図である。階層情報５００は、予め作成されている情報であり、処理の開始時に記憶部４０に格納される。なお階層情報５００は構成管理ＤＢ３から入力されてもよいが、少なくともテストシナリオ生成装置１のメモリ３０３に一時的には格納される。
【００２１】
階層情報５００は複数のレコードから構成され、各レコードは階層５０１、要素名５０２、および資産該当５０３のフィールドを有する。階層５０１は、構成要素の物理的、ネットワ−ク的または概念的な距離を示す。階層５０１は、たとえば構成レイヤやネットワ−ク構成、サイバーキルチェーンに基づく分類である。資産に対する構成要素の距離を表現できる情報であれば、特にその表現方法は限定しない。図４に示す例では階層５０１は図示上に近いほどテストシナリオ生成装置１の内部に近いことを示し、図示下に近いほどテストシナリオ生成装置１の外部に近いことを示す。すなわち「インタフェース」がテストシナリオ生成装置１の最も外側にある。詳しくは後述するが、攻撃はテストシナリオ生成装置１の外部から始まるので、いずれの攻撃も階層５０１が「インタフェース」の要素から始まる。また攻撃は外部から内部へ進行し、各階層を順番に経由する。
【００２２】
要素名５０２は、それぞれの構成要素の名称であり、構成要素の具体的な製品名、ソフトウェア名、機能名、インタフェース名、要素技術名、データ名などある。要素名５０２のそれぞれの値はラベルとしての機能を有するが本実施の形態では階層５０１のような特別な意味は有さない。要素名５０２に製品名やソフトウェア名を用いる場合には、脆弱性情報はソフトウェアのバ−ジョンにより関連が異なってくるため、詳細なバ−ジョン情報を含めてもよい。資産該当５０３は、その要素が資産に該当するか否かを示す。資産該当５０３には、図４に示す例では、資産に該当する場合は「ＹＥＳ」、資産に該当しない場合は「ＮＯ」が記載される。ただし資産に該当するか否かが判断できれば十分であり、その表記や表現は任意である。
【００２３】
たとえば図４の最上段に示す例では、階層５０１が「データ」、要素名５０２が「ＥＥ情報」、資産該当５０３が「ＹＥＳ」である。そのため「ＥＥ情報」は資産であり最も内側の「データ」の階層に属することがわかる。また図４の中ごろに示す「ＯＳ１２３」は、階層が外側から２番目の「ＯＳ」であり、資産ではないことがわかる。
【００２４】
（要素連結５１０）
図５は、要素連結５１０の一例を示す図である。要素連結５１０は、図４に示したそれぞれの構成要素の接続の有無、すなわち連結を示す情報である。図５では、図４と同様に階層ごとに要素名を記載している。また階層の記載位置も図４と同様であり、図示上に近いほどテストシナリオ生成装置１の内部に近いことを示し、図示下に近いほどテストシナリオ生成装置１の外部に近いことを示す。
【００２５】
図５における一方向矢印は、矢印の向きにアクセスが可能なことを示している。換言すると、矢印が存在しない要素間はアクセスができない。たとえば「ミドルウエア」の階層に「ＭｉｄＸＸＸ」と「ＭｉｄＹＹＹ」を示している。「ＭｉｄＸＸＸ」は、「アプリケーション」の階層に存在する、「ＡｐｐＡＡＡ」、「ＡｐｐＣＣＣ」、および「ＡｐｐＤＤＤ」のいずれにもアクセスできる。しかし「ＭｉｄＹＹＹ」は「ＡｐｐＡＡＡ」にしかアクセスできない。
【００２６】
また図５の例によれば、「ＥＥ情報」に到達する経路は、インタフェースから内側に順番に辿って「無線ＬＡＮ」、「ＯＳ１２３」、「ＭｉｄＸＸＸ」、「ＡｐｐＡＡＡ」、「ＥＥ情報」のルートと、「ＩＥＥＥ８０２．１５．１」、「ＯＳ１２３」、「ＭｉｄＸＸＸ」、「ＡｐｐＡＡＡ」、「ＥＥ情報」のルートの２つが存在することがわかる。
【００２７】
（脆弱性情報６００）
図６は、脆弱性情報６００の一例を示す図である。脆弱性情報６００は、管理者により作成されあらかじめ記憶部４０に格納される。脆弱性情報６００は複数のレコードから構成され、各レコードは要素名６０１と、脆弱性６０２のフィールドを有する。要素名６０１は階層情報５００の要素名５０２と同じく構成要素の名称である。すなわち階層情報５００と脆弱性情報６００は、要素名５０２と脆弱性６０２の値によりリンクする。脆弱性６０２は、たとえば脆弱性を分類したＣＷＥ番号や、過去に発見された脆弱性情報をナンバリングしたＣＶＥ番号や、脆弱性の固有名称などである。
【００２８】
脆弱性情報とは、ソフトウェアの持つ情報セキュリティ上の欠陥に関する情報であり、セキュリティホ−ルとも呼ばれる。脆弱性情報は、たとえばセキュリティナレッジを公開する機関のサ−バが配信している場合がある。本実施の形態において、脆弱性情報の配信元は問わない。脆弱性情報６００はたとえば、管理者が外部の脆弱性情報の配信サ−バから自社の製品に関連する情報を選択して取得し、入出力部２３０または通信部２４０を介してテストシナリオ生成装置１に入力する。ただし管理者がノウハウを元に独自に作成してもよい。また、通信部２４０を介して外部の脆弱性情報の配信サ−バから自動的に取得する構成をテストシナリオ生成装置１に持たせてもよい。
【００２９】
（攻撃種別情報７００）
図７は、攻撃種別情報７００の一例を示す図である。攻撃種別情報７００は、管理者により作成されあらかじめ記憶部４０に格納される。
攻撃種別情報７００は、攻撃の種類を識別するための識別子を格納する攻撃種別符号７０１の列と、セキュリティに関する攻撃の種別を示す情報を格納する攻撃種別情報７０２の列とを有する。本実施の形態では、攻撃の種類を識別するための識別子として数字を用いるので、攻撃種別符号７０１には数字が格納される。
【００３０】
（脆弱性対応情報７１０）
図８は、脆弱性対応情報７１０の一例を示す図である。脆弱性対応情報７１０は、管理者により作成されあらかじめ記憶部４０に格納される。脆弱性対応情報７１０は複数のレコードから構成される。脆弱性対応情報７１０の各レコードは、脆弱性を示す情報を格納する脆弱性情報７１１と、セキュリティに関する攻撃の種別を示す情報を格納する攻撃種別情報７１２のフィールドを有する。
【００３１】
脆弱性情報７１１には、たとえば脆弱性を分類したＣＷＥ番号や、過去に発見された脆弱性情報をナンバリングしたＣＶＥ番号や、脆弱性の固有名称などが格納される。後の処理で対応関係を利用するために、脆弱性情報７１１には脆弱性情報６００の脆弱性６０２と同じ種類の情報を格納することが望ましい。脆弱性情報７１１に脆弱性６０２と異なる種類の情報を格納する場合には、脆弱性情報７１１と脆弱性６０２の対応関係が明らかになるように、必要に応じて対応表などを作成する。
【００３２】
攻撃種別情報７１２には、攻撃種別情報７００の攻撃種別情報７０２の中から、その行の脆弱性情報が存在する場合に引き起こす可能性のある攻撃の種別を示す情報が格納される。図８では攻撃種別情報７１２には、攻撃種別符号７０１のフィールドの値が格納されているが、それぞれの脆弱性情報により引き起こされる攻撃の種別が判別できればよく、その表現方法は限定しない。
【００３３】
脆弱性対応情報７１０は、管理者や開発者のノウハウを元に作成することができる。また脆弱性対応情報７１０は、先述の脆弱性配信サ−バの配信する脆弱性の情報と、その脆弱性により実際に発生した攻撃の情報を集計して作成してもよい。
【００３４】
（シナリオパターン情報８００）
図９は、シナリオパターン情報８００の一例を示す図である。シナリオパターン情報８００は、管理者により作成されあらかじめ記憶部４０に格納される。
シナリオパターン情報８００は複数のレコードから構成される。シナリオパターン情報８００の各レコードは、パターンを一意に特定するパターン番号が格納されるパターン番号８０１、および攻撃が資産に被害を与えるまでの攻撃方法の実行順序が格納されるシナリオパターン８０２のフィールドとを有する。シナリオパターン８０２には、攻撃種別情報７００に格納される攻撃種別を用いて表現された攻撃の順番が格納される。
【００３５】
たとえば図９の最初のレコードは、パターン番号８０１が「Ｐ１」であり、シナリオパターン８０２が「Ｄ１」である。このレコードは、図７に示す攻撃種別符号７０１の「（１）」に対応する「なりすまし」の単独により資産が被害を受けるパターンを示している。シナリオパターン情報８００の２番目のレコードは、パターン番号８０１が「Ｐ２」であり、シナリオパターン８０２が「Ｄ１→Ｄ２」である。このレコードは、図７に示す攻撃種別符号７０１の「Ｄ１」に対応する「なりすまし」の攻撃があり、続けて発生する「Ｄ３」に対応する「改ざん」の攻撃により資産が被害を受けるパターンを示している。
【００３６】
セキュリティに関する攻撃は、サイバーキルチェーンで示されるように、製品の侵入口に施される攻撃、製品の内部で次の攻撃をし易くするための足がかりを施す攻撃、資産を破壊や奪取、停止するなど直接資産に施す攻撃などがある。また、複数の影響を施す攻撃も存在する。攻撃者は製品に施す影響の異なる攻撃を一つまたは複数組み合わせて攻撃を行う。ただし複数を組み合わせる攻撃には、攻撃の製品に施す影響の種類により、攻撃の組み合わせパターンが限定できる。その攻撃の組み合わせのパターンをシナリオパターン８０２に格納する。
【００３７】
シナリオパターン情報８００は、セキュリティ専門化や管理者や開発者のノウハウを元に作成することができる。またシナリオパターン情報８００は、先述の脆弱性配信サ−バの配信する実際に発生した攻撃の情報を集計し、集計したデータに基づき作成することもできる。さらにシナリオパターン情報８００は、セキュリティの攻撃に関する情報を分類するＣＡＰＡＣの情報に基づき作成することもできる。
【００３８】
（攻撃種別情報９００）
図１０は、攻撃種別情報９００の一例を示す図である。攻撃種別情報９００は、割付部２１により作成され、記憶部４０に格納される。攻撃種別情報９００は、複数のレコードから構成され、各レコードは、要素名９０１、脆弱性９０２、および攻撃種別符号９０３のフィールドを有する。
【００３９】
要素名９０１には、評価対象を構成する構成要素を示す情報が格納される。脆弱性９０２には、該当構成要素が含有しうる脆弱性を示す情報が格納される。攻撃種別符号９０３には、該当脆弱性が引き起こす可能性のあるセキュリティに関する攻撃の種別を示す情報が格納される。
【００４０】
要素名９０１には、階層情報５００の要素名５０２に格納された全ての値が格納される。ただし要素名９０１に記載される順番は階層情報５００とは同一でなくてもよい。脆弱性９０２および攻撃種別符号９０３には、脆弱性情報６００および脆弱性対応情報７１０を参照して、各レコードの要素名９０１に対応する脆弱性情報および攻撃種別が格納される。
【００４１】
（攻撃経路情報１１００）
図１１は、攻撃経路情報１１００の一例を示す図である。攻撃経路情報１１００は、経路作成部２２により作成され、記憶部４０に格納される。図１１に示す例では、攻撃経路情報１１００は、攻撃対象となる資産ごとに別々の表として作成される。攻撃経路情報１１００は複数のレコードから構成され、各レコードは、攻撃対象１１０２、要素番号１１０３、要素名１１０４、および攻撃種別符号１１０５のフィールドを有する。攻撃対象１１０２には、被害が発生する攻撃の対象、換言すると１つの表における最終的な攻撃の対象となる資産を示す情報が格納される。要素番号１１０３には、作成した攻撃経路の構成要素を特定する一意の番号が格納される。要素名１１０４には、当該レコードにおいて攻撃の対象となる要素名が格納される。攻撃種別符号１１０５には当該レコードにおける攻撃の種別が格納される。
【００４２】
攻撃経路情報１１００は、少なくとも図４の階層情報５００の資産該当５０３で資産に設定されている構成要素の数だけ生成される。一つの資産情報に対して複数の攻撃経路が想定される場合には、それぞれの経路が分かるように１つの表にまとめて記載してもよいし、同じ資産情報に対して複数のテーブルを作成してもよい。図１１に示す例では複数の攻撃経路が想定されるが１つの表にまとめて記載している。
【００４３】
図１１の各表におけるレコードの並び順は、図示下に記載するほど構成要素が侵入口側にあり、図示上に記載するほど構成要素が内部にあることを示す。すなわち図示下から上に向かって攻撃が進行する。ただしこの記載の順番を逆にしてもよいし、侵入の順番を明示する情報を別途格納するためのフィールドを各レコードに設けてもよい。
【００４４】
（テストシナリオ出力結果１２００）
図１２は、テストシナリオ出力結果１２００の一例を示す図である。テストシナリオ出力結果１２００は、シナリオ作成部２３により作成され、テストシナリオ保持部４６に格納される。
【００４５】
テストシナリオ出力結果１２００は複数のレコードから構成され、各レコードは、ルート１２０１、攻撃対象１２０２、およびテストシナリオ１２０３のフィールドを有する。ルート１２０１のフィールドには、テストシナリオを一意に特定する情報が格納される。
攻撃対象１２０２には、そのテストシナリオによって攻撃の対象となる資産を示す情報が格納される。テストシナリオ１２０３には、シナリオ作成部２３が作成したテストシナリオの情報が格納される。
【００４６】
本実施の形態では、評価対象に対して作成したテストシナリオを１つのテーブルのようにして表現しているが、攻撃対象ごとに別のテーブルとして表現してもよい。また、テストシナリオ出力結果１２００は、出力結果画面として管理者端末２の出力装置に表示してもよいし、管理者端末２またはテストシナリオ生成装置１からレポートとして紙に出力してもよい。
【００４７】
なお、本実施の形態では攻撃対象とテストシナリオ情報とを出力する例を示しているが、そのシナリオに該当する脆弱性情報もあわせて出力してもよい。また、テストシナリオの表現方法は、本実施の形態のような略記号で表現してもよいし、具体的に構成要素名や攻撃種別名、攻撃内容で表現してもよく、その表現方法は問わない。たとえば、本実施の形態の「Ｉ５−Ｄ１→Ｉ３−Ｄ４→Ｉ２−Ｄ６→Ｉ１−Ｄ５」は、「認証機能に不正アクセスされ、ＯＳ１２３で不正なコードが実行され、CCCの設定が変更されることで、AAA機能が停止する」と表現してもよい。
【００４８】
（テストシナリオ優先順位評価結果１３００）
図１３は、テストシナリオ優先順位評価結果１３００の一例を示す図である。テストシナリオ優先順位評価結果１３００は、リスク評価部２４により作成され、記憶部４０に格納される。
【００４９】
テストシナリオ優先順位評価結果１３００は、複数のレコードから構成され、各レコードは優先度１３０１、攻撃対象１３０２、テストシナリオ１３０３、および評価値１３０４のフィールドを有する。優先度１３０１には、テストシナリオの優先度を示す情報が格納される。攻撃対象１３０２には、該当テストシナリオが実施される際に攻撃の対象となる資産を示す情報が格納される。テストシナリオ１３０３には、シナリオ作成部２３が作成したテストシナリオの情報が格納される。評価値１３０４には、リスク評価部２４が算出するテストシナリオの評価値が格納される。
【００５０】
リスク評価部２４による評価値の算出方法はテストシナリオの優先順位を付けられる方法であれば、その具体的な算出方法については限定しないが、たとえば次の５つの方法が考えられる。第１に、テストシナリオを構成する構成要素の数（ポップ数）の長短を評価する方法である。第２に、あらかじめ階層情報５００の時点で資産情報の価値の大小を係数で表現しておき資産の価値の大きさを評価する方法である。第３に、攻撃種別情報７００で攻撃種別の影響の大きさを係数で表現しておき評価する方法である。第４に、攻撃種別の影響の大きさと資産価値の大きさとの乗算で評価する方法である。第５に、先述の脆弱性配信サ−バの配信する実際に起こった攻撃の情報とその攻撃のリスク値（たとえばＣＲＳＳ値）を集計し、構成要素と攻撃種別の組み合わせにおける平均リスク値情報を作成しておいて評価する方法である。
【００５１】
また、リスク評価部２４による評価値の算出方法を複数用意し、管理者が選択できるようにして、選択した算出方法によるそれぞれのテストシナリオの優先度を管理者が比較できるようにしてもよい。この場合は、テスト設計の見積もり時や、顧客への説明時に利用することが可能である。
【００５２】
（重複テストシナリオ判定結果１４００）
図１４は、重複テストシナリオ判定結果１４００の一例を示す図である。重複テストシナリオ判定結果１４００は、重複シナリオ判定部２５により作成され、記憶部４０に格納される。重複テストシナリオ判定結果１４００は、複数のレコードから構成され、各レコードは、各テストシナリオの１ステップを一意に特定する情報が格納されるステップ１４０１と、シナリオ作成部２３が作成したテストシナリオの各ステップの説明が格納される説明１４０２とを有する。
【００５３】
図１４に示す例の上半分は、図１２に示したルートＲ１のテストシナリオを説明している。図１４のレコード目のステップ１４０１に格納される「Ｒ１−１」は、ルート「Ｒ１」の「１」つめのステップであることを示している。
【００５４】
説明１４０２には、１つのテストシナリオの構成要素と攻撃種別の組み合わせのつながりを複数に分解して表現したものが格納される。複数に分解することで、別のテストシナリオと同一の構成要素と攻撃種別の組み合わせのつながりである箇所が判定できる。たとえば、図１４では「Ｉ５−Ｄ１→Ｉ３−Ｄ４→Ｉ２−Ｄ６」が複数のテストシナリオ上に存在している。
【００５５】
重複テストシナリオ判定結果１４００は、構成要素と攻撃種別の組み合わせのつながりが重複している箇所を管理者に分かるように示して出力する。図１４に示す例では、ルート「Ｒ２−１」など重複するテストシナリオは斜線を付している。重複箇所は一度そのシナリオへの攻撃に対してセキュリティ対策が機能していることが確認できれば、その箇所に関するテストを削減し、異なるテストシナリオ箇所、すなわち異なる構成要素と攻撃種別の組み合わせのつながり箇所に関するテストのみを実施することとしてもよいと考える。そのため、重複テストシナリオ判定結果１４００により、同一のテストを設計するテスト設計工数を削減し、テストを効率化する効果が得られる。
【００５６】
重複シナリオ判定部２５はたとえば、テストシナリオ出力結果１２００に記載されたそれぞれのテストシナリオを１ステップずつ分解して各ステップの動作を説明１４０２に格納する。この際に重複シナリオ判定部２５は攻撃種別情報７００および攻撃経路情報１１００を参照する。重複シナリオ判定部２５は全ルートの全ステップについて説明１４０２に記載すると、重複する記載を検索し、２回目以降に出現する記載には重複を示す表示、たとえば斜線の付加を行う。
【００５７】
なお以下では、記載を簡潔にするために、各フィールドに格納されている値を言及する際に、フィールドの名称をそのまま用いる。たとえば図１０に示す例では「無線ＬＡＮ」は要素名９０１のフィールドに格納される値であるが、以下の説明では、要素名９０１が「無線ＬＡＮ」である、とも言う。
【００５８】
（処理シーケンス）
図１５は、テストシナリオ生成装置１および管理者端末２の処理シ−ケンス図である。なお管理者端末２は、構成管理ＤＢ３であってもよい。
【００５９】
ステップＳ４０１では管理者端末２は、入出力部６０または通信部８０を介しテストシナリオ生成装置１に対して、評価対象の要素名、資産該当の有無、および階層を入力する。ステップＳ４０２ではテストシナリオ生成装置１の処理部２０は、入力された情報を用いて階層情報５００を作成し、記憶部４０に格納する。続くステップＳ４０３ではテストシナリオ生成装置１の割付部２１は、階層情報５００、脆弱性情報６００、および脆弱性対応情報７１０を用いて攻撃種別情報９００を作成する。具体的には次の３段階により攻撃種別情報９００が作成される。第１段階では割付部２１は、階層情報５００の全ての要素名５０２を攻撃種別情報９００の要素名９０１に割り付ける。たとえば図１０に示す例では、図４の要素名５０２が順不同で要素名９０１に転記される。
【００６０】
ステップＳ４０３の第２段階では割付部２１は、脆弱性情報６００を参照して攻撃種別情報９００の要素名９０１に対応する脆弱性６０２を脆弱性９０２に割り付ける。たとえば図１０に示す例の最初のレコードでは、「無線ＬＡＮ」に対応する脆弱性情報として「ＣＷＥ−００１」と「ＣＷＥ−０１０」が脆弱性９０２に割り付けられる。第３段階では割付部２１は、脆弱性対応情報７１０を参照して攻撃種別情報９００の脆弱性９０２に対応する攻撃種別情報７１２を攻撃種別符号９０３に割り付ける。以上の処理により攻撃種別情報９００が作成される。
【００６１】
続くステップＳ４０３ではテストシナリオ生成装置１の経路作成部２２は、階層情報５００と要素連結５１０を用いてインタフェースから資産に至る攻撃経路を特定する。そして経路作成部２２は、作成した攻撃経路に対し、攻撃種別情報９００に格納される情報を用いて、作成した攻撃経路に対して攻撃種別情報を割り付け、攻撃経路情報１１００を作成する。本ステップの詳細は図１６で述べる。
【００６２】
続くステップＳ４０５ではテストシナリオ生成装置１のシナリオ作成部２３は、攻撃経路情報１１００を参照して複数のテストシナリオを作成する。テストシナリオは、次の３段階の処理をステップ４０４で作成した攻撃経路情報１１００の各テーブルに対して実行する。処理対象として選択するテーブルの順番は不問である。
【００６３】
ステップＳ４０５の第１段階では、シナリオ作成部２３は、攻撃経路情報１１００の処理対象のテーブルにおける攻撃の侵入順序の最も入り口側となる行において、要素番号情報１１０３と攻撃種別符号１１０５を取得し組み合わせる。たとえば図１１に示す例では、「Ｉ５」と「Ｄ１」を組み合わせて「Ｉ５−Ｄ１」を得る。ただしここでは視認性を確保するために組み合わされた両者の間に「−」（ハイフン）を挿入しているが、このハイフンは省略してもよい。
【００６４】
ステップＳ４０５の第２段階では、シナリオ作成部２３は、侵入順序の次行の要素番号情報１１０３と攻撃種別符号１１０５を同様に取得し、組み合わせたものを第１段階の組合せにつなげる。たとえば図１１に示す例では、「Ｉ４」と「Ｄ１」を組み合わせて「Ｉ４−Ｄ１」を得て、「Ｉ５−Ｄ１」と繋げることで、「Ｉ５−Ｄ１→Ｉ４−Ｄ１」を得る。ただしここでは順番を示すために右向き矢印を用いているが、コンマ、セミコロン、スラッシュなど任意のデリミタを用いてもよい。
【００６５】
ステップＳ４０５の第３段階では、シナリオ作成部２３は、第２段階の処理を侵入順序の出口側、すなわち攻撃対象となる資産まで繰り返し実行する。なお、攻撃種別符号１１０５に複数の値が格納されている場合には、テーブルに記載された攻撃種別の数だけ同じ要素番号を組み合わせる。たとえば図１１に示す例では、「Ｉ３−Ｄ４」と「Ｉ３−Ｄ６」をそれぞれ作成する。また、攻撃経路情報１１００の各行は、その行で攻撃種別情報の攻撃が起こらない場合は、その行を飛ばして次行の要素番号情報１１０３と攻撃種別符号１１０５の組み合わせにつなげる。
【００６６】
以上の第１段階〜第３段階により、攻撃経路情報１１００に記載された要素番号情報と攻撃種別情報をすべて組み合わせたテストシナリオが作成される。前述のように攻撃経路情報１１００に含まれるテーブルごとに、すなわち攻撃対象ごとに上記の処理を繰り返し、すべての攻撃対象に対してテストシナリオを作成する。
【００６７】
続くステップＳ４０６ではテストシナリオ生成装置１のシナリオ作成部２３は、ステップ４０５で作成したテストシナリオの攻撃種別符号の順序が、シナリオパターン情報８００のいずれかのパターンに合致するか否かを判断する。ただしこの際にはテストシナリオの攻撃種別符号１１０５のみに注目し、要素番号情報１１０３は無視する。たとえば「Ｉ５−Ｄ１→Ｉ３−Ｄ４→Ｉ２−Ｄ６→Ｉ１−Ｄ５」というテストシナリオは、「Ｄ１→Ｄ４→Ｄ６→Ｄ５」というパターンに一致すると判断する。シナリオ作成部２３は、いずれのパターンにも合致しないと判断する場合は、そのテストシナリオを削除する。
【００６８】
続くステップＳ４０７ではテストシナリオ生成装置１のシナリオ作成部２３は、ステップＳ４０５において作成されたテストシナリオであって、ステップＳ４０６において削除されなかったテストシナリオをテストシナリオ出力結果１２００のテストシナリオ１２０３として割付ける。そしてシナリオ作成部２３は、各テストシナリオに対応する攻撃対象１２０２を格納し、各テストシナリオを一意に特定する符号であるルート１２０１に任意の文字列、たとえば「Ｒ１」から始まる連番を格納する。以上によりテストシナリオ出力結果１２００が作成される。
【００６９】
続くステップＳ４０８ではシナリオ作成部２３は、ステップＳ４０７において作成したテストシナリオ出力結果１２００を管理者端末２へ出力する。以上が図１５の説明である。
【００７０】
（攻撃経路情報の作成）
図１６は、テストシナリオ生成装置１の攻撃経路作成処理、すなわち図１５のステップＳ４０４の詳細を示すフローチャートである。テストシナリオ生成装置１の経路作成部２２は、本図で示す処理を実行することで、攻撃経路情報１１００を攻撃対象資産ごとに作成する。以下に説明する各ステップの実行主体は、テストシナリオ生成装置１の経路作成部２２である。
【００７１】
ステップＳ１００１では経路作成部２２は、階層情報５００の全体を読み込む。続くステップＳ１００２では経路作成部２２は、階層情報５００から資産該当５０３が「ＹＥＳ」である要素名５０２の１つを選択する。ここで選択した要素名５０２がその攻撃経路情報１１００における攻撃対象資産となり、攻撃対象１１０２に格納される。以下では、ステップＳ１００２において選択した構成要素を「処理対象資産」と呼ぶ。
【００７２】
ステップＳ１００３では経路作成部２２は、要素連結５１０を参照して、インタフェースからステップ１００２において選択した資産である構成要素へ至る経路、すなわち構成要素の順番を特定して攻撃経路情報１１００の要素名１１０４に順番に格納する。本実施の形態では、攻撃対象資産を最上行に配置し、インタフェースの階層の構成要素を最下行に配置する。
【００７３】
ステップＳ１００４では経路作成部２２は、ステップ１００３で並べた構成要素群に、その順番に応じて構成要素を識別するための要素番号を振り、攻撃経路情報１１００の要素番号情報１１０３に格納する。ステップＳ１００５では経路作成部２２は、攻撃種別情報９００の要素名９０１および攻撃種別符号９０３を参照して、要素名１１０４に対応する攻撃種別符号１１０５を割り付ける。
【００７４】
ステップＳ１００６では経路作成部２２は、階層情報５００における全ての資産を処理対象資産としたか否かを判断する。全ての資産を処理対象資産としたと判断する場合には図１６に示す処理を終了し、処理対象資産としていない資産が存在すると判断する場合はステップＳ１００２に戻る。以上が図１６に示す処理の説明である。
【００７５】
上述した実施の形態によれば、次の作用効果が得られる。
（１）テストシナリオ生成装置１は、車載装置に対する攻撃に関するテストシナリオを生成する。テストシナリオ生成装置１は、車載装置に含まれる複数の構成要素、および構成要素のうち攻撃対象となりうる資産を示す情報を含む階層情報５００、構成要素同士のつながりを示す要素連結５１０、構成要素ごとの脆弱性を示す脆弱性情報６００、および脆弱性ごとの攻撃種別を示す攻撃種別情報７００を格納する記憶部４０と、階層情報５００、脆弱性情報６００、および攻撃種別情報７００を用いて、構成要素ごとの攻撃種別を特定した攻撃種別情報９００を作成する割付部２１と、要素連結５１０に基づき資産である構成要素までの侵入経路を生成し、攻撃種別情報９００を用いて、構成要素および攻撃種別の組合せを侵入経路の順番に並べたテストシナリオを複数生成するシナリオ作成部２３とを備える。そのため、構成や機能の脆弱性を組み合わせた攻撃に対応する漏れのないテストケースが作成できる。本実施の形態によれば、製品の攻撃経路を考慮したテストシナリオを網羅的に作成することが可能であり、また構成要素の脆弱性情報と攻撃種別情報を勘案し、構成要素のつながりと脆弱性を組み合わせた攻撃に関するテストシナリオを作成することが可能である。
【００７６】
（２）記憶部４０には、攻撃種別が実行される順番を示すシナリオパターン情報８００が格納される。シナリオ作成部２３は、要素連結５１０に基づき資産である構成要素までの侵入経路を全て生成して得られたテストシナリオのうち、シナリオパターン情報に該当するテストシナリオのみを抽出する。そのため、種別ごとの攻撃の順番を考慮した現実的なテストシナリオを作成することができる。
【００７７】
（３）テストシナリオ生成装置１は、シナリオ作成部２３が生成したテストシナリオのごとの優先順位を決定するリスク評価部２４を備える。そのため、ユーザにテストシナリオの優劣を提示できる。
【００７８】
（４）テストシナリオ生成装置１は、シナリオ作成部２３が生成した複数のテストシナリオのうち、構成要素および攻撃種別の組合せが侵入口から少なくとも一部が重複するテストシナリオを検出する重複シナリオ判定部２５を備える。そのため、重複しているテストシナリオの一部をユーザに明示できる。
【００７９】
（変形例１）
実施の形態では、テストシナリオ生成装置１に管理者端末２が接続されていた。しかし、テストシナリオ生成装置１は構成管理ＤＢ３に接続され出力結果をテストシナリオ生成装置の出力部で出力する構成としてもよい。また、テストシナリオ生成装置１のみで機能する構成としてもよい。さらに、テストシナリオ生成装置１を評価対象に直接接続して情報を入手してもよい。
【００８０】
（変形例２）
テストシナリオ生成装置１は、通信装置３０５、入力装置３０６、出力装置３０７、および読取装置３０８のそれぞれを備える代わりに、それぞれの装置に対するインタフェースを備えてもよい。たとえばテストシナリオ生成装置１は、出力装置３０７そのものを備えるのではなく、液晶ディスプレイに映像信号を出力するための映像信号出力回路および映像信号出力端子を備えてもよい。
【００８１】
（変形例３）
脆弱性情報６００は既知の具体的な脆弱性の情報が格納された。しかし具体的な脆弱性の情報の代わりに、機能や構成ごとの傾向としての脆弱性を利用してもよい。
【００８２】
図１７は、変形例３における脆弱性情報６００Ａの一例を示す図である。脆弱性情報６００Ａは、構成要素の分類を示す情報を格納する構成要素情報６０３と、該当の構成要素の分類が含有する傾向にある脆弱性を示す情報を格納する脆弱性情報６０４とを有する。構成要素情報６０３に格納される情報は、構成要素の製品種別名や、ソフトウェアの種別名、ソフトウェアを構成する機能の種類名や機能分類名、機能の傾向、要素技術名などである。脆弱性情報６０４に格納される情報は、脆弱性６０２と同様に、たとえば脆弱性を分類したＣＷＥ番号や、過去に発見された脆弱性情報をナンバリングしたＣＶＥ番号や、脆弱性の固有名称などが考えられる。
【００８３】
本変形例によれば、構成要素の種別や機能分類と脆弱性情報とを対応させるので、構成要素の名称が完全に一致しない場合でも脆弱性の存在を推認してテストシナリオを作成できる。なお、本変形例で示した脆弱性情報６００Ａを実施の形態における脆弱性情報６００と置き換えるだけでなく、両者を併用してもよい。
【００８４】
（変形例４）
テストシナリオ生成装置１は、シナリオパターン情報８００を備えず、シナリオパターンを考慮せずに網羅的な組み合わせのシナリオパターンを出力してもよい。
【００８５】
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、１つの機能ブロック図で表した構成を２以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。さらに、プログラムにより実現される機能の一部または全部がハードウエア回路やＦＰＧＡにより実現されてもよい。
【００８６】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００８７】
１…テストシナリオ生成装置
２０…処理部
２１…割付部
２２…経路作成部
２３…シナリオ作成部
２４…リスク評価部
２５…重複シナリオ判定部
４０…記憶部
５００…階層情報
５１０…要素連結
６００…脆弱性情報
７００…攻撃種別情報
８００…シナリオパターン情報
９００…攻撃種別情報
１１００…攻撃経路情報
【図１】
2020160611.tif 000003
【図２】
2020160611.tif 000004
【図３】
2020160611.tif 000005
【図４】
2020160611.tif 000006
【図５】
2020160611.tif 000007
【図６】
2020160611.tif 000008
【図７】
2020160611.tif 000009
【図８】
2020160611.tif 000010
【図９】
2020160611.tif 000011
【図１０】
2020160611.tif 000012
【図１１】
2020160611.tif 000013
【図１２】
2020160611.tif 000014
【図１３】
2020160611.tif 000015
【図１４】
2020160611.tif 000016
【図１５】
2020160611.tif 000017
【図１６】
2020160611.tif 000018
【図１７】
2020160611.tif 000019