説明

システムセキュリティ設計装置、システムセキュリティ設計方法、システムセキュリティ設計プログラム

【課題】セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える技術を提供する。
【解決手段】メタテンプレートの情報を表示し、システム構成に該当する対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、メタテンプレートの情報を記憶装置に格納する手段と、前記格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を攻撃経路パターンとして記憶装置に格納する手段と、攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する手段とからシステムセキュリティ設計装置100を構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムセキュリティ設計装置、システムセキュリティ設計方法、システムセキュリティ設計プログラムに関するものであり、具体的には、情報システムの計画・設計段階において、脅威抽出・リスク評価を行ない、それに基づいたセキュリティ対策方針を導出するシステムセキュリティ設計技術に関する。
【背景技術】
【0002】
セキュリティ上の脅威増加や法規制対応等により、情報システムを対象としたセキュリティ設計のニーズが増加してきている。このシステムセキュリティ設計を行なうためには、一般に、システム定義、脅威抽出、リスク評価、セキュリティ対策の立案、を行なう必要がある。これらのうち、脅威抽出において重大な脅威を見逃していた場合、組織が大きな被害を被る可能性があるため、脅威を網羅的に洗い出すことが非常に重要である。
【0003】
ところで、脅威は、(a)資産、(b)脅威エージェント、(c)攻撃方法、の観点で識別することが要求されている(「ISO/IEC TR 15446:2004」(非特許文献1)の8章「The TOE security environment」の8.3「How to identify and specify the threats」)。これらのうち、(c)攻撃方法、を特定するためには、脆弱性、攻撃手段、攻撃経路等の専門知識が必要であり、脅威を網羅的に導出することは困難である。また、現状では、脅威や(c)の攻撃方法を網羅的に導出するための標準的・統一的な方法はない。
【0004】
これを解決する従来技術として、「Threat Modeling」がある(非特許文献2)。この従来技術では、システムの外側から内側に入るアプローチによって攻撃者の視点をモデル化し、このモデルを用いることで複数人の話し合いによって「攻撃者がどのようにして資産に影響を及ぼそうとするのか」を識別できる、とされている(P.30〜33)。この攻撃者の視点として、「エントリポイント」(データやコントロールが移動する中継点、敵がシステムを攻撃できる場所)、「資産」(システムやコンポーネントが持つリソース、脅威の目標)、「外部エンティティの信頼レベル」(外部エンティティがエントリポイントにおいてエントリポイントや機能を正当に使用できる権限)を挙げている。
【非特許文献1】ISO/IEC TR 15446:2004「Information technology−Security techniques−Guide for the production of Protection Profiles and Security Targets」(情報技術−セキュリティ技術−プロテクションプロファイルおよびセキュリティターゲット作成ガイド)
【非特許文献2】「Threat Modeling」、Microsoft Press、P.30〜33
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した従来技術を用いれば、複数人が集まって時間を掛けて作業を行なうことで、網羅性のある脅威を導出することが期待できる。しかし、脅威抽出を行なうために複数人の技術者を集めた上で、多くの時間を割いて作業を行なうことは難しいのが現状である。また、1人でこの作業を行なった場合、システムに存在する3要素(エントリポイント、資産、外部エンティティの信頼レベル)の組合せを漏れなく列挙することと、エントリポイントに対してどのような攻撃方法があるのかを正しく導出することが難しい。
【0006】
この問題を解決する手段として、上記3要素の組合せの一覧リストと、3要素組合せ毎に想定される攻撃方法を事前にデータベース化して、これらを再利用する方法も考えられる。しかし、1つの脅威における3要素は、各要素が1つずつではなく、エントリポイントは複数になる場合がある。例えば、外部の第三者がオフィスに設置されたサーバ内のデータを改ざんするという脅威の場合、「建屋のドア」、「オフィスのドア」、「サーバのOS」等の複数のエントリポイントが存在する。特に規模の大きなシステムではエントリポイントが多重になりやすく、想定される3要素組合せを事前に洗い出すことと、これら3要素組合せ単位で攻撃方法をデータベース化することが非常に困難である。
【0007】
そこで本発明は上記課題を鑑みてなされたものであり、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える技術の提供を主たる目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決する本発明のシステムセキュリティ設計装置は、情報システムに関するセキュリティ設計を行う設計装置であって、情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置と、前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定処理と、前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定処理と、攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述処理と、を実行する演算装置と、を備える。
【0009】
これによれば、外部エンティティ、エントリポイント、および攻撃対象等について記述したメタテンプレートが予め網羅的(外部エンティティ、エントリポイント、攻撃対象等の各要素の組合せパターンを全て用意)に記憶装置にて用意されており、例えば、セキュリティ設計担当者がごく少人数であっても、入力インターフェイスから前記メタテンプレートのうち設計対象の情報システムが含む事象に該当要素があるメタテンプレートを選択することで(情報システムのシステム構成について、作業担当者等の多寡やスキルの違いなどによる設計・認識ミス等は少ないとされている)、セキュリティ設計装置側で攻撃方法(攻撃経路、通過方法)、脅威、セキュリティ対策方針を効率的かつ漏れ少なく導出することとなる。このことは、システムセキュリティ設計時あるいは再設計時に行なう脅威抽出およびセキュリティ対策方針立案の工数削減および、作業担当者の多寡やスキルに影響を受けにくい均質的な設計結果の取得を実現できる。したがって、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える。
【0010】
また、前記セキュリティ設計装置の前記テンプレート特定処理において、前記情報システムのシステム構成のうち前記各要素に該当するものについて、対応要素をデータに含むメタテンプレートを、前記記憶装置に記憶された前記メタテンプレートから検索し、ここで検索したメタテンプレートの情報を記憶装置に格納するものとする、としてもよい。これによれば、設計対象の情報システムが含む事象に該当要素があるメタテンプレートの選択処理を自動化できるので、更なる設計効率の向上が望める。
【0011】
また、前記セキュリティ設計装置の前記記憶装置におけるメタテンプレートが、前記要素に加えて、外部エンティティがエントリポイントの通過権限を持つ場合のエントリポイント通過方法、外部エンティティがエントリポイントの通過権限を持たない場合のエントリポイント通過方法、エントリポイント通過後の外部エンティティによる攻撃対象への攻撃方法、を更に対応付けたデータであり、外部エンティティ、エントリポイント、攻撃対象、エントリポイント通過方法、攻撃方法の各要素の組合せパターン毎に記憶装置に記憶され、前記テンプレート特定処理において、前記対応要素をデータに含むメタテンプレートとして、前記外部エンティティとしての情報システムの関与者と前記関与者毎の各エントリポイントにおける通過権限有無にマッチするメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納し、前記脅威記述処理において、前記攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、エントリポイント通過方法、攻撃対象、および攻撃方法の各データを読み出し、各エントリポイントにおける外部エンティティたる前記関与者の通過権限有無に応じてエントリポイント通過方法を選択し、外部エンティティたる関与者、エントリポイント、エントリポイント通過方法、攻撃対象、攻撃方法の各データを、前記攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する、としてもよい。これによれば、外部エンティティたる関与者についてのエントリポイントの通過権限有無およびエントリポイント通過方法に基づいて脅威の記述を更に精密化できる。
【0012】
また、前記セキュリティ設計装置の記憶装置におけるメタテンプレートが、前記要素に加えて、エントリポイントの通過方法に対抗するためのセキュリティ対策方針、攻撃対象への攻撃方法に対抗するためのセキュリティ対策方針、を更に対応付けたデータであり、前記脅威記述処理において、各エントリポイントにおける外部エンティティたる前記関与者の通過権限有無に応じて選択したエントリポイント通過方法、攻撃対象に対する攻撃方法のそれぞれについて、対応するセキュリティ対策方針のデータをメタテンプレートから抽出し、ここで抽出したセキュリティ対策方針データ群を前記攻撃経路に対応付けて記憶装置に格納する、としてもよい。これによれば、導出した脅威に対応するセキュリティ対策方針についても網羅的に抽出でき、セキュリティ対策の漏れを抑制できる。
【0013】
また、前記セキュリティ設計装置において、前記情報システムのシステム構成について、建築物などの物理領域やその物理領域内に配置される機器、前記機器内の物理的な構成要素といった物理的要素、および、前記機器により実現される論理ユニットなどの論理領域やその論理領域内に存在するプログラムやデータなどといった論理的要素、のそれぞれについての設定指示を入力インターフェイスから受け付けて、物理領域に配置された機器とその構成要素ならびに、前記機器により実現される論理領域とその論理領域内に存在するプログラムやデータの情報からなるシステム構成データを取得し、このシステム構成データを記憶装置に格納する、システム構成取得処理を実行するとしてもよい。これによれば、セキュリティ設計対象となる情報システムのシステム構成について、物理的、論理的な観点から詳細なシステム構成データを得ることが出来、これを用いたセキュリティ設計処理においても設計精度が向上し、セキュリティ対策漏れを抑制できる。
【0014】
また、前記セキュリティ設計装置の前記テンプレート特定処理において、前記記憶装置に記憶された前記システム構成データおよびメタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納し、前記経路特定処理において、出力インターフェイスにおける、前記連なりを構成する各メタテンプレートの表示データの間を、外部エンティティの攻撃方向に向けた矢印で結ぶ描画処理を行い、メタテンプレートの表示データが攻撃方向に沿って矢印で互いに連結されツリー表示データを生成し、前記攻撃経路のパターンとして記憶装置に格納する、としてもよい。これによれば、設計対象の情報システムについて作業者がシステム構成を出力インターフェイスで視認しながらメタテンプレートの選択作業を行うことができ、作業性の向上やメタテンプレートの選択ミス等を低減しやすくなる。また、外部エンティティがエントリポイントから情報システムに侵入し一定の攻撃方向に沿って攻撃対象に至る攻撃経路のパターンを網羅的かつ視覚的なデータとして取得でき、脅威の記述を行う処理において利用可能である。
【0015】
また、前記セキュリティ設計装置の前記脅威記述処理において、前記ツリー表示データを出力インターフェイスに表示するとしてもよい。これによれば、例えば、出力インターフェイスに表示した前記ツリー表示データを以て作業者による確認作業に供することも出来る。
【0016】
また、前記セキュリティ設計装置において、外部エンティティ、エントリポイント、および攻撃対象のそれぞれの組合せ毎に推定される脅威に応じたリスク値のデータを入力インターフェイスから受け付けて記憶装置に格納し、前記脅威の記述データを構成する外部エンティティ、エントリポイント、および攻撃対象の組合せ毎の脅威に応じたリスク値を算定する、リスク算定処理を実行するとしてもよい。これによれば、設計対象の情報システムに関して網羅的で確度の高い前記脅威の記述データに基づいて、どのようなリスクが設計対象の情報システムに生じうるのかを高精度で推定することができる。
【0017】
また、前記セキュリティ設計装置において、前記システム構成データ、攻撃対象、関与者、攻撃経路パターン、攻撃対象−脅威−セキュリティ対策方針の対応関係、およびリスク値、の各データをセットにしたセキュリティ設計データを記憶装置に格納する格納処理、を実行するとしてもよい。これによれば、設計結果であるセキュリティ設計データを保存しておくことができ、以後の再利用等に利用しやすくなり、設計効率の更なる向上が見込まれる。
【0018】
また、前記セキュリティ設計装置において、前記セキュリティ設計データと、当該セキュリティ設計データの設計対象に関するカテゴリ情報との対応関係を記述したカテゴリ対応テーブルを記憶装置に備えて、セキュリティ設計対象システムのカテゴリ情報の指定を入力インターフェイスにおいて受付けるカテゴリ受付処理と、前記カテゴリ対応テーブル中から、前記指定がなされたカテゴリ情報に該当するセキュリティ設計データを選択する設計データ選択処理と、選択したセキュリティ設計データを出力インターフェイスに表示し、システム構成データ、攻撃対象、関与者の各データの修正を入力インターフェイスにて受付けて、その修正箇所を記憶装置に記憶する修正受付処理と、前記修正され記憶装置に記憶されたシステム構成データ、攻撃対象、関与者の各データに基づいて、前記経路特定処理、脅威記述処理、およびリスク算定処理を実行して新たなセキュリティ設計データを生成し記憶装置に記憶する変更特定処理と、を実行するとしてもよい。これによれば、過去に設計済みのセキュリティ設計データをひな形(テンプレート)として今次の設計対象に再使用し、更には修正箇所について指示を受け入れて以後の脅威の記述データの生成処理まで行うことができる。過去の設計データ資産を有効活用し、ひいては以後のセキュリティ設計作業をさらに簡便かつ効率的ならしめる。
【0019】
また、本発明のセキュリティ設計方法は、情報システムに関するセキュリティ設計を行うコンピュータが、情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置と、演算装置とを備えて、前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定処理と、前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定処理と、攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述処理と、を実行することを特徴とする。
【0020】
これによれば、外部エンティティ、エントリポイント、および攻撃対象等について記述したメタテンプレートが予め網羅的(外部エンティティ、エントリポイント、攻撃対象等の各要素の組合せパターンを全て用意)に記憶装置にて用意されており、例えば、セキュリティ設計担当者がごく少人数であっても、入力インターフェイスから前記メタテンプレートのうち設計対象の情報システムが含む事象に該当要素があるメタテンプレートを選択することで(情報システムのシステム構成について、作業担当者等の多寡やスキルの違いなどによる設計・認識ミス等は少ないとされている)、セキュリティ設計装置側で攻撃方法(攻撃経路、通過方法)、脅威、セキュリティ対策方針を効率的かつ漏れ少なく導出することとなる。このことは、システムセキュリティ設計時あるいは再設計時に行なう脅威抽出およびセキュリティ対策方針立案の工数削減および、作業担当者の多寡やスキルに影響を受けにくい均質的な設計結果の取得を実現できる。したがって、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える。
【0021】
また、本発明のセキュリティ設計プログラムは、情報システムに関するセキュリティ設計を行うべく、情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置を備えたコンピュータに、前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定ステップと、前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定ステップと、攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述ステップと、を実行させるプログラムである。
【0022】
これによれば、外部エンティティ、エントリポイント、および攻撃対象等について記述したメタテンプレートが予め網羅的(外部エンティティ、エントリポイント、攻撃対象等の各要素の組合せパターンを全て用意)に記憶装置にて用意されており、例えば、セキュリティ設計担当者がごく少人数であっても、入力インターフェイスから前記メタテンプレートのうち設計対象の情報システムが含む事象に該当要素があるメタテンプレートを選択することで(情報システムのシステム構成について、作業担当者等の多寡やスキルの違いなどによる設計・認識ミス等は少ないとされている)、セキュリティ設計装置側で攻撃方法(攻撃経路、通過方法)、脅威、セキュリティ対策方針を効率的かつ漏れ少なく導出することとなる。このことは、システムセキュリティ設計時あるいは再設計時に行なう脅威抽出およびセキュリティ対策方針立案の工数削減および、作業担当者の多寡やスキルに影響を受けにくい均質的な設計結果の取得を実現できる。したがって、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える。
【0023】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【0024】
本発明によれば、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える。
【発明を実施するための最良の形態】
【0025】
−−−定義について−−−
はじめに、本実施形態で使用する用語について定義する。情報システムに対する攻撃の目標を攻撃対象、この攻撃対象を攻撃する主体を外部エンティティ、外部エンティティが攻撃対象を攻撃する際の侵入口をエントリポイントと定義する。これら3つの用語は、後述するメタテンプレートに関する用語であり、前記用語を総称して3要素としている。これに対し、セキュリティ設計対象の情報システム全体では、攻撃の目標を「資産」(攻撃される側から見れば保護すべき対象となるもの)、攻撃をする主体は「脅威エージェント」と呼ぶこととする。また、外部の人も攻撃者としてシステムに関与する可能性があるため、本実施例ではシステムの関与者として外部の第三者等も含むものとする。
【0026】
また、本実施形態のセキュリティ設計方法を実施して得られるセキュリティ設計データを、後に再利用可能なひな形として意味で「テンプレート」と称する。このテンプレートは、セキュリティ設計において再利用可能なデータであり、システム構成図、資産、関与者、3要素組合せツリー(ツリー表示データ)、資産−脅威−セキュリティ対策方針の対応関係、リスク値、をセットにしたものとする。
【0027】
また、「メタテンプレート」は、上記テンプレート(セキュリティ設計データ)を作成するための部品群であり、メタテンプレートを組合わせてセキュリティ設計方法に使用することでテンプレート(セキュリティ設計データ)を効率的に作成可能とする。このメタテンプレートは、ある1つのエントリポイントに注目し、そのエントリポイントにアクセスできる一番近くにある外部エンティティと、その外部エンティティがエントリポイントを通過して一番最初に到達する目標を攻撃対象とした3要素(攻撃対象、エントリポイント、外部エンティティ)の組合せ単位で作成するものとする。
【0028】
−−−装置構成−−−
図1は、システムセキュリティ設計装置100の概略構成図である。本装置100は、装置内の各ハードウェアを制御しプログラムを実行するCPU104、入出力を制御する端末入出力制御装置105、バス103、メモリ101、ディスク102(ハードディスクドライブなど)、入出力画面を表示するディスプレイ106、入力を受付けるキーボード107、他機器と接続するための通信ハードウェア108から構成される。
【0029】
ここで、前記メモリ101には、作成するテンプレートに関する情報を設定させるテンプレート情報取得処理部111(テンプレート特定処理、システム構成取得処理を実行)、システム構成図をもとに3要素組合せツリーを生成する3要素組合せツリー生成処理部112(経路特定処理を実行)、3要素組合せツリーとメタテンプレートを用いて脅威を導出する脅威導出処理部113(脅威記述処理を実行)、脅威のリスク値を算出するリスク評価処理部114(リスク算定処理を実行)、脅威に対抗するために実施すべきセキュリティ対策方針を導出するセキュリティ対策方針導出処理部115、テンプレート作成の作業結果をテンプレートとして登録するテンプレート登録処理部116(格納処理を実行)、セキュリティ設計対象システムのカテゴリ情報を設定させるカテゴリ情報取得処理部117(カテゴリ受付処理を実行)、カテゴリ情報をもとにテンプレートを選択するテンプレート選定処理部118(設計データ選択処理を実行)、選択したテンプレートを補正するテンプレート補正処理部119(修正受付処理を実行)、セキュリティ設計の作業結果をセキュリティ設計データとして保存するセキュリティ設計データ保存処理部120(変更特定処理を実行)が格納されている。この各処理部はプログラムとして実現されることを想定する。
【0030】
また、ハードディスクドライブなどの不揮発性記憶装置たるディスク102は、攻撃対象・エントリポイント・外部エンティティの3要素に関して、想定されうる全ての3要素組合せのパターンが格納されている3要素組合せ一覧シート131、前記3要素組合せ一覧シートに記載されている3要素組合せ単位でエントリポイントの通過方法および攻撃対象への攻撃方法とこれらに対抗するためのセキュリティ対策方針が格納されているメタテンプレート132、業種やシステムタイプ等のカテゴリ毎に分類して格納されたテンプレート133、テンプレート識別子とテンプレートのカテゴリ情報との対応関係が格納されているテンプレート識別子−カテゴリ情報の対応関係134、セキュリティ設計の結果であるセキュリティ設計データ135、テンプレート作成を支援するテンプレート作成支援プログラム136、テンプレートを利用したセキュリティ設計を行なうシステムセキュリティ設計プログラム137を記憶している。
【0031】
なお、本実施例は、図1に示す構成だけに限定せず、前記処理部を分担して備える複数のシステムセキュリティ設計装置が、前記ディスク102内のテンプレートおよびメタテンプレートを複数の装置で共有可能なデータベース(テンプレートDBと呼ぶ)に格納し、システムセキュリティ設計装置らとテンプレートDBとをネットワークで接続した形態も採用可能とする。このような形態の場合、前記テンプレートDBを複数の装置で共有できるので、テンプレートおよびメタテンプレートの蓄積・洗練を効率化できる。
【0032】
なお、これまで示した システムセキュリティ設計装置100における各処理部111〜120等は、ハードウェアとして実現してもよいし、メモリやHDD(Hard Disk Drive)などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記CPU104がプログラム実行に合わせて記憶装置より該当プログラムをメモリ101に読み出して、これを実行することとなる。
【0033】
−−−メタテンプレート−−−
図2は、システムセキュリティ設計装置100で使用する3要素組合せ一覧シート131のデータ構造である。このデータ構造において、列201はメタテンプレート識別子、列202は外部エンティティ、列203はエントリポイント、列204は攻撃対象を示す。同じ行の外部エンティティとエントリポイントと攻撃対象が1つの組合せになっており、この3要素の組合せ1つに対してメタテンプレート識別子が1つ割り当てられている。なお、3要素は抽象度や分け方等によって変わるものであり、図2に示した3要素はあくまで具体例であって本実施形態ではこれに限定しないものとする。
【0034】
図3はシステムセキュリティ設計装置100で使用するメタテンプレート132のデータ構造である。メタテンプレート132は、ある3要素組合せ単位で作成し、(1)エントリポイントの通過方法とそれに対するセキュリティ対策方針と、(2)攻撃対象への攻撃方法とそれに対するセキュリティ対策方針、がそれぞれ記載されている。
【0035】
図3(a)に示すデータ301は、メタテンプレートの識別子とそれに対応する3要素の組合せを示すデータであり、同図(b)に示すデータ311は、前記(1)エントリポイントの通過方法とそれに対するセキュリティ対策方針、同図(c)に示すデータ322は前記(2)攻撃対象への攻撃方法とそれに対するセキュリティ対策方針を示すデータとなる。
【0036】
前記データ311において、列312は脅威エージェントの持つエントリポイントの通過権限、列313は外部エンティティによるエントリポイントの通過方法、列314は列313の通過方法に対抗するためのセキュリティ対策方針を示す。なお、列313の通過方法および列314のセキュリティ対策方針は、列312の通過権限の有無によって2つに分けている。また、列314はセキュリティ対策方針を適用する対象(外部エンティティ、エントリポイント、攻撃対象)毎に分類している。
【0037】
一方、データ321において、列322は攻撃対象への攻撃方法、列323は列322の攻撃方法に対抗するためのセキュリティ対策方針を示す。なお、列323は列314と同様に、セキュリティ対策方針を適用する対象(外部エンティティ、エントリポイント、攻撃対象)毎に分類している。例えば、図3に示す例では、外部エンティティが「アプリケーションソフト」、エントリポイントが「OS」、攻撃対象が「データ」の3要素組合せのメタテンプレートを示しており、エントリポイントの通過権限を持たない外部エンティティの場合、エントリポイントの通過方法として「不正なアプリケーションソフトがデータにアクセスし」があり、それに対するエントリポイント(OS)のセキュリティ対策方針として「アクセス制御」があることを示す。
【0038】
なお、図4〜図6においても同様に、システムセキュリティ設計装置100で使用するメタテンプレート132のデータ構造を示している。図4の例では、外部エンティティが「ノードに触れる人」、エントリポイントが「ノード」、攻撃対象が「アプリケーションソフト」の3要素組合せのメタテンプレートを示し、図5の例では、外部エンティティが「ドアに触れる人」、エントリポイントが「ドア」、攻撃対象が「ノード」の3要素組合せのメタテンプレートを示し、図6の例では、外部エンティティが「ドアに触れる人」、エントリポイントが「ドア」、攻撃対象が「ドア(前記エントリポイントを通過後に現れるドア)」の3要素組合せのメタテンプレートを示している。
【0039】
−−−セキュリティ設計対象の例−−−
図7は、本実施形態でのセキュリティ設計対象となる情報システムに関する、システム構成の概要を示したものである。この例での情報システムのシステム構成は、物理的な領域として「建屋」と「オフィス」と「サーバ室」とがそれぞれ分かれており、「」オフィス」内には「クライアント端末」、「サーバ室」には「公開サーバ」と「内部サーバ」の2つが設定されている。一方、ネットワークはDMZ(DeMilitarized Zone)と内部NWに分かれており、DMZがインターネットに接続されている。そして、DMZには「公開サーバ」、内部NWには「内部サーバ」と「クライアント端末」が接続されている。
【0040】
−−−テンプレート類−−−
図8〜図11は、システムセキュリティ設計装置100で使用するテンプレート133およびセキュリティ設計データ135のデータ構造の一部である。なお、テンプレート133およびセキュリティ設計データ135は、図8〜図11以外に、システム構成データ(図17、図18)と、3要素組合せツリー(図20)がある。
【0041】
図8は、資産−脅威−セキュリティ対策方針の対応関係データを示したものである。このデータにおいて、列801は資産、列802は脅威の識別子、列803は脅威要素の識別子、列804は脅威エージェントの識別子あるいはメタテンプレートの識別子、列805は列802の脅威を表現するための要素である脅威要素、列806は列804および列805に対応する外部エンティティ/エントリポイント/攻撃対象、列807は列806の外部エンティティ/エントリポイント/攻撃対象に対して実施するセキュリティ対策方針を示す。
【0042】
なお、列802の脅威は、列805の脅威要素を前記データ中の上から順番に繋げることによって表現する。例えば、脅威T1は「外部の第三者が、ドア(建屋)を不正に開けて内部のドア(オフィス)を触り、ドア(オフィス)を不正に開けて内部のドア(サーバ室)を触り、ドア(サーバ室)を不正に開けて内部のノード(内部サーバ)を触り、ノード(内部サーバ)に不正にログインしてアプリケーションソフト(内部サーバ)にアクセスし、正規のアプリケーションソフトが正規の権限でデータ(内部サーバ)にアクセスし、データ(内部サーバ)を変更する」という脅威となる。
【0043】
また、列807においては、外部エンティティ/エントリポイント/攻撃対象とセキュリティ対策方針との対応関係が「○」の場合、列802の脅威に対抗するためには外部エンティティ/エントリポイント/攻撃対象でセキュリティ対策方針を実施することが有効であることを意味する。逆に「−」の場合はセキュリティ対策方針が有効でないことを意味する。例えば、脅威要素T1_6の「OS(内部サーバ)」とセキュリティ対策方針Ob2(ユーザの識別・認証)との対応関係が「○」なので、脅威T1に対して内部サーバのOSでアクセス制御することは有効であることを示している。
【0044】
図9は、図8の列804に示した脅威エージェント(関与者)を示したものである。列901は脅威エージェントの識別子、列902は脅威エージェントの名称、列903は列902の脅威エージェントの持つエントリポイントの通過権限を示す。列903では、「○」が通過権限があること、「−」が通過権限がないことを示す。例えば、管理者はドア(建屋)を通過する権限を持っていることを示している。
【0045】
図10は、図8の列802に示した脅威のリスク値を示したものである。列1001は脅威の識別子、列1002は脅威発生時の被害の大きさ(資産の価値)、列1003は脅威の発生頻度、列1004は脆弱性の大きさ、列1005はリスク値を示す。なお、リスク値は、列1002、列1003、列1004に記載された3つの値を掛け算した値とする。
【0046】
図11は、図8の列807に示したセキュリティ対策方針の識別子の詳細を示したものである。列1101はセキュリティ対策方針の識別子、列1102はセキュリティ対策方針を示す。
【0047】
図12は、システムセキュリティ設計装置で使用するテンプレート識別子−カテゴリ情報の対応関係134のデータ構造である。列1201はテンプレート識別子、列1202はテンプレートの名称、列1203はテンプレートのカテゴリ情報を示す。なお、列1203では、「○」がテンプレートとカテゴリ情報との間に対応関係があること、「−」が対応関係がないことを示す。また、本実施例では、カテゴリを2つに大別しており、1つめは業務で「自治体」、「金融」、2つめはシステムタイプで「情報収集」、「情報発信」、「情報収集・発信」というカテゴリを用意している。ただし、これらはあくまで一例であり、他にも様々なカテゴリが考えられる。
【0048】
以上が本方式によるシステムセキュリティ設計装置における構成とデータ構造の概要である。
【0049】
−−−処理例−−−
次に、上記構成を持つシステムセキュリティ設計装置100の動作説明と、出力結果の例を示す。本装置100は、図13に示すように、フェーズ1(テンプレート作成)と、フェーズ2(フェーズ1で作成したテンプレートを用いたテンプレート利用セキュリティ設計)の2つから構成されている。フェーズ1は、システム構成、資産、関与者、および、メタテンプレートを入力データとし、テンプレートを出力するものである。一方、フェーズ2は、設計対象システムのカテゴリ情報、システム構成、資産、関与者、テンプレートおよびメタテンプレートを入力データとし、セキュリティ設計データを出力するものである。以下では、これらを順番に説明する。
【0050】
−−−フェーズ1−−−
まずはフェーズ1のテンプレート作成フェーズについて説明する。図14はシステムセキュリティ設計装置100におけるテンプレート作成支援プログラム136の動作を説明するためのフローチャート図である。まず始めに、テンプレート情報取得処理部111が、テンプレート作成のために必要な情報(システム構成、資産、関与者)をキーボード107など入力インターフェイスを介して作業者に設定させる(ステップ1401)。システム構成の設定に際しては、物理構成と論理構成について図17に示す入力画面をディスプレイ106など出力インターフェイスに表示して設定を受付ける。
【0051】
前記物理構成の設定では、物理的な領域(サーバ室等)、これらの物理的な領域間の境界(ドア等)、物理的な領域内に存在するノード(内部サーバ等)、ノード内に存在するコンポーネント(記憶装置等)の設定を受付ける。具体的には、図17に示す画面上のタブ1701の押下を以て、入力領域1703を表示し、システム構成の部品群1704(領域、境界、ノード、コンポーネント)を用いた作図指示を受付ける。例として、図7に示したシステム構成の物理構成を図示したものを図17の入力領域1703に示した。
【0052】
一方、論理構成の設定では、論理的な領域(内部NW等)、これらの論理的な領域間の境界(ファイアウォール等)、論理的な領域に存在するノード(内部サーバ等)、ノード内に存在するコンポーネント(OS等)の設定を受付ける。具体的には、図17に示す画面上のタブ1702を押下を以て、入力領域1703を表示し、システム構成の部品群1704を用いた作図指示を受付ける。例として、図7に示したシステム構成の論理構成を図示したものを図18の入力領域1703に示した。
【0053】
また、資産の設定では、図17に示す入力画面において、例えば、配置した領域・境界・ノード・コンポーネントの枠を太くする作図指示を受付けることで、それが資産であることの設定を受付ける。例えば、図18に示す入力画面では、クライアント端末内のデータ、内部サーバ内のデータ、公開サーバ内のデータ、を資産として設定している。
【0054】
さらに、関与者の設定では、脅威エージェントとなりうるものの設定を受付ける。例えば、図7に示したシステム構成では、関与者として「管理者」(サーバ室に入ってサーバを管理できる人)、「一般従業員」(サーバ室に入れないがオフィス内でクライアント端末を操作できる人)、「外部の第三者」(前記2つ以外の人)がいるので、これらの設定を受付けることとなる。
【0055】
次に、3要素組合せツリー生成処理部112は、前記ステップ1401で設定した情報を用いて3要素組合せツリーを自動生成する(ステップ1402)。このステップは(1)〜(2)の処理に分かれており、これらを以下に説明する。
【0056】
(1)まず、システム構成図(図17,18等)で設定された資産と、システム構成図における関係からその資産のある場所名(領域名あるいはノード名)を特定する。そして、括弧で場所名を付加したものを資産名とすることで、資産名を一覧表にした資産リストを作成する。例えば、図18のシステム構成図では内部サーバ内のデータを資産として設定しているので、システム構成図からこのデータは「内部サーバ」に存在することが分かるので、「データ(内部サーバ)」という資産名にして資産リストに入れる。
【0057】
(2)次に、前記資産リストの中から、1つずつ資産を選択・入力して処理Aをそれぞれ実行する。処理Aのフローチャートを図15に示す。まず、処理Aの入力データである資産を攻撃対象とみなす(ステップ1501)。そして、攻撃対象とみなしたものと同じ攻撃対象が含まれる3要素組合せを、3要素組合せ一覧シートの中から検索・抽出する(ステップ1502)。更に、前記ステップ1502で抽出した3要素組合せが1つでもあるかどうかを判定し、1つでもある場合にはステップ1504へ、1つもない場合には処理Aを終了する(ステップ1503)。
【0058】
また、前記ステップ1502で抽出した3要素組合せが、システム構成図に存在するかどうかを判別する(ステップ1504)。そして、前記抽出した3要素組合せがシステム構成図に1つでも存在する場合にはステップ1506へ、1つも存在しない場合には処理Aを終了する(ステップ1505)。
【0059】
次に、前記ステップ1502で抽出した3要素組合せについて、システム構成図を用いて場所名(領域名あるいはノード名)を特定し、その場所名を括弧内に追記することで3要素を具体化して図示する(ステップ1506)。そして、ステップ1507にて、本ステップを通過するのが1回目かどうかを判別し、1回目であればステップ1509へ、2回目以降であればステップ1508に進む。
【0060】
続いて、1つ前に図示した3要素組合せと、今回図示した3要素組合せとの間を、前者側を指した矢印の線で結ぶ(ステップ1508)。また、図示した3要素組合せの外部エンティティを攻撃対象とみなす(ステップ1509)。ただし、外部エンティティが人あるいは通信データの場合にはエントリポイントも攻撃対象とみなす。このステップ1509の実施後に前記ステップ1502に戻る。
【0061】
なお、処理Aの具体例としては、資産として「データ(内部サーバ)」を選択・入力した場合について説明する。なお、図19は具体例の作業イメージで、図20は生成した3要素組合せツリーである。前記ステップ1501〜1503では、「データ(内部サーバ)」を攻撃対象と見なし(図19の1901)、これに対して「データ」、「OS」、「アプリケーションソフト」という3要素組合せを抽出した(図19の1902)。次に、前記ステップ1504〜1506では、図18のシステム構成図を用いると、内部サーバにはデータ、OS、アプリケーションソフトが存在することが分かるため、それぞれ場所名を追記することで具体化し(図19の1903)、図示した(図20の1903)。次に、通過が1回目なのでステップ1507からステップ1509に進み、ステップ1509では、「アプリケーションソフト(内部サーバ)」を攻撃対象と見なし(図19の1904)、さらに前記ステップ1502〜1506を繰り返すことで図20の3要素組合せツリーにおけるメタテンプレートの情報1907と1908を図示できる。そして、通過が2回目なのでステップ1507からステップ1508に進み、ステップ1508では、図20のメタテンプレートの情報1907から1903に矢印を向けた線、および、図20のメタテンプレートの情報1908から1903に矢印を向けた線を結ぶ。これらの作業を処理Aが終了するまで繰り返すことで、図20に示した3要素組合せツリーが完成できる。
【0062】
続いて、脅威導出処理部114が、前記ステップ1402で生成した3要素組合せツリーを用いて、想定される脅威を導出する(ステップ1403)。このステップは(1)〜(3)の処理に分かれており、これらを以下に説明する。
(1)まず、関与者を脅威エージェントとみなして、3要素組合せツリーに存在する各エントリポイントのルール上の通過権限を、前記キーボード107など入力インターフェイスを介して脅威エージェント毎に設定を受付ける(設定例を図9に示す)。
(2)次に、前記ステップ1402の(1)で作成した資産リスト内の資産と、脅威エージェントとの全組合せを作成する。
(3)そして、(2)で作成した組合せの中から、1つずつ選択・入力して処理Bをそれぞれ実行する。処理Bのフローチャートを図16に示す。
【0063】
このフローチャートではまず、処理Bの入力データである脅威エージェントと、3要素組合せツリーの末端にある3要素組合せの外部エンティティとを対応付けさせる(ステップ1601)。次に、処理Bの入力データである資産と、前記ステップ1601で対応付けた外部エンティティと、3要素組合せツリーとを用いることで、外部エンティティを始点として3要素組合せツリーの矢印に沿って資産に辿り着く経路(これが攻撃経路となる)を全て洗い出す(ステップ1602)。
【0064】
次に、前記ステップ1602で洗い出した攻撃経路のうち、まだ脅威を記述していないものを1つ選択する(ステップ1603)。そして、前記ステップ1603で選択した攻撃経路が通過する3要素組合せを特定し、この3要素組合せに対応するメタテンプレートを特定する(ステップ1604)。
【0065】
次に、脅威エージェント、脅威エージェントのエントリポイントの通過権限を用いて、前記ステップ1604で特定したメタテンプレート記載の「エントリポイントの通過方法」を特定する(ステップ1605)。さらに、攻撃経路の終点に対応するメタテンプレートに記載された「攻撃対象への攻撃方法」を特定する。そして、これらを攻撃経路に沿って繋ぎ合わせることで攻撃方法を導出する。なお、1つのメタテンプレートにエントリポイントの通過方法、あるいは、攻撃対象への攻撃方法が複数ある場合には、それぞれ1つずつ選択して繋ぎ合わせる。
【0066】
次に、処理Bの入力データである資産および脅威エージェントと、前記ステップ1605で導出した攻撃方法を用いることで、脅威の記述を作成する(ステップ1606)。次に、選択していない攻撃経路があるかどうかを判定し、あればステップ1602に戻り、なければ処理Bを終了する(ステップ1607)。
【0067】
なお、処理Bの具体例としては、資産と脅威エージェントの組合せとして、「データ(内部サーバ)」と「外部の第三者」を選択・入力した場合について説明する。なお、図21は具体例の作業イメージである。まず、ステップ1601では、本例では脅威エージェントが「外部の第三者」なので、これは図20の末端にある3要素組合せ(図20の2003)の外部エンティティである「ドアに触れる人(建屋)」に対応付けることができる。次に、ステップ1602では、外部エンティティである「ドアに触れる人(建屋)」から資産である「データ(内部サーバ)」までの経路(攻撃経路)として、図20の2003→2002→2001→1908→1903が洗い出せる。次に、ステップ1603〜1606では、この攻撃経路上の3要素組合せとして、図21に示すように、3要素組合せ2003に対してメタテンプレートM23、3要素組合せ2002に対してメタテンプレートM23、3要素組合せ2001に対してメタテンプレートM21、3要素組合せ1908に対してメタテンプレートM13、3要素組合せ1903に対してメタテンプレートM11が特定できる。そして、図9に示すエントリポイントの通過権限から、脅威エージェントである「外部の第三者」はこれら全てのエントリポイントに対して通過権限を持たないため、3要素組合せ2003に対応するメタテンプレートM23の中から、通過権限なしのエントリポイント通過方法(図6の列313の一番下)を抽出する(図21の2112)。他についても同様に、図21の2113〜2116に示すエントリポイントの通過方法を抽出する。さらに、資産「データ(内部データ)」のある3要素組合せ1903に対応するメタテンプレートM11からは、攻撃対象への攻撃方法(図3の列322)を抽出する(図21の2117)。ここでは攻撃対象への攻撃方法が3つあるので、本例では「データを変更する」を抽出した。これらに脅威エージェント「外部の第三者」を加えて(図21の2111)、図21の2111〜2117まで繋げることによって、「外部の第三者が、ドア(建屋)を不正に開けて内部のドア(オフィス)を触り、ドア(オフィス)を不正に開けて内部のドア(サーバ室)を触り、ドア(サーバ室)を不正に開けて内部のノード(内部サーバ)を触り、ノード(内部サーバ)に不正にログインしてアプリケーションソフト(内部サーバ)にアクセスし、正規のアプリケーションソフトが正規の権限でデータ(内部サーバ)にアクセスし、データ(内部サーバ)を変更する」という脅威を記述できる。
【0068】
なお、前記ステップ1401〜1403では、システム構成図を設定させる手段と、システム構成図を入力として3要素組合せツリーを自動生成する手段と、3要素組合せツリーを入力として脅威を導出する手段について説明したが、これらはあくまで1つの具体例であって本発明では実施例に記載した手段に限定しない。
【0069】
例えば、3要素組合せツリーを図示することは必須ではなく、3要素組合せと、各3要素組合せ間の繋がりの有無と攻撃方向をデータ化できればよい。また、システム構成図を指定された方法で描く必要も無く、システム構成に関する情報を参照しつつ、対象システムに存在する3要素組合せと、各3要素組合せ間の繋がりの有無と攻撃方向をデータ化できる手段であれば良い。例えば、これらのデータを手動で設定する手段でもよく、3要素組合せ一覧シートの3要素組合せ群を選択候補として表示して、その中からシステムに存在する3要素組合せを手動で選択させ、その選択させた各3要素組合せ間の繋がりの有無と攻撃方向を手動で設定させる方法がある。
【0070】
続いて、リスク評価処理部115は、リスク評価のためのデータ(脅威発生時の被害の大きさ、脅威の発生頻度、脆弱性の大きさ)に関する設定を、それぞれ3段階のランク(1、2、3)で受け付けて、これら3つのランク値を乗算することで各脅威のリスク値を算出する(ステップ1404)。
【0071】
次に、セキュリティ対策方針導出処理部116は、処理Bにおけるステップ1605で特定した「エントリポイントの通過方法」と「攻撃対象への攻撃方法」を入力とし、これらに対するセキュリティ対策方針をメタテンプレートから抽出する。そして、ステップ1404で算出したリスク値を用いて、これらのセキュリティ対策方針の中から、ユーザに指定させた許容するリスク値以上の脅威に対応するセキュリティ対策方針を特定する(ステップ1405)。
【0072】
また、セキュリティ対策方針抽出の具体例を、処理Bの具体例で示した脅威を用いて説明する。この脅威には、エントリポイントの通過方法として「ドア(建屋)を不正に開けて内部のドア(オフィス)を触り」が含まれており、これはメタテンプレートM23の図6の列313の一番下から抽出したものである。これに対応するセキュリティ対策方針は図6の列314の一番下に記載されており、エントリポイント(ドア)に適用するセキュリティ対策方針として「入退室管理」「ドアの施錠」を抽出できる。さらに、その他のエントリポイントの通過方法および攻撃対象への攻撃方法に対するセキュリティ対策方針も同様の手順で抽出する。
【0073】
最後に、テンプレート登録処理部117が、これまでの作業結果(システム構成図、資産、関与者、3要素組合せツリー、資産−脅威−セキュリティ対策方針の対応関係、リスク値)をテンプレート133として、業種やシステムタイプ等のカテゴリ情報を追加してディスク102に登録する(ステップ1406)。
【0074】
−−−フェーズ2−−−
続いて、テンプレート利用セキュリティ設計フェーズについて説明する。図22はシステムセキュリティ設計装置100におけるシステムセキュリティ設計プログラム137の動作を説明するためのフローチャート図である。まず始めに、カテゴリ情報取得処理部118は、図23に示すカテゴリ情報の設定画面をディスプレイ106などの出力インターフェイスに表示し、これからセキュリティ設計を行なう対象システムの業種とシステムタイプの指定をキーボード107など入力インターフェイスで受付ける(ステップ2201)。なお、業種とシステムタイプの候補リスト(2302および2304)としては、図12に示すテンプレート識別子−カテゴリ情報の対応関係134のカテゴリ情報1203に記載されたものを表示する。具体的には、業種には「自治体」「金融」、システムタイプには「情報収集」「情報発信」「情報収集・発信」を表示する。
【0075】
次に、テンプレート選定処理部119は、図23で指定された業種あるいはシステムタイプと部分的にでも一致するテンプレートを、テンプレート識別子−カテゴリ情報の対応関係134を用いて選定し、図24に示すようなテンプレート選択画面にテンプレート選択候補として表示する。この画面においてテンプレート選択候補の中から、セキュリティ設計に利用するものを作業者に1つ選択させ、ボタン2407の押下を受付ける(ステップ2202)。
【0076】
次に、テンプレート補正処理部120は、前記ステップ2202で選択されたテンプレート(システム構成図、資産、関与者、3要素組合せツリー、資産−脅威−セキュリティ対策方針の対応関係、リスク値)の補正を行なう(ステップ2203〜2207)。
【0077】
まず、ステップ2203では、選択テンプレートのシステム構成図を表示した状態でシステム構成設定画面(図17、18)を表示し、これをセキュリティ設計対象の情報システムの構成や資産に応じて作業者に修正させる(キーボード107など入力インターフェイスで受付)ことで、システム構成図および資産の設定を受付ける。また、選択テンプレートの関与者を修正させることで、セキュリティ設計対象の情報システムにおける関与者の設定を受付ける。また、選択テンプレートのシステム構成図と資産と関与者の修正箇所をそれぞれ記録する。
【0078】
次に、ステップ2204では、修正したシステム構成図を入力データとし、前記フェーズ1の前記ステップ1402と同じ処理を行なうことで、3要素組合せツリーを自動的に生成する。また、生成した3要素組合せツリーの中で、前記ステップ2203で記録した修正箇所に対応する箇所を特定し、その部分を3要素組合せツリーの修正箇所として記録する。
【0079】
次に、ステップ2205では、修正した3要素組合せツリーを入力データとし、前記フェーズ1の前記ステップ1403と同じ処理を行なうことで、想定される脅威を自動的に導出する。本ステップでは、導出した脅威の中で、前記ステップ2204で記録した修正箇所に対応する箇所を特定し、その部分を脅威の修正箇所として記録する。
【0080】
次に、ステップ2206では、修正した脅威を対象にして、リスク評価のためのデータ追加設定を受付ける。さらに、設定済みのリスク評価のためのデータについても、作業者による見直し結果を受付ける。これらのデータをもとに、前記フェーズ1の前記ステップ1404と同じ処理を行なうことで、リスク値を算出する。
【0081】
そしてテンプレート補正の最後であるステップ2207では、前記ステップ2205で修正した脅威と、ステップ2206で算出したリスク値を入力データとし、前記フェーズ1の前記ステップ1405と同じ処理を行なうことでセキュリティ対策方針を導出する。
【0082】
最後に、セキュリティ設計データ保存処理部120が、これまでの作業結果(システム構成図、資産、関与者、3要素組合せツリー、資産−脅威−セキュリティ対策方針の対応関係、リスク値)をセキュリティ設計データ135としてディスク102に保存する(ステップ2208)。こうして、セキュリティ設計データたるテンプレートの生成と再利用とが繰り返し行われ、カテゴリ毎にテンプレートの数や種類の増大、更には再利用の繰り返しによるテンプレート内容の洗練(多くの実例に沿ってテンプレート内容の修正が繰り返され設計精度向上)が行われていく。
【0083】
本実施形態によれば、外部エンティティ、エントリポイント、および攻撃対象等について記述したメタテンプレートが予め網羅的(外部エンティティ、エントリポイント、攻撃対象等の各要素の組合せパターンを全て用意)に記憶装置にて用意されており、例えば、セキュリティ設計担当者がごく少人数であっても、入力インターフェイスから前記メタテンプレートのうち設計対象の情報システムが含む事象に該当要素があるメタテンプレートを選択することで(情報システムのシステム構成について、作業担当者等の多寡やスキルの違いなどによる設計・認識ミス等は少ないとされている)、セキュリティ設計装置側で攻撃方法(攻撃経路、通過方法)、脅威、セキュリティ対策方針を効率的かつ漏れ少なく導出することとなる。このことは、システムセキュリティ設計時あるいは再設計時に行なう脅威抽出およびセキュリティ対策方針立案の工数削減および、作業担当者の多寡やスキルに影響を受けにくい均質的な設計結果の取得を実現できる。したがって、セキュリティ設計対象に関する攻撃方法および脅威の特定を効率的かつ確実に行える。
【0084】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【0085】
【図1】本実施形態に係るシステムセキュリティ設計装置のシステム構成図である。
【図2】3要素組合せ一覧シート131を説明するための図である
【図3】メタテンプレート132の例(メタテンプレート識別子M11)を示した図である。
【図4】メタテンプレート132の例(メタテンプレート識別子M13)を示した図である。
【図5】メタテンプレート132の例(メタテンプレート識別子M21)を示した図である。
【図6】メタテンプレート132の例(メタテンプレート識別子M23)を示した図である。
【図7】テンプレート作成対象のシステム構成の概要を示した図である。
【図8】テンプレート133およびセキュリティ設計データ135における資産−脅威−セキュリティ対策方針の対応関係を格納するデータ構造を説明するための図である。
【図9】図8に示した脅威エージェントを説明するための図である。
【図10】図8に示した脅威のリスク値を説明するための図である。
【図11】図8に示したセキュリティ対策方針を説明するための図である。
【図12】テンプレート識別子−カテゴリ情報の対応関係134を説明するための図である。
【図13】システムセキュリティ設計装置におけるフェーズ1およびフェーズ2の全体イメージを示した図である。
【図14】図1のテンプレート作成支援プログラム136の動作を説明するためのフローチャート図である。
【図15】図14の処理Aを示したフローチャート図である。
【図16】図14の処理Bを示したフローチャート図である。
【図17】図14のステップ1401で設定するシステム構成図の入力画面を示した図である。
【図18】図17の入力領域1703において、タブ1702を押下したときの図である
【図19】図15の処理Aにおける処理の具体例を示した図である。
【図20】図15の処理Aで生成した3要素組合せツリーの具体例を示した図である。
【図21】図16の処理Bにおける処理の具体例を示した図である。
【図22】図1に示すシステムセキュリティ設計プログラム137の動作を説明するためのフローチャート図である。
【図23】図22のステップ2201のカテゴリ情報の設定画面を示した図である。
【図24】図22のステップ2202のテンプレート選択画面を示した図である。
【符号の説明】
【0086】
100 システムセキュリティ設計装置
101 メモリ
102 ディスク
103 バス
104 CPU
105 端末入出力制御部
106 ディスプレイ
107 キーボード
108 通信ハードウェア
111 テンプレート情報取得処理部
112 3要素組合せツリー生成処理部
113 脅威導出処理部
114 リスク評価処理部
115 セキュリティ対策方針導出処理部
116 テンプレート登録処理部
117 カテゴリ情報取得処理部
118 テンプレート選定処理部
119 テンプレート補正処理部
120 セキュリティ設計データ保存処理部
131 3要素組合せ一覧シート
132 メタテンプレート
133 テンプレート
134 テンプレート識別子−カテゴリ情報の対応関係
135 セキュリティ設計データ
136 テンプレート作成支援プログラム
137 システムセキュリティ設計プログラム

【特許請求の範囲】
【請求項1】
情報システムに関するセキュリティ設計を行う設計装置であって、
情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置と、
前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定処理と、
前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定処理と、
攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述処理と、を実行する演算装置と、
を備えるセキュリティ設計装置。
【請求項2】
前記テンプレート特定処理において、前記情報システムのシステム構成のうち前記各要素に該当するものについて、対応要素をデータに含むメタテンプレートを、前記記憶装置に記憶された前記メタテンプレートから検索し、ここで検索したメタテンプレートの情報を記憶装置に格納するものとする、ことを特徴とする請求項1に記載のセキュリティ設計装置。
【請求項3】
前記記憶装置におけるメタテンプレートが、前記要素に加えて、外部エンティティがエントリポイントの通過権限を持つ場合のエントリポイント通過方法、外部エンティティがエントリポイントの通過権限を持たない場合のエントリポイント通過方法、エントリポイント通過後の外部エンティティによる攻撃対象への攻撃方法、を更に対応付けたデータであり、外部エンティティ、エントリポイント、攻撃対象、エントリポイント通過方法、攻撃方法の各要素の組合せパターン毎に記憶装置に記憶され、
前記テンプレート特定処理において、前記対応要素をデータに含むメタテンプレートとして、前記外部エンティティとしての情報システムの関与者と前記関与者毎の各エントリポイントにおける通過権限有無にマッチするメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納し、
前記脅威記述処理において、前記攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、エントリポイント通過方法、攻撃対象、および攻撃方法の各データを読み出し、各エントリポイントにおける外部エンティティたる前記関与者の通過権限有無に応じてエントリポイント通過方法を選択し、外部エンティティたる関与者、エントリポイント、エントリポイント通過方法、攻撃対象、攻撃方法の各データを、前記攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する、
ことを特徴とする請求項1または2に記載のセキュリティ設計装置。
【請求項4】
前記記憶装置におけるメタテンプレートが、前記要素に加えて、エントリポイントの通過方法に対抗するためのセキュリティ対策方針、攻撃対象への攻撃方法に対抗するためのセキュリティ対策方針、を更に対応付けたデータであり、
前記脅威記述処理において、各エントリポイントにおける外部エンティティたる前記関与者の通過権限有無に応じて選択したエントリポイント通過方法、攻撃対象に対する攻撃方法のそれぞれについて、対応するセキュリティ対策方針のデータをメタテンプレートから抽出し、ここで抽出したセキュリティ対策方針データ群を前記攻撃経路に対応付けて記憶装置に格納する、
ことを特徴とする請求項3に記載のセキュリティ設計装置。
【請求項5】
前記情報システムのシステム構成について、建築物などの物理領域やその物理領域内に配置される機器、前記機器内の物理的な構成要素といった物理的要素、および、前記機器により実現される論理ユニットなどの論理領域やその論理領域内に存在するプログラムやデータなどといった論理的要素、のそれぞれについての設定指示を入力インターフェイスから受け付けて、物理領域に配置された機器とその構成要素ならびに、前記機器により実現される論理領域とその論理領域内に存在するプログラムやデータの情報からなるシステム構成データを取得し、このシステム構成データを記憶装置に格納する、システム構成取得処理を実行することを特徴とする請求項1〜4のいずれかに記載のセキュリティ設計装置。
【請求項6】
前記テンプレート特定処理において、 前記記憶装置に記憶された前記システム構成データおよびメタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納し、
前記経路特定処理において、出力インターフェイスにおける、前記連なりを構成する各メタテンプレートの表示データの間を、外部エンティティの攻撃方向に向けた矢印で結ぶ描画処理を行い、メタテンプレートの表示データが攻撃方向に沿って矢印で互いに連結されツリー表示データを生成し、前記攻撃経路のパターンとして記憶装置に格納する、
ことを特徴とする請求項5に記載のセキュリティ設計装置。
【請求項7】
前記脅威記述処理において、前記ツリー表示データを出力インターフェイスに表示することを特徴とする請求項6に記載のシステムセキュリティ設計装置。
【請求項8】
外部エンティティ、エントリポイント、および攻撃対象のそれぞれの組合せ毎に推定される脅威に応じたリスク値のデータを入力インターフェイスから受け付けて記憶装置に格納し、前記脅威の記述データを構成する外部エンティティ、エントリポイント、および攻撃対象の組合せ毎の脅威に応じたリスク値を算定する、リスク算定処理を実行することを特徴とする請求項1〜7のいずれかに記載のシステムセキュリティ設計装置。
【請求項9】
前記システム構成データ、攻撃対象、関与者、攻撃経路パターン、攻撃対象−脅威−セキュリティ対策方針の対応関係、およびリスク値、の各データをセットにしたセキュリティ設計データを記憶装置に格納する格納処理、を実行することを特徴とする請求項8に記載のシステムセキュリティ設計装置。
【請求項10】
前記セキュリティ設計データと、当該セキュリティ設計データの設計対象に関するカテゴリ情報との対応関係を記述したカテゴリ対応テーブルを記憶装置に備えて、
セキュリティ設計対象システムのカテゴリ情報の指定を入力インターフェイスにおいて受付けるカテゴリ受付処理と、
前記カテゴリ対応テーブル中から、前記指定がなされたカテゴリ情報に該当するセキュリティ設計データを選択する設計データ選択処理と、
選択したセキュリティ設計データを出力インターフェイスに表示し、システム構成データ、攻撃対象、関与者の各データの修正を入力インターフェイスにて受付けて、その修正箇所を記憶装置に記憶する修正受付処理と、
前記修正され記憶装置に記憶されたシステム構成データ、攻撃対象、関与者の各データに基づいて、前記経路特定処理、脅威記述処理、およびリスク算定処理を実行して新たなセキュリティ設計データを生成し記憶装置に記憶する変更特定処理と、
を実行することを特徴とする請求項9に記載のシステムセキュリティ設計装置。
【請求項11】
情報システムに関するセキュリティ設計を行うコンピュータが、
情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置と、演算装置とを備えて、
前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定処理と、
前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定処理と、
攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述処理と、
を実行することを特徴とするシステムセキュリティ設計方法。
【請求項12】
情報システムに関するセキュリティ設計を行うべく、情報システムに対する攻撃主体たる外部エンティティと、前記外部エンティティが前記情報システムに対し攻撃を行う際の侵入口たるエントリポイントと、前記侵入口から情報システムに侵入した前記外部エンティティが目標とする攻撃対象とを対応付けたデータであるメタテンプレートを、外部エンティティ、エントリポイント、攻撃対象の各要素の組合せパターン毎に記憶する記憶装置を備えたコンピュータに、
前記記憶装置に記憶された前記メタテンプレートの情報を出力インターフェイスに表示し、前記情報システムのシステム構成のうち前記各要素いずれかに該当するものについて、対応要素をデータに含むメタテンプレートの指定を入力インターフェイスから受け付けて、ここで指定されたメタテンプレートの情報を記憶装置に格納するテンプレート特定ステップと、
前記記憶装置に情報を格納したメタテンプレート間において、外部エンティティが共通し、一方の攻撃対象が他方のエントリポイントとなる関係になるメタテンプレートの連なりを特定し、この連なりを構成する各メタテンプレート群の情報を、外部エンティティによる攻撃経路のパターンとして記憶装置に格納する経路特定ステップと、
攻撃経路に対応するメタテンプレート群が含む各メタテンプレートから、外部エンティティ、エントリポイント、および攻撃対象の各データを読み出して、これらを攻撃経路の始点から終点の方向で順次連結させることで脅威の記述データを生成する脅威記述ステップと、
を実行させるシステムセキュリティ設計プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2009−70084(P2009−70084A)
【公開日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2007−236979(P2007−236979)
【出願日】平成19年9月12日(2007.9.12)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】