(57)【要約】  機密性分析支援システムは、情報システムを構成する機器の物理的な接続状態を表す構造モデルと、前記機器の上で行われる処理フローを表す振る舞いモデルとに対して、接続状態及び処理フローとは独立に定義された、前記機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを情報システムにおける機密性を分析するためのモデルとして生成する攻撃フローモデル生成手段を含むことを特徴とする。
2011096162.tif 000002
【特許請求の範囲】
【請求項１】
情報システムを構成する機器の物理的な接続状態を表す構造モデルと、前記機器の上で行われる処理フローを表す振る舞いモデルとに対して、前記接続状態及び前記処理フローとは独立に定義された、前記機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを前記情報システムにおける機密性を分析するためのモデルとして生成する攻撃フローモデル生成手段を
含むことを特徴とする機密性分析支援システム。
【請求項２】
攻撃フローモデル生成手段は、情報システムを構成する物理的な機器の接続状態を表したレイアウトモデルと、前記機器において実行されるプロセスを表したプロセスモデルとを含む構造モデルを用いて攻撃フローモデルを生成する
請求項１記載の機密性分析支援システム。
【請求項３】
攻撃フローモデル生成手段は、情報システムで行われる処理ごとに、プロセスモデルを構成するオブジェクト間を伝播するメッセージの流れを表す振る舞いモデルを用いて攻撃フローモデルを生成する
請求項１または２記載の機密性分析支援システム。
【請求項４】
攻撃フローモデル生成手段は、構造モデルに記述される各オブジェクトが有するセキュリティ機能と、該オブジェクトへのアクセスに対して、該オブジェクトにおいて行われる操作を定めたメタモデルに基づく情報とを含む攻撃フローモデルを生成する
請求項１から請求項３のうちのいずれか１項に記載の機密性分析支援システム。
【請求項５】
攻撃フローモデル生成手段は、セキュリティ機能によって、少なくとも各オブジェクトに到達したメッセージと、該オブジェクトから発信されるメッセージとのうちのいずれか一方に対して、付与される属性を示す情報を含むメタモデルを用いて攻撃フローモデルを生成する
請求項１から請求項４のうちのいずれか１項に記載の機密性分析支援システム。
【請求項６】
攻撃フローモデル生成手段は、攻撃フローモデルにおいて、オブジェクトを通過したメッセージに属性を示す情報を付与する
請求項１から請求項５のうちのいずれか１項に記載の機密性分析支援システム。
【請求項７】
予めセキュリティ上の強度とともに定められた、構造モデルに記述される各オブジェクトが有するセキュリティ機能を実現する対策を選択する機能選択手段を含み、
攻撃フローモデル生成手段は、前記機能選択手段が選択した対策に基づいて、攻撃フローモデルを生成する
請求項１から請求項６のうちのいずれか１項に記載の機密性分析支援システム。
【請求項８】
分析対象のシステムの構造モデルにおける物理的なオブジェクトの配置に基づいて、攻撃可能な位置を決定する攻撃可能位置決定手段と、
前記攻撃位置決定手段が決定した位置に攻撃者を示すアクタを配置した前記構造モデル及び前記システムの振る舞いモデルと、前記オブジェクトが有するセキュリティ機能とに基づいて、攻撃フローモデルを生成する攻撃フローモデル生成手段とを
含むことを特徴とする機密性分析支援システム。
【請求項９】
情報システムを構成する機器の物理的な接続状態を表す構造モデルと、前記機器の上で行われる処理フローを表す振る舞いモデルとに対して、前記接続状態及び前記処理フローとは独立に定義された、前記機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを前記情報システムにおける機密性を分析するためのモデルとして生成する
ことを特徴とする機密性分析支援方法。
【請求項１０】
コンピュータに、
情報システムを構成する機器の物理的な接続状態を表す構造モデルと、前記機器の上で行われる処理フローを表す振る舞いモデルとに対して、前記接続状態及び前記処理フローとは独立に定義された、前記機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを前記情報システムにおける機密性を分析するためのモデルとして生成する攻撃フローモデル生成処理を
実行させるための機密性分析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴシステムの機密性を分析する機密性分析支援システム、機密性分析支援方法及び機密性分析支援プログラムに関する。
【背景技術】
【０００２】
近年、インターネット技術の発展に伴い、情報資産（以下、単に資産ともいう）の価値が高まると共に、企業の内部情報や顧客の個人情報などの漏洩事故が問題となっている。このようなセキュリティ事故を未然に防ぐことができるシステムを構築することが求められている。【０００３】
しかし、ＩＴシステムの大規模化、複雑化に伴い、システム開発に要する工数は増大しており、機密性に対する要求までは十分に注意が行き届かず、実際にシステムを運用する段階になって初めて発見されるような脆弱性も数多く存在する。【０００４】
そのため、あらかじめシステムをモデル化しておき、設計段階において、ある程度機密性を見積もることで、ユーザからの機密性要求を適切に反映させたシステムを構築することが重要である。【０００５】
この種の一般的な技術として、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）などのモデリング言語を、機密性に関するナレッジを記述できるように拡張し、システムのセキュリティ的な側面をモデル化するという提案がなされている。【０００６】
例えば、特許文献１では、アプリケーションソフトウェアのクラス図に対して、セキュリティに関連したクラスであることを示すステレオタイプを付与し、ソフトウェアの仕様をモデル化したものを用いたソフトウェア開発装置が提案されている。サービスというクラスに、ＵＭＬのステレオタイプとして、＜＜安全性保証＞＞や＜＜認証＞＞を指定し、そのクラスがセキュリティ要件であることを表すことで、セキュリティ技術者と、セキュリティ知識に乏しいソフトウェア開発者との間の意思疎通を明確に行うための技術が提案されている。この付加情報によって、両者がシステムに対して共通の理解をすることで、ソフトウェア開発を協力して行うことができる。【０００７】
また、例えば、特許文献２には、分析対象となるシステムを構成する構成要素の情報に基づきアクセス点を抽出し、このアクセス点に基づくセキュリティ脅威分析を行う方法が記載されている。【０００８】
また、非特許文献１に記載された技術では、セキュリティドメインに特化したステレオタイプやタグ付き値を追加してＵＭＬを拡張したＵＭＬｓｅｃを用いて、正規の（セキュアな）処理の流れをモデル化している。そして、攻撃者が｛ｄｅｌｅｔｅ，ｒｅａｄ，ｉｎｓｅｒｔ｝のうち、どのような操作を行うことができるかを表す関数を定義し、システムに起こり得る脅威を分析している。【０００９】
また、非特許文献２では、このＵＭＬｓｅｃを用いてセキュリティ要件、及び、攻撃者の行動をモデル化している。そして、ＳＰＩＮなどのツールを用いて、モデル検証を行うことで、セキュアなＰ２Ｐアプリケーションの設計・分析をサポートするフレームワークを提案している。【００１０】
また、非特許文献３に記載された技術では、独自のＵＭＬプロファイルを定義して、認証プロトコルをモデル化し、暗号化されたファイルが正しい場所で復号されるかを検証している。【００１１】
さらに、非特許文献４では、ロールベースアクセス制御（ＲＢＡＣ）をモデル化するためにＵＭＬを拡張したＳｅｃｕｒｅＵＭＬを提案している。そして、このモデルから、アクセスコントロールに関する制約（セキュリティポリシー）を生成している。【００１２】
以上のように、ＵＭＬなどのモデリング言語を用いてセキュリティモデルを構築し、システムの分析を行うための手法が提案されている。上記の非特許文献１〜４においては、主にアクセス制御やメッセージが処理される様子をモデル化し、その上でどのような脅威が発生するかを分析している。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００７−１７９１７１号公報
【特許文献２】特開２００８−２３４４０９号公報
【非特許文献】
【００１４】
【非特許文献１】J. Jurjens, "UMLsec: Extending UML for Secure Systems Development", UML 2002 volume 2460 of LNCS, pp.412-425, Springer-Verlag, 2002
【非特許文献２】A. Zisman, "A Static Verification Framework for Secure Peer-to-Peer Application", Second International Conference on Internet and Web Applications and Services, ICIW'07
【非特許文献３】C. Montangero et al, “For-LySa: UML for authentication analysis”, Proceedings of the second workshop on Global Computing, volume 3267 of Lecture Notes in Computer Science, pp.9２05, Springer Verlag, 2004.
【非特許文献４】T. Lodderstedt et al, "SecureUML: A uml-based modeling language for model-driven security", Proceedings of the International Conference on the Unified Modeling Language, UML'2002
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、特許文献１では、セキュリティ技術者とソフトウェア開発者とが協力してソフトウェア開発を行うためのコミュニケーションツールとして、ＵＭＬを拡張したモデルを用いており、そのモデルの妥当性や有効性については触れられていない。【００１６】
また、上記のいずれの技術においても、ユーザや攻撃者の様々な行動をシステムから切り出してモデル化しているため、システムの物理的な構成状態については考慮されていない。【００１７】
つまり、ユーザや攻撃者がどのような行動を取るかは、システムがどのような構成であるかによって変化するものであるが、そのような取り扱いはなされていない。【００１８】
例えば、非特許文献２における攻撃モデルは、あらかじめ、ある脅威を想定して作成されたものであり、システムの物理的な構成から、どのような攻撃が可能であるかを導出するものではない。【００１９】
また、非特許文献１，３，４では、セキュアな通信やメッセージの復号、権限認証の流れをモデル化しているが、それらがどのような物理的なシステム構成の上で可能であるか、などは考慮されていない。【００２０】
また、実際にＩＴシステムを設計・構築する際に、ユーザから提示されるセキュリティ要件は、詳細な設定などを細かく規定するようなものではなく、システムが有する機能の有無として表されることが多い。そのため、一般的な技術で行われているような認証形式自体の様子などをモデル化して、その設定検証を行うようなモデルは、ユーザの要求を正しく反映しているとは言い難い。【００２１】
また、大規模化・複雑化している現在のＩＴシステムに対して、様々なセキュリティ機能それぞれの検証を行うことは難しいため、実際のシステムを、一般的な技術で提案されているような記法（ＵＭＬｓｅｃなど）を用いてモデル化して分析することは難しい。ユーザから要求されるのは、全般的なセキュリティ対策の有無であり、そのようなレベルでの分析が必要になる。【００２２】
例えば、特許文献２に記載された方法では、個々の機器が有するセキュリティ機能を考慮しておらず、システムの全般的なセキュリティ対策を分析することができない。【００２３】
そこで、本発明は、分析対象のシステムの物理的な構成状態に依存して発生する脅威の流れも考慮してリスクを分析することができる機密性分析支援システム、機密性分析支援方法及び機密性分析支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明による機密性分析支援システムは、情報システムを構成する機器の物理的な接続状態を表す構造モデルと、機器の上で行われる処理フローを表す振る舞いモデルとに対して、接続状態及び処理フローとは独立に定義された、機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを生成する攻撃フローモデル生成手段を含むことを特徴とする。【００２５】
本発明による機密性分析支援システムは、分析対象のシステムの構造モデルにおける物理的なオブジェクトの配置に基づいて、攻撃可能な位置を決定する攻撃可能位置決定手段と、攻撃位置決定手段が決定した位置に攻撃者を示すアクタを配置した構造モデル及びシステムの振る舞いモデルと、オブジェクトが有するセキュリティ機能とに基づいて、攻撃フローモデルを生成する攻撃フローモデル生成手段とを含むことを特徴とする。【００２６】
本発明による機密性分析方法は、情報システムを構成する機器の物理的な接続状態を表す構造モデルと、機器の上で行われる処理フローを表す振る舞いモデルとに対して、接続状態及び処理フローとは独立に定義された、機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを生成することを特徴とする。【００２７】
本発明による機密性分析プログラムは、コンピュータに、情報システムを構成する機器の物理的な接続状態を表す構造モデルと、機器の上で行われる処理フローを表す振る舞いモデルとに対して、接続状態及び処理フローとは独立に定義された、機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを生成する攻撃フローモデル生成処理を実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、分析対象のシステムの物理的な構成状態に依存して発生する脅威の流れも考慮してリスクを分析することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第一の実施形態における機密性分析支援システムの構成例を示すブロック図である。
【図２】システムモデル格納手段１０が格納するレイアウトモデルの具体例を示す図である。
【図３】システムモデル格納手段１０が格納するプロセスモデルの具体例を示す図である。
【図４】システムモデル格納手段１０が格納する割り当てモデルの具体例を示す図である。
【図５】システムモデル格納手段１０が格納する割り当てモデルの具体例を示す図である。
【図６】システムモデル格納手段１０が格納する振る舞いモデル１２の具体例を示す図である。
【図７】機能情報格納手段２０が格納する機能情報の具体例を示す図である。
【図８】セキュリティ構造モデル生成手段３０が生成するセキュリティ構造モデルの具体例を示す図である。
【図９】メタモデル格納手段４０が格納するメタモデルの具体例を示す図である。
【図１０】攻撃フローモデル生成手段５０が生成する攻撃モデルの具体例を示す図である。
【図１１】攻撃フローモデル生成手段５０が生成する攻撃モデルの具体例を示す図である。
【図１２】機密性分析支援システムの処理例を示すフローチャートである。
【図１３】第二の実施形態における機密性分析支援システムの構成例を示すブロック図である。
【図１４】機能情報格納手段２０が格納する機能情報の具体例である。
【図１５】機密性分析支援システムの処理例を示すフローチャートである。
【図１６】機密性分析支援システムの最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００３０】
実施形態１．
以下、本発明の実施形態について、図面を参照して説明する。図１は、本発明の第一の実施形態における機密性分析支援システムの構成例を示すブロック図である。本実施形態における機密性分析支援システムは、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。
【００３１】
図１のブロック図を参照すると、本発明の第一の実施形態における機密性分析支援システムは、システムモデル格納手段１０と、機能情報格納手段２０と、セキュリティ構造モデル生成手段３０と、メタモデル格納手段４０と、攻撃フローモデル生成手段５０と、攻撃フローモデル表示手段とを含む。また、セキュリティ構造モデル生成手段３０は、攻撃可能位置決定手段３２と、機能情報割り当て手段３１と、を含む。各手段は、それぞれ次のように動作する。
【００３２】
システムモデル格納手段１０は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。システムモデル格納手段１０は、分析対象システムの物理的な機器及びプロセスの構成状態を表した構造モデル１１と、その機器の上でどのような流れで処理が行われるかを表した振る舞いモデル１２と、を格納する。構造モデル１１は、物理的な機器の配置状態を表すモデル（レイアウトモデル）と、それら機器の上で実行されるプロセスのモデル（プロセスモデル）と、これらの図に示される各オブジェクトの対応関係を表したモデル（割り当てモデル）とを含む。これらのモデルは、例えば、予め分析者によってシステムモデル格納手段１０に登録される。
【００３３】
これらのシステムモデルは、ＵＭＬやＳｙｓＭＬ（Ｓｙｓｔｅｍ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）などのモデリング言語によって記述される、システムの設計図である。構造モデル１１は、例えばコンポジット構造図や内部ブロック図などによって記述される。また、振る舞いモデル１２は、例えばシーケンス図などによって記述される。構造モデル１１及び振る舞いモデル１２の具体例を図２ないし図６に示す。
【００３４】
図２は、システムモデル格納手段１０が格納するレイアウトモデルの具体例を示す説明図である。また、図３は、システムモデル格納手段１０が格納するプロセスモデルの具体例を示す説明図である。また、図４及び図５は、システムモデル格納手段１０が格納する割り当てモデルの具体例を示す説明図である。また、図６は、システムモデル格納手段１０が格納する振る舞いモデル１２の具体例を示す図である。
【００３５】
機能情報格納手段２０は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。機能情報格納手段２０は、システムを構成する機器が有する可能性のある、認証機能や暗号化機能などといったセキュリティ機能を示す機能情報を、機器のステレオタイプに基づいて分類し、格納する。機能情報は、例えば、予め分析者によって機能情報格納手段２０に登録される。機能情報格納手段２０が格納する機能情報の具体例を図７に示す。
【００３６】
セキュリティ構造モデル生成手段３０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。セキュリティ構造モデル生成手段３０は、機能情報割り当て手段３１と、攻撃可能位置決定手段３２と、を含む。
【００３７】
機能情報割り当て手段３１は、システムモデル格納手段１０が格納する構造モデル１１に記述されている各オブジェクトに、機能情報を割り当てる機能を備えている。具体的には、機能情報割り当て手段３１は、構造モデル１１に記述されている各オブジェクトに対して、セキュリティに関連する属性（例えば、認証機能やログ記録機能を有するという特徴）として、オブジェクトが有するセキュリティ機能を示す情報を付与する。以下、属性を示す情報を属性情報という。また、以下、セキュリティ機能に関連する属性を示す情報を機能属性情報という。
【００３８】
攻撃可能位置決定手段３２は、分析対象のシステムにおいて想定し得る攻撃者の位置を決定し、構造モデル１１の中に、その情報を埋め込む処理を実行する機能を備えている。
【００３９】
具体的には、攻撃可能位置決定手段３２は、構造モデル１１において、物理的なオブジェクト同士を繋ぐ全てのコネクタ上に、攻撃者を様々な属性情報を持つアクタとして定義して配置し、対応するプロセス上の攻撃発生位置を決定する。すなわち、攻撃可能位置決定手段３２は、レイアウトモデル及びプロセスモデルと、それらの対応関係とから、攻撃者の物理的な位置に対応するプロセス上の位置（＝攻撃の発生する可能性のある箇所）を決定したモデル（後述するセキュリティ振る舞いモデルに相当する）を生成する。このモデルは、クライアントの代わりに攻撃者が資産に対してある処理を行う流れを表しており、振る舞いモデル１２と同様に、例えばシーケンス図などによって記述される。
【００４０】
以上のように、セキュリティ構造モデル生成手段３０は、構造モデル１１に、各オブジェクトが有するセキュリティ機能を示す機能属性情報と、資産に対する攻撃が発生する可能性がある箇所を示す情報とを付与した、セキュリティ構造モデルを生成する。セキュリティ構造モデルについては、構造モデル１１と同様に、例えばコンポジット構造図や内部ブロック図などによって表記することが可能である。セキュリティ構造モデルの具体例を図８に示す。
【００４１】
メタモデル格納手段４０は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。メタモデル格納手段４０は、セキュリティ機能を有するオブジェクトが行う操作を示す情報をメタモデルとして格納する。ここでメタモデルとは、所定のオブジェクトに攻撃者が到達し、次のオブジェクトに向かう際に、そのオブジェクトが、攻撃者（または攻撃者が発信するメッセージ）に対してどのような属性情報を付与するかを定義したものである。なお、本実施形態では、メタモデルで定義された操作は、攻撃フローモデル生成手段６０が実行する処理によって実現される。メタモデルは、例えば、予め分析者によってメタモデル格納手段４０に登録される。メタモデルとして定義された操作の具体例を図９に示す。
【００４２】
攻撃フローモデル生成手段５０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。攻撃フローモデル生成手段５０は、メタモデルで定義された情報に基づいて、セキュリティ構造モデル及び振る舞いモデル１２から、攻撃者が資産に到達するまでの流れを表す攻撃フローモデルを生成する機能を備えている。
【００４３】
具体的には、攻撃フローモデル生成手段５０は、セキュリティ構造モデルに記述されている攻撃者から資産までの経路上に存在するオブジェクトを列挙（特定）し、攻撃者から隣接するオブジェクトに対して、攻撃者の有する属性情報に応じたメッセージを送信する。そして、攻撃フローモデル生成手段５０は、オブジェクトに到達したメッセージに対し、メタモデルで定義された操作を実行した上で、次のオブジェクトにメッセージを送信する。これを、メッセージが＜＜資産＞＞というステレオタイプを持つオブジェクト（以下、資産オブジェクトという）に到達して攻撃者に戻るまで繰り返すことで、攻撃フローモデル生成手段５０は、各オブジェクト間を伝播する（送受信される）メッセージに、様々な属性情報を追加していく。攻撃フローモデル生成手段５０が生成する攻撃フローモデルの具体例を図１０に示す。
【００４４】
攻撃フローモデル表示手段６０は、具体的には、プログラムに従って動作するＣＰＵ、及び生成したモデルや、最終的にメッセージに付与された属性情報等を表示する表示装置または印字手段によって実現される。
【００４５】
次に、図１２を参照し、図１に示す本実施形態における機密性分析支援システムが実行する処理の流れについて説明する。図１２は、機密性分析支援システムの処理例を示すフローチャートである。
【００４６】
システムモデルの機密性分析を行うために、分析者は、分析対象のシステムモデルを特定する操作を行う。すると、機能情報割り当て手段３１は、分析者の操作に従って特定したシステムモデルの構造モデル１１に記述されている各オブジェクトに対して、機能情報に基づいてセキュリティ機能を示す機能属性情報を付与する（ステップＡ１）。
【００４７】
次に、攻撃可能位置決定手段３２は、構造モデル１１の中で、攻撃が発生し得る場所、すなわち攻撃者の位置を決定する（ステップＡ２）。本実施形態では、構造モデル１１の中の物理的な構成図において、攻撃が発生し得る場所として、オブジェクト間を結ぶ全てのコネクタ上を想定する。
【００４８】
次に、攻撃フローモデル生成手段５０は、メタモデル格納手段が格納するメタモデルを参照し、各オブジェクトを通過するメッセージに対してどのような操作が行われるかを決定する（ステップＡ３）。
【００４９】
続いて、攻撃フローモデル生成手段５０は、ステップＡ２で決定した攻撃者の位置から、隣接するオブジェクトに向けて、攻撃者の属性情報を含むメッセージを送信する（ステップＡ４）。
【００５０】
次いで、攻撃フローモデル生成手段５０は、メッセージを受信したオブジェクトにおいて、ステップＡ３で決定した操作を行った上で、次のオブジェクトに向けてメッセージを送信する（ステップＡ５）。
【００５１】
その後、攻撃フローモデル生成手段５０は、ステップＡ５の処理を、メッセージが資産オブジェクトに到達するまで繰り返す（ステップＡ６）。
【００５２】
以上のようにして、攻撃フローモデル生成手段５０は、攻撃者が資産に到達するまでの流れを表す攻撃フローモデルを生成する。
【００５３】
最後に、攻撃フローモデル表示手段６０は、攻撃フローモデル生成手段５０が生成した攻撃フローモデルを表示する（ステップＡ７）。例えば、攻撃フローモデル表示手段６０は、攻撃フローモデルをディスプレイ装置などの表示装置に表示させる。また、例えば、攻撃フローモデル表示手段６０は、攻撃フローモデルを印字出力する。
【００５４】
次に、本実施形態における機密性分析支援システムの動作について具体例を用いて説明する。以下、図２、図６で示したシステムモデル（構造モデル１１及び振る舞いモデル１２）に対して、本発明による機密性分析支援システムを適用し、攻撃フローモデルを生成する例について説明する。
【００５５】
図２は、システムの構成を表す構造モデル１１である。構造モデル１１は、機器同士の物理的な接続関係を表すモデル（レイアウトモデル：図２）と、各機器においてどのようなプロセスが実行されるかを表すモデル（プロセスモデル：図３）とを含む。レイアウトモデルとプロセスモデルとは、別の構造モデル（割り当てモデル：図４）によって対応付けられている。
【００５６】
また、図６は、上記のプロセスモデルに記述された各プロセスにおける処理の流れをモデル化した振る舞いモデル１２である。これは、正規のクライアントが、ある特定の処理を行う際のデータの流れを表したものである。本実施形態では、構造モデル１１はＳｙｓＭＬの内部ブロック図で、振る舞いモデル１２はシーケンス図で表記されている。
【００５７】
図７は、機能情報格納手段２０が格納する機能情報の一例を示している。機能情報では、上記のシステムモデルの各オブジェクトが持つセキュリティ機能を、例えばステレオタイプごとに定義している。本実施形態では、セキュリティ上の効果を奏する機能として、“認証機能”、“操作ログ記録機能”及び“暗号化機能”を定義している。
【００５８】
システムモデルの機密性分析を行うために、分析者は、分析対象のシステムモデルを特定する操作を行う。すると、機能情報割り当て手段３１は、分析者の操作に従って分析対象のシステムモデルを特定し、上記の各機能を、同じステレオタイプを持つシステムモデルの各オブジェクトに付与する。ここでは、機能情報割り当て手段３１は、＜＜ＤＢサーバ＞＞ステレオタイプを持つオブジェクトに対して、“認証機能”及び“ログ記録機能”を割り当てる。また、機能情報割り当て手段３１は、＜＜ディスクアレイ＞＞ステレオタイプを持つオブジェクトに対して、“ログ記録機能”及び“暗号化機能”を割り当てる。具体的には、機能情報割り当て手段３１は、オブジェクトに対して、機能属性情報を付与する。
【００５９】
次いで、攻撃可能位置決定手段３２は、システムモデルに記述されたどの位置から攻撃可能であるかを判断し、攻撃可能と判断した位置に様々な属性情報を持つ攻撃者（アクタ）を配置する。ここでは、構造モデル１１のレイアウトモデルに記述されている各機器同士を接続するコネクタから攻撃を行うことが可能である。したがって、攻撃可能位置決定手段３２は、各コネクタ（ここでは、“クライアント”と“ＤＢサーバ”との間のコネクタｃ１及び“ＤＢサーバ”と“ディスクアレイ”との間のコネクタｃ２）上にアクタを配置し、攻撃可能位置であるという属性情報を付与する。
【００６０】
次いで、攻撃可能位置決定手段３２は、割り当てモデルを参照し、レイアウトモデルにおけるアクタの位置が、プロセスモデルのどの位置に対応するかを決定し、アクタを配置したモデルを、セキュリティ振る舞いモデルとして作成する。本実施形態においては、図４に示すように、レイアウトモデル（図２）のオブジェクトと、プロセスモデルのオブジェクト（図３）とが一対一に対応している。したがって、攻撃可能位置決定手段３２は、図１０のように、プロセスモデル上のクライアントとＤＢノードとの間及びＤＢノードとボリュームとの間に、攻撃者を表すアクタＡ及びアクタＢを配置する。
【００６１】
しかし、例えば、図５に示すような対応関係の場合には、“ＤＢノード”及び“ボリューム”が、一台の“ＤＢサーバ”と対応しており、それらのプロセス間にはアクタが存在しないので、そこからの攻撃は発生しない。よって、攻撃可能位置は、クライアントとＤＢノードとの間のアクタＣと、プロセス的に対応した場所のみとなり、図１１に示すような攻撃パターンのみを考えれば良い。
【００６２】
ここで、メタモデル格納手段４０が格納するメタモデルは、上記の各機能を持つオブジェクトが、アクタの行う処理（アクタから送信されたメッセージ）に対してどのような操作を行うかの情報を表す。
【００６３】
そして、例えば、攻撃フローモデル生成手段５０は、“認証機能”を有するオブジェクトにおいては、メッセージを発信したアクタの持つ権限と、オブジェクトが要求する権限とを調べ、権限が一致した場合には、次のオブジェクトに対して、同じ重みでメッセージを送信する。権限が一致しなかった場合には、攻撃フローモデル生成手段５０は、重みを少なくして（例えば、０．１倍として）メッセージを送信する。この重みによって、そのオブジェクトによってアクタからの攻撃をある程度防げることを表すことができる。
【００６４】
また、攻撃フローモデル生成手段５０は、“暗号化機能”を有するオブジェクトにおいては、その内部に含まれるデータに対して“暗号化”という属性情報を付与する。そして、攻撃フローモデル生成手段５０は、“暗号化”という属性情報を有するデータに到達したメッセージに対して、属性情報として”暗号化”を付与し、アクタに返信する。
【００６５】
さらに、“ログ記録機能”を有するオブジェクトがメッセージを受信すると、攻撃フローモデル生成手段５０は、オブジェクト内に、“ログファイル”というオブジェクトを生成すると共に、オブジェクト内に操作ログが記録されている、という情報をメッセージに付与して送信する。
【００６６】
以下、攻撃フローモデル生成手段５０が攻撃フローモデルを生成する手順を説明する。ここでは攻撃者として、構造モデル１１に記述された機密データ（例えば、資産）までの経路における機器のアクセス権を持たない外部者を想定する。すなわち、各機器へアクセスできる権限（例えば、属性情報によって示される）を持たないアクタの動作をモデル化する。また、既述の通り、攻撃可能位置としては、コネクタｃ１及びｃ２上があるが、ここでは、ｃ１上からの攻撃フローモデルを生成する手順を説明する。
【００６７】
まず、攻撃フローモデル生成手段５０は、上記の振る舞いモデル１２において、クライアントの代わりに攻撃者を配置したセキュリティ振る舞いモデルを利用して、攻撃者の位置から、隣接するオブジェクトである“ＤＢサーバ”に対して、攻撃者の持つ属性情報を含むメッセージを送信する。ここで想定している攻撃者とは、ＤＢサーバへの正規のアクセス権を持たない外部犯なので、攻撃フローモデル生成手段５０は、ＤＢサーバにおいて要求されるアクセス権を持たないメッセージを送信することになる。
【００６８】
オブジェクトがメッセージを受信すると、攻撃フローモデル生成手段５０は、メッセージに付与された属性情報と、オブジェクトが持つ属性情報、すなわちセキュリティに関する機能属性情報とを調べ、メタモデルで定義された操作を行う。具体的には、“ＤＢサーバ”が“認証機能”を有するので、攻撃フローモデル生成手段５０は、アクタの持つ権限と、“ＤＢサーバ”の要求する権限とを調べる。
【００６９】
ここでは、これらの権限が一致しないため、攻撃フローモデル生成手段５０は、“ＤＢサーバ”から次のオブジェクトである“ストレージサーバ”に送信するメッセージの重みを変更する。本実施形態においては、認証機能によるアクセス制限の効果の一例として、権限が一致しない場合には、攻撃フローモデル生成手段５０は、メッセージの重みを０．１倍にする。
【００７０】
また、“ＤＢサーバ”が“ログ記録機能”を有するので、攻撃フローモデル生成手段５０は、“ＤＢサーバ”内に“ログファイル”というオブジェクトを生成すると共に、“ストレージサーバ”に送信するメッセージに対して、“ＤＢサーバへのアクセスログ”という属性情報を付与する。
【００７１】
次いで、メッセージを受信する“ストレージサーバ”が“ログ記録機能”を有するので、攻撃フローモデル生成手段５０は、次のオブジェクトである“データ”に送信するメッセージに、“ストレージサーバへのアクセスログ”という属性情報を付与する。また、攻撃フローモデル生成手段５０は、“ＤＢサーバ”における処理と同様に、“ストレージサーバ”内に、“ログファイル”を生成する。
【００７２】
次いで、“ストレージサーバ”が“暗号化機能”を有するので、攻撃フローモデル生成手段５０は、“ストレージサーバ”に含まれる“データ”に、“暗号化”という属性情報を付与する。このことによって、メッセージが“ストレージサーバ”を通過し、“データ”へ到達すると、“データ”からアクタへ戻るメッセージに“暗号化”という属性が付与されることとなる。
【００７３】
以上のように、アクタから“データ”に向けて送信したメッセージは、様々な属性情報が付与されてオブジェクト間を伝播し、アクタまで返信される。ここでは、“ＤＢサーバ／ストレージサーバへのアクセスログ”属性情報と、“暗号化”属性情報とを持つメッセージが、最初にアクタが送信したメッセージの０．１倍の重みで返信される。
【００７４】
その後、攻撃フローモデル表示手段６０は、これらの属性を、例えば、表示装置に表示させることで、分析者に提示する。分析者はその情報から、分析したシステムモデルが機密性要求を満たしているかを判断することができる。
【００７５】
以上のように、本実施形態では、システムの物理的な構成オブジェクトを、データが処理される順序に並べ、オブジェクト間を伝播するメッセージに対して、メタモデルとしてあらかじめ定義された属性情報を付与する。そのため、システムの物理的な構成に依存する攻撃フローをモデル化し、脅威の流れを明らかにすることが可能となる。
【００７６】
実施形態２．
次に、本発明の第二の実施形態について、図面を参照して説明する。図１３は、第二の実施形態における機密性分析支援システムの構成例を示すブロック図である。図１３を参照すると、本発明の第二の実施形態における機密性分析支援システムは、第一の実施形態の構成に加え、機能選択手段７０と、機能−メタモデルマッピング手段８０と、資産価値決定手段９０と、リスク分析手段１００と、を含む。
【００７７】
また、本実施形態における機能情報格納手段２０は、オブジェクトが有するセキュリティ機能を示す機能属性情報に加え、その機能を実現している具体的な対策とその強度とを示す情報を格納する。図１４は、本実施形態における機能情報格納手段２０が格納する機能情報の具体例を示す説明図である。例えば、図１４に示すように、機能情報には、セキュリティ機能を示す“認証機能”の下に、“ＩＤ／ＰＷによる認証”や“ＩＣカードによる認証”といった、認証機能を実現するためのいくつかの具体的な対策と、その対策のセキュリティ上の強度を示す数段階のレベルとが定義されている。セキュリティ機能を実現するための具体的な対策や、その対策のセキュリティ上の強度を示す数段階のレベルは、例えば、予め分析者によって定義され、機能情報格納手段２０に登録される。
【００７８】
機能選択手段７０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。機能選択手段７０は、分析者の選択操作に従って、上記の機能情報から、分析対象のシステムモデルにおいて、セキュリティ機能を実現するために具体的にどのような対策が行われているかを示す情報を選択する機能を備えている。つまり、機能情報割り当て手段３１がシステムモデル（構造モデル１１）に付与する情報とは、各オブジェクトに対するセキュリティに関連する機能という概念であるので、その機能を実現するための具体的な対策については、分析者がいくつかの対策の選択肢の中から選択することになる。
【００７９】
機能−メタモデルマッピング手段８０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。機能−メタモデルマッピング手段８０は、機能選択手段７０が選択した、具体的なセキュリティ対策に応じて、メタモデルに定義された行われる操作に対して重みを付ける機能を備えている。
【００８０】
機能−メタモデルマッピング手段８０は、例えば、強度５の場合には重みを０．１倍、強度３の場合には重みを０．４倍にするなどといった情報を、メタモデル格納手段４０が格納するメタモデルで定義された操作に追加する。これにより、本実施形態における攻撃フローモデル生成手段５０は、メタモデルに定義された各操作を、数段階の重みを付けて実行することとなる。
【００８１】
資産価値決定手段９０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。資産価値決定手段９０は、分析対象のシステムが有する資産がどの程度の価値を持っているかを決定する機能を備えている。例えば、資産価値決定手段９０は、分析者が入力する数段階の資産価値を示す情報や、あらかじめ用意された対応表などに基づいて、分析対象のシステムにおける資産の重要度を、資産価値情報として決定する。本実施形態では、この資産価値情報によって、分析対象のシステムにおけるリスクが変化することとなる。
【００８２】
リスク分析手段１００は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。リスク分析手段１００は、攻撃フローモデルに記述されたメッセージの属性情報、及び、資産価値情報から、資産に対するリスク（例えば、情報漏洩リスクなど）を定性的または定量的に算出し、分析者に提示する機能を備えている。
【００８３】
次に、図１５を参照し、本実施形態における機密性分析支援システムにおける処理について説明する。図１５は、本実施形態における機密性分析支援システムの処理例を示すフローチャートである。なお、本実施形態における攻撃フローモデル生成までの流れは、図１２に示した第一の実施形態における処理ステップＡ３とＡ４との間に挿入される新たなステップ以外、第一の実施形態における処理と同様である。
【００８４】
図１２のステップＡ３までの処理によって、システムモデルを構成する各オブジェクトに対して種々の属性情報を付与し終わると、分析者は、オブジェクトが有する機能を実行するための具体的な対策（以下、セキュリティ対策ともいう）を、機能情報から選択する操作を行う。すると、機能選択手段７０は、分析者の選択操作に従って、機能を実行するための具体的なセキュリティ対策を示す情報を選択する（ステップＢ１）。
【００８５】
次いで、機能−メタモデルマッピング手段８０は、ステップＢ１で選択したセキュリティ対策の強度に応じて、メタモデル格納手段４０が格納するメタモデルで定義されたメッセージに対する操作の重みを変更する（ステップＢ２）。
【００８６】
この後、攻撃フローモデル生成手段５０が攻撃フローモデルを生成する流れは、図１２のステップＡ４以降と同様である。ただし、ステップＡ５で、メッセージに属性情報を付与する際、攻撃フローモデル生成手段５０は、ステップＢ２で変更した“操作の重み”を示す属性情報も一緒に付与する。
【００８７】
そして、ステップＡ６で攻撃フローモデルを生成すると、リスク分析手段１００は、攻撃者への返信メッセージに付与されている属性情報と、分析対象のシステムにおける資産価値情報とから、システムにおけるリスクの値を、定性的または定量的に算出する。そして、リスク分析手段１００は、例えば、表示装置に算出結果を表示させて、分析者に提示する（ステップＢ３）。
【００８８】
本実施形態では、分析対象のシステムモデルに対して、各オブジェクトが持つセキュリティ機能に、対策の種類（実現方法）に応じた強度を表すレベルを予め定めておき、セキュリティ機能を実現している対策をユーザに選択させる。そのため、より具体的なシステムモデルを構築して機密性分析を行うことができ、それをもとに実際にシステムを構築することができる。
【００８９】
上記の各実施形態における機密性分析支援システムにより得られる第一の効果は、システムを構成するオブジェクトにおける操作をその上を通る攻撃者からのメッセージに与えることで、システムの物理的な構成状態に依存した攻撃者の行動をモデル化し、システムに発生し得る脅威の流れを分析できることである。
【００９０】
第二の効果は、セキュリティ機能の効果にある程度の幅を持たせ、それを分析対象のシステムごとに選択させることで、一つのシステムモデルからそれぞれにシステムに導入されているセキュリティ機能を具体的に指定した、個別のシステムモデル（インスタンス）を生成し、ユーザからの機密性要求を満たした適切なシステム構築を行えることである。
【００９１】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の機密性分析支援システムは、上記実施態様の構成に限定されるものではなく、種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【００９２】
上記の先行技術と比較すると、本発明では、あらかじめ蓄積されているシステムモデル（システムの設計図に相当する構造モデル及び振る舞いモデル）に対して、システムの構造や、その上で行われる処理とは別に、セキュリティ的な機能に関する情報が定義されている。そして、その機能によって、攻撃フローモデルに与えられる属性が変化する。また、この攻撃フローモデルは、機器が有する機能に関する属性を示す情報や、脅威の発生頻度を表すような重み属性を示す情報を含む。
【００９３】
以上より、本発明は、以下に示す特徴を有するといえる。本発明の一形態である機密性分析支援システムは、情報システムを構成する複数の機器の物理的な接続状態を表した構造モデルと、機器の上で行われる処理フローを表した振る舞いモデルとに対して、接続状態や処理フローとは独立に定義された、機器が有する機能を示す情報を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを生成して、情報システムにおける機密性を分析することを特徴とする。
【００９４】
また、本発明の他の形態である機密性分析支援システムは、構造モデルに記述される各オブジェクトが有するセキュリティ機能を実現する対策を、その強度によって数段階のレベル別に定義し、評価者に具体的な対策を選択させることで、いくつかのシステムモデルにおける機密性を比較することを特徴とする。
【００９５】
次に、本発明による機密性分析支援システムの最小構成について説明する。図１６は、機密性分析支援システムの最小の構成例を示すブロック図である。図１６に示すように、機密性分析支援システムは、最小の構成要素として、攻撃フローモデル生成手段５０を含む。
【００９６】
図１６に示す最小構成の機密性分析支援システムでは、攻撃フローモデル生成手段５０は、情報システムを構成する機器の物理的な接続状態を表す構造モデルと、機器の上で行われる処理フローを表す振る舞いモデルとに対して、接続状態及び処理フローとは独立に定義された、機器が有する機能を示す情報を付与し、発生し得る攻撃の流れを表す攻撃フローモデルを生成する。
【００９７】
従って、最小構成の機密性分析支援システムによれば、分析対象のシステムの物理的な構成状態に依存して発生する脅威の流れをモデル化し、リスクを分析することができる。
【００９８】
なお、本実施形態では、以下の（１）〜（８）に示すような機密性分析支援システムの特徴的構成が示されている。
【００９９】
（１）機密性分析支援システムは、情報システムを構成する機器の物理的な接続状態を表す構造モデル（例えば、構造モデル１１）と、機器の上で行われる処理フローを表す振る舞いモデル（例えば、振る舞いモデル１２）とに対して、接続状態及び処理フローとは独立に定義された、機器が有する機能を示す情報（例えば、機能属性情報）を付与していくことで、発生し得る攻撃の流れを表す攻撃フローモデルを生成する攻撃フローモデル生成手段（例えば、攻撃フローモデル生成手段５０によって実現される）を含むことを特徴とする。
【０１００】
（２）機密性分析支援システムにおいて、攻撃フローモデル生成手段は、情報システムを構成する物理的な機器の接続状態を表したレイアウトモデルと、機器において実行されるプロセスを表したプロセスモデルとを含む構造モデルを用いて攻撃フローモデルを生成するように構成されていてもよい。
【０１０１】
（３）機密性分析支援システムにおいて、攻撃フローモデル生成手段は、情報システムで行われる処理ごとに、プロセスモデルを構成するオブジェクト間を伝播するメッセージの流れを表す振る舞いモデルを用いて攻撃フローモデルを生成するように構成されていてもよい。
【０１０２】
（４）機密性分析支援システムにおいて、攻撃フローモデル生成手段は、構造モデルに記述される各オブジェクトが有するセキュリティ機能と、オブジェクトへのアクセスに対して、オブジェクトにおいて行われる操作を定めたメタモデル（例えば、メタモデル格納手段４０が格納するメタモデル）に基づく情報とを含む攻撃フローモデルを生成するように構成されていてもよい。
【０１０３】
（５）機密性分析支援システムにおいて、攻撃フローモデル生成手段は、セキュリティ機能によって、少なくとも各オブジェクトに到達したメッセージと、オブジェクトから発信されるメッセージとのうちのいずれか一方に対して、付与される属性を示す情報を含むメタモデルを用いて攻撃フローモデルを生成するように構成されていてもよい。
【０１０４】
（６）機密性分析支援システムにおいて、攻撃フローモデル生成手段は、攻撃フローモデルにおいて、オブジェクトを通過したメッセージに属性を示す情報（例えば、属性情報）を付与するように構成されていてもよい。
【０１０５】
（７）機密性分析支援システムにおいて、予めセキュリティ上の強度とともに定められた、構造モデルに記述される各オブジェクトが有するセキュリティ機能を実現する対策を選択する機能選択手段（例えば、機能選択手段７０によって実現される）を含み、攻撃フローモデル生成手段は、機能選択手段が選択した対策に基づいて、攻撃フローモデルを生成するように構成されていてもよい。
【０１０６】
（８）機密性分析支援システムは、分析対象のシステムの構造モデル（例えば、構造モデル１１）における物理的なオブジェクトの配置に基づいて、攻撃可能な位置を決定する攻撃可能位置決定手段（例えば、攻撃可能位置決定手段３２によって実現される）と、攻撃位置決定手段が決定した位置に攻撃者を示すアクタを配置した構造モデル（例えば、セキュリティ構造モデル）及びシステムの振る舞いモデル（例えば、セキュリティ振る舞いモデル）と、オブジェクトが有するセキュリティ機能とに基づいて、攻撃フローモデルを生成する攻撃フローモデル生成手段（例えば、攻撃フローモデル生成手段５０によって実現される）とを含むように構成されていてもよい。
【０１０７】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１０８】
この出願は、２０１０年２月２日に出願された日本特許出願２０１０−０２１６６８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１０９】
本発明は、システムの機密性を分析する用途に適用可能である。
【符号の説明】
【０１１０】
１０  システムモデル格納手段
１１  構造モデル
１２  振る舞いモデル
２０  機能情報格納手段
３０  セキュリティ構造モデル生成手段
３１  機能情報割り当て手段
３２  攻撃可能位置決定手段
４０  メタモデル格納手段
５０  攻撃フローモデル生成手段
６０  攻撃フローモデル表示手段
７０  機能選択手段
８０  機能−メタモデルマッピング手段
９０  資産価値決定手段
１００  リスク分析手段
【図１】
2011096162.tif 000003
【図２】
2011096162.tif 000004
【図３】
2011096162.tif 000005
【図４】
2011096162.tif 000006
【図５】
2011096162.tif 000007
【図６】
2011096162.tif 000008
【図７】
2011096162.tif 000009
【図８】
2011096162.tif 000010
【図９】
2011096162.tif 000011
【図１０】
2011096162.tif 000012
【図１１】
2011096162.tif 000013
【図１２】
2011096162.tif 000014
【図１３】
2011096162.tif 000015
【図１４】
2011096162.tif 000016
【図１５】
2011096162.tif 000017
【図１６】
2011096162.tif 000018
【国際調査報告】
2011096162.tif 000019
2011096162.tif 000020
2011096162.tif 000021
2011096162.tif 000022