(57)【要約】【課題】  脅威分析を効率的に行うことができる脅威分析方法を提供する。【解決手段】  情報処理システムの備えるプログラムの構成を示す構成情報を入力部３１で入力し、入力した構成情報が、攻撃手法辞書に登録された構成情報に一致するか否かを判定部３２で判定し、一致すると判定された場合には、入力した構成情報に一致する構成情報に対応する攻撃手法の情報を出力部３３から出力し、一致しないと判定された場合には、入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力部３３から出力する。【選択図】        図２
2014106855.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力ステップと、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力ステップで入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定ステップと、
前記判定ステップで一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定ステップで一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力ステップと、
を有することを特徴とする脅威分析方法。
【請求項２】
前記構成情報は、プログラムが行う処理と、前記プログラムに組み込まれたプログラム部品と、前記プログラムのプログラミングに使用したプログラミング言語との少なくとも１つを含むカテゴリで分類され、前記カテゴリごとに、各カテゴリに分類された構成情報と、前記分類された構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶されており、
前記出力ステップは、前記入力した構成情報と特定の関係にある構成情報として、前記入力した構成情報と同一のカテゴリに分類された構成情報を前記記憶手段から取得し、取得した構成情報に対応付けて前記記憶手段に記憶した攻撃手法の情報を出力することを特徴とする請求項１記載の脅威分析方法。
【請求項３】
前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報とを含み、
前記出力ステップは、前記判定ステップで一致すると判定された場合には前記条件を、前記判定ステップで一致しないと判定された場合には前記内容を示す情報を前記攻撃手法の情報として出力することを特徴とする請求項１又は２記載の脅威分析方法。
【請求項４】
前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報と、各攻撃手法に対する対策情報とを含み、
前記出力ステップは、前記判定ステップで一致すると判定された場合には前記条件と、前記内容を示す情報とを、前記判定ステップで一致しないと判定された場合には前記内容を示す情報と、前記対策情報とを前記攻撃手法の情報として出力することを特徴とする請求項１又は２記載の脅威分析方法。
【請求項５】
前記プログラムが行う処理には、利用者を認証する認証処理と、要求されたデータをデータベースから取得して要求元に送信する送信処理と、前記データベースに記憶されたデータの追加と更新と削除との少なくとも１つを行うデータベース管理処理との少なくとも１つを含み、前記プログラム部品には、フレームワークと、ライブラリと、モジュールと、コンポーネントとの少なくとも１つを含むことを特徴とする請求項２記載の脅威分析方法。
【請求項６】
コンピュータに、
情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手順と、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力手順で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手順と、
前記判定手順で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手順で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手順と、
を実行させるためのプログラム。
【請求項７】
情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手段と、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段と、
前記入力手段で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手段と、
前記判定手段で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手段で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手段と、
を備えることを特徴とする脅威分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、脅威分析方法、プログラム及び脅威分析装置に関する。
【背景技術】
【０００２】
情報処理システムの設計においては、ウィルス感染や情報漏洩等、情報処理システムのセキュリティを脅かす脅威を分析し、分析した脅威に対する対策を講じる必要がある。脅威に対する対策の例が特許文献１及び２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３２８８９４号公報
【特許文献２】特開２０１０−２５０６０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、脅威の分析は、情報処理システムのセキュリティを脅かすあらゆる脅威を検討する必要があるため、専門的な分析を必要とする。また、情報処理システムが備えるプログラムは、情報処理システムごとに異なるため、事前準備をすることができない。これらの理由により、脅威の分析は非常に手間のかかる作業であった。
【０００５】
１つの側面では、本発明は、脅威の分析を効率的に行うことができる脅威分析方法、プログラム及び脅威分析装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書に記載の脅威分析方法は、情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力ステップと、構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力ステップで入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定ステップと、前記判定ステップで一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定ステップで一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力ステップとを有する。
【０００７】
本明細書に記載のプログラムは、コンピュータに、情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手順と、構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力手順で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手順と、前記判定手順で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手順で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手順とを実行させる。
【０００８】
本明細書に記載の脅威分析装置は、情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手段と、構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段と、前記入力手段で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手段と、前記判定手段で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手段で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手段とを備える。
【発明の効果】
【０００９】
本明細書に記載の脅威分析方法、プログラム及び脅威分析装置は、脅威の分析を効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】脅威分析装置のハードウェア構成の一例を示す図である。
【図２】第１の実施形態の制御部がプログラムとの協働により実現する機能ブロックの一例を示す図である。
【図３】攻撃手法辞書の一例を示す図である。
【図４】入力した構成情報に一致する構成情報が攻撃手法辞書に登録されている場合に出力されるワークシートの一例を示す図である。
【図５】入力した構成情報に一致する構成情報が攻撃手法辞書に登録されていない場合に出力されるワークシートの一例を示す図である。
【図６】第１の実施形態の制御部の処理手順を示すフローチャートである。
【図７】第１の実施形態のワークシートの生成手順を示すフローチャートである。
【図８】第２の実施形態の制御部がプログラムと協働により実現する機能ブロックの一例を示す図である。
【図９】既知脅威辞書の一例を示す図である。
【図１０】検討作業情報辞書の一例を示す図である。
【図１１】入力した構成情報に一致する構成情報が既知脅威辞書に登録されている場合に出力されるワークシートの一例を示す図である。
【図１２】入力した構成情報に一致する構成情報が既知脅威辞書に登録されていない場合に出力されるワークシートの一例を示す図である。
【図１３】（Ａ）は、従来の脅威分析の方法について説明するための図であり、（Ｂ）は、第２の実施形態での脅威分析の方法について説明するための図である。
【図１４】第２の実施形態のワークシートの生成手順を示すフローチャートである。
【図１５】表示部に表示される入力画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
添付図面を参照しながら実施の形態を説明する。
【００１２】
《第１の実施形態》
まず、図１を参照しながら脅威分析装置１０の備えるハードウェアについて説明する。脅威分析装置１０は、制御部２０を備える。制御部２０は、ＣＰＵ（Central Processing Unit）２１と、ＲＯＭ（Read Only Memory）２２と、ＲＡＭ（Random Access Memory）２３とを備える。ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３とはそれぞれバス１００に接続している。
【００１３】
ＲＯＭ２２には、ＣＰＵ２１が制御に使用する制御プログラムが記憶されている。ＣＰＵ２１は、脅威分析装置１０の電源がオンされて起動すると、制御プログラムをＲＯＭ２２またはハードディスク装置（以下、ＨＤＤと表記する）５０から読み出してＲＡＭ２３に記憶させる。その後、ＣＰＵ２１は、ＲＡＭ２３に記憶させた制御プログラムに従って処理（演算）を行う。ＲＡＭ２３は、ＣＰＵ２１のワークメモリとして使用され、ＣＰＵ２１が演算に使用するデータや、ＣＰＵ２１による演算後のデータ等が記憶される。ＣＰＵ２１、ＲＡＭ２３などのハードウェアと、制御プログラムとの協働によって実現される機能ブロックについては、図２を参照しながら後述する。
【００１４】
脅威分析装置１０は、ＨＤＤ５０を備える。ＨＤＤ５０は、バス１００に接続している。ＨＤＤ５０は、例えば、脅威分析装置１０の電源をオフする場合に保存しておく必要のあるデータを記憶する。データの例として、攻撃手法辞書の辞書データや、制御部２０の生成したワークシートのデータ等が挙げられる。これらのデータの詳細については後述する。なお、第２の実施形態で説明する、既知脅威辞書や検討作業情報辞書等の辞書データもＨＤＤ５０に記憶されている。また、本実施形態では、記憶装置としてＨＤＤ５０を例にして説明するが、ＨＤＤ５０に代えてフラッシュメモリ等の不揮発性メモリを使用してもよい。
【００１５】
脅威分析装置１０は、ネットワークインターフェース６１を備える。ネットワークインターフェース６１は、バス１００に接続している。また、ネットワークインターフェース６１は、制御部２０の制御に従ってネットワーク６２に接続し、ネットワーク６２に接続した他のコンピュータ装置とデータ通信を行う。
【００１６】
脅威分析装置１０は、出力インターフェース７１と、印刷部７２とを備える。出力インターフェース７１は、バス１００に接続していると共に、印刷部７２に接続している。出力インターフェース７１は、制御部２０の生成したワークシート等の印刷データを制御部２０から受け取り、受け取った印刷データを印刷部７２に出力する。印刷部７２は、出力インターフェース７１の出力した印刷データを入力して、入力した印刷データを用紙に印刷する。
【００１７】
脅威分析装置１０は、操作部８１と、入力インターフェース８２とを備える。入力インターフェース８２は、バス１００に接続していると共に、操作部８１に接続している。操作部８１は、利用者の操作入力を受け付ける受付部である。操作部８１で受け付けた操作情報は、入力インターフェース８２を介して制御部２０に送られる。
【００１８】
脅威分析装置１０は、グラフィックインターフェース９１と、表示部９２とを備える。グラフィックインターフェース９１は、バス１００に接続していると共に、表示部９２に接続している。グラフィックインターフェース９１は、制御部２０で処理されたグラフィックデータを表示部９２に表示させるためのインターフェースであり、表示部９２に表示させるためにグラフィックデータを波形電気信号に変換する。表示部９２は、グラフィックインターフェース９１の出力する波形電気信号を入力し、入力した波形電気信号を表示画面に表示させる。
【００１９】
次に、図２を参照しながら機能ブロック３０について説明する。機能ブロック３０とは、制御部２０のＣＰＵ２１、ＲＡＭ２３などのハードウェアと、制御プログラムとの協働によって実現される各処理を、一連の処理で実現される機能ごとにまとめたブロックである。脅威分析装置１０は、機能ブロック３０として、入力部３１と、判定部３２と、出力部３３とを備える。
【００２０】
入力部３１は、操作部８１が操作情報として受け付けたプログラム構成情報（以下、簡単に構成情報という）を入力する（構成情報の詳細については後述する）。入力部３１は、操作部８１で受け付けた構成情報を入力し、入力した構成情報を判定部３２に出力する。なお、以下では、後述する攻撃手法辞書に登録している構成情報と区別するため、入力部３１が入力した構成情報を入力構成情報という。
【００２１】
判定部３２は、入力部３１が出力した入力構成情報を入力する。判定部３２は、ＲＡＭ２３に記憶した攻撃手法辞書を参照して、入力構成情報と一致する構成情報が攻撃手法辞書に登録されているか否かを判定する。ＲＡＭ２３は、脅威分析装置１０の起動時に、ＣＰＵ２１によってＨＤＤ５０から読み出された攻撃手法辞書を記憶している。判定部３２は、入力構成情報と一致する構成情報が攻撃手法辞書に登録されていると判定すると、入力構成情報と一致する構成情報に対応付けた攻撃手法の情報を攻撃手法辞書から取得するように出力部３３に指示する。また、判定部３２は、入力構成情報と一致する構成情報が攻撃手法辞書に登録されていないと判定すると、入力構成情報と特定の関係にある構成情報を攻撃手法辞書を参照して取得する。判定部３２は、取得した構成情報に対応付けた攻撃手法の情報を攻撃手法辞書から取得するように出力部３３に指示する。入力構成情報と特定の関係にある構成情報の例として、入力構成情報と同じカテゴリに分類される構成情報が挙げられる。カテゴリは、構成情報が示すプログラムの構成を、同じ種類の構成ごとに分類するための区分である。例えば、Ｃ言語でプログラミングされたプログラムの場合、プログラムの構成情報はＣ言語、Ｃ言語のカテゴリはプログラミング言語となる。Ｃ言語と同じカテゴリに分類される構成情報には、ＰＨＰ（Hypertext Preprocessor）、Ｊａｖａ（登録商標）などが含まれる。また、プログラムによる利用者の認証方式がベーシック認証である場合、ベーシック認証が構成情報、認証方式がカテゴリとなる。ベーシック認証と同じカテゴリに分類される構成情報には、フォーム認証等が含まれる。なお、入力構成情報のカテゴリの判定方法については後述する。
判定部３２は、入力構成情報のカテゴリを判定すると、判定したカテゴリで攻撃手法辞書に登録された構成情報を取得する。判定部３２は、取得した構成情報に対応付けて攻撃手法辞書に登録された攻撃手法の情報を、攻撃手法辞書から取得するように出力部３３に指示する。
【００２２】
ここで、図３を参照しながら攻撃手法辞書について説明する。攻撃手法辞書には、構成情報が登録されている。構成情報は、プログラムの構成を特定する情報であり、構成情報としてプログラムの実装方式やプログラムが行う処理などがある。また、プログラムを開発する作業を実装と呼び、プログラムの開発に用いた方式を実装方式と呼ぶ。実装方式には、例えば、プログラミングに使用した言語や、プログラムに組み込んだプログラム部品等が含まれる。プログラミング言語には、Ｃ言語、ＰＨＰ、Ｊａｖａ（登録商標）などが含まれる。プログラム部品には、フレームワーク、コンポーネント、モジュール、ライブラリ等が含まれる。また、プログラムが行う処理には、例えば、認証処理、送信処理、データベース管理処理等が含まれる。送信処理とデータベース管理処理とは、データベース管理システム（DataBase Management System）によって実現される処理に含まれる。送信処理は、要求されたデータをデータベースから取得して要求元に送信する処理を含み、データベース管理処理は、データベースのデータの追加と更新と削除との少なくとも１つを行う処理が含まれる。
また、攻撃手法辞書は、構成情報を、カテゴリごとに分類して登録している。カテゴリには、例えば、プログラミング言語、データベース管理システム、認証方式、プログラム部品等が含まれる。データベース管理システムには、送信処理とデータベース管理処理との少なくとも一方が含まれる。また、プログラム部品には、上述のようにフレームワーク、コンポーネント、モジュール、ライブラリ等が含まれる。例えば、図３に示す攻撃手法辞書の「プログラミング言語」のカテゴリには、構成情報として、「Ｃ言語」と、「ＰＨＰ」とが登録されている。図３に示す攻撃手法辞書の「データベース管理システム」のカテゴリには、構成情報として「Ｓｙｍｆｏｗａｒｅ」（登録商標）と、「ＳＱＬサーバ」とが登録されている。図３に示す攻撃手法辞書の「認証方式」のカテゴリには、構成情報として「ベーシック認証」と、「フォーム認証」とが登録されている。図３に示す攻撃手法辞書の「フレームワーク」のカテゴリには、構成情報として「Ｓｅｖｌｅ」と、「Ｓｔｒｕｔｓ」と、「ＡＳＰ．Ｎｅｔ」とが登録されている。
【００２３】
また、攻撃手法辞書は、攻撃手法と、攻撃手法の情報とを、カテゴリごとに分類した構成情報に対応付けて登録している。攻撃手法とは、攻撃の名称である。例えば、図３に示す攻撃手法辞書では、「Ｃ言語」の構成情報に対応付けて、「バッファオーバーフロー」と「フォーマット文字列攻撃」とを攻撃手法として登録している。また、攻撃手法の情報とは、例えば、攻撃の内容を示す攻撃概要である。これらの情報の他に、攻撃可能となる条件や、攻撃手法に対する対策事例を攻撃手法辞書に登録しておいてもよい。図３に示す攻撃手法辞書には、攻撃手法の情報として攻撃概要を登録した例を示している。
構成情報は、プログラムに、攻撃が可能となる条件が成立する場合があるか否かを判定する情報として使用することができる。例えば、バッファオーバーフロー攻撃の場合、「未検査入力値を配列に格納する」という攻撃が可能となる条件が成立する。プログラミングにＣ言語を使用したプログラムは、この「未検査入力値を配列に格納する」という条件が成立する場合がある。また、フォーマット文字列攻撃の場合、「入力値を書式関数に利用する」という攻撃が可能となる条件が成立する。プログラミングにＣ言語を使用したプログラムは、この「入力値を書式関数に利用する」という条件も成立する場合がある。このため、攻撃手法辞書には、カテゴリごとに分類された構成情報に対応付けて、攻撃手法の情報を登録している。
【００２４】
ここで、入力構成情報の属するカテゴリを判定する方法について説明する。例えば、判定部３２は、ＬＡＮ、ＷＡＮ、インターネット等のネットワークに接続し、これらのネットワークに接続したコンピュータ装置から取得した情報を使用して、構成情報のカテゴリを判定する。判定部３２は、例えば、入力構成情報を検索キーとしてインターネットに公開されたウェブサイトにアクセスする。判定部３２は、アクセスしたウェブサイトのページに、攻撃手法辞書に登録されたカテゴリと同一の単語があるか否かを検索する。判定部３２は、ウェブサイトのページに入力構成情報と共に記載されているカテゴリを、入力構成情報のカテゴリと判定する。また、判定部３２は、攻撃手法辞書に登録された構成情報を使用して、構成情報のカテゴリを判定してもよい。例えば、構成情報として「ＭｙＳＱＬ」が入力されたとする。この「ＭｙＳＱＬ」は、攻撃手法辞書には登録されていないものと仮定する。また、攻撃手法辞書に、構成情報として「ＳＱＬサーバ」が登録されているとする。また、「ＳＱＬサーバ」のカテゴリとしてデータベース管理システムが登録されているとする。判定部３２は、攻撃手法辞書を検索して、「ＭｙＳＱＬ」と共通するＳＱＬの文字を持つ「ＳＱＬサーバ」を構成情報として検出する。判定部３２は、検出した「ＳＱＬサーバ」のカテゴリであるデータベース管理システムを「ＭｙＳＱＬ」のカテゴリと判定する。
また、過去に入力した構成情報の履歴をＲＡＭ２３に記憶しておき、判定部３２が、構成情報の履歴を利用して構成情報のカテゴリを判定するものであってもよい。例えば、判定部３２が、攻撃手法辞書やネットワークに接続したコンピュータ装置から取得した情報に基づいてカテゴリを推定し、推定したカテゴリを表示部９２に表示させる。利用者から、推定したカテゴリが正しいとの入力を操作部８１で受け付けた場合、判定部３２は、入力構成情報と、推定したカテゴリとを対応付けてＲＡＭ２３に記憶させる。また、利用者から、推定したカテゴリが正しくないとの入力と、正しいカテゴリの入力とを操作部８１で受け付けた場合、判定部３２は、入力構成情報と、利用者から受け付けたカテゴリとを対応付けてＲＡＭ２３に記憶させる。なお、構成情報の履歴を利用したカテゴリの判定は、ＲＡＭ２３に記憶させた入力構成情報とカテゴリとの数が一定数以上となった場合に行うようにしてもよい。データ数が少ない場合、カテゴリの判定精度が低いためである。
【００２５】
出力部３３は、判定部３２からの指示を入力すると、入力した指示に従って攻撃手法辞書から攻撃手法の情報を取得する。出力部３３は、攻撃手法辞書から取得した攻撃手法の情報を記載したワークシートを生成し、印刷部７２に出力する。または、出力部３３は、攻撃手法辞書から取得した攻撃手法の情報を記載したワークシートを生成して、表示部９２に出力する。なお、ワークシートは、利用者が、分析対象の情報処理システムが受け得る攻撃手法を把握し、攻撃手法に対する対策を講じるために使用するシートである。利用者は、ワークシートに記載された攻撃手法の情報を参考に、情報処理システムのセキュリティを強化するための対策を講じる。
【００２６】
図４及び図５に、出力部３３が出力するワークシートの例を示す。図４は、入力構成情報と一致する構成情報が攻撃手法辞書に登録されている場合に出力されるワークシートの例を示す。この場合、出力部３３が出力するワークシートは、入力構成情報と一致する構成情報に対応付けて攻撃手法辞書に登録された攻撃手法の情報を記載したものとなる。例えば、利用者が入力した構成情報が「ＰＨＰ」と「ＳＱＬサーバ」であったとする。この場合、「ＰＨＰ」と「ＳＱＬサーバ」は、図３に示す攻撃手法辞書に登録されているため、出力部３３は、攻撃手法辞書に登録した「ＰＨＰ」と「ＳＱＬサーバ」の攻撃手法の情報を記載したワークシートを生成する。
図５は、入力構成情報と一致する構成情報が攻撃手法辞書に登録されていない場合に出力されるワークシートの例を示す。この場合、出力部３３が出力するワークシートは、入力構成情報と同じカテゴリに分類される構成情報に対応付けて攻撃手法辞書に登録された攻撃手法の情報を記載したものとなる。例えば、利用者が入力した構成情報が「パール（Perl）」等の攻撃手法辞書に登録されていないプログラミング言語であったとする。この場合、「パール（Perl）」のカテゴリであるプログラミング言語で攻撃手法辞書に登録された「Ｃ言語」と「ＰＨＰ」に対する攻撃手法の情報がワークシートに記載される。
【００２７】
次に、図６に示すフローチャートを参照しながら制御部２０の処理手順を説明する。まず、制御部２０は、表示部９２に入力画面を表示させて（ステップＳ１）、利用者からの構成情報の入力を待機する。利用者は、分析対象の情報処理システムが備えるプログラムの構成情報を操作部８１から入力する。なお、脅威分析装置１０が分析対象とする情報処理システムは、コンピュータ装置単体だけではない。例えば、複数のコンピュータ装置がネットワークで接続され、複数のコンピュータ装置で連携して処理を行うシステムであってもよい。制御部２０は、構成情報の入力を受け付けると（ステップＳ２／ＹＥＳ）、受け付けた入力構成情報に基づいてワークシートを生成する（ステップＳ３）。ワークシートの生成フローについては、図７に示すフローチャートを参照しながら後述する。制御部２０は、ワークシートを生成すると、生成したワークシートを出力インターフェース７１に出力し（ステップＳ４）、印刷部７２により印刷出力する。また、表示部９２にワークシートを表示するように設定されている場合には、制御部２０は、生成したワークシートをグラフィックインターフェース９１に出力し（ステップＳ４）、表示部９２に表示させる。なお、入力画面を表示部９２に表示させてから所定時間を経過しても、利用者からの構成情報の入力を受け付けなかった場合（ステップＳ２／ＮＯ、かつＳ５／ＹＥＳ）、制御部２０はこのフローを終了させる。また、所定時間を経過していない場合（ステップＳ５／ＮＯ）、制御部２０は、ステップＳ２に戻り、構成情報の入力を待機する。
【００２８】
次に、図７に示すフローチャートを参照しながらワークシートの生成手順について説明する。制御部２０は、まず、処理対象の入力構成情報を選択する（ステップＳ１１）。次に、制御部２０は、選択した入力構成情報と一致する構成情報が攻撃手法辞書に登録されているか否かを判定する(ステップＳ１２)。入力構成情報と一致する構成情報が攻撃手法辞書に登録されていると判定した場合（ステップＳ１２／ＹＥＳ）、制御部２０は、入力構成情報に一致する構成情報に対応付けて攻撃手法辞書に登録された攻撃手法の情報を取得する（ステップＳ１３）。制御部２０は、取得した攻撃手法の情報を記載したワークシートを生成する（ステップＳ１４）。
また、入力構成情報に一致する構成情報が攻撃手法辞書に登録されていないと判定した場合（ステップＳ１２／ＮＯ）、制御部２０は、入力構成情報と特定の関係にある構成情報を検出する（ステップＳ１５）。入力構成情報と特定の関係にある構成情報とは、例えば、入力構成情報と同じカテゴリに分類される構成情報である。制御部２０は、入力構成情報の属するカテゴリを判定し、判定したカテゴリに分類された構成情報に対応付けて攻撃手法辞書に登録された攻撃手法の情報を取得する（ステップＳ１５）。制御部２０は、取得した攻撃手法の情報を記載したワークシートを生成する（ステップＳ１６）。
【００２９】
ワークシートへの攻撃手法の情報の記載が終了すると、制御部２０は、全ての入力構成情報を処理対象に選択したか否かを判定する（ステップＳ１７）。全ての入力構成情報を処理対象として選択していない場合（ステップＳ１７／ＮＯ）、制御部２０は、ステップＳ１１からの処理を繰り返す。また、全てのカテゴリを処理対象として選択したと判断すると（ステップＳ１７／ＹＥＳ）、制御部２０は、この処理を終了させる。
【００３０】
以上、詳細に説明したように、本第１の実施形態は、入力部３１で入力した構成情報に一致する構成情報が攻撃手法辞書に登録されている場合には、入力した構成情報に対応付けて攻撃手法辞書に登録した攻撃手法の情報が出力される。また、入力部３１で入力した構成情報に一致する構成情報が攻撃手法辞書に登録されていない場合には、入力した構成情報と特定の関係にある構成情報に対応付けて攻撃手法辞書に登録した攻撃手法の情報が出力される。特定の関係にある構成情報として、例えば、入力した構成情報と同一のカテゴリに分類される構成情報が選択される。従って、分析対象の情報処理システムが、攻撃手法辞書に登録された攻撃手法の攻撃を受けやすいか否かを容易に判定することができる。このため、本第１の実施形態は、脅威の分析を効率的に行うことができる。また、攻撃手法の情報として、例えば、攻撃手法の内容を示す情報を攻撃手法辞書に登録しておけば、攻撃手法に対する対策を講じることも可能になる。また、攻撃手法辞書に登録された構成情報の示す構成をプログラムが備えていなくても、同じカテゴリに分類される構成情報の示す構成を備えたプログラムを攻撃する攻撃手法の情報が提供される。このため、提供された攻撃手法の情報を参照して、攻撃に対する対策を検討することができる。
【００３１】
《第２の実施形態》
次に、添付図面を参照しながら第２の実施形態について説明する。なお、第２の実施形態の備えるハードウェアは、図１に示す第１の実施形態と同一であるため、説明を省略する。
【００３２】
まず、図８を参照しながら第２の実施形態の制御部１２０について説明する。本第２の実施形態は、第１の実施形態と同一の機能ブロック１３０を備えているが、ＲＡＭ１２３に記憶している辞書の構成が異なる。ＲＡＭ１２３は、既知脅威辞書と検討作業情報辞書との２つの辞書を記憶している。
【００３３】
入力部１３１の動作は、第１の実施形態の入力部３１と同一であるため説明を省略する。
判定部１３２は、入力部１３１が出力した入力構成情報を入力する。判定部１３２は、ＲＡＭ１２３を参照して、入力構成情報に一致する構成情報が既知脅威辞書に登録されているか否かを判定する。既知脅威辞書については後述する。ＲＡＭ１２３は、脅威分析装置１０の起動時にＣＰＵ２１によってＨＤＤ５０から読み出された既知脅威辞書と、検討作業情報辞書とを記憶している。検討作業情報辞書についても後述する。判定部１３２は、入力構成情報に一致する構成情報が既知脅威辞書に登録されていると判定すると、入力構成情報に一致する構成情報に対応付けた第１の情報を検討作業情報辞書から取得するように出力部１３３に指示を出す。判定部１３２が出力部１３３に出力する情報には、入力構成情報を通知する情報と、入力構成情報に一致する構成情報に対応付けた第１の情報を検討作業情報辞書から取得するように指示する命令とが含まれる。なお、第１の情報については後述する。また、判定部１３２は、入力構成情報に一致する構成情報が既知脅威辞書に登録されていないと判定すると、入力構成情報が属するカテゴリを判定する。判定部１３２は、入力構成情報が属するカテゴリを判定すると、判定したカテゴリに分類された構成情報に対応付けられた第２の情報を検討作業情報辞書から取得するように出力部１３３に指示を出す。判定部１３２が出力部１３３に出力する情報には、入力構成情報が属するカテゴリを通知する情報と、通知したカテゴリに分類された構成情報に対応付けられた第２の情報を検討作業情報辞書から取得するように指示する命令とが含まれる。なお、判定部１３２が、入力構成情報の属するカテゴリを判定する方法は、上述した第１の実施形態と同一の方法であってもよいし、利用者が構成情報を操作部８１から入力する際に、カテゴリを構成情報と共に入力するようにしてもよい。この場合、判定部１３２は、入力部１３１から取得したカテゴリの情報を出力部１３３に通知する。なお、第２の情報については後述する。
【００３４】
出力部１３３は、判定部１３２からの指示を入力すると、入力した指示に従って検討作業情報辞書を参照し、検討作業情報辞書から第１の情報または第２の情報を取得する。
【００３５】
ここで、図９を参照しながら既知脅威辞書について説明する。既知脅威辞書も、攻撃手法辞書と同様に、構成情報を、カテゴリごとに分類して登録している。なお、既知脅威辞書には、カテゴリと構成情報との他に、構成情報を説明する補足説明を、利用者の便宜のために登録しておくこともできる。
また、既知脅威辞書に登録されたカテゴリには、プログラムが行う処理と、プログラムに組み込まれたプログラム部品と、プログラムのプログラミングに使用したプログラミング言語とが含まれる。プログラムが行う処理には、例えば、認証処理、データベース管理システム等が含まれる。データベース管理システムには、送信処理と、データベース管理処理との少なくとも一方が含まれ、プログラム部品には、フレームワーク、コンポーネント、モジュール、ライブラリ等が含まれる。
【００３６】
次に、図１０を参照しながら検討作業情報辞書について説明する。図１０に、検討作業情報辞書の一例を示す。検討作業情報辞書には、既知脅威辞書と同様に、カテゴリと、各カテゴリに分類された構成情報とが登録されている。また、検討作業情報辞書には、各構成情報に対応付けて、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法が登録されている。さらに、検討作業情報辞書には、各構成情報に対応付けて、攻撃が可能となる前提条件（以下、攻撃前提条件という）と、各攻撃手法に対する対策である対策事例と、攻撃の内容を示す情報である攻撃概要とが登録されている。攻撃前提条件は、条件が成立した場合に、該当の攻撃手法による攻撃が開始されるため、プログラムの脆弱性ということもできる。例えば、ＳＱＬサーバの場合、ＳＱＬインジェクションが攻撃手法として登録されている。ＳＱＬインジェクションは、攻撃前提条件として、「入力値をＳＱＬ文に使用する」という条件が成立する。このため、検討作業情報辞書には、攻撃前提条件として、「入力値をＳＱＬ文に使用する」という条件が登録されている。また、検討作業情報辞書には、ＳＱＬインジェクションに対する対策事例として「バインドメカニズムを使用する」が登録され、攻撃概要として、「入力値を用いてＳＱＬ文を動的出力し、・・・」が登録される。
【００３７】
次に、第１の情報及び第２の情報について説明する。第１の情報は、入力部１３１が入力した入力構成情報に一致する構成情報が既知脅威辞書に登録されていると判定部１３２が判定した場合に、出力部１３３が検討作業情報辞書から取得する情報である。第１の情報には、入力構成情報に一致する構成情報に対応付けて検討作業情報辞書に登録された攻撃手法、攻撃前提条件、攻撃概要が含まれる。なお、第１の情報には、攻撃手法、攻撃前提条件、攻撃概要の全部が含まれている必要はなく、少なくとも攻撃前提条件が含まれていればよい。また、第２の情報は、入力構成情報に一致する構成情報が既知脅威辞書に登録されていないと判定部１３２が判定した場合に、出力部１３３が検討作業情報辞書から取得する情報である。第２の情報には、入力構成情報のカテゴリと同一のカテゴリに分類される構成情報に対応付けて検討作業情報辞書に登録された攻撃手法、対策事例、攻撃概要が含まれる。なお、第２の情報は、攻撃手法、対策事例、攻撃概要の全部が含まれている必要はなく、少なくとも攻撃概要が含まれていればよい。
【００３８】
出力部１３３は、第１の情報を検討作業情報辞書から取得した場合、取得した第１の情報を記載したワークシートを生成する。また、出力部１３３は、第２の情報を検討作業情報辞書から取得した場合、取得した第２の情報を記載したワークシートを生成する。図１１に、第１の情報を記載したワークシートの一例を示し、図１２に、第２の情報を記載したワークシートの一例を示す。第１の情報を記載したワークシートには、構成情報と、構成情報の属するカテゴリと、検討作業情報辞書から読み出された攻撃手法、攻撃前提条件及び攻撃概要とが記載され、その他に対策の有無の記入欄が設けられている。また、第２の情報を記載したワークシートには、構成情報の属するカテゴリと、このカテゴリに分類された構成情報に対応付けた攻撃手法、対策事例及び攻撃概要とが記載され、その他に関連攻撃の考察の記入欄が設けられている。図１２に示すワークシートは、入力構成情報のカテゴリがプログラミング言語であった場合に、出力部１３３から出力されるワークシートの例を示している。図１０に示す検討作業情報辞書のプログラミング言語のカテゴリに登録された言語は、Ｃ言語とＰＨＰである。このため、第２の情報としてワークシートに記載される情報には、Ｃ言語とＰＨＰの攻撃手法、対策事例及び攻撃概要が含まれる。出力部１３３は、生成したワークシートを出力インターフェース７１を介して印刷部７２に出力する。また、出力部１３３は、生成したワークシートをグラフィックインターフェース９１を介して表示部９２に出力する。また、出力部１３３は、生成したワークシートをＲＡＭ１２３またはＨＤＤ５０に出力して、これらの記憶装置に記憶させる。または、脅威分析装置１０の電源がオンしている間は、生成したワークシートをＲＡＭ１２３に記憶させておき、脅威分析装置１０の電源がオフされた際にＨＤＤ５０に記憶させてもよい。
【００３９】
ここで、既知脅威辞書と検討作業情報辞書との作成方法の一例について説明する。まず、既存の攻撃手法データベースから「攻撃手法リスト」を取得する。「攻撃手法リスト」の一例として、ＣＷＥ（Common Weakness Enumeration）が開示する共通脆弱性タイプ一覧が下記アドレスに公開されている。
“脆弱性タイプ一覧リスト”、［平成24年8月27日検索］、インターネット〈URL:http://cwe.mitre.org/data/index.html〉
【００４０】
次に、取得した「攻撃手法リスト」に登録された各攻撃手法について、各攻撃手法の攻撃が可能となる攻撃前提条件を「攻撃手法リスト」から抽出する。例えば、プログラムの実装方式やプログラムが行う処理等に関連するものに着目して攻撃前提条件を抽出する。
【００４１】
次に、抽出した各攻撃前提条件から、構成情報に相当する情報を抽出する。例えば、認証方式、データベース管理システムのデータ管理方式、プログラミング言語、プログラム部品等に関する情報を抽出する。さらに、攻撃前提条件ごとに抽出した構成情報から、カテゴリが同じ構成情報同士を抜き出してグループ化する。例えば、Ａ攻撃手法の攻撃前提条件には、ベーシック認証が含まれ、Ｂ攻撃手法の攻撃前提条件には、フォーム認証が含まれていたとする。この場合、Ａ攻撃手法もＢ攻撃手法も認証方式を利用して攻撃を仕掛けているので、Ａ攻撃手法とＢ攻撃手法とは認証方式でグループ化される。また、このグループのカテゴリは、認証方式となる。
【００４２】
次に、抽出したカテゴリと、各カテゴリに分類された構成情報とを対応付けてテーブルに登録し、図９に示す既知脅威辞書を作成する。
【００４３】
次に、検討作業情報辞書を作成する。「攻撃手法リスト」から、抽出済みの攻撃前提条件に加えて、攻撃概要、対策事例の情報を取得可能であれば取得する。また、インターネット等に開示された情報や、学会誌、専門情報誌等に記載された情報を参照して、攻撃手法に対する対策事例や攻撃概要を取得してもよい。次に、取得した各情報を対応付けてテーブルに登録し、図１０に示す検討作業情報辞書を作成する。カテゴリと、各カテゴリに分類された構成情報とを対応付けてテーブルに登録する処理は、既知脅威辞書の作成と同一である。また、構成情報は、攻撃前提条件から抽出した情報であるので、構成情報と攻撃前提条件とは対応付けがされている。従って、カテゴリと構成情報とが登録されたテーブルに、構成情報に対応づけられた攻撃前提条件を登録し、さらに、この攻撃前提条件が成立する攻撃手法の攻撃概要及び対策事例を構成情報に対応付けてテーブルに登録する。
【００４４】
最後に、検討作業情報辞書に登録した各構成情報に対して、検討作業情報辞書に登録した攻撃手法以外の攻撃手法がないか検討することで、既知脅威辞書と検討作業情報辞書との信頼性を高めることができる。なお、既知脅威辞書や検討作業情報辞書の作成は、脅威分析の専門家によって行われるのが好ましい。既知脅威辞書や検討作業情報辞書の信頼性を高めることができるからである。
【００４５】
ここで、図１３を参照しながら脅威分析装置１０を用いた脅威分析の方法と、従来の脅威分析の方法との相違点について説明する。まず、図１３（Ａ）を参照しながら従来の脅威分析の方法について説明する。従来の脅威分析の方法では、まず、分析対象の情報処理システムの有する、保護対象となる情報資産を検討して抽出する。なお、保護対象となる情報資産には、プログラムに設定された設定データ（例えば、個人情報、顧客情報、社内の機密情報等）や、プログラムの認証用データ等が含まれる。また、プログラム自体も保護対象の情報資産に該当する。また、抽出した情報資産の脆弱性を検討し、検討した脆弱性を攻撃するための攻撃手法や攻撃ルートを見つけ出す。図１３（Ａ）に長方形で示す領域は、分析対象の情報処理システムの有する情報資産を抽象的に示した領域である。従来の脅威分析の方法では、分析の際に情報処理システムの有する情報資産の領域を、ある基準に従って分割し、分割した各領域に含まれる情報資産ごとに対策を検討するようなことを行っていなかった。このため、図１３（Ａ）に示す情報資産の全領域を対象として、脆弱性の検討、攻撃手法、攻撃ルートの検討を行わなければならなかった。従って、従来の脅威分析は、時間のかかる作業となり、保護対象となる情報資産を見落とす危険性もあった。
【００４６】
次に、図１３（Ｂ）を参照しながら脅威分析装置１０による脅威分析の方法について説明する。本第２の実施形態では、分析対象の情報処理システムの有する保護対象となる情報資産を、プログラムの構成と、構成を備えるプログラムに対する攻撃手法とにより４つの領域に分類している。第１の領域は、構成情報が一般的に知られた既知の構成（以下、典型構成という）であり、攻撃手法も共通脆弱性タイプ一覧等に登録され、一般的に知られた既知のもの（以下、典型手法という）の領域である。すなわち、既知脅威辞書に事前に登録された構成情報は、典型構成であり、検討作業情報辞書に事前に登録された攻撃手法は、典型手法である。逆に、既知脅威辞書に登録されていない構成情報は、典型構成ではない（以下、非典型構成という）。また、検討作業情報辞書に登録されていない攻撃手法も、典型手法ではない（以下、非典型手法という）。第２の領域は、構成情報が非典型構成で、攻撃手法が典型手法の領域である。第３の領域は、構成情報が典型構成で、攻撃手法が非典型手法の領域である。第４の領域は、構成情報と攻撃手法とが共に非典型構成、非典型手法の領域である。
【００４７】
第１の領域に対する脅威分析について説明する。第１の領域は、構成情報が典型構成で、攻撃手法が典型手法の領域である。従って、第１の領域に含まれるプログラムの構成情報が検討作業情報辞書に登録されている。また、このプログラムに対する攻撃手法も検討作業情報辞書に登録されている。このため、第１の領域に対する脅威分析は、検討作業情報辞書に登録された攻撃前提条件が成立するか否かを検討すればよい。利用者は、脅威分析装置１０から出力される、第１の情報を記載したワークシートに記載された攻撃前提条件が成立するか否かを検討すればよいので、検討時間を短縮することができる。
【００４８】
第２の領域に対する脅威分析について説明する。第２の領域は、構成情報が非典型構成で、攻撃手法が典型手法の領域である。従って、検討作業情報辞書には、第２の領域に含まれるプログラムの構成情報が登録されていない。このため、第２の領域に対する脅威分析は、同じカテゴリに分類される構成情報の示す構成を備えたプログラムに対して発生した攻撃手法が起こり得るか否かを検討すればよい。従って、利用者は、脅威分析装置１０から出力される、第２の情報を記載したワークシートに記載された攻撃概要の攻撃が起こり得るか否かを検討すれよいので、検討時間を短縮することができる。
【００４９】
第３の領域に対する脅威分析について説明する。第３の領域は、構成情報が典型構成で、攻撃手法が非典型手法の領域である。プログラムの構成が典型構成であるが、攻撃手法が非典型手法であるため、検討作業情報辞書に攻撃手法の情報は登録されていない。検討作業情報辞書に登録された攻撃手法は、攻撃手法リスト等を参照して専門家が登録した攻撃手法である。このため、検討作業情報辞書を定期的にアップデートして最新のものにしていけば、第３の領域の攻撃手法である非典型手法に対する脅威分析は不要となる。
【００５０】
第４の領域は、構成情報と攻撃手法とが共に非典型構成、非典型手法の領域である。検討作業情報辞書は、構成情報が典型構成のプログラムに対する既知の攻撃手法を登録した辞書であるため、第４の領域に対して検討作業情報辞書を使用した脅威分析を行うことができない。このため、第４の領域では、図１３（Ａ）を参照して説明した従来の脅威分析の方法により検討作業を行う必要がある。しかし、第１の領域と第２の領域に対する脅威分析は、検討作業情報辞書を使用して検討済みであり、また、第３の領域に対する脅威分析は不要である。このため、第４の領域として脅威分析を行う情報資産の領域は、図１３（Ａ）に示す従来の脅威分析の方法で検討する情報資産の領域と比較してサイズが小さくなる。従って、従来の脅威分析の方法による検討作業であっても、検討時間を短縮することができる。
【００５１】
次に、図１３（Ａ）に示す従来の脅威分析の方法と、本第２の実施形態の脅威分析の方法とにかかる所要時間について検討する。図１３（Ａ）にて説明した従来の脅威分析の方法による検討所要時間をＴ１時間と仮定する。また、既知脅威辞書と検討作業情報辞書とによって、構成情報と攻撃手法とのそれぞれ３／４を典型構成、典型手法と判定することができたと仮定する。また、第１の情報（攻撃手法、攻撃前提条件、攻撃概要）が記載されたワークシートを使用した攻撃手法の検討所要時間が、従来の脅威分析の方法による検討所要時間に比較して１／１０であるとする。また、第２の情報（攻撃手法、対策事例、攻撃概要）が記載されたワークシートを使用した攻撃手法の検討所要時間が、従来の脅威分析の方法による検討所要時間に比較して１／２であるとする。上記仮定により、本第２の実施形態の検討所要時間Ｔ２は、以下の算出式で算出される。
Ｔ２＝（第１の領域の検討所要時間）＋（第２の領域の検討所要時間）＋（第３の領域の検討所要時間）＋（第４の領域の検討所要時間）となる。
よって、Ｔ２＝（３／４×３／４×１／１０×Ｔ１）＋（１／４×３／４×１／２×Ｔ１）＋（０）×（１／４×１／４×Ｔ１）＝０．２１２５Ｔ１
なお、上述したように第３の領域については検討不要であるので、検討所要時間は「０」となる。また、第４の領域の脅威分析の方法は、従来の脅威分析の方法と同一の方法であるため、検討所要時間はＴ１となる。しかし、第４の領域の領域サイズは、全領域の（１／４×１／４）であるため、検討所要時間を（１／４×１／４）に短縮することができる。以上の計算式により、検討効率は、約４．７倍に向上することとなる。
【００５２】
次に、図１４に示すフローチャートを参照しながら、第２の実施形態のワークシートの生成手順を説明する。なお、制御部１２０が入力構成情報を入力してから、ワークシートを出力するまでの全体の手順は、図６に示すフローと同一であるため説明を省略する。制御部１２０は、まず、処理対象とするカテゴリを選択する（ステップＳ３１）。次に、制御部１２０は、選択したカテゴリに含まれる入力構成情報をステップＳ２で入力したか否かを判定する（ステップＳ３２）。
ここで、入力構成情報の入力を受け付ける入力画面の一例について説明する。制御部１２０は、表示部９２に、図１５に示す入力画面を表示させて、利用者からの構成情報の入力を待機する。入力画面には、既知脅威辞書に登録された構成情報がカテゴリごとに区分けされて表示される。また、入力画面には、既知脅威辞書に登録された構成情報以外の構成情報を入力する欄（以下、その他入力欄という）が設けられている。その他入力欄もカテゴリごとに区分けされて表示される。分析対象の情報処理システムの備えるプログラムの構成に、入力画面に表示された構成情報と一致するものがない場合、その他入力欄にプログラムの構成情報を入力することとなる。図１５に示す入力画面では、構成情報がカテゴリごとに区分けされて表示されるので、利用者が入力画面に表示された構成情報を選択した場合には、構成情報の選択によってカテゴリも選択される。また、上述したその他入力欄もカテゴリごとに区分けして表示されるので、利用者が構成情報を入力したその他入力欄によってカテゴリも選択される。制御部１２０は、選択したカテゴリに含まれる入力構成情報を入力しなかった場合には（ステップＳ３２／ＮＯ）、ステップＳ３８の処理に移行する。なお、ステップＳ３８の処理については後述する。また、選択したカテゴリに含まれる入力構成情報を入力した場合（ステップＳ３２／ＹＥＳ）、制御部１２０は、入力構成情報と一致する構成情報が既知脅威辞書に登録されているか否かを判定する（ステップＳ３３）。一致する構成情報が既知脅威辞書に登録されていると判定した場合（ステップＳ３３／ＹＥＳ）、制御部１２０は、入力構成情報と一致する構成情報に対応付けて検討作業情報辞書に登録された第１の情報を取得する（ステップＳ３４）。第１の情報には、攻撃手法、攻撃前提条件、攻撃概要が含まれる。制御部１２０は、取得した攻撃手法、攻撃前提条件及び攻撃概要と、構成情報と、この構成情報の属するカテゴリとをワークシートに記載する（ステップＳ３５）。また、一致する構成情報が既知脅威辞書に登録されていないと判定した場合（ステップＳ３３／ＮＯ）、制御部１２０は、入力構成情報の属するカテゴリを判定する。制御部１２０は、カテゴリを判定すると、判定したカテゴリに分類された構成情報に対応付けて登録された第２の情報を検討作業情報辞書から取得する（ステップＳ３６）。第２の情報には、攻撃手法、対策事例、攻撃概要が含まれる。制御部１２０は、取得した攻撃手法、対策事例及び攻撃概要と、これらの情報の属するカテゴリとをワークシートに記載する（ステップＳ３７）。
【００５３】
ワークシートへの記載が終了すると、制御部１２０は、全てのカテゴリを処理対象に選択したか否かを判定する（ステップＳ３８）。また、ステップＳ３２の判定が否定判定である場合にも、制御部１２０は全てのカテゴリを処理対象に選択したか否かを判定する（ステップＳ３８）。全てのカテゴリが処理対象として選択されておらず（ステップＳ３８／ＮＯ）、処理対象として選択していないカテゴリがあると判定すると、制御部１２０は、ステップＳ３１からの処理を繰り返す。また、全てのカテゴリを処理対象として選択したと判断すると（ステップＳ３８／ＹＥＳ）、制御部１２０は、この処理を終了させる。
なお、本第２の実施形態では、構成情報と、構成情報のカテゴリとを利用者が操作部８１から入力するようになっているが、上述した第１の実施形態のように、脅威分析装置１０が入力した構成情報のカテゴリを判定してもよい。
【００５４】
本第２の実施形態は、第１の実施形態の有する効果に加え、以下に示す効果を有している。
本第２の実施形態は、入力構成情報と一致する構成情報が既知脅威辞書に登録されている場合に、一致する構成情報に対応付けて検討作業情報辞書に登録した第１の情報をワークシートに記載して出力する。第１の情報には、少なくとも攻撃前提条件が含まれる。従って、入力構成情報の示す構成を備えるプログラムを攻撃する、既知脅威辞書に登録された既知の攻撃手法の情報を利用者に提供することができる。利用者は、取得したワークシートに記載された攻撃前提条件が成立するか否かを検討し、既知の攻撃手法に対する対策を講じることができる。このため、検討時間を短縮し、脅威分析を効率化することができる。また、ワークシートに、攻撃前提条件に加えて、攻撃の内容を示す情報である攻撃概要も記載することで、さらに、既知の攻撃手法に対する対策を効率的に行うことができる。
【００５５】
また、本第２の実施形態は、入力構成情報と一致する構成情報が既知脅威辞書に登録されていない場合、入力構成情報のカテゴリを判定する。そして、本第２の実施形態は、判定したカテゴリに分類される構成情報に対応付けて検討作業情報辞書に登録した第２の情報をワークシートに記載して出力する。第２の情報には、少なくとも攻撃の内容を示す攻撃概要が含まれる。従って、入力構成情報と同じカテゴリの構成を備えるプログラムを攻撃する、既知脅威辞書に登録された既知の攻撃手法の情報を利用者に提供することができる。利用者は、取得したワークシートに記載された攻撃概要を検討することで、既知の攻撃手法の攻撃を受ける可能性があるか否かを検討することができる。このため、検討時間を短縮し、脅威分析を効率化することができる。また、ワークシートに、攻撃概要に加えて対策事例を記載することで、攻撃が起こり得るか否かの判断がさらに容易になる。
【００５６】
また、本第２の実施形態は、構成情報を区分けするカテゴリとして、認証方式、プログラミング言語、データベース管理システム、プログラム部品が含まれる。これらのカテゴリは、攻撃を受けたプログラムを区分けするカテゴリとして有効な情報である。このため、入力構成情報と一致する構成情報が既知脅威辞書に登録されていない場合にワークシートに記載される第２の情報の有効性を高めることができる。
【００５７】
また、本第２の実施形態は、情報処理システムの有する情報資産の領域を、情報処理システムの備えるプログラムの構成と、構成に対する攻撃手法とが既知か否かにより４つの領域に分割する。分割した４つの領域のうち、検討不要な第３の領域と、従来の脅威分析の方法を用いて検討する第４の領域とを除き、ワークシートを使用して攻撃に対する対策を検討することができる。また、従来の脅威分析の方法で検討する第４の領域の領域サイズを小さくすることができるので、攻撃に対する対策の検討時間を短縮することができる。また、検討不要な第３の領域を除き、各領域の攻撃に対する対策の検討方法が設定されているため、攻撃に対する対策を重複して検討する可能性を低減することができる。さらに、各領域の攻撃に対する対策の検討方法が設定されているため、攻撃の検討漏れを低減することができる。
【００５８】
上述した実施形態は、本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施が可能である。例えば、攻撃手法辞書、既知脅威辞書及び検討作業情報辞書に登録したカテゴリや構成情報は、あくまでも一例であって、図３、図９、図１０に示すものに限定されない。また、構成情報を区分けするカテゴリの例として、プログラムが行う処理と、プログラムに組み込まれたプログラム部品と、プログラムのプログラミングに使用したプログラミング言語とを挙げた。しかし、カテゴリとしてこれらの全部を登録している必要はなく、少なくとも１つのカテゴリが攻撃手法辞書、または既知脅威辞書と検討作業情報辞書とに登録されていればよい。
また、第１の情報には、対策事例が含まれていないが、第１の情報に対策事例を含めてもよい。
また、図１に示す脅威分析装置１０の備えるハードウェアのうち、脅威分析装置１０に必要なハードウェアは、制御部２０である。図１に示す他のハードウェアについては、脅威分析装置１０が備えていてもよいし、備えていなくてもよい。
また、上述した第１及び第２の実施形態では、操作部８１で受け付けた構成情報を制御部２０、１２０に入力して処理を行っていた。これ以外に、ネットワーク６２に接続した他のコンピュータ装置から送信された構成情報をネットワークインターフェース６１を介して制御部２０、１２０に入力してもよい。制御部２０は、ネットワークインターフェース６１を介して構成情報を入力し、図６及び図７に示す手順の処理を行う。また、制御部１２０もネットワークインターフェース６１を介して構成情報を入力し、図６及び図１４に示す手順の処理を行う。また、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）や、ＤＶＤ（Digital Versatile Disc）等の記録媒体や、ＵＳＢ（Universal Serial Bus）メモリ等の外部記憶装置に構成情報を記憶しておくものであってもよい。これらの記録媒体や外部記憶装置に記録された構成情報を、入力インターフェース８２を介して制御部２０に入力し、制御部２０が図６及び図７に示す手順の処理を行う。また、制御部１２０も記録媒体や外部記憶装置に記録された構成情報を、入力インターフェース８２を介して入力し、図６及び図１４に示す手順の処理を行う。
【００５９】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力ステップと、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力ステップで入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定ステップと、
前記判定ステップで一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定ステップで一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力ステップと、
を有することを特徴とする脅威分析方法。
（付記２）  前記構成情報は、プログラムが行う処理と、前記プログラムに組み込まれたプログラム部品と、前記プログラムのプログラミングに使用したプログラミング言語との少なくとも１つを含むカテゴリで分類され、前記カテゴリごとに、各カテゴリに分類された構成情報と、前記分類された構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶されており、
前記出力ステップは、前記入力した構成情報と特定の関係にある構成情報として、前記入力した構成情報と同一のカテゴリに分類された構成情報を前記記憶手段から取得し、取得した構成情報に対応付けて前記記憶手段に記憶した攻撃手法の情報を出力することを特徴とする付記１記載の脅威分析方法。
（付記３）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報とを含み、
前記出力ステップは、前記判定ステップで一致すると判定された場合には前記条件を、前記判定ステップで一致しないと判定された場合には前記内容を示す情報を前記攻撃手法の情報として出力することを特徴とする付記１又は２記載の脅威分析方法。
（付記４）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報と、各攻撃手法に対する対策情報とを含み、
前記出力ステップは、前記判定ステップで一致すると判定された場合には前記条件と、前記内容を示す情報とを、前記判定ステップで一致しないと判定された場合には前記内容を示す情報と、前記対策情報とを前記攻撃手法の情報として出力することを特徴とする付記１又は２記載の脅威分析方法。
（付記５）  前記プログラムが行う処理には、利用者を認証する認証処理と、要求されたデータをデータベースから取得して要求元に送信する送信処理と、前記データベースに記憶されたデータの追加と更新と削除との少なくとも１つを行うデータベース管理処理との少なくとも１つを含み、前記プログラム部品には、フレームワークと、ライブラリと、モジュールと、コンポーネントとの少なくとも１つを含むことを特徴とする付記２記載の脅威分析方法。
（付記６）  コンピュータに、
情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手順と、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段を参照して、前記入力手順で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手順と、
前記判定手順で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手順で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手順と、
を実行させるためのプログラム。
（付記７）  前記構成情報は、プログラムが行う処理と、前記プログラムに組み込まれたプログラム部品と、前記プログラムのプログラミングに使用したプログラミング言語との少なくとも１つを含むカテゴリで分類され、前記カテゴリごとに、各カテゴリに分類された構成情報と、前記分類された構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶されており、
前記出力手順は、前記入力した構成情報と特定の関係にある構成情報として、前記入力した構成情報と同一のカテゴリに分類された構成情報を前記記憶手段から取得し、取得した構成情報に対応付けて前記記憶手段に記憶した攻撃手法の情報を出力することを特徴とする付記６記載のプログラム。
（付記８）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報とを含み、
前記出力手順は、前記判定手順で一致すると判定された場合には前記条件を、前記判定手順で一致しないと判定された場合には前記内容を示す情報を前記攻撃手法の情報として出力することを特徴とする付記６又は７記載のプログラム。
（付記９）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報と、各攻撃手法に対する対策情報とを含み、
前記出力手順は、前記判定手順で一致すると判定された場合には前記条件と、前記内容を示す情報とを、前記判定手順で一致しないと判定された場合には前記内容を示す情報と、前記対策情報とを前記攻撃手法の情報として出力することを特徴とする付記６又は７記載のプログラム。
（付記１０）  前記プログラムが行う処理には、利用者を認証する認証処理と、要求されたデータをデータベースから取得して要求元に送信する送信処理と、前記データベースに記憶されたデータの追加と更新と削除との少なくとも１つを行うデータベース管理処理との少なくとも１つを含み、前記プログラム部品には、フレームワークと、ライブラリと、モジュールと、コンポーネントとの少なくとも１つを含むことを特徴とする付記７記載のプログラム。
（付記１１）  情報処理システムの備えるプログラムの構成を示す構成情報を入力する入力手段と、
構成情報と、構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶する記憶手段と、
前記入力手段で入力した構成情報が、前記記憶手段に記憶された構成情報に一致するか否かを判定する判定手段と、
前記判定手段で一致すると判定された場合に、前記入力した構成情報と一致する構成情報に対応する攻撃手法の情報を出力し、前記判定手段で一致しないと判定された場合に、前記入力した構成情報と特定の関係にある構成情報に対応する攻撃手法の情報を出力する出力手段と、
を備えることを特徴とする脅威分析装置。
（付記１２）  前記構成情報は、プログラムが行う処理と、前記プログラムに組み込まれたプログラム部品と、前記プログラムのプログラミングに使用したプログラミング言語との少なくとも１つを含むカテゴリで分類され、前記カテゴリごとに、各カテゴリに分類された構成情報と、前記分類された構成情報の示す構成を備えるプログラムを攻撃する攻撃手法の情報とを対応付けて記憶されており、
前記出力手段は、前記入力した構成情報と特定の関係にある構成情報として、前記入力した構成情報と同一のカテゴリに分類された構成情報を前記記憶手段から取得し、取得した構成情報に対応付けて前記記憶手段に記憶した攻撃手法の情報を出力することを特徴とする付記１１記載の脅威分析装置。
（付記１３）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報とを含み、
前記出力手段は、前記判定手段で一致すると判定された場合には前記条件を、前記判定手段で一致しないと判定された場合には前記内容を示す情報を前記攻撃手法の情報として出力することを特徴とする付記１１又は１２記載の脅威分析装置。
（付記１４）  前記記憶手段の記憶する前記攻撃手法の情報は、各攻撃手法の攻撃が可能となる条件と、各攻撃手法の内容を示す情報と、各攻撃手法に対する対策情報とを含み、
前記出力手段は、前記判定手段で一致すると判定された場合には前記条件と、前記内容を示す情報とを、前記判定手段で一致しないと判定された場合には前記内容を示す情報と、前記対策情報とを前記攻撃手法の情報として出力することを特徴とする付記１１又は１２記載の脅威分析装置。
（付記１５）  前記プログラムが行う処理には、利用者を認証する認証処理と、要求されたデータをデータベースから取得して要求元に送信する送信処理と、前記データベースに記憶されたデータの追加と更新と削除との少なくとも１つを行うデータベース管理処理との少なくとも１つを含み、前記プログラム部品には、フレームワークと、ライブラリと、モジュールと、コンポーネントとの少なくとも１つを含むことを特徴とする付記１２記載の脅威分析装置。
【符号の説明】
【００６０】
１０  脅威分析装置
２０、１２０  制御部
２１  ＣＰＵ
２２  ＲＯＭ
２３、１２３  ＲＡＭ
３１、１３１  入力部
３２、１３２  判定部
３３、１３３  出力部
５０  ＨＤＤ
６１  ネットワークインターフェース
７１  出力インターフェース
７２  印刷部
８１  操作部
８２  入力インターフェース
９１  グラフィックインターフェース
９２  表示部
【図１】
2014106855.tif 000003
【図２】
2014106855.tif 000004
【図３】
2014106855.tif 000005
【図４】
2014106855.tif 000006
【図５】
2014106855.tif 000007
【図６】
2014106855.tif 000008
【図７】
2014106855.tif 000009
【図８】
2014106855.tif 000010
【図９】
2014106855.tif 000011
【図１０】
2014106855.tif 000012
【図１１】
2014106855.tif 000013
【図１２】
2014106855.tif 000014
【図１３】
2014106855.tif 000015
【図１４】
2014106855.tif 000016
【図１５】
2014106855.tif 000017