(57)【特許請求の範囲】
【請求項１】
機能の実現に用いられるアーキテクチャを示す種別情報を入力し、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力し、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定し、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定し、
特定された前記第１の攻撃方法と前記第２の攻撃方法とが一致するか否かを判断し、
一致すると判断された場合、入力された前記脅威情報を出力する、
処理をコンピュータに実行させることを特徴とする設計支援プログラム。
【請求項２】
前記機能を示す機能情報を入力し、
機能情報ごとに当該機能情報が示す機能の実現に用いられるアーキテクチャを示す種別情報を対応付けて記憶する第３の記憶手段を参照して、入力された前記機能情報に対応する種別情報を特定し、
特定された前記種別情報を出力する処理を、前記コンピュータに実行させ、
前記機能の実現に用いられるアーキテクチャを示す種別情報を入力する処理は、
特定された前記種別情報を出力する処理によって出力された前記種別情報を入力することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
種別情報ごとに当該種別情報が示すアーキテクチャにより用いられる保護資産を特定する資産情報を対応付けて記憶する第４の記憶手段を参照して、入力された前記種別情報に対応する資産情報を特定し、
特定された前記資産情報を出力する処理を前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記資産情報を出力する処理によって出力された、特定された前記資産情報に対して発生する脅威を示す脅威情報を入力することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
特定された前記資産情報を入力し、
資産情報と脅威情報とを対応付けて記憶する第５の記憶手段を参照して、入力された前記資産情報に対応する脅威情報を特定し、
特定された前記脅威情報を出力する処理を、前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記脅威情報を出力する処理によって出力された、特定された前記脅威情報を入力することを特徴とする請求項３に記載の設計支援プログラム。
【請求項５】
特定された前記資産情報とセキュリティ目的を示す目的情報との組み合わせを入力し、
資産情報と脅威情報と目的情報とを対応付けて記憶する第５の記憶手段を参照して、入力された前記組み合わせに対応する脅威情報を特定し、
特定された前記組み合わせに対応する脅威情報を出力する処理を、前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
前記組み合わせに対応する脅威情報を出力する処理によって出力された、特定された前記組み合わせに対応する脅威情報を入力することを特徴とする請求項３に記載の設計支援プログラム。
【請求項６】
前記脅威情報を出力する処理によって出力された前記脅威情報を入力し、
脅威情報と、当該脅威情報が示す脅威に対する対策を示す対策情報と、を対応付けて記憶する第６の記憶手段を参照して、入力された前記脅威情報に対応する対策情報を特定し、
特定された前記対策情報を出力することを特徴とする請求項１〜５のいずれか一つに記載の設計支援プログラム。
【請求項７】
特定された前記対策情報を、前記機能を示す機能情報として入力し、
機能情報ごとに当該機能情報が示す機能の実現に用いられるアーキテクチャを示す種別情報を対応付けて記憶する第３の記憶手段を参照して、入力された前記対策情報に対応する種別情報を特定し、
特定された前記種別情報を出力する処理を、前記コンピュータに実行させ、
特定された前記対策情報に対応する種別情報を出力し、
前記機能の実現に用いられるアーキテクチャを示す種別情報を入力する処理は、
前記種別情報を出力する処理によって出力された前記種別情報を入力することを特徴とする請求項６に記載の設計支援プログラム。
【請求項８】
機能の実現に用いられるアーキテクチャを示す種別情報を入力し、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力し、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定し、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定し、
特定された前記第１の攻撃方法と前記第２の攻撃方法とが一致するか否かを判断し、
一致すると判断された場合、入力された前記脅威情報を出力する、
処理をコンピュータが実行することを特徴とする設計支援方法。
【請求項９】
機能の実現に用いられるアーキテクチャを示す種別情報を入力する第１の入力部と、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する第２の入力部と、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、前記第１の入力部によって入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定する第１の特定部と、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、前記第２の入力部によって入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定する第２の特定部と、
前記第１の特定部によって特定された前記第１の攻撃方法と前記第２の特定部によって特定された前記第２の攻撃方法とが一致するか否かを判断する判断部と、
前記判断部によって一致すると判断された場合、入力された前記脅威情報を出力する出力部と、
を有することを特徴とする設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援プログラム、設計支援方法、および設計支援装置に関する。
【背景技術】
【０００２】
従来、ソフトウェア開発において、要求仕様とアーキテクチャとを交互に詳細化するモデルとして、ＴＰＭ（Ｔｗｉｎ  Ｐｅａｋｓ  Ｍｏｄｅｌ）が規定されている（下記、非特許文献１，２参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｂａｓｈａｒ  Ｎｕｓｅｉｂｅｈ  「Ｗｅａｖｉｎｇ  Ｔｏｇｅｔｈｅｒ  Ｒｅｑｕｉｒｅｍｅｎｔｓ  ａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ」  Ｃｏｍｐｕｔｅｒ  ３４，  ３  （Ｍａｒｃｈ  ２００１），  １１５−１１７，  ２００１．
【非特許文献２】Ｔｈｏｍａｓ  Ｈｅｙｍａｎ，  Ｋｏｅｎ  Ｙｓｋｏｕｔ，  Ｒｉｃｃａｒｄｏ  Ｓｃａｎｄａｒｉａｔｏ，  Ｈｏｌｇｅｒ  Ｓｃｈｍｉｄｔ  ａｎｄ  Ｙｉｊｕｎ  Ｙｕ  「Ｔｈｅ  Ｓｅｃｕｒｉｔｙ  Ｔｗｉｎ  Ｐｅａｋｓ」  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｅｃｕｒｅ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｓｙｓｔｅｍｓ，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  Ｖｏｌｕｍｅ  ６５４２／２０１１，  １６７−１８０，  ２０１１．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したＴＰＭには、例えば、セキュリティ上の保護資産、当該保護資産に対する脅威、および、当該脅威への対策といったセキュリティに関する要求仕様を特定する方法は規定されていない。そのため、ソフトウェア開発にＴＰＭを適用して、アーキテクチャとセキュリティに関する要求仕様と、を交互に詳細化することが困難である。
【０００５】
一方、要求仕様を詳細化した後にアーキテクチャの詳細化に移行するウォーターフォールモデルを適用すると、アーキテクチャの詳細化の前にセキュリティに関する要求仕様を詳細化することになる。そのため、アーキテクチャに依存したセキュリティに関する要求仕様を特定することができない。例えば、商品注文用ソフトウェアを実現するアーキテクチャ「Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ」を特定しなければ、アーキテクチャが用いる保護資産「クレジットカード情報」や保護資産への脅威「クレジットカード情報の盗難」といった要求仕様を特定することができない。
【０００６】
そして、要求仕様が詳細化された後にアーキテクチャが詳細化される場合、詳細化されたアーキテクチャに依存したセキュリティに関する要求仕様を再び特定しなければ、セキュリティ上の脅威が存在したままのソフトウェアが作成されてしまう場合がある。例えば、アーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」が特定された場合、要求仕様を再び特定しなければ、セキュリティ上の脅威「クレジットカード情報の盗難」が特定されず、当該脅威への対策がされていないソフトウェアが作成されてしまう場合がある。そのため、要求仕様の詳細化を再び実行しなければならないという問題がある。
【０００７】
本発明は、上述した従来技術による問題点を解消するため、アーキテクチャに依存したセキュリティに関する要求仕様の特定の容易化を図ることができる設計支援プログラム、設計支援方法、および設計支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、機能の実現に用いられるアーキテクチャを示す種別情報を入力し、アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力し、種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、入力された種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定し、脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、入力された脅威情報が示す脅威を発生させる第２の攻撃方法を特定し、特定された第１の攻撃方法と第２の攻撃方法とが一致するか否かを判断し、一致すると判断された場合、入力された脅威情報を出力する設計支援プログラム、設計支援方法、および設計支援装置が提案される。
【発明の効果】
【０００９】
本発明の一側面によれば、アーキテクチャを考慮してセキュリティに関する要求仕様を特定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、設計支援装置による設計支援の内容を示す説明図である。
【図２】図２は、実施の形態にかかる設計支援装置のハードウェア構成例を示すブロック図である。
【図３】図３は、機能要求−アーキテクチャ情報テーブルの記憶内容の一例を示す説明図である。
【図４】図４は、アーキテクチャ−保護資産情報テーブルの記憶内容の一例を示す説明図である。
【図５】図５は、アーキテクチャ−攻撃情報テーブルの記憶内容の一例を示す説明図である。
【図６】図６は、攻撃カタログテーブルの記憶内容の一例を示す説明図である。
【図７】図７は、要求モデル群の記憶内容の一例を示す説明図である。
【図８】図８は、設計支援装置２００の機能的構成例を示すブロック図である。
【図９】図９は、詳細化処理を繰り返し実行する場合のモデルを示す説明図である。
【図１０】図１０は、１回目のアーキテクチャ特定処理の具体例を示す説明図である。
【図１１】図１１は、アーキテクチャ特定処理の詳細な処理手順を示すフローチャートである。
【図１２】図１２は、１回目の保護資産特定処理の具体例を示す説明図である。
【図１３】図１３は、保護資産特定処理の詳細な処理手順を示すフローチャートである。
【図１４】図１４は、１回目の対策決定処理の具体例を示す説明図（その１）である。
【図１５】図１５は、１回目の対策決定処理の具体例を示す説明図（その２）である。
【図１６】図１６は、１回目の対策決定処理の具体例を示す説明図（その３）である。
【図１７】図１７は、対策決定処理の詳細な処理手順を示すフローチャート（その１）である。
【図１８】図１８は、対策決定処理の詳細な処理手順を示すフローチャート（その２）である。
【図１９】図１９は、脅威評価処理の詳細な処理手順を示すフローチャートである。
【図２０】図２０は、１回目の詳細化処理における出力例を示す説明図である。
【図２１】図２１は、アーキテクチャ特定処理の具体例を示す説明図である。
【図２２】図２２は、保護資産特定処理の具体例を示す説明図である。
【図２３】図２３は、対策決定処理の具体例を示す説明図（その１）である。
【図２４】図２４は、対策決定処理の具体例を示す説明図（その２）である。
【図２５】図２５は、対策決定処理の具体例を示す説明図（その３）である。
【図２６】図２６は、２回目の詳細化処理における出力例を示す説明図である。
【図２７】図２７は、自動化した詳細化処理の詳細な処理手順を示すフローチャートである。
【図２８】図２８は、対策決定処理１の詳細な処理手順を示すフローチャートである。
【図２９】図２９は、対策決定処理２の詳細な処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる設計支援プログラム、設計支援方法、および設計支援装置の実施の形態を詳細に説明する。
【００１２】
図１は、設計支援装置による設計支援の内容を示す説明図である。設計支援装置は、ソフトウェア開発における要求仕様とアーキテクチャとの設計を支援するコンピュータである。設計支援装置は、例えば、要求仕様とアーキテクチャとの各々を、交互に詳細化して特定する。要求仕様は、開発対象のソフトウェアが達成すべき機能や開発対象のソフトウェアの性質に関する事項である。要求仕様は、例えば、開発対象のソフトウェアの機能を示す機能要求、アーキテクチャによって用いられる保護資産、セキュリティ上の目的を示すセキュリティゴール、保護資産に対する脅威、または脅威への対策要求仕様である。アーキテクチャは、例えば、機能要求された機能を実現するソフトウェア仕様、ミドルウェア、またはシステム構成である。
【００１３】
要求仕様とアーキテクチャとの各々を、交互に詳細化して特定することにより、設計支援装置は、要求仕様になる機能要求から、機能要求された機能を実現するアーキテクチャを特定することができる。また、設計支援装置は、アーキテクチャから、当該アーキテクチャが用いる保護資産、当該保護資産に対する脅威、および当該脅威への対策要求仕様を特定することができる。以降、要求仕様とアーキテクチャとを交互に詳細化する詳細化処理について説明する。
【００１４】
（１）まず、設計支援装置は、設計対象のソフトウェアの機能を示す機能要求の入力を受け付ける。例えば、設計支援装置は、設計支援装置の利用者からの機能「電子署名」を示す機能要求の入力を受け付ける。
【００１５】
（２）次に、設計支援装置は、機能要求−アーキテクチャ情報テーブルを参照して、機能要求された機能を実現するアーキテクチャを特定する。機能要求−アーキテクチャ情報テーブルは、機能と当該機能の実現に用いるアーキテクチャとを対応付けた機能要求−アーキテクチャ情報を記憶するテーブルである。機能要求−アーキテクチャ情報テーブルの記憶内容については、図３を用いて後述する。
【００１６】
設計支援装置は、例えば、機能「電子署名」を実現するアーキテクチャとして、ソフトウェア仕様「ブラウザおよびクライアントアプリケーション」を特定する。これにより、設計支援装置は、機能要求から、アーキテクチャを詳細化することができる。
【００１７】
（３）次に、設計支援装置は、アーキテクチャ−保護資産情報テーブルを参照して、特定されたアーキテクチャから、当該アーキテクチャによって用いられる保護資産を特定する。アーキテクチャ−保護資産情報テーブルは、アーキテクチャと当該アーキテクチャが用いる保護資産とを対応付けたアーキテクチャ−保護資産情報を記憶するテーブルである。アーキテクチャ−保護資産情報テーブルの記憶内容については、図４を用いて後述する。
【００１８】
設計支援装置は、例えば、アーキテクチャ「ブラウザおよびクライアントアプリケーション」から、保護資産「クライアント環境」を特定する。これにより、設計支援装置は、アーキテクチャから、要求仕様の一つになる保護資産を特定し、要求仕様を詳細化することができる。
【００１９】
（４）次に、設計支援装置は、要求モデル群を参照して、特定された保護資産に対して発生する脅威を特定する。要求モデル群内の要求モデルは、例えば、保護資産と当該保護資産に対する脅威と当該脅威への対策要求仕様とを対応付けたモデルである。また、要求モデルは、保護資産と当該保護資産に対する脅威と当該脅威への対策要求仕様とセキュリティ上の目的を示すセキュリティゴールとを対応付けたモデルであってもよい。要求モデル群の内容については、図７を用いて後述する。
【００２０】
設計支援装置は、例えば、保護資産「クライアント環境」から脅威「クライアント環境の漏洩」と「クライアント環境の破壊」を特定する。また、設計支援装置は、例えば、セキュリティの目的になるセキュリティゴール「情報の漏洩を防止する」が入力されている場合、当該セキュリティゴールと保護資産とから脅威を特定する。
【００２１】
（５）次に、設計支援装置は、攻撃カタログテーブルを参照して、特定された脅威を発生させる攻撃方法を特定する。攻撃カタログテーブルは、脅威と当該脅威を発生させる攻撃方法を対応付けた脅威−攻撃情報を記憶するテーブルである。攻撃カタログテーブルの記憶内容については、図６を用いて後述する。
【００２２】
そして、設計支援装置は、アーキテクチャ−攻撃情報テーブルを参照して、特定された攻撃方法が、特定されたアーキテクチャに対して実行可能であるか否かを判断する。アーキテクチャ−攻撃情報テーブルは、アーキテクチャと当該アーキテクチャに対して実行可能な攻撃方法を対応付けたアーキテクチャ−攻撃情報を記憶するテーブルである。アーキテクチャ−攻撃情報テーブルの記憶内容については、図５を用いて後述する。次に、設計支援装置は、実行可能である場合、当該脅威を対策すべき脅威として特定する。
【００２３】
設計支援装置は、例えば、脅威「クライアント環境の漏洩」を発生させる攻撃方法として「権限昇格」を特定する。次に、設計支援装置は、「権限昇格」が、アーキテクチャ「ブラウザおよびクライアントアプリケーション」に対して実行可能か否かを判断する。そして、設計支援装置は、実行可能である場合、脅威「クライアント環境の漏洩」を対策すべき脅威として特定する。
【００２４】
これにより、設計支援装置は、機能要求からでは特定できない脅威を、アーキテクチャから特定することができる。設計支援装置は、例えば、機能「電子署名」を示す機能要求からでは特定できない脅威「クライアント環境の漏洩」を、アーキテクチャ「ブラウザおよびクライアントアプリケーション」から特定することができる。そして、設計支援装置は、要求仕様の一つになる対策すべき脅威を特定し、要求仕様を詳細化することができる。
【００２５】
（６）次に、設計支援装置は、要求モデル群を参照して、特定された対策すべき脅威への対策要求仕様を特定する。これにより、設計支援装置は、要求仕様の一つになる対策要求仕様を特定し、要求仕様を詳細化することができる。このように、（１）〜（６）の処理により、設計支援装置は、要求仕様とアーキテクチャとを、交互に詳細化することができる。また、設計支援装置の利用者は、詳細化された要求仕様とアーキテクチャとから、ソフトウェア開発を開始することができる。
【００２６】
そのため、設計支援装置は、要求仕様が詳細化されないまま、ソフトウェア開発が開始されることを防止することができる。設計支援装置は、例えば、脅威「クライアント環境の漏洩」が特定されないまま、ソフトウェア開発が開始されることを防止する。そして、設計支援装置は、セキュリティ上の脅威があるソフトウェアが作成されることを防止することができる。したがって、設計支援装置は、ソフトウェア開発中に、未特定であった脅威が発見されて、再び要求仕様の詳細化を実行する手間、いわゆる手戻りにかかる手間を削減することができる。
【００２７】
（７）ここで、設計支援装置は、（１）と（２）の処理と同様にして、アーキテクチャをさらに詳細化してもよい。設計支援装置は、例えば、（１’）特定された対策要求仕様を新たな機能要求として、（２’）対策要求仕様を実現するアーキテクチャを特定し、アーキテクチャをさらに詳細化する。そして、設計支援装置は、（３）〜（６）と同様にして、要求仕様とアーキテクチャを、さらに詳細化してもよい。これにより、設計支援装置は、要求仕様とアーキテクチャとを、繰り返し、交互に詳細化することができる。
【００２８】
（設計支援装置のハードウェア構成例）
図２は、実施の形態にかかる設計支援装置のハードウェア構成例を示すブロック図である。図２において、設計支援装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２２０によってそれぞれ接続されている。
【００２９】
ここで、ＣＰＵ２０１は、設計支援装置２００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３０】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３１】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３２】
インターフェース（以下、「Ｉ／Ｆ」と略する。）２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３３】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３４】
スキャナ２１２は、画像を光学的に読み取り、設計支援装置２００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３５】
（機能要求−アーキテクチャ情報テーブルの記憶内容）
次に、図３を用いて、機能要求−アーキテクチャ情報テーブルの記憶内容について説明する。機能要求−アーキテクチャ情報テーブルは、設計支援装置２００が有するテーブルであり、機能要求−アーキテクチャ情報を記憶する。機能要求−アーキテクチャ情報は、機能要求された機能を実現可能なアーキテクチャの種別を示す情報である。機能要求−アーキテクチャ情報は、例えば、過去のアプリケーションの開発結果から設計支援装置２００の利用者により生成される。
【００３６】
機能要求−アーキテクチャ情報テーブルは、例えば、図１の（２）の処理において、機能要求からアーキテクチャを特定する場合に参照される。なお、機能要求−アーキテクチャ情報テーブルは、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置によって実現される。
【００３７】
図３は、機能要求−アーキテクチャ情報テーブルの記憶内容の一例を示す説明図である。図３に示すように、機能要求−アーキテクチャ情報テーブル３００は、機能要求項目のそれぞれに対応付けて、分類項目を有し、機能要求が示す機能ごとにレコードを構成する。
【００３８】
機能要求項目には、機能要求される機能を示す情報が記憶される。機能は、例えば、「電子署名」や「クライアント環境の保護」である。分類項目には、機能要求項目の機能を実現可能なアーキテクチャの種別を示す情報が記憶される。例えば、機能「電子署名」を実現可能なアーキテクチャの種別は、「ブラウザおよびクライアントアプリケーション」や「ブラウザ」である。また、例えば、機能「クライアント環境の保護」を実現可能なアーキテクチャの種別は、「Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ」、「Ｊａｖａ  Ｗｅｂ  Ｓｔａｒｔ」、「ＡｃｔｉｖｅＸ（登録商標）」、および「独自アプリケーション」である。
【００３９】
「Ｊａｖａ  Ａｐｐｌｅｔ」、「Ｊａｖａ  Ｗｅｂ  Ｓｔａｒｔ」、「ＡｃｔｉｖｅＸ」は、予め規定されたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を有するアーキテクチャである。「独自アプリケーション」は、規定されたＡＰＩを有しないアーキテクチャである。
【００４０】
（アーキテクチャ−保護資産情報テーブルの記憶内容）
次に、図４を用いて、アーキテクチャ−保護資産情報テーブルの記憶内容の一例について説明する。アーキテクチャ−保護資産情報テーブルは、設計支援装置２００が有するテーブルであり、アーキテクチャ−保護資産情報を記憶する。アーキテクチャ−保護資産情報は、或るアーキテクチャを用いた場合に保護すべき資産を示す情報である。アーキテクチャ−保護資産情報は、例えば、ＣＶＥ（共通脆弱性識別子：Ｃｏｍｍｏｎ  Ｖｕｌｎｅｒａｂｉｌｉｔｉｅｓ  ａｎｄ  Ｅｘｐｏｓｕｒｅｓ）に規定された脆弱性情報や過去のセキュリティ上の事故の情報から設計支援装置２００の利用者により生成される。
【００４１】
アーキテクチャ−保護資産情報テーブルは、例えば、図１の（３）の処理において、アーキテクチャから保護資産を特定する場合に参照される。なお、アーキテクチャ−保護資産情報テーブルは、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置によって実現される。
【００４２】
図４は、アーキテクチャ−保護資産情報テーブルの記憶内容の一例を示す説明図である。図４に示すように、アーキテクチャ−保護資産情報テーブル４００は、アーキテクチャ項目のそれぞれに対応付けて、保護資産項目を有し、アーキテクチャごとにレコードを構成する。
【００４３】
アーキテクチャ項目には、アーキテクチャの種別を示す情報が記憶される。保護資産項目には、アーキテクチャ項目のアーキテクチャにより用いられる保護すべき資産（以下では「保護資産」という）を示す情報が記憶される。保護資産は、例えば、「クライアント環境」や「アクセス権管理機能」である。「クライアント環境」は、例えば、クレジットカード番号である。「アクセス権管理機能」は、例えば、設計支援装置２００が有する関数である。
【００４４】
（アーキテクチャ−攻撃情報テーブルの記憶内容）
次に、図５を用いて、アーキテクチャ−攻撃情報テーブルの記憶内容の一例について説明する。アーキテクチャ−攻撃情報テーブルは、設計支援装置２００が有するテーブルであり、アーキテクチャ−攻撃情報を記憶する。アーキテクチャ−攻撃情報は、或るアーキテクチャに対して実行可能な攻撃を示す情報である。アーキテクチャ−攻撃情報は、例えば、共通脆弱性識別子に規定された脆弱性情報から設計支援装置２００の利用者により生成される。
【００４５】
アーキテクチャ−攻撃情報テーブルは、例えば、図１の（５）において、アーキテクチャから当該アーキテクチャに対して実行可能な攻撃方法を特定する場合に参照される。なお、アーキテクチャ−攻撃情報テーブルは、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置によって実現される。
【００４６】
図５は、アーキテクチャ−攻撃情報テーブルの記憶内容の一例を示す説明図である。図５に示すように、アーキテクチャ−攻撃情報テーブル５００は、アーキテクチャ項目のそれぞれに対応付けて、攻撃項目を有し、アーキテクチャごとにレコードを構成する。
【００４７】
アーキテクチャ項目には、アーキテクチャの種別を示す情報が記憶される。攻撃項目には、アーキテクチャ項目のアーキテクチャに対して実行可能な攻撃方法を示す情報が記憶される。攻撃方法は、例えば、「権限昇格」や「再構成攻撃」である。
【００４８】
「権限昇格」とは、高い権限の付与が許可されていない利用者に、誤って高い権限を付与してしまう可能性があるコンピュータに対する攻撃である。例えば、攻撃者が、本来は付与されない高い権限を取得し、高い権限が必要なコマンドやプログラムを不正に実行する攻撃である。
【００４９】
「再構成攻撃」とは、コンピュータの設定を変更する攻撃である。例えば、コンピュータのＤＮＳサーバのアドレスの設定を変更し、当該コンピュータを誤ったＤＮＳサーバに接続させ、利用者の情報を攻撃者が不正に取得する攻撃である。
【００５０】
（攻撃カタログテーブルの記憶内容）
次に、図６を用いて、攻撃カタログテーブルの記憶内容の一例について説明する。攻撃カタログテーブルは、設計支援装置２００が有するテーブルであり、脅威−攻撃情報を記憶する。脅威−攻撃情報は、或る脅威を発生させる攻撃を示す情報である。脅威−攻撃情報は、例えば、ＣＶＥやＣＷＥ（共通脆弱性タイプ一覧：Ｃｏｍｍｏｎ  Ｗｅａｋｎｅｓｓ  Ｅｎｕｍｅｒａｔｉｏｎ）やＷＡＳＣ（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  Ｃｏｎｓｏｒｔｉｕｍ）に規定された脆弱性情報や過去に発生した攻撃方法の情報から設計支援装置２００の利用者により生成される。
【００５１】
攻撃カタログテーブルは、例えば、図１の（５）の処理において、脅威から当該脅威を発生させる攻撃方法を特定する場合に参照される。なお、攻撃カタログテーブルは、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置によって実現される。
【００５２】
図６は、攻撃カタログテーブルの記憶内容の一例を示す説明図である。図６に示すように、攻撃カタログテーブル６００は、脅威項目のそれぞれに対応付けて、攻撃項目を有し、脅威ごとにレコードを構成する。脅威項目には、保護資産に対して発生可能性がある脅威を示す情報が記憶される。脅威は、例えば、「クライアント環境の漏洩」、「クライアント環境の破壊」、「権限昇格」である。攻撃項目には、脅威項目の脅威を発生させる攻撃方法を示す情報が記憶される。「クライアント環境の漏洩」を発生させる攻撃方法は、例えば、「権限昇格」である。「権限昇格」を発生させる攻撃方法は、例えば、「再構成攻撃」である。
【００５３】
（要求モデル群の記憶内容）
次に、図７を用いて、要求モデル群の記憶内容の一例について説明する。要求モデル群は、設計支援装置２００が有するモデルの集合である。要求モデル群は、例えば、図１の（４）の処理において、保護資産から、当該保護資産に対して発生する脅威を特定する場合に参照される。要求モデルは、例えば、ＭＡＳＧ（Ｍｉｓｕｓｅ  ｃａｓｅｓ  Ａｓｓｅｔｓ  Ｓｅｃｕｒｉｔｙ  Ｇｏａｌｓ）によるモデル化により生成される。
【００５４】
要求モデル群は、例えば、図１の（６）の処理において、脅威から、当該脅威への対策要求仕様を特定する場合に参照される。なお、要求モデル群は、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置によって実現される。
【００５５】
図７は、要求モデル群の記憶内容の一例を示す説明図である。図７に示すように、要求モデル群７００内の要求モデルは、例えば、保護資産を示す情報と、脅威を示す情報と、対策要求仕様を示す情報と、を含むモデルである。また、要求モデル群７００内の要求モデルは、例えば、保護資産を示す情報と、脅威を示す情報と、対策要求仕様を示す情報とに加え、セキュリティゴールを示す情報を含むモデルであってもよい。
【００５６】
要求モデル群７００のうち、例えば、要求モデル７０１は、保護資産「クライアント環境」、脅威「クライアント環境の漏洩」および「クライアント環境の破壊」、対策要求仕様「クライアント環境の保護」を含む。要求モデル７０１には、セキュリティゴールは対応付けられていない。また、例えば、要求モデル７０ｎは、保護資産「クレジットカード情報」、脅威「クレジットカード情報の盗難」、対策要求仕様「情報の保護」、セキュリティゴール「顧客情報の漏洩の防止」、機能要求「商品の注文」を含む。ｎは、要求モデルの数である。
【００５７】
（設計支援装置２００の機能的構成例）
図８は、設計支援装置２００の機能的構成例を示すブロック図である。設計支援装置２００は、機能要求入力部８０１と、アーキテクチャ特定部８０２と、アーキテクチャ出力部８０３と、アーキテクチャ入力部８０４と、保護資産特定部８０５と、保護資産出力部８０６と、保護資産入力部８０７と、脅威特定部８０８と、脅威出力部８０９と、第１の攻撃特定部８１０と、脅威入力部８１１と、第２の攻撃特定部８１２と、判断部８１３と、対策対象出力部８１４と、対策対象入力部８１５と、対策要求仕様特定部８１６と、対策要求仕様出力部８１７と、を含む。
【００５８】
機能要求入力部８０１〜対策要求仕様出力部８１７は、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００５９】
以下では、図１の（２）〜（７）の各々に示した機能について説明する。まず、図１の（２）に示した、機能要求から当該機能要求された機能の実現に用いるアーキテクチャを特定する機能について説明する。機能要求から当該機能要求された機能の実現に用いるアーキテクチャを特定する機能は、機能要求入力部８０１と、アーキテクチャ特定部８０２と、アーキテクチャ出力部８０３と、により実現される。
【００６０】
機能要求入力部８０１は、機能を示す機能情報を入力する。機能情報とは、設計支援装置２００の利用者から入力される、設計対象になる機能を示す情報であり、上述した機能要求である。機能要求入力部８０１は、具体的には、例えば、機能「電子署名」を示す機能要求の、設計支援装置２００の利用者からの入力を受け付ける。
【００６１】
設計支援装置２００の利用者は、具体的には、例えば、キーボード２１０、マウス２１１、または、スキャナ２１２などの入力装置を用いて、機能要求を入力する。また、機能要求入力部８０１は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に機能要求を送信することができるコンピュータである。これにより、アーキテクチャ特定部８０２は、機能要求入力部８０１によって入力された機能要求から、当該機能要求された機能の実現に用いるアーキテクチャを特定することができる。
【００６２】
アーキテクチャ特定部８０２は、機能情報ごとに当該機能情報が示す機能の実現に用いられるアーキテクチャを示す種別情報を対応付けて記憶する第３の記憶部を参照して、入力された機能情報に対応する種別情報を特定する。ここで、第３の記憶部は、例えば、上述した機能要求−アーキテクチャ情報テーブル３００である。アーキテクチャ特定部８０２は、具体的には、例えば、機能要求−アーキテクチャ情報テーブル３００を参照して、機能要求が示す機能「電子署名」の実現に用いられるアーキテクチャ「ブラウザおよびクライアントアプリケーション」と「ブラウザ」とを特定する。
【００６３】
これにより、アーキテクチャ特定部８０２は、入力された機能要求に応じたアーキテクチャを詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６４】
アーキテクチャ出力部８０３は、特定された種別情報を出力する。アーキテクチャ出力部８０３は、具体的には、例えば、特定されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」と「ブラウザ」を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された種別情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。
【００６５】
これにより、アーキテクチャ出力部８０３は、出力されたアーキテクチャを、アーキテクチャ入力部８０４に入力することができる。また、設計支援装置２００の利用者は、アーキテクチャ出力部８０３により出力されたアーキテクチャの中から、いずれかのアーキテクチャを選択し、アーキテクチャ入力部８０４に入力することができる。
【００６６】
次に、図１の（３）に示した、アーキテクチャから当該アーキテクチャが用いる保護資産を特定する機能について説明する。アーキテクチャから当該アーキテクチャが用いる保護資産を特定する機能は、アーキテクチャ入力部８０４と、保護資産特定部８０５と、保護資産出力部８０６と、により実現される。
【００６７】
アーキテクチャ入力部８０４は、機能の実現に用いられるアーキテクチャを示す種別情報を入力する。アーキテクチャ入力部８０４は、具体的には、例えば、アーキテクチャ出力部８０３によって出力されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」を入力として受け付ける。また、アーキテクチャ入力部８０４は、アーキテクチャ出力部８０３によって出力された種別情報の中から、設計支援装置２００の利用者により選択されたアーキテクチャの入力を受け付けてもよい。また、アーキテクチャ入力部８０４は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に種別情報を送信することができるコンピュータである。これにより、保護資産特定部８０５は、アーキテクチャ入力部８０４により入力されたアーキテクチャから、当該アーキテクチャにより用いられる保護資産を特定することができる。
【００６８】
保護資産特定部８０５は、種別情報ごとに当該種別情報が示すアーキテクチャにより用いられる保護資産を特定する資産情報を対応付けて記憶する第４の記憶部を参照して、入力された種別情報に対応する資産情報を特定する。ここで、第４の記憶部は、例えば、上述したアーキテクチャ−保護資産情報テーブル４００である。保護資産特定部８０５は、具体的には、例えば、アーキテクチャ−保護資産情報テーブル４００を参照して、アーキテクチャ「ブラウザおよびクライアントアプリケーション」により用いられる保護資産「クライアント環境」を特定する。これにより、保護資産特定部８０５は、要求仕様の一つになる保護資産を特定し、要求仕様を詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６９】
保護資産出力部８０６は、特定された資産情報を出力する。保護資産出力部８０６は、具体的には、例えば、特定された保護資産「クライアント環境」を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された資産情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。
【００７０】
これにより、保護資産出力部８０６は、出力された保護資産を、保護資産入力部８０７に入力することができる。また、設計支援装置２００の利用者は、保護資産出力部８０６によって出力された保護資産の中から、いずれかの保護資産を選択し、保護資産入力部８０７に入力することができる。
【００７１】
次に、図１の（４）に示した、保護資産から当該保護資産に対する脅威を特定する機能について説明する。保護資産から当該保護資産に対する脅威を特定する機能は、保護資産入力部８０７と、脅威特定部８０８と、脅威出力部８０９と、により実現される。
【００７２】
また、保護資産から当該保護資産に対する脅威を特定する機能は、セキュリティゴールが入力されていない場合と、セキュリティゴールが入力されている場合と、において異なる処理を実行する。まず、セキュリティゴールが入力されていない場合の処理について説明する。
【００７３】
この場合、保護資産入力部８０７は、特定された資産情報を入力する。保護資産入力部８０７は、具体的には、例えば、保護資産出力部８０６によって出力された保護資産「クライアント環境」を入力として受け付ける。また、保護資産入力部８０７は、保護資産出力部８０６によって出力された資産情報の中から、設計支援装置２００の利用者によって選択された資産情報の入力を受け付けてもよい。また、保護資産入力部８０７は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に資産情報を送信することができるコンピュータである。これにより、脅威特定部８０８は、保護資産入力部８０７により入力された保護資産から、当該保護資産に対して発生する脅威を特定することができる。
【００７４】
この場合、脅威特定部８０８は、資産情報と脅威情報とを対応付けて記憶する第５の記憶部を参照して、入力された資産情報に対応する脅威情報を特定する。ここで、第５の記憶部は、例えば、上述した要求モデル群７００を記憶した記憶装置であり、例えば、上述したＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などにより実現される。脅威特定部８０８は、具体的には、例えば、要求モデル群７００内の要求モデル７０１を参照して、入力された資産情報が示す保護資産「クライアント環境」に対する脅威「クライアント環境の漏洩」と「クライアント環境の破壊」とを特定する。これにより、脅威特定部８０８は、保護資産から、要求仕様の一つになる脅威を特定し、要求仕様を詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００７５】
この場合、脅威出力部８０９は、特定された脅威情報を出力する。脅威出力部８０９は、具体的には、例えば、特定された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」とを出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された脅威情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。これにより、脅威出力部８０９は、出力された脅威を、脅威入力部８１１に入力することができる。また、設計支援装置２００の利用者は、脅威出力部８０９によって出力された脅威の中から、いずれかの脅威を選択し、脅威入力部８１１に入力することができる。
【００７６】
次に、セキュリティゴールが入力されている場合の処理について説明する。この場合、保護資産入力部８０７は、特定された資産情報とセキュリティ目的を示す目的情報との組み合わせの入力を受け付ける。ここで、セキュリティ目的とは、セキュリティ上、開発対象のソフトウェアが満たすべき要件である。セキュリティゴールともいう。セキュリティ目的としては、例えば、「顧客情報の漏洩の防止」である。保護資産入力部８０７は、具体的には、例えば、保護資産出力部８０６によって出力された資産情報「クレジットカード情報」と、セキュリティゴール「顧客情報の漏洩の防止」との組み合わせを入力する。セキュリティゴールは、例えば、設計支援装置２００の利用者によって入力される。
【００７７】
また、保護資産入力部８０７は、保護資産出力部８０６によって出力された資産情報の中から、設計支援装置２００の利用者によって選択された資産情報と、設計支援装置２００の利用者により入力されたセキュリティゴールを受け付けてもよい。また、保護資産入力部８０７は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に資産情報とセキュリティゴールを送信することができるコンピュータである。これにより、脅威特定部８０８は、保護資産入力部８０７により入力された保護資産から、当該保護資産に対して発生する脅威を特定することができる。
【００７８】
この場合、脅威特定部８０８は、資産情報と脅威情報と目的情報とを対応付けて記憶する第５の記憶部を参照して、入力された組み合わせに対応する脅威情報を特定する。ここで、第５の記憶部は、例えば、上述した要求モデル群７００を記憶した記憶装置であり、例えば、上述したＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などにより実現される。脅威特定部８０８は、具体的には、例えば、要求モデル群７００内の要求モデル７０ｎを参照して、入力された保護資産「クレジットカード情報」とセキュリティゴール「顧客情報の漏洩の防止」に対応する脅威「クレジットカード情報の盗難」を特定する。これにより、脅威特定部８０８は、保護資産から、要求仕様の一つになる脅威を特定し、要求仕様を詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００７９】
この場合、脅威出力部８０９は、特定された組み合わせに対応する脅威情報を出力する。脅威出力部８０９は、具体的には、例えば、特定された脅威「クレジットカード情報の盗難」を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された脅威情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。これにより、脅威出力部８０９は、出力された脅威を、脅威入力部８１１に入力することができる。また、設計支援装置２００の利用者は、脅威出力部８０９によって出力された脅威の中から、いずれかの脅威を選択し、脅威入力部８１１に入力することができる。
【００８０】
次に、図１の（４）および（５）に示した、対策すべき脅威を特定する機能について説明する。対策すべき脅威を特定する機能は、アーキテクチャ入力部８０４と、第１の攻撃特定部８１０と、脅威入力部８１１と、第２の攻撃特定部８１２と、判断部８１３と、対策対象出力部８１４と、により実現される。
【００８１】
アーキテクチャ入力部８０４は、具体的には、例えば、上述したように、アーキテクチャ「ブラウザおよびクライアントアプリケーション」の入力を受け付ける。これにより、第１の攻撃特定部８１０は、入力されたアーキテクチャから、当該アーキテクチャに対して実行可能な攻撃方法を特定することができる。
【００８２】
第１の攻撃特定部８１０は、種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第２の記憶部を参照して、入力された種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定する。ここで、第２の記憶部は、例えば、上述したアーキテクチャ−攻撃情報テーブル５００である。第１の攻撃特定部８１０は、具体的には、例えば、アーキテクチャ−攻撃情報テーブル５００を参照して、入力されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」に対して実行可能な攻撃方法「権限昇格」を特定する。これにより、第１の攻撃特定部８１０は、アーキテクチャの一つになる攻撃方法を特定し、アーキテクチャを詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００８３】
脅威入力部８１１は、アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報の入力を受け付ける。脅威入力部８１１は、具体的には、例えば、脅威出力部８０９によって出力された脅威情報を入力として受け付ける。また、脅威入力部８１１は、脅威出力部８０９によって出力された脅威の中から、設計支援装置２００の利用者により選択された脅威の入力を受け付けてもよい。また、脅威入力部８１１は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に脅威情報を送信することができるコンピュータである。これにより、第２の攻撃特定部８１２は、脅威入力部８１１により入力された脅威から、当該脅威を発生させる攻撃方法を特定することができる。
【００８４】
第２の攻撃特定部８１２は、脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶部を参照して、入力された脅威情報が示す脅威を発生させる第２の攻撃方法を特定する。ここで、第２の記憶部は、例えば、上述した攻撃カタログテーブル６００である。第２の攻撃特定部８１２は、具体的には、例えば、攻撃カタログテーブル６００を参照して、入力された脅威「クライアント環境の漏洩」、「クライアント環境の破壊」を発生させる攻撃方法「権限昇格」を特定する。これにより、第２の攻撃特定部８１２は、アーキテクチャの一つになる攻撃方法を特定し、アーキテクチャを詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００８５】
判断部８１３は、特定された第１の攻撃方法と第２の攻撃方法とが一致するか否かを判断する。判断部８１３は、具体的には、例えば、特定された各々の攻撃方法が「権限昇格」であるため、一致すると判断する。これにより、判断部８１３は、入力された脅威を発生させる攻撃方法が、入力されたアーキテクチャに対して実行可能な攻撃方法であるか否かを判断することができる。なお、判断結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００８６】
対策対象出力部８１４は、一致すると判断された場合、入力された脅威情報を出力する。対策対象出力部８１４は、具体的には、例えば、一致すると判断された場合、入力された脅威を対策すべき脅威として出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された脅威情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。
【００８７】
これにより、対策対象出力部８１４は、出力された対策すべき脅威を示す情報を、対策対象入力部８１５に入力することができる。また、対策対象出力部８１４は、対策すべき脅威を、設計支援装置２００の利用者に通知することができる。設計支援装置２００の利用者は、出力された対策すべき脅威の中から、いずれかの脅威を選択して、対策対象入力部８１５に入力することができる。また、設計支援装置２００の利用者は、対策しなくてよい脅威が通知されないため、対策しなくてよい脅威への対策を設計する手間を削減できる。
【００８８】
次に、図１の（６）に示した、対策すべき脅威から当該脅威への対策要求仕様を特定する機能について説明する。対策すべき脅威から当該脅威への対策要求仕様を特定する機能は、対策対象入力部８１５と、対策要求仕様特定部８１６と、対策要求仕様出力部８１７と、により実現される。
【００８９】
対策対象入力部８１５は、対策対象出力部８１４によって出力された脅威情報を入力として受け付ける。対策対象入力部８１５は、具体的には、例えば、対策対象出力部８１４によって出力された脅威「権限昇格」を示す脅威情報を入力として受け付ける。また、対策対象入力部８１５は、対策対象出力部８１４によって出力された脅威情報の中から、設計支援装置２００の利用者により選択された脅威情報の入力を受け付けてもよい。また、対策対象入力部８１５は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。これにより、対策要求仕様特定部８１６は、対策対象入力部８１５により入力された脅威から、当該脅威への対策要求仕様を特定することができる。
【００９０】
対策要求仕様特定部８１６は、脅威情報と、当該脅威情報が示す脅威に対する対策を示す対策情報と、を対応付けて記憶する第６の記憶部を参照して、入力された脅威情報に対応する対策情報を特定する。ここで、第６の記憶部は、例えば、要求モデル群７００を記憶した記憶装置であり、例えば、上述したＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などにより実現される。対策情報とは、脅威への対策要求仕様を示す情報である。対策要求仕様特定部８１６は、具体的には、例えば、要求モデル群７００内の要求モデル７０１を参照して、入力された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」に対応する対策要求仕様「クライアント環境の保護」を特定する。これにより、対策要求仕様特定部８１６は、入力された脅威から、要求仕様の一つになる対策要求仕様を特定し、要求仕様を詳細化することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００９１】
対策要求仕様出力部８１７は、特定された対策情報を出力する。対策要求仕様出力部８１７は、具体的には、例えば、特定された対策要求仕様「クライアント環境の保護」を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。外部装置とは、設計支援装置２００の利用者が操作することにより、受信された対策情報を視認できるコンピュータである。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。いずれにしても、設計支援装置２００の利用者が確認可能な状態にする。これにより、対策要求仕様出力部８１７は、出力された対策要求仕様を、新たな機能要求として、機能要求入力部８０１に入力することができる。また、対策要求仕様出力部８１７は、対策要求仕様を、設計支援装置２００の利用者に通知することができる。設計支援装置２００の利用者は、出力された対策要求仕様の中から、いずれかの対策要求仕様を選択し、新たな機能要求として、機能要求入力部８０１に入力することができる。
【００９２】
この場合、機能要求入力部８０１は、具体的には、例えば、対策要求仕様出力部８１７によって出力された機能「クライアント環境の保護」を示す対策要求仕様（機能要求）の入力を受け付ける。また、機能要求入力部８０１は、対策要求仕様出力部８１７によって出力された対策要求仕様の中から、設計支援装置２００の利用者により選択された対策要求仕様の入力を受け付けてもよい。また、機能要求入力部８０１は、Ｉ／Ｆ２０９により接続された外部装置から入力を受け付けてもよい。外部装置とは、設計支援装置２００の利用者が操作することにより、設計支援装置２００に対策要求仕様を送信することができるコンピュータである。これにより、アーキテクチャ特定部８０２は、機能要求入力部８０１によって入力された機能要求から、当該機能要求された機能の実現に用いるアーキテクチャを、１回目に特定されたアーキテクチャより詳細化して特定することができる。
【００９３】
この場合、アーキテクチャ特定部８０２は、具体的には、例えば、機能要求−アーキテクチャ情報テーブル３００を参照して、機能要求が示す機能「クライアント環境の保護」の実現に用いられるアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」、「Ｊａｖａ  Ｗｅｂ  Ｓｔａｒｔ」、「ＡｃｔｉｖｅＸ」、「独自アプリケーション」を特定する。これにより、アーキテクチャ特定部８０２は、当該機能要求された機能の実現に用いるアーキテクチャを、１回目に特定されたアーキテクチャより詳細化して特定することができる。なお、特定されたデータは、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００９４】
（スパイラル化したＴＰＭ）
次に、図９を用いて、図１に示した詳細化処理を繰り返し実行する場合のＴＰＭについて説明する。以降、詳細化処理を繰り返し実行し、要求仕様とアーキテクチャとを繰り返し詳細化するＴＰＭを、「スパイラル化したＴＰＭ」という。
【００９５】
図９は、詳細化処理を繰り返し実行する場合のモデルを示す説明図である。図９に示すように、設計支援装置２００は、図１の（１）〜（６）に示した詳細化処理を繰り返し実行する。そして、設計支援装置２００は、要求仕様、またはアーキテクチャの詳細化ができなくなった場合に、図１の（１）〜（６）に示した詳細化処理の実行を停止する。また、設計支援装置２００は、設計支援装置２００の利用者からの実行停止要求の入力を受け付けて、図１の（１）〜（６）に示した詳細化処理の実行を停止してもよい。これにより、設計支援装置２００は、要求仕様とアーキテクチャとを、繰り返し詳細化することができる。
【００９６】
（詳細化処理を繰り返し実行する場合の具体例）
次に、図１０〜図２６を用いて、詳細化処理を２回繰り返して実行する場合の具体例について説明する。ここで、図１０〜図２０は、１回目の詳細化処理の具体例を示す。図２１〜図２６は、２回目の詳細化処理の具体例を示す。まず、図１０を用いて、１回目の詳細化処理に含まれる処理であり、図９の（２）に示した処理である１回目のアーキテクチャ特定処理について説明する。
【００９７】
図１０は、１回目のアーキテクチャ特定処理の具体例を示す説明図である。図１０の例では、（２１）まず、設計支援装置２００は、設計支援装置２００の利用者から、電子署名機能の実現を要求する機能要求「電子署名」の入力を受け付ける。（２２）次に、設計支援装置２００は、機能要求−アーキテクチャ情報テーブル３００を参照して、受け付けた機能要求「電子署名」に対応するアーキテクチャ「ブラウザ」と「ブラウザおよびクライアントアプリケーション」とを特定する。
【００９８】
（２３）そして、設計支援装置２００は、特定したアーキテクチャ「ブラウザ」と「ブラウザおよびクライアントアプリケーション」とを、機能要求された機能「電子署名」を実現可能なアーキテクチャとして特定し、出力する。
【００９９】
これにより、設計支援装置２００は、機能要求された機能を実現可能なアーキテクチャを、設計支援装置２００の利用者に通知することができる。そして、設計支援装置２００の利用者は、通知されたアーキテクチャの中から、機能要求された機能の実現に用いるアーキテクチャを選択することができる。次に、図１１を用いて、図１０に示したアーキテクチャ特定処理の詳細な処理手順について説明する。
【０１００】
図１１は、アーキテクチャ特定処理の詳細な処理手順を示すフローチャートである。図１１に示すように、まず、設計支援装置２００は、機能要求が入力されたか否かを判定する（ステップＳ１１０１）。ここで、機能要求が入力されていない場合（ステップＳ１１０１：Ｎｏ）、設計支援装置２００は、ステップＳ１１０１に戻り、機能要求の入力を待つ。
【０１０１】
一方、機能要求が入力された場合（ステップＳ１１０１：Ｙｅｓ）、設計支援装置２００は、機能要求−アーキテクチャ情報テーブル３００から、入力された機能要求に対応するアーキテクチャを取得する（ステップＳ１１０２）。次に、設計支援装置２００は、取得されたアーキテクチャを出力する（ステップＳ１１０３）。そして、設計支援装置２００は、アーキテクチャ特定処理を終了する。これにより、設計支援装置２００は、機能要求された機能を実現可能なアーキテクチャを、設計支援装置２００の利用者に通知することができる。次に、図１２を用いて、１回目の詳細化処理に含まれる処理であり、図９の（３）に示した処理である１回目の保護資産特定処理について説明する。
【０１０２】
図１２は、１回目の保護資産特定処理の具体例を示す説明図である。図１２の例では、（２４）まず、設計支援装置２００は、アーキテクチャの入力を受け付ける。設計支援装置２００は、例えば、図１０の（２３）において出力されたアーキテクチャの中から、設計支援装置２００の利用者により選択されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」の入力を受け付ける。
【０１０３】
（２５）次に、設計支援装置２００は、アーキテクチャ−保護資産情報テーブル４００を参照して、受け付けたアーキテクチャ「ブラウザおよびクライアントアプリケーション」に対応する保護資産「クライアント環境」を特定する。（２６）そして、設計支援装置２００は、特定した保護資産「クライアント環境」を出力する。これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産を、設計支援装置２００の利用者に通知することができる。次に、図１３を用いて、図１２に示した保護資産特定処理の詳細な処理手順について説明する。
【０１０４】
図１３は、保護資産特定処理の詳細な処理手順を示すフローチャートである。図１３に示すように、まず、設計支援装置２００は、アーキテクチャが入力されたか否かを判定する（ステップＳ１３０１）。ここで、アーキテクチャが入力されていない場合（ステップＳ１３０１：Ｎｏ）、設計支援装置２００は、ステップＳ１３０１に戻り、アーキテクチャの入力を待つ。一方、アーキテクチャが入力された場合（ステップＳ１３０１：Ｙｅｓ）、設計支援装置２００は、アーキテクチャ−保護資産情報テーブル４００から、入力されたアーキテクチャに対応する保護資産を取得する（ステップＳ１３０２）。
【０１０５】
次に、設計支援装置２００は、取得された保護資産を出力する（ステップＳ１３０３）。そして、設計支援装置２００は、保護資産特定処理を終了する。これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産を、設計支援装置２００の利用者に通知することができる。次に、図１４〜図１６を用いて、１回目の詳細化処理に含まれる処理であり、図９の（４）〜（６）に示した処理である１回目の対策決定処理について説明する。
【０１０６】
図１４〜図１６は、１回目の対策決定処理の具体例を示す説明図である。図１４の例では、（２７）まず、設計支援装置２００は、保護資産の入力を受け付ける。設計支援装置２００は、例えば、図１２の（２６）において出力された保護資産の中から、設計支援装置２００の利用者により選択された「クライアント環境」を入力として受け付ける。
【０１０７】
（２８）次に、設計支援装置２００は、要求モデル７０１を参照して、受け付けた保護資産「クライアント環境」に対応する脅威「クライアント環境の漏洩」と「クライアント環境の破壊」を特定する。（２９）そして、設計支援装置２００は、特定した脅威「クライアント環境の漏洩」と「クライアント環境の破壊」を出力する。これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産に対する脅威を、設計支援装置２００の利用者に通知することができる。次に、図１５に移行する。
【０１０８】
図１５の例では、（３０）まず、設計支援装置２００は、アーキテクチャと脅威との入力を受け付ける。設計支援装置２００は、例えば、図１０において出力されたアーキテクチャの中から、設計支援装置２００の利用者により選択されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」の入力を受け付ける。また、設計支援装置２００は、図１４において出力された脅威の中から、設計支援装置２００の利用者により選択された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」と、の入力を受け付ける。
【０１０９】
（３１）次に、設計支援装置２００は、アーキテクチャ−攻撃情報テーブル５００を参照して、受け付けたアーキテクチャ「ブラウザおよびクライアントアプリケーション」に対応する攻撃「権限昇格」を特定する。
【０１１０】
（３２）そして、設計支援装置２００は、攻撃カタログテーブル６００を参照して、受け付けた脅威「クライアント環境の漏洩」と「クライアント環境の破壊」とに対応する攻撃「権限昇格」を特定する。（３３）次に、設計支援装置２００は、（３１）において特定された攻撃「権限昇格」と、（３２）において特定された攻撃「権限昇格」と、が一致するか否かを判定する。
【０１１１】
（３４）そして、設計支援装置２００は、攻撃が一致する場合は、保護資産に対する脅威になる攻撃「権限昇格」が、アーキテクチャに対して実行可能な攻撃「権限昇格」であると判断する。この場合、設計支援装置２００は、入力された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」を、対策すべき脅威として出力する。これにより、設計支援装置２００は、対策すべき脅威を、設計支援装置２００の利用者に通知することができる。
【０１１２】
一方、設計支援装置２００は、攻撃が一致しない場合は、保護資産に対する脅威になる攻撃が、アーキテクチャに対して実行可能な攻撃ではないと判断する。この場合、設計支援装置２００は、入力された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」を出力しない。これにより、設計支援装置２００は、対策しなくてもよい脅威を、設計支援装置２００の利用者に通知しない。設計支援装置２００の利用者は、対策しなくてもよい脅威に対して、対策を設計する手間を削減できる。次に、図１６に移行する。
【０１１３】
図１６の例では、（３５）まず、設計支援装置２００は、脅威の入力を受け付ける。設計支援装置２００は、例えば、図１５において出力された脅威の中から、設計支援装置２００の利用者により選択された脅威「クライアント環境の漏洩」と「クライアント環境の破壊」の入力を受け付ける。（３６）次に、設計支援装置２００は、要求モデル７０１を参照して、受け付けた脅威「クライアント環境の漏洩」と「クライアント環境の破壊」に対応する対策要求仕様「クライアント環境の保護」を特定する。（３７）そして、設計支援装置２００は、特定した対策要求仕様「クライアント環境の保護」を出力する。
【０１１４】
これにより、設計支援装置２００は、入力された脅威に対応する対策要求仕様を、設計支援装置２００の利用者に通知することができる。設計支援装置２００の利用者は、通知された対策要求仕様を参照して、対策要求仕様を設計することができる。次に、図１７〜図１９を用いて、図１４〜図１６に示した対策決定処理の詳細な処理手順について説明する。
【０１１５】
図１７および図１８は、対策決定処理の詳細な処理手順を示すフローチャートである。図１７に示すように、まず、設計支援装置２００は、アーキテクチャおよび保護資産が入力されたか否かを判定する（ステップＳ１７０１）。ここで、アーキテクチャおよび保護資産が入力されていない場合（ステップＳ１７０１：Ｎｏ）、設計支援装置２００は、ステップＳ１７０１に戻り、アーキテクチャおよび保護資産の入力を待つ。
【０１１６】
一方、アーキテクチャおよび保護資産が入力された場合（ステップＳ１７０１：Ｙｅｓ）、設計支援装置２００は、セキュリティゴールが入力されたか否かを判定する（ステップＳ１７０２）。ここで、セキュリティゴールが入力されていない場合（ステップＳ１７０２：Ｎｏ）、設計支援装置２００は、図１８のステップＳ１８０１に移行する。
【０１１７】
一方、セキュリティゴールが入力された場合（ステップＳ１７０２：Ｙｅｓ）、設計支援装置２００は、要求モデル群７００の中に、入力された保護資産およびセキュリティゴールを含む未選択の要求モデルがあるか否かを判定する（ステップＳ１７０３）。ここで、未選択の要求モデルがない場合（ステップＳ１７０３：Ｎｏ）、設計支援装置２００は、対策決定処理を終了する。
【０１１８】
一方、未選択の要求モデルがある場合（ステップＳ１７０３：Ｙｅｓ）、設計支援装置２００は、入力された保護資産およびセキュリティゴールを含む未選択の要求モデルを選択する（ステップＳ１７０４）。次に、設計支援装置２００は、選択された要求モデルにおいて、入力された保護資産およびセキュリティゴールに関連付けられた脅威を特定する（ステップＳ１７０５）。そして、設計支援装置２００は、図１９に後述する脅威評価処理を実行し、対策すべき脅威を特定する（ステップＳ１７０６）。
【０１１９】
次に、設計支援装置２００は、要求モデルから、対策すべき脅威に対応する対策要求仕様を特定する（ステップＳ１７０７）。そして、設計支援装置２００は、特定された対策要求仕様を出力する（ステップＳ１７０８）。次に、設計支援装置２００は、ステップＳ１７０３に戻る。
【０１２０】
図１８に示すように、設計支援装置２００は、要求モデル群７００の中に、図１７のステップＳ１７０１において入力された保護資産を含む未選択の要求モデルがあるか否かを判定する（ステップＳ１８０１）。ここで、未選択の要求モデルがない場合（ステップＳ１８０１：Ｎｏ）、設計支援装置２００は、対策決定処理を終了する。
【０１２１】
一方、未選択の要求モデルがある場合（ステップＳ１８０１：Ｙｅｓ）、設計支援装置２００は、図１７のステップＳ１７０１において入力された保護資産を含む未選択の要求モデルを選択する（ステップＳ１８０２）。次に、設計支援装置２００は、選択された要求モデルにおいて、図１７のステップＳ１７０１において入力された保護資産に関連付けられた脅威を特定する（ステップＳ１８０３）。そして、設計支援装置２００は、図１９に後述する脅威評価処理を実行し、対策すべき脅威を特定する（ステップＳ１８０４）。
【０１２２】
次に、設計支援装置２００は、要求モデルから、対策すべき脅威に対応する対策要求仕様を特定する（ステップＳ１８０５）。そして、設計支援装置２００は、特定された対策要求仕様を出力する（ステップＳ１８０６）。次に、設計支援装置２００は、ステップＳ１８０１に戻る。
【０１２３】
これにより、設計支援装置２００は、入力された保護資産に対して発生する脅威への対策要求仕様を、設計支援装置２００の利用者に通知することができる。そして、設計支援装置２００の利用者は、通知された対策要求仕様を参照して、対策要求仕様を設計することができる。次に、図１９を用いて、図１７のステップＳ１７０６、および図１８のステップＳ１８０４の脅威評価処理について説明する。
【０１２４】
図１９は、脅威評価処理の詳細な処理手順を示すフローチャートである。図１９に示すように、まず、設計支援装置２００は、アーキテクチャ−攻撃情報テーブル５００から、図１７のステップＳ１７０１において入力されたアーキテクチャに対応する攻撃を特定する（ステップＳ１９０１）。次に、設計支援装置２００は、攻撃カタログテーブル６００から、図１７のステップＳ１７０５、または図１８のステップＳ１８０３において特定された脅威に対応する攻撃を特定する（ステップＳ１９０２）。
【０１２５】
そして、設計支援装置２００は、ステップＳ１９０１において特定された攻撃と、ステップＳ１９０２において特定された攻撃と、が一致するか否かを判定する（ステップＳ１９０３）。ここで、一致しない場合（ステップＳ１９０３：Ｎｏ）、設計支援装置２００は、脅威評価処理を終了する。一方、一致する場合（ステップＳ１９０３：Ｙｅｓ）、設計支援装置２００は、図１７のステップＳ１７０５、または図１８のステップＳ１８０３において特定された脅威を対策すべき脅威として出力する（ステップＳ１８０４）。そして、脅威評価処理を終了する。
【０１２６】
これにより、設計支援装置２００は、図１７のステップＳ１７０５、または図１８のステップＳ１８０３において特定された脅威が、対策すべき脅威であるか否かを判断することができる。次に、図２０を用いて、１回目の詳細化処理における出力例について説明する。
【０１２７】
図２０は、１回目の詳細化処理における出力例を示す説明図である。図２０に示すように、設計支援装置２００は、「機能要求」と、「想定アーキテクチャ」と、「保護資産」と、「セキュリティゴール」と、「脅威」と、「攻撃」と、「対策要求仕様」と、を出力する。図２０の例では、「機能要求」は、例えば、設計支援装置２００の利用者から入力された機能要求が示す機能「電子署名」である。「想定アーキテクチャ」は、例えば、アーキテクチャ特定処理により特定されたアーキテクチャの中から、設計支援装置２００の利用者によって選択されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」である。
【０１２８】
「保護資産」は、例えば、保護資産特定処理により特定された保護資産「クライアント環境」である。「セキュリティゴール」は、例えば、設計支援装置２００の利用者により入力されたセキュリティゴールである。ここでは、「セキュリティゴール」は、セキュリティゴールが未入力であるため空欄である。
【０１２９】
「脅威」は、対策決定処理により特定された対策すべき脅威「クライアント環境の漏洩／破壊」である。「攻撃」は、対策決定処理により特定された「脅威」を実現可能な攻撃「権限昇格」である。「対策要求仕様」は、対策決定処理により特定された対策要求仕様「クライアント環境の保護」である。次に、図２１〜図２６を用いて、２回目の詳細化処理について説明する。まず、図２１を用いて、２回目の詳細化処理に含まれる処理であり、図９の（１’）および（２’）に示した処理である２回目のアーキテクチャ特定処理について説明する。
【０１３０】
図２１は、アーキテクチャ特定処理の具体例を示す説明図である。図２１の例では、（３８）まず、設計支援装置２００は、図１６の（３７）において出力された対策要求仕様の中から、設計支援装置２００の利用者により新たな機能要求として選択された機能要求「クライアント環境の保護」の入力を受け付ける。（３９）次に、設計支援装置２００は、機能要求−アーキテクチャ情報テーブル３００を参照して、受け付けた機能要求「クライアント環境の保護」に対応するアーキテクチャを特定する。機能要求「クライアント環境の保護」に対応するアーキテクチャは、「Ｊａｖａ  Ａｐｐｌｅｔ」と「Ｊａｖａ  Ｗｅｂ  Ｓｔａｒｔ」と「ＡｃｔｉｖｅＸ」と「独自アプリケーション」とである。
【０１３１】
（４０）そして、設計支援装置２００は、特定したアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」と「Ｊａｖａ  Ｗｅｂ  Ｓｔａｒｔ」と「ＡｃｔｉｖｅＸ」と「独自アプリケーション」とを、機能要求されたクライアント環境の保護を実現可能なアーキテクチャとして特定し、出力する。
【０１３２】
これにより、設計支援装置２００は、機能要求された機能を実現可能なアーキテクチャを、設計支援装置２００の利用者に通知することができる。そして、設計支援装置２００の利用者は、通知されたアーキテクチャの中から、機能要求された機能の実現に用いるアーキテクチャを選択することができる。次に、図２２を用いて、２回目の詳細化処理に含まれる処理であり、図９の（３’）に示した処理である２回目の保護資産特定処理について説明する。
【０１３３】
図２２は、保護資産特定処理の具体例を示す説明図である。図２２の例では、（４１）まず、設計支援装置２００は、図２１の（４０）において出力されたアーキテクチャの中から、設計支援装置２００の利用者により選択されたアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」の入力を受け付ける。（４２）次に、設計支援装置２００は、アーキテクチャ−保護資産情報テーブル４００を参照して、受け付けたアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」に対応する保護資産「アクセス権管理機能」を特定する。（４３）そして、設計支援装置２００は、特定した保護資産「アクセス権管理機能」を出力する。
【０１３４】
これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産を、設計支援装置２００の利用者に通知することができる。次に、図２３〜図２５を用いて、２回目の詳細化処理に含まれる処理であり、図９の（４’）〜（６’）に示した処理である２回目の対策決定処理について説明する。
【０１３５】
図２３〜図２５は、対策決定処理の具体例を示す説明図である。図２３の例では、（４４）まず、設計支援装置２００は、図２２の（４３）において出力された保護資産の中から、設計支援装置２００の利用者により選択された保護資産「アクセス権管理機能」の入力を受け付ける。（４５）次に、設計支援装置２００は、要求モデル７０２を参照して、受け付けた保護資産「アクセス権管理機能」に対応する脅威「権限昇格」を特定する。（４６）そして、設計支援装置２００は、特定した脅威「権限昇格」を出力する。
【０１３６】
これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産に対する脅威を、設計支援装置２００の利用者に通知することができる。次に、図２４に移行する。
【０１３７】
図２４の例では、（４７）まず、設計支援装置２００は、図２１の（４０）において出力されたアーキテクチャの中から、設計支援装置２００の利用者により選択されたアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」の入力を受け付ける。また、設計支援装置２００は、図２３の（４６）において出力された脅威の中から、設計支援装置２００の利用者により選択された脅威「権限昇格」の入力を受け付ける。
【０１３８】
（４８）次に、設計支援装置２００は、アーキテクチャ−攻撃情報テーブル５００を参照して、受け付けたアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」に対応する攻撃「再構成攻撃」を特定する。（４９）そして、設計支援装置２００は、攻撃カタログテーブル６００を参照して、受け付けた脅威「権限昇格」に対応する攻撃「再構成攻撃」を特定する。（５０）次に、設計支援装置２００は、（４８）において特定された攻撃「再構成攻撃」と、（４９）において特定された攻撃「再構成攻撃」と、が一致するか否かを判定する。
【０１３９】
（５１）そして、設計支援装置２００は、攻撃が一致する場合は、保護資産に対する脅威になる攻撃「再構成攻撃」が、アーキテクチャに対して実行可能な攻撃「再構成攻撃」であると判断する。この場合、設計支援装置２００は、入力された脅威「権限昇格」を、対策すべき脅威として出力する。これにより、設計支援装置２００は、対策すべき脅威を、設計支援装置２００の利用者に通知することができる。
【０１４０】
一方、設計支援装置２００は、攻撃が一致しない場合は、保護資産に対する脅威になる攻撃が、アーキテクチャに対して実行可能な攻撃ではないと判断する。この場合、設計支援装置２００は、入力された脅威「権限昇格」を出力しない。これにより、設計支援装置２００は、対策しなくてもよい脅威を、設計支援装置２００の利用者に通知しない。設計支援装置２００の利用者は、対策しなくてもよい脅威に対して、対策を設計する手間を削減できる。次に、図２５に移行する。
【０１４１】
図２５の例では、（５２）まず、設計支援装置２００は、図２４の（５１）において出力された対策すべき脅威の中から、設計支援装置２００の利用者により選択された脅威「権限昇格」の入力を受け付ける。（５３）次に、設計支援装置２００は、要求モデル７０２を参照して、受け付けた脅威「権限昇格」に対応する対策要求仕様「再構成攻撃防止」を特定する。（５４）そして、設計支援装置２００は、特定した対策要求仕様「再構成攻撃防止」を出力する。
【０１４２】
これにより、設計支援装置２００は、入力された脅威に対応する対策要求仕様を、設計支援装置２００の利用者に通知することができる。設計支援装置２００の利用者は、通知された対策要求仕様を参照して、対策を設計することができる。次に、図２６を用いて、２回目の詳細化処理における出力例について説明する。
【０１４３】
図２６は、２回目の詳細化処理における出力例を示す説明図である。図２６に示すように、設計支援装置２００は、「機能要求」と、「想定アーキテクチャ」と、「保護資産」と、「セキュリティゴール」と、「脅威」と、「攻撃」と、「対策要求仕様」と、を出力する。図２６の例では、「機能要求」は、例えば、設計支援装置２００の利用者から入力された機能要求が示す機能「クライアント環境の保護」である。「想定アーキテクチャ」は、例えば、アーキテクチャ特定処理により特定されたアーキテクチャの中から、設計支援装置２００の利用者によって選択されたアーキテクチャ「Ｊａｖａ  Ａｐｐｌｅｔ」である。
【０１４４】
「保護資産」は、例えば、保護資産特定処理により特定された保護資産「アクセス制御機能」である。「セキュリティゴール」は、例えば、設計支援装置２００の利用者により入力されたセキュリティゴールである。ここでは、「セキュリティゴール」は、セキュリティゴールが未入力であるため空欄である。「脅威」は、対策決定処理により特定された対策すべき脅威「権限昇格」である。「攻撃」は、対策決定処理により特定された「脅威」を実現可能な攻撃「再構成攻撃」である。「対策要求仕様」は、対策決定処理により特定された対策要求仕様「再構成攻撃防止」である。
【０１４５】
このように、設計支援装置２００は、１回目の詳細化処理によって特定された要求仕様とアーキテクチャとより詳細化して、２回目の詳細化処理によって要求仕様とアーキテクチャとを特定することができる。設計支援装置２００は、例えば、１回目の詳細化処理によって特定されたアーキテクチャ「ブラウザおよびクライアントアプリケーション」を、「Ｊａｖａ  Ａｐｐｌｅｔ」へと詳細化することができる。
【０１４６】
（自動化した詳細化処理）
上述したように、設計支援装置は、図９の（１）〜（６）の処理において、設計支援装置の利用者から設計仕様やアーキテクチャの入力を受け付けている。一方、設計支援装置は、図９の（１）〜（６）の処理において、自動的に自装置内において設計仕様やアーキテクチャの入力を生成し、詳細化処理を自動化してもよい。ここで、図２７〜図２９を用いて、自動化した詳細化処理について説明する。
【０１４７】
図２７は、自動化した詳細化処理の詳細な処理手順を示すフローチャートである。図２７に示すように、まず、設計支援装置２００は、機能要求が入力されたか否かを判定する（ステップＳ２７０１）。ここで、機能要求が入力されていない場合（ステップＳ２７０１：Ｎｏ）、設計支援装置２００は、ステップＳ２７０１に戻り、機能要求の入力を待つ。
【０１４８】
一方、機能要求が入力された場合（ステップＳ２７０１：Ｙｅｓ）、設計支援装置２００は、機能要求−アーキテクチャ情報テーブル３００から、入力された機能要求に対応するアーキテクチャを取得する（ステップＳ２７０２）。次に、設計支援装置２００は、アーキテクチャが取得されたか否かを判定する（ステップＳ２７０３）。ここで、アーキテクチャが取得されなかった場合（ステップＳ２７０３：Ｎｏ）、設計支援装置２００は、ステップＳ２７０８に移行する。
【０１４９】
一方、アーキテクチャが取得された場合（ステップＳ２７０３：Ｙｅｓ）、設計支援装置２００は、アーキテクチャの中に、未選択のアーキテクチャがあるか否かを判定する（ステップＳ２７０４）。ここで、未選択のアーキテクチャがない場合（ステップＳ２７０４：Ｎｏ）、設計支援装置２００は、ステップＳ２７０８に移行する。
【０１５０】
一方、未選択のアーキテクチャがある場合（ステップＳ２７０４：Ｙｅｓ）、設計支援装置２００は、未選択のアーキテクチャを選択する（ステップＳ２７０５）。次に、設計支援装置２００は、アーキテクチャ−保護資産情報テーブル４００から、選択されたアーキテクチャに対応する保護資産を取得する（ステップＳ２７０６）。
【０１５１】
そして、設計支援装置２００は、対策決定処理を実行し、対策要求仕様を決定する（ステップＳ２７０７）。次に、設計支援装置２００は、ステップＳ２７０４に戻る。一方、ステップＳ２７０８に移行した場合、設計支援装置２００は、ステップＳ２７０３における取得結果、または、ステップＳ２７０７における決定結果を出力する（ステップＳ２７０８）。そして、設計支援装置２００は、詳細化処理を終了する。
【０１５２】
図２８は、対策決定処理１の詳細な処理手順を示すフローチャートである。設計支援装置２００は、セキュリティゴールが入力されていない場合、ステップＳ２７０７において、図２８に示す対策決定処理１を実行する。まず、設計支援装置２００は、要求モデル群７００の中に、保護資産およびセキュリティゴールを含む未選択の要求モデルがあるか否かを判定する（ステップＳ２８０１）。ここで、未選択の要求モデルがない場合（ステップＳ２８０１：Ｎｏ）、設計支援装置２００は、ステップＳ２８０６に移行する。
【０１５３】
一方、未選択の要求モデルがある場合（ステップＳ２８０１：Ｙｅｓ）、設計支援装置２００は、保護資産およびセキュリティゴールを含む未選択の要求モデルを選択する（ステップＳ２８０２）。次に、設計支援装置２００は、選択された要求モデルにおいて、保護資産およびセキュリティゴールに関連付けられた脅威を特定する（ステップＳ２８０３）。そして、設計支援装置２００は、図１９に示した脅威評価処理を実行し、対策すべき脅威を特定する（ステップＳ２８０４）。
【０１５４】
次に、設計支援装置２００は、要求モデルから、対策すべき脅威に対応する対策要求仕様を特定する（ステップＳ２８０５）。そして、設計支援装置２００は、ステップＳ２８０１に戻る。一方、ステップＳ２８０６に移行した場合、設計支援装置２００は、未選択の対策要求仕様があるか否かを判定する（ステップＳ２８０６）。ここで、未選択の対策要求仕様がない場合（ステップＳ２８０６：Ｎｏ）、設計支援装置２００は、対策決定処理を終了する。
【０１５５】
一方、未選択の対策要求仕様がある場合（ステップＳ２８０６：Ｙｅｓ）、設計支援装置２００は、未選択の対策要求仕様を機能要求として入力する（ステップＳ２８０７）。次に、設計支援装置２００は、図２７に示した詳細化処理を実行する（ステップＳ２８０８）。そして、設計支援装置２００は、ステップＳ２８０６に戻る。
【０１５６】
図２９は、対策決定処理２の詳細な処理手順を示すフローチャートである。設計支援装置２００は、セキュリティゴールが入力されている場合、ステップＳ２７０７において、図２９に示す対策決定処理を実行する。図２９に示すように、まず、設計支援装置２００は、要求モデル群の中に、保護資産を含む未選択の要求モデルがあるか否かを判定する（ステップＳ２９０１）。ここで、未選択の要求モデルがない場合（ステップＳ２９０１：Ｎｏ）、設計支援装置２００は、ステップＳ２９０６に移行する。
【０１５７】
一方、未選択の要求モデルがある場合（ステップＳ２９０１：Ｙｅｓ）、設計支援装置２００は、保護資産を含む未選択の要求モデルを選択する（ステップＳ２９０２）。次に、設計支援装置２００は、選択された要求モデルにおいて、保護資産に関連付けられた脅威を特定する（ステップＳ２９０３）。そして、設計支援装置２００は、図１９に示した脅威評価処理を実行し、対策すべき脅威を特定する（ステップＳ２９０４）。次に、設計支援装置２００は、要求モデルから、対策すべき脅威に対応する対策要求仕様を特定する（ステップＳ２９０５）。そして、設計支援装置２００は、ステップＳ２９０１に戻る。
【０１５８】
一方、ステップＳ２９０６に移行した場合、設計支援装置２００は、未選択の対策要求仕様があるか否かを判定する（ステップＳ２９０６）。ここで、未選択の対策要求仕様がない場合（ステップＳ２９０６：Ｎｏ）、設計支援装置２００は、対策決定処理を終了する。一方、未選択の対策要求仕様がある場合（ステップＳ２９０６：Ｙｅｓ）、設計支援装置２００は、未選択の対策要求仕様を機能要求として入力する（ステップＳ２９０７）。次に、設計支援装置２００は、図２７に示した詳細化処理を実行する（ステップＳ２９０８）。そして、設計支援装置２００は、ステップＳ２９０６に戻る。
【０１５９】
これにより、設計支援装置２００は、機能要求に対して、複数通りの要求仕様とアーキテクチャとを特定することができる。設計支援装置２００の利用者は、特定された複数通りの要求仕様とアーキテクチャとから、設計する要求仕様とアーキテクチャとを選択することができる。
【０１６０】
以上説明したように、設計支援装置２００は、入力された脅威を発生させる攻撃方法が、入力されたアーキテクチャに対して実行可能な攻撃方法である場合に、入力された脅威を、対策すべき脅威として出力する。これにより、設計支援装置２００は、対策すべき脅威を、設計支援装置２００の利用者に通知することができる。また、設計支援装置２００は、対策しなくてもよい脅威を、設計支援装置２００の利用者に通知しない。そのため、設計支援装置２００の利用者は、対策しなくてもよい脅威に対して、対策を設計する手間を削減できる。
【０１６１】
また、設計支援装置２００は、機能要求−アーキテクチャ情報テーブル３００から、入力された機能要求に対応するアーキテクチャを特定し、特定したアーキテクチャを出力する。これにより、設計支援装置２００は、機能要求された機能を実現可能なアーキテクチャを、設計支援装置２００の利用者に通知することができる。そして、設計支援装置２００の利用者は、通知されたアーキテクチャの中から、機能要求された機能の実現に用いるアーキテクチャを選択することができる。
【０１６２】
また、設計支援装置２００は、アーキテクチャ−保護資産情報テーブル４００から、入力されたアーキテクチャに対応する保護資産を特定し、特定した保護資産を出力する。これにより、設計支援装置２００は、入力されたアーキテクチャにより用いられる保護資産を、設計支援装置２００の利用者に通知することができる。
【０１６３】
また、設計支援装置２００は、要求モデルから、入力された保護資産に対する脅威を特定し、特定した脅威を出力する。これにより、設計支援装置２００は、入力されたアーキテクチャを用いる場合に保護すべき保護資産に対する脅威を、設計支援装置２００の利用者に通知することができる。
【０１６４】
また、設計支援装置２００は、要求モデルから、入力された脅威に対応する対策要求仕様を特定し、特定した対策要求仕様を出力する。これにより、設計支援装置２００は、入力された脅威に対応する対策要求仕様を、設計支援装置２００の利用者に通知することができる。設計支援装置２００の利用者は、通知された対策要求仕様を参照して、対策を設計することができる。
【０１６５】
また、設計支援装置２００は、特定された対策要求仕様を新たな機能要求として入力し、機能要求−アーキテクチャ情報テーブル３００から、入力された対策要求仕様に対応するアーキテクチャを特定する。これにより、設計支援装置２００は、要求仕様とアーキテクチャとを、繰り返し詳細化することができる。
【０１６６】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６８】
（付記１）機能の実現に用いられるアーキテクチャを示す種別情報を入力し、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力し、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定し、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定し、
特定された前記第１の攻撃方法と前記第２の攻撃方法とが一致するか否かを判断し、
一致すると判断された場合、入力された前記脅威情報を出力する、
処理をコンピュータに実行させることを特徴とする設計支援プログラム。
【０１６９】
（付記２）前記機能を示す機能情報を入力し、
機能情報ごとに当該機能情報が示す機能の実現に用いられるアーキテクチャを示す種別情報を対応付けて記憶する第３の記憶手段を参照して、入力された前記機能情報に対応する種別情報を特定し、
特定された前記種別情報を出力する処理を、前記コンピュータに実行させ、
前記機能の実現に用いられるアーキテクチャを示す種別情報を入力する処理は、
特定された前記種別情報を出力する処理によって出力された前記種別情報を入力することを特徴とする付記１に記載の設計支援プログラム。
【０１７０】
（付記３）前記機能の実現に用いられるアーキテクチャを示す種別情報を入力する処理は、
出力された前記種別情報が複数ある場合、いずれかの種別情報を入力することを特徴とする付記２に記載の設計支援プログラム。
【０１７１】
（付記４）種別情報ごとに当該種別情報が示すアーキテクチャにより用いられる保護資産を特定する資産情報を対応付けて記憶する第４の記憶手段を参照して、入力された前記種別情報に対応する資産情報を特定し、
特定された前記資産情報を出力する処理を前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記資産情報を出力する処理によって出力された、特定された前記資産情報に対して発生する脅威を示す脅威情報を入力することを特徴とする付記１〜３のいずれか一つに記載の設計支援プログラム。
【０１７２】
（付記５）前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
出力された前記資産情報が複数ある場合、いずれかの資産情報に対して発生する脅威を示す脅威情報を入力することを特徴とする付記４に記載の設計支援プログラム。
【０１７３】
（付記６）特定された前記資産情報を入力し、
資産情報と脅威情報とを対応付けて記憶する第５の記憶手段を参照して、入力された前記資産情報に対応する脅威情報を特定し、
特定された前記脅威情報を出力する処理を、前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記脅威情報を出力する処理によって出力された、特定された前記脅威情報を入力することを特徴とする付記１〜５のいずれか一つに記載の設計支援プログラム。
【０１７４】
（付記７）前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記脅威情報が複数ある場合、いずれかの脅威情報を入力することを特徴とする付記６に記載の設計支援プログラム。
【０１７５】
（付記８）特定された前記資産情報とセキュリティ目的を示す目的情報との組み合わせを入力し、
資産情報と脅威情報と目的情報とを対応付けて記憶する第５の記憶手段を参照して、入力された前記組み合わせに対応する脅威情報を特定し、
特定された前記組み合わせに対応する脅威情報を出力する処理を、前記コンピュータに実行させ、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
前記組み合わせに対応する脅威情報を出力する処理によって出力された、特定された前記組み合わせに対応する脅威情報を入力することを特徴とする付記１〜５のいずれか一つに記載の設計支援プログラム。
【０１７６】
（付記９）前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する処理は、
特定された前記組み合わせに対応する脅威情報が複数ある場合、いずれかの脅威情報を入力することを特徴とする付記８に記載の設計支援プログラム。
【０１７７】
（付記１０）前記脅威情報を出力する処理によって出力された前記脅威情報を入力し、
脅威情報と、当該脅威情報が示す脅威に対する対策を示す対策情報と、を対応付けて記憶する第６の記憶手段を参照して、入力された前記脅威情報に対応する対策情報を特定し、
特定された前記対策情報を出力することを特徴とする付記１〜９のいずれか一つに記載の設計支援プログラム。
【０１７８】
（付記１１）前記機能を示す機能情報を入力する処理は、
前記対策情報を、前記機能を示す機能情報として入力し、
前記機能情報に対応する種別情報を特定する処理は、
前記第３の記憶手段を参照して、入力された前記対策情報に対応する種別情報を特定し、
前記種別情報を出力する処理は、
特定された前記対策情報に対応する種別情報を出力し、
前記機能の実現に用いられるアーキテクチャを示す種別情報を入力する処理は、
前記種別情報を出力する処理によって出力された前記種別情報を入力することを特徴とする付記１０に記載の設計支援プログラム。
【０１７９】
（付記１２）機能の実現に用いられるアーキテクチャを示す種別情報を入力し、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力し、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定し、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定し、
特定された前記第１の攻撃方法と前記第２の攻撃方法とが一致するか否かを判断し、
一致すると判断された場合、入力された前記脅威情報を出力する、
処理をコンピュータが実行することを特徴とする設計支援方法。
【０１８０】
（付記１３）機能の実現に用いられるアーキテクチャを示す種別情報を入力する第１の入力部と、
前記アーキテクチャにより用いられる保護資産に対して発生する脅威を示す脅威情報を入力する第２の入力部と、
種別情報ごとに当該種別情報が示すアーキテクチャに対して実行可能な攻撃方法を示す情報を対応付けて記憶する第１の記憶手段を参照して、前記第１の入力部によって入力された前記種別情報が示すアーキテクチャに対して実行可能な第１の攻撃方法を特定する第１の特定部と、
脅威情報ごとに当該脅威情報が示す脅威を発生させる攻撃方法を示す情報を対応付けて記憶する第２の記憶手段を参照して、前記第２の入力部によって入力された前記脅威情報が示す脅威を発生させる第２の攻撃方法を特定する第２の特定部と、
前記第１の特定部によって特定された前記第１の攻撃方法と前記第２の特定部によって特定された前記第２の攻撃方法とが一致するか否かを判断する判断部と、
前記判断部によって一致すると判断された場合、入力された前記脅威情報を出力する出力部と、
を有することを特徴とする設計支援装置。
【符号の説明】
【０１８１】
２００  設計支援装置
３００  機能要求−アーキテクチャ情報テーブル
４００  アーキテクチャ−保護資産情報テーブル
５００  アーキテクチャ−攻撃情報テーブル
６００  攻撃カタログテーブル
７００  要求モデル群
８０１  機能要求入力部
８０２  アーキテクチャ特定部
８０３  アーキテクチャ出力部
８０４  第１のアーキテクチャ入力部
８０５  保護資産特定部
８０６  保護資産出力部
８０７  保護資産入力部
８０８  脅威特定部
８０９  脅威出力部
８１０  第１の攻撃特定部
８１１  脅威入力部
８１２  第２の攻撃特定部
８１３  判断部
８１４  対策対象出力部
８１５  対策対象入力部
８１６  対策要求仕様特定部
８１７  対策要求仕様出力部
【図１】
0005825117.tif 000002
【図２】
0005825117.tif 000003
【図３】
0005825117.tif 000004
【図４】
0005825117.tif 000005
【図５】
0005825117.tif 000006
【図６】
0005825117.tif 000007
【図７】
0005825117.tif 000008
【図８】
0005825117.tif 000009
【図９】
0005825117.tif 000010
【図１０】
0005825117.tif 000011
【図１１】
0005825117.tif 000012
【図１２】
0005825117.tif 000013
【図１３】
0005825117.tif 000014
【図１４】
0005825117.tif 000015
【図１５】
0005825117.tif 000016
【図１６】
0005825117.tif 000017
【図１７】
0005825117.tif 000018
【図１８】
0005825117.tif 000019
【図１９】
0005825117.tif 000020
【図２０】
0005825117.tif 000021
【図２１】
0005825117.tif 000022
【図２２】
0005825117.tif 000023
【図２３】
0005825117.tif 000024
【図２４】
0005825117.tif 000025
【図２５】
0005825117.tif 000026
【図２６】
0005825117.tif 000027
【図２７】
0005825117.tif 000028
【図２８】
0005825117.tif 000029
【図２９】
0005825117.tif 000030